From 1014d9159970fe5ba7c1964a564104346d33fa0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Agu=CC=88ero?= Date: Sun, 23 Aug 2015 01:57:29 +0200 Subject: [PATCH] Elimina documentacion/extensions #283 --- .../extensions/CategoryBreadCrumbs.php | 48 - .../extensions/ConfirmEdit/Asirra.class.php | 55 - .../extensions/ConfirmEdit/Asirra.i18n.php | 415 - .../extensions/ConfirmEdit/Asirra.php | 42 - .../extensions/ConfirmEdit/Captcha.php | 727 - .../extensions/ConfirmEdit/CaptchaStore.php | 109 - .../ConfirmEdit/ConfirmEdit.alias.php | 109 - .../ConfirmEdit/ConfirmEdit.i18n.php | 4139 --- .../extensions/ConfirmEdit/ConfirmEdit.php | 216 - .../ConfirmEdit/ConfirmEditHooks.php | 87 - .../ConfirmEdit/FancyCaptcha.class.php | 369 - .../ConfirmEdit/FancyCaptcha.i18n.php | 1601 - .../extensions/ConfirmEdit/FancyCaptcha.php | 60 - .../ConfirmEdit/HTMLCaptchaField.php | 81 - .../ConfirmEdit/MathCaptcha.class.php | 51 - .../extensions/ConfirmEdit/MathCaptcha.php | 22 - .../ConfirmEdit/QuestyCaptcha.class.php | 72 - .../ConfirmEdit/QuestyCaptcha.i18n.php | 1246 - .../extensions/ConfirmEdit/QuestyCaptcha.php | 46 - documentacion/extensions/ConfirmEdit/README | 42 - .../ConfirmEdit/ReCaptcha.class.php | 91 - .../extensions/ConfirmEdit/ReCaptcha.i18n.php | 508 - .../extensions/ConfirmEdit/ReCaptcha.php | 64 - .../extensions/ConfirmEdit/captcha.py | 226 - .../ConfirmEdit/ext.confirmedit.asirra.js | 55 - .../maintenance/GenerateFancyCaptchas.php | 128 - .../extensions/ConfirmEdit/recaptchalib.php | 274 - .../DynamicPageList/DynamicPageList2.i18n.php | 780 - .../DynamicPageList/DynamicPageList2.php | 3709 -- .../DynamicPageList2Include.php | 501 - documentacion/extensions/Flash.php | 133 - .../Gadgets/ApiQueryGadgetCategories.php | 120 - .../extensions/Gadgets/ApiQueryGadgets.php | 225 - .../extensions/Gadgets/Gadgets.alias.php | 334 - .../extensions/Gadgets/Gadgets.i18n.php | 3481 -- documentacion/extensions/Gadgets/Gadgets.php | 53 - .../extensions/Gadgets/Gadgets_body.php | 656 - .../extensions/Gadgets/Gadgets_tests.php | 81 - documentacion/extensions/Gadgets/README | 42 - .../extensions/Gadgets/SpecialGadgets.php | 204 - .../extensions/Gadgets/install.settings | 1 - documentacion/extensions/HTMLets.php~ | 0 .../extensions/HTMLets/HTMLets.i18n.php | 446 - documentacion/extensions/HTMLets/HTMLets.php | 141 - .../extensions/HTMLets/install.settings | 3 - documentacion/extensions/Maps/COPYING | 682 - documentacion/extensions/Maps/INSTALL | 40 - documentacion/extensions/Maps/Maps.hooks.php | 93 - .../extensions/Maps/Maps.i18n.magic.php | 207 - .../extensions/Maps/Maps.i18n.namespaces.php | 14 - documentacion/extensions/Maps/Maps.i18n.php | 4281 --- documentacion/extensions/Maps/Maps.php | 301 - .../extensions/Maps/Maps.settings.php | 81 - .../extensions/Maps/Maps_Settings.php | 402 - documentacion/extensions/Maps/README | 32 - documentacion/extensions/Maps/RELEASE-NOTES | 740 - .../Maps/includes/Maps_BaseElement.php | 50 - .../includes/Maps_BaseFillableElement.php | 42 - .../extensions/Maps/includes/Maps_Circle.php | 73 - .../Maps/includes/Maps_CoordinateParser.php | 637 - .../Maps/includes/Maps_DisplayMapRenderer.php | 156 - .../Maps/includes/Maps_DistanceParser.php | 187 - .../Maps/includes/Maps_GeoFunctions.php | 86 - .../Maps/includes/Maps_Geocoder.php | 163 - .../Maps/includes/Maps_Geocoders.php | 371 - .../Maps/includes/Maps_ImageOverlay.php | 99 - .../Maps/includes/Maps_KMLFormatter.php | 170 - .../extensions/Maps/includes/Maps_Layer.php | 136 - .../Maps/includes/Maps_LayerPage.php | 283 - .../extensions/Maps/includes/Maps_Layers.php | 141 - .../extensions/Maps/includes/Maps_Line.php | 51 - .../Maps/includes/Maps_Location.php | 408 - .../extensions/Maps/includes/Maps_Mapper.php | 168 - .../Maps/includes/Maps_MappingService.php | 261 - .../Maps/includes/Maps_MappingServices.php | 239 - .../extensions/Maps/includes/Maps_Polygon.php | 75 - .../Maps/includes/Maps_Rectangle.php | 111 - .../Maps/includes/Maps_Settings.php | 369 - .../Maps/includes/Maps_WmsOverlay.php | 87 - .../Maps/includes/api/ApiGeocode.php | 103 - .../includes/criteria/CriterionIsDistance.php | 47 - .../includes/criteria/CriterionIsImage.php | 55 - .../includes/criteria/CriterionIsLocation.php | 75 - .../Maps/includes/criteria/CriterionLine.php | 97 - .../criteria/CriterionMapDimension.php | 79 - .../includes/criteria/CriterionMapLayer.php | 57 - .../includes/criteria/CriterionPolygon.php | 99 - .../criteria/CriterionSearchMarkers.php | 43 - .../Maps/includes/ext.maps.common.js | 19 - .../Maps/includes/ext.maps.coord.js | 114 - .../Maps/includes/features/Maps_BaseMap.php | 175 - .../includes/features/Maps_BasePointMap.php | 155 - .../geocoders/Maps_GeonamesGeocoder.php | 70 - .../geocoders/Maps_GeonamesOldGeocoder.php | 71 - .../geocoders/Maps_GoogleGeocoder.php | 78 - .../includes/geocoders/Maps_YahooGeocoder.php | 77 - .../Maps/includes/iMappingService.php | 125 - .../Maps/includes/layers/Maps_ImageLayer.php | 82 - .../Maps/includes/layers/Maps_KMLLayer.php | 76 - .../manipulations/Maps_ParamDimension.php | 82 - .../includes/manipulations/Maps_ParamFile.php | 34 - .../manipulations/Maps_ParamGeoService.php | 122 - .../manipulations/Maps_ParamLocation.php | 73 - .../manipulations/Maps_ParamService.php | 52 - .../includes/manipulations/Maps_ParamZoom.php | 38 - .../includes/parserHooks/Maps_Coordinates.php | 138 - .../includes/parserHooks/Maps_DisplayMap.php | 135 - .../parserHooks/Maps_DisplayPoint.php | 168 - .../includes/parserHooks/Maps_Distance.php | 120 - .../parserHooks/Maps_Finddestination.php | 189 - .../includes/parserHooks/Maps_Geocode.php | 170 - .../includes/parserHooks/Maps_Geodistance.php | 179 - .../includes/parserHooks/Maps_MapsDoc.php | 226 - .../includes/parserhooks/Maps_Coordinates.php | 129 - .../includes/parserhooks/Maps_DisplayMap.php | 225 - .../includes/parserhooks/Maps_Distance.php | 111 - .../parserhooks/Maps_Finddestination.php | 180 - .../includes/parserhooks/Maps_Geocode.php | 161 - .../includes/parserhooks/Maps_Geodistance.php | 170 - .../includes/parserhooks/Maps_MapsDoc.php | 214 - .../includes/properties/iBubbleMapElement.php | 24 - .../properties/iFillableMapElement.php | 24 - .../properties/iHoverableMapElement.php | 13 - .../properties/iLinkableMapElement.php | 13 - .../properties/iStrokableMapElement.php | 33 - .../GoogleMaps/CriterionGoogleOverlay.php | 65 - .../services/GoogleMaps/GoogleMaps.php | 69 - .../services/GoogleMaps/Maps_GoogleMaps.php | 273 - .../GoogleMaps/Maps_ParamGMapType.php | 35 - .../GoogleMaps/ext.maps.googlemaps2.css | 37 - .../GoogleMaps/ext.maps.googlemaps2.js | 31 - .../services/GoogleMaps/jquery.googlemap2.js | 195 - .../services/GoogleMaps3/GoogleMaps3.php | 81 - .../services/GoogleMaps3/Maps_GoogleMaps3.php | 267 - .../GoogleMaps3/Maps_ParamGMap3Type.php | 26 - .../GoogleMaps3/Maps_ParamGMap3Types.php | 37 - .../GoogleMaps3/Maps_ParamGMap3Typestyle.php | 26 - .../GoogleMaps3/Maps_ParamGMap3Zoomstyle.php | 26 - .../GoogleMaps3/earth/googleearth-compiled.js | 20 - .../services/GoogleMaps3/earth/googleearth.js | 977 - .../GoogleMaps3/ext.maps.googlemaps3.js | 18 - .../GoogleMaps3/geoxml3/ProjectedOverlay.js | 138 - .../services/GoogleMaps3/geoxml3/geoxml3.js | 442 - .../services/GoogleMaps3/jquery.googlemap.js | 309 - .../Maps/includes/services/OSM/Maps_OSM.php | 79 - .../includes/services/OSM/Maps_OSMDispMap.php | 37 - .../Maps/includes/services/OSM/OSM.php | 48 - .../services/OpenLayers/CriterionOLLayer.php | 39 - .../services/OpenLayers/Maps_OpenLayers.php | 148 - .../OpenLayers/Maps_ParamOLLayers.php | 122 - .../services/OpenLayers/OSM/OpenStreetMap.js | 125 - .../services/OpenLayers/OpenLayers.php | 58 - .../OpenLayers/OpenLayers/OpenLayers.js | 1906 - .../OpenLayers/OpenLayers/img/blank.gif | Bin 42 -> 0 bytes .../OpenLayers/img/cloud-popup-relative.png | Bin 4067 -> 0 bytes .../OpenLayers/img/drag-rectangle-off.png | Bin 1024 -> 0 bytes .../OpenLayers/img/drag-rectangle-on.png | Bin 1041 -> 0 bytes .../OpenLayers/OpenLayers/img/east-mini.png | Bin 342 -> 0 bytes .../img/layer-switcher-maximize.png | Bin 405 -> 0 bytes .../img/layer-switcher-minimize.png | Bin 220 -> 0 bytes .../OpenLayers/OpenLayers/img/marker-blue.png | Bin 758 -> 0 bytes .../OpenLayers/OpenLayers/img/marker-gold.png | Bin 703 -> 0 bytes .../OpenLayers/img/marker-green.png | Bin 753 -> 0 bytes .../OpenLayers/OpenLayers/img/marker.png | Bin 601 -> 0 bytes .../OpenLayers/img/measuring-stick-off.png | Bin 3028 -> 0 bytes .../OpenLayers/img/measuring-stick-on.png | Bin 3725 -> 0 bytes .../OpenLayers/OpenLayers/img/north-mini.png | Bin 378 -> 0 bytes .../OpenLayers/img/panning-hand-off.png | Bin 3511 -> 0 bytes .../OpenLayers/img/panning-hand-on.png | Bin 3565 -> 0 bytes .../OpenLayers/OpenLayers/img/slider.png | Bin 247 -> 0 bytes .../OpenLayers/OpenLayers/img/south-mini.png | Bin 373 -> 0 bytes .../OpenLayers/OpenLayers/img/west-mini.png | Bin 360 -> 0 bytes .../OpenLayers/img/zoom-minus-mini.png | Bin 291 -> 0 bytes .../OpenLayers/img/zoom-plus-mini.png | Bin 386 -> 0 bytes .../OpenLayers/img/zoom-world-mini.png | Bin 882 -> 0 bytes .../OpenLayers/OpenLayers/img/zoombar.png | Bin 350 -> 0 bytes .../OpenLayers/OpenLayers/license.txt | 31 - .../services/OpenLayers/OpenLayers/readme.txt | 73 - .../OpenLayers/OpenLayers/release-license.txt | 3 - .../OpenLayers/repository-license.txt | 3 - .../OpenLayers/theme/default/framedCloud.css | 0 .../OpenLayers/theme/default/google.css | 17 - .../OpenLayers/theme/default/google.tidy.css | 1 - .../OpenLayers/theme/default/ie6-style.css | 10 - .../theme/default/ie6-style.tidy.css | 1 - .../theme/default/img/add_point_off.png | Bin 1614 -> 0 bytes .../theme/default/img/add_point_on.png | Bin 1464 -> 0 bytes .../OpenLayers/theme/default/img/blank.gif | Bin 42 -> 0 bytes .../OpenLayers/theme/default/img/close.gif | Bin 1078 -> 0 bytes .../theme/default/img/drag-rectangle-off.png | Bin 1024 -> 0 bytes .../theme/default/img/drag-rectangle-on.png | Bin 1041 -> 0 bytes .../theme/default/img/draw_line_off.png | Bin 1565 -> 0 bytes .../theme/default/img/draw_line_on.png | Bin 1396 -> 0 bytes .../theme/default/img/draw_point_off.png | Bin 1610 -> 0 bytes .../theme/default/img/draw_point_on.png | Bin 1458 -> 0 bytes .../theme/default/img/draw_polygon_off.png | Bin 1544 -> 0 bytes .../theme/default/img/draw_polygon_on.png | Bin 1405 -> 0 bytes .../theme/default/img/editing_tool_bar.png | Bin 2222 -> 0 bytes .../theme/default/img/move_feature_off.png | Bin 1541 -> 0 bytes .../theme/default/img/move_feature_on.png | Bin 1377 -> 0 bytes .../theme/default/img/navigation_history.png | Bin 6628 -> 0 bytes .../default/img/overview_replacement.gif | Bin 79 -> 0 bytes .../theme/default/img/pan-panel-NOALPHA.png | Bin 564 -> 0 bytes .../theme/default/img/pan-panel.png | Bin 814 -> 0 bytes .../OpenLayers/theme/default/img/pan_off.png | Bin 1696 -> 0 bytes .../OpenLayers/theme/default/img/pan_on.png | Bin 1566 -> 0 bytes .../theme/default/img/panning-hand-off.png | Bin 3511 -> 0 bytes .../theme/default/img/panning-hand-on.png | Bin 3565 -> 0 bytes .../theme/default/img/remove_point_off.png | Bin 1612 -> 0 bytes .../theme/default/img/remove_point_on.png | Bin 1461 -> 0 bytes .../OpenLayers/theme/default/img/ruler.png | Bin 1211 -> 0 bytes .../theme/default/img/save_features_off.png | Bin 354 -> 0 bytes .../theme/default/img/save_features_on.png | Bin 361 -> 0 bytes .../theme/default/img/view_next_off.png | Bin 1499 -> 0 bytes .../theme/default/img/view_next_on.png | Bin 1686 -> 0 bytes .../theme/default/img/view_previous_off.png | Bin 1476 -> 0 bytes .../theme/default/img/view_previous_on.png | Bin 1592 -> 0 bytes .../theme/default/img/zoom-panel-NOALPHA.png | Bin 1173 -> 0 bytes .../theme/default/img/zoom-panel.png | Bin 1285 -> 0 bytes .../OpenLayers/theme/default/style.css | 433 - .../OpenLayers/theme/default/style.tidy.css | 1 - .../OpenLayers/ext.maps.openlayers.js | 34 - .../services/OpenLayers/jquery.openlayers.js | 183 - .../services/YahooMaps/Maps_ParamYMapType.php | 35 - .../services/YahooMaps/Maps_YahooMaps.php | 177 - .../includes/services/YahooMaps/YahooMaps.php | 52 - .../services/YahooMaps/ext.maps.yahoomaps.js | 21 - .../services/YahooMaps/jquery.yahoomaps.js | 123 - .../includes/specials/SpecialMapEditor.php | 216 - .../includes/validators/CircleValidator.php | 41 - .../Maps/includes/validators/GeoValidator.php | 30 - .../includes/validators/LineValidator.php | 55 - .../includes/validators/LocationValidator.php | 46 - .../includes/validators/PolygonValidator.php | 54 - .../validators/RectangleValidator.php | 44 - .../Maps/test/MapsCoordinateParserTest.php | 233 - .../Maps/test/MapsDistanceParserTest.php | 149 - .../phpunit/MapsCoordinateParserTest.php | 256 - .../tests/phpunit/MapsDistanceParserTest.php | 172 - .../phpunit/parserhooks/CoordinatesTest.php | 59 - .../phpunit/parserhooks/DisplayMapTest.php | 59 - .../phpunit/parserhooks/DistanceTest.php | 59 - .../parserhooks/FinddestinationTest.php | 59 - .../tests/phpunit/parserhooks/GeocodeTest.php | 59 - .../phpunit/parserhooks/GeodistanceTest.php | 59 - .../tests/phpunit/parserhooks/MapsDocTest.php | 59 - .../phpunit/parserhooks/ParserHookTest.php | 66 - documentacion/extensions/Nuke/COPYING | 347 - documentacion/extensions/Nuke/INSTALL | 31 - documentacion/extensions/Nuke/Nuke.alias.php | 259 - documentacion/extensions/Nuke/Nuke.i18n.php | 2855 -- documentacion/extensions/Nuke/Nuke.php | 44 - documentacion/extensions/Nuke/Nuke_body.php | 311 - documentacion/extensions/Nuke/README | 16 - documentacion/extensions/Nuke/RELEASE-NOTES | 54 - documentacion/extensions/Nuke/SpecialNuke.php | 2 - documentacion/extensions/Nuke/ext.nuke.js | 18 - .../extensions/ParserFunctions/COPYING | 283 - .../extensions/ParserFunctions/Expr.php | 642 - .../ParserFunctions.i18n.magic.php | 498 - .../ParserFunctions/ParserFunctions.i18n.php | 2508 -- .../ParserFunctions/ParserFunctions.php | 87 - .../ParserFunctions/ParserFunctions_body.php | 845 - .../extensions/ParserFunctions/README | 21 - .../ParserFunctions/SprintfDateCompat.php | 212 - .../extensions/ParserFunctions/exprTests.txt | 39 - .../ParserFunctions/funcsParserTests.txt | 213 - .../ParserFunctions/stringFunctionTests.txt | 32 - .../extensions/ParserFunctions/testExpr.php | 38 - documentacion/extensions/README | 30 - documentacion/extensions/RelatedArticles.php | 402 - .../extensions/Renameuser/RenameUserJob.php | 99 - .../Renameuser/Renameuser.alias.php | 339 - .../extensions/Renameuser/Renameuser.i18n.php | 4891 --- .../extensions/Renameuser/Renameuser.php | 112 - .../extensions/Renameuser/Renameuser_body.php | 577 - .../Renameuser/SpecialRenameuser.php | 1 - .../Renameuser/renameUserCleanup.php | 236 - .../extensions/SemanticForms/.gitignore | 4 - .../extensions/SemanticForms/.gitreview | 6 - .../extensions/SemanticForms/COPYING | 347 - .../extensions/SemanticForms/INSTALL | 40 - documentacion/extensions/SemanticForms/README | 49 - .../SemanticForms/SemanticForms.php | 369 - .../includes/SF_AutocompleteAPI.php | 181 - .../SemanticForms/includes/SF_AutoeditAPI.php | 535 - .../includes/SF_CreatePageJob.php | 54 - .../SemanticForms/includes/SF_Form.php | 111 - .../includes/SF_FormEditAction.php | 227 - .../includes/SF_FormEditPage.php | 63 - .../SemanticForms/includes/SF_FormField.php | 359 - .../SemanticForms/includes/SF_FormLinker.php | 355 - .../SemanticForms/includes/SF_FormPrinter.php | 1655 - .../SemanticForms/includes/SF_FormUtils.php | 1013 - .../includes/SF_GlobalFunctions.php | 50 - .../includes/SF_HelperFormAction.php | 175 - .../SemanticForms/includes/SF_PageSchemas.php | 579 - .../includes/SF_ParserFunctions.php | 648 - .../includes/SF_TemplateField.php | 305 - .../includes/SF_TemplateInForm.php | 208 - .../SemanticForms/includes/SF_Utils.php | 990 - .../forminputs/SF_CategoriesInput.php | 136 - .../includes/forminputs/SF_CategoryInput.php | 161 - .../includes/forminputs/SF_CheckboxInput.php | 85 - .../forminputs/SF_CheckboxesInput.php | 123 - .../includes/forminputs/SF_ComboBoxInput.php | 123 - .../includes/forminputs/SF_DateInput.php | 125 - .../includes/forminputs/SF_DateTimeInput.php | 146 - .../includes/forminputs/SF_DropdownInput.php | 117 - .../includes/forminputs/SF_EnumInput.php | 62 - .../includes/forminputs/SF_FormInput.php | 352 - .../includes/forminputs/SF_ListBoxInput.php | 112 - .../includes/forminputs/SF_MultiEnumInput.php | 36 - .../forminputs/SF_RadioButtonInput.php | 140 - .../includes/forminputs/SF_TextAreaInput.php | 219 - .../SF_TextAreaWithAutocompleteInput.php | 51 - .../includes/forminputs/SF_TextInput.php | 268 - .../SF_TextWithAutocompleteInput.php | 232 - .../includes/forminputs/SF_YearInput.php | 82 - .../SemanticForms/languages/SF_Aliases.php | 614 - .../SemanticForms/languages/SF_Language.php | 41 - .../SemanticForms/languages/SF_LanguageAr.php | 19 - .../languages/SF_LanguageArz.php | 19 - .../SemanticForms/languages/SF_LanguageCa.php | 19 - .../SemanticForms/languages/SF_LanguageDe.php | 20 - .../languages/SF_LanguageDe_formal.php | 19 - .../SemanticForms/languages/SF_LanguageEn.php | 22 - .../SemanticForms/languages/SF_LanguageEs.php | 19 - .../SemanticForms/languages/SF_LanguageFa.php | 19 - .../SemanticForms/languages/SF_LanguageFi.php | 21 - .../SemanticForms/languages/SF_LanguageFr.php | 19 - .../SemanticForms/languages/SF_LanguageHe.php | 19 - .../SemanticForms/languages/SF_LanguageId.php | 17 - .../SemanticForms/languages/SF_LanguageIt.php | 22 - .../SemanticForms/languages/SF_LanguageNl.php | 21 - .../SemanticForms/languages/SF_LanguageNo.php | 19 - .../languages/SF_LanguageZh_cn.php | 22 - .../languages/SF_LanguageZh_tw.php | 22 - .../SemanticForms/languages/SF_Magic.php | 91 - .../SemanticForms/languages/SF_Messages.php | 8559 ----- .../SemanticForms/languages/SF_Namespaces.php | 129 - .../libs/SF_ajax_form_preview.js | 258 - .../SemanticForms/libs/SF_autoedit.js | 55 - .../SemanticForms/libs/SF_autogrow.js | 51 - .../SemanticForms/libs/SF_collapsible.js | 55 - .../SemanticForms/libs/SF_imagePreview.js | 72 - .../SemanticForms/libs/SF_popupform.js | 797 - .../SemanticForms/libs/SF_submit.js | 168 - .../SemanticForms/libs/SF_wikieditor.js | 48 - .../SemanticForms/libs/SemanticForms.js | 1057 - .../SemanticForms/libs/jquery.fancybox.js | 1156 - .../SemanticForms/skins/MW-Icon-AlertMark.png | Bin 1187 -> 0 bytes .../SemanticForms/skins/SF_autoedit.css | 48 - .../SemanticForms/skins/SF_collapsible.css | 12 - .../skins/SF_jquery_ui_overrides.css | 39 - .../SemanticForms/skins/SF_popupform.css | 89 - .../SemanticForms/skins/SF_submit.css | 26 - .../SemanticForms/skins/SF_wikieditor.css | 9 - .../SemanticForms/skins/SemanticForms.css | 152 - .../extensions/SemanticForms/skins/close.png | Bin 476 -> 0 bytes .../SemanticForms/skins/collapse-minus.png | Bin 120 -> 0 bytes .../SemanticForms/skins/collapse-plus.png | Bin 123 -> 0 bytes .../SemanticForms/skins/fancy_close.png | Bin 1133 -> 0 bytes .../SemanticForms/skins/fancybox-x.png | Bin 297 -> 0 bytes .../SemanticForms/skins/fancybox-y.png | Bin 247 -> 0 bytes .../SemanticForms/skins/fancybox.png | Bin 17318 -> 0 bytes .../SemanticForms/skins/jquery.fancybox.css | 359 - .../SemanticForms/skins/loading.gif | Bin 2767 -> 0 bytes .../SemanticForms/skins/loadingbg.png | Bin 5560 -> 0 bytes .../SemanticForms/skins/rearranger.png | Bin 321 -> 0 bytes .../specials/SF_CreateCategory.php | 129 - .../SemanticForms/specials/SF_CreateClass.php | 228 - .../SemanticForms/specials/SF_CreateForm.php | 395 - .../specials/SF_CreateProperty.php | 157 - .../specials/SF_CreateTemplate.php | 244 - .../SemanticForms/specials/SF_FormEdit.php | 409 - .../SemanticForms/specials/SF_FormStart.php | 206 - .../SemanticForms/specials/SF_Forms.php | 98 - .../SemanticForms/specials/SF_RunQuery.php | 173 - .../SemanticForms/specials/SF_Templates.php | 125 - .../specials/SF_UploadWindow.php | 1137 - documentacion/extensions/SemanticMaps/COPYING | 682 - documentacion/extensions/SemanticMaps/INSTALL | 56 - documentacion/extensions/SemanticMaps/README | 25 - .../extensions/SemanticMaps/RELEASE-NOTES | 461 - .../extensions/SemanticMaps/SM_Settings.php | 67 - .../SemanticMaps/SemanticMaps.hooks.php | 36 - .../SemanticMaps/SemanticMaps.i18n.php | 1110 - .../extensions/SemanticMaps/SemanticMaps.php | 115 - .../includes/SM_AreaValueDescription.php | 186 - .../includes/SM_GeoCoordsHooks.php | 82 - .../includes/SM_GeoCoordsValue.php | 247 - .../includes/SM_GeoCoordsValueDescription.php | 84 - .../includes/forminputs/SM_FormInput.php | 231 - .../includes/forminputs/SM_FormInputs.php | 122 - .../forminputs/jquery.mapforminput.js | 136 - .../includes/queryprinters/SM_KMLPrinter.php | 162 - .../includes/queryprinters/SM_MapPrinter.php | 364 - .../includes/queryprinters/SM_Mapper.php | 98 - .../queryprinters/SM_QueryHandler.php | 497 - .../queryprinters/SM_QueryPrinters.php | 100 - .../services/GoogleMaps/SM_GoogleMaps.php | 33 - .../services/GoogleMaps3/SM_GoogleMaps3.php | 78 - .../GoogleMaps3/SM_GoogleMaps3FormInput.php | 26 - .../GoogleMaps3/SM_GoogleMaps3MultiInput.php | 47 - .../GoogleMaps3/ext.sm.googlemapsinput.js | 33 - .../GoogleMaps3/jquery.gmapsmultiinput.js | 317 - .../GoogleMaps3/jquery.googlemapsinput.js | 70 - .../services/OpenLayers/SM_OpenLayers.php | 50 - .../OpenLayers/SM_OpenLayersFormInput.php | 42 - .../OpenLayers/ext.sm.openlayersinput.js | 25 - .../OpenLayers/jquery.openlayersinput.js | 127 - .../services/YahooMaps/SM_YahooMaps.php | 48 - .../YahooMaps/SM_YahooMapsFormInput.php | 25 - .../services/YahooMaps/ext.sm.yahoomaps.js | 25 - .../YahooMaps/jquery.yahoomapsinput.js | 56 - .../extensions/SemanticMediaWiki/COPYING | 347 - .../extensions/SemanticMediaWiki/INSTALL | 242 - .../extensions/SemanticMediaWiki/README | 76 - .../SemanticMediaWiki/RELEASE-NOTES | 871 - .../SemanticMediaWiki/SMW_Settings.php | 518 - .../SemanticMediaWiki.hooks.php | 237 - .../SemanticMediaWiki/SemanticMediaWiki.php | 56 - .../includes/SMW_CompatibilityHelpers.php | 222 - .../includes/SMW_DISerializer.php | 102 - .../includes/SMW_DataValueFactory.php | 363 - .../includes/SMW_Factbox.php | 212 - .../includes/SMW_GlobalFunctions.php | 327 - .../includes/SMW_Infolink.php | 480 - .../includes/SMW_Outputs.php | 273 - .../includes/SMW_PageLister.php | 307 - .../includes/SMW_PageSchemas.php | 237 - .../includes/SMW_ParseData.php | 521 - .../includes/SMW_ParserExtensions.php | 181 - .../includes/SMW_QueryLanguage.php | 127 - .../includes/SMW_QueryParser.php | 630 - .../includes/SMW_QueryProcessor.php | 549 - .../includes/SMW_RefreshTab.php | 47 - .../includes/SMW_SemanticData.php | 321 - .../includes/SMW_Settings.php | 21 - .../SemanticMediaWiki/includes/SMW_Setup.php | 515 - .../SemanticMediaWiki/includes/api/ApiAsk.php | 66 - .../includes/api/ApiAskArgs.php | 94 - .../includes/api/ApiSMWInfo.php | 100 - .../includes/api/ApiSMWQuery.php | 87 - .../includes/articlepages/SMW_ConceptPage.php | 71 - .../articlepages/SMW_OrderedListPage.php | 121 - .../articlepages/SMW_PropertyPage.php | 192 - .../includes/dataitems/SMW_DI_Blob.php | 60 - .../includes/dataitems/SMW_DI_Bool.php | 58 - .../includes/dataitems/SMW_DI_Concept.php | 107 - .../includes/dataitems/SMW_DI_Container.php | 190 - .../includes/dataitems/SMW_DI_Error.php | 55 - .../includes/dataitems/SMW_DI_GeoCoord.php | 184 - .../includes/dataitems/SMW_DI_Number.php | 65 - .../includes/dataitems/SMW_DI_Property.php | 387 - .../includes/dataitems/SMW_DI_String.php | 69 - .../includes/dataitems/SMW_DI_Time.php | 435 - .../includes/dataitems/SMW_DI_URI.php | 136 - .../includes/dataitems/SMW_DI_WikiPage.php | 142 - .../includes/dataitems/SMW_DataItem.php | 180 - .../includes/datavalues/SMW_DV_Bool.php | 127 - .../includes/datavalues/SMW_DV_Concept.php | 190 - .../includes/datavalues/SMW_DV_Error.php | 72 - .../includes/datavalues/SMW_DV_Import.php | 176 - .../includes/datavalues/SMW_DV_Number.php | 327 - .../includes/datavalues/SMW_DV_Property.php | 347 - .../datavalues/SMW_DV_PropertyList.php | 141 - .../includes/datavalues/SMW_DV_Quantity.php | 193 - .../includes/datavalues/SMW_DV_Record.php | 303 - .../includes/datavalues/SMW_DV_String.php | 139 - .../datavalues/SMW_DV_Temperature.php | 119 - .../includes/datavalues/SMW_DV_Time.php | 858 - .../includes/datavalues/SMW_DV_Types.php | 189 - .../includes/datavalues/SMW_DV_URI.php | 293 - .../includes/datavalues/SMW_DV_WikiPage.php | 520 - .../includes/datavalues/SMW_DataValue.php | 741 - .../includes/export/SMW_Exp_Data.php | 255 - .../includes/export/SMW_Exp_Element.php | 242 - .../includes/export/SMW_ExportController.php | 598 - .../includes/export/SMW_Exporter.php | 660 - .../includes/export/SMW_Serializer.php | 318 - .../includes/export/SMW_Serializer_RDFXML.php | 267 - .../includes/export/SMW_Serializer_Turtle.php | 248 - .../includes/jobs/SMW_RefreshJob.php | 83 - .../includes/jobs/SMW_UpdateJob.php | 85 - .../includes/params/SMW_ParamFormat.php | 148 - .../includes/parserhooks/SMW_Ask.php | 50 - .../includes/parserhooks/SMW_Concept.php | 90 - .../includes/parserhooks/SMW_Declare.php | 87 - .../includes/parserhooks/SMW_Info.php | 104 - .../includes/parserhooks/SMW_SMWDoc.php | 237 - .../includes/parserhooks/SMW_Set.php | 41 - .../parserhooks/SMW_SetRecurringEvent.php | 265 - .../includes/parserhooks/SMW_Show.php | 50 - .../includes/parserhooks/SMW_Subobject.php | 80 - .../queryprinters/SMW_QP_Aggregatable.php | 225 - .../includes/queryprinters/SMW_QP_CSV.php | 123 - .../queryprinters/SMW_QP_Category.php | 212 - .../includes/queryprinters/SMW_QP_DSV.php | 198 - .../queryprinters/SMW_QP_Embedded.php | 136 - .../queryprinters/SMW_QP_JSONlink.php | 159 - .../includes/queryprinters/SMW_QP_List.php | 325 - .../includes/queryprinters/SMW_QP_RDF.php | 126 - .../includes/queryprinters/SMW_QP_RSSlink.php | 254 - .../includes/queryprinters/SMW_QP_Table.php | 212 - .../queryprinters/SMW_QueryPrinter.php | 589 - .../includes/sparql/SMW_SparqlDatabase.php | 605 - .../sparql/SMW_SparqlDatabase4Store.php | 120 - .../sparql/SMW_SparqlDatabaseVirtuoso.php | 157 - .../sparql/SMW_SparqlResultParser.php | 153 - .../sparql/SMW_SparqlResultWrapper.php | 204 - .../includes/storage/SMW_Description.php | 814 - .../includes/storage/SMW_PrintRequest.php | 273 - .../includes/storage/SMW_Query.php | 197 - .../includes/storage/SMW_QueryResult.php | 251 - .../includes/storage/SMW_ResultArray.php | 304 - .../includes/storage/SMW_SQLHelpers.php | 474 - .../includes/storage/SMW_SQLStore2.php | 2533 -- .../includes/storage/SMW_SQLStore2Table.php | 96 - .../storage/SMW_SQLStore2_Queries.php | 1169 - .../includes/storage/SMW_SQLStoreLight.php | 654 - .../includes/storage/SMW_SparqlStore.php | 302 - .../storage/SMW_SparqlStoreQueryEngine.php | 977 - .../includes/storage/SMW_SqlStore2IdCache.php | 101 - .../storage/SMW_SqlStubSemanticData.php | 198 - .../includes/storage/SMW_Store.php | 493 - .../languages/SMW_Aliases.php | 607 - .../languages/SMW_Language.php | 221 - .../languages/SMW_LanguageAr.php | 90 - .../languages/SMW_LanguageArz.php | 90 - .../languages/SMW_LanguageDe.php | 99 - .../languages/SMW_LanguageDe_formal.php | 24 - .../languages/SMW_LanguageEn.php | 97 - .../languages/SMW_LanguageEs.php | 88 - .../languages/SMW_LanguageFi.php | 100 - .../languages/SMW_LanguageFr.php | 88 - .../languages/SMW_LanguageHe.php | 91 - .../languages/SMW_LanguageId.php | 88 - .../languages/SMW_LanguageIt.php | 87 - .../languages/SMW_LanguageNl.php | 87 - .../languages/SMW_LanguageNo.php | 98 - .../languages/SMW_LanguagePl.php | 107 - .../languages/SMW_LanguagePt.php | 88 - .../languages/SMW_LanguageRu.php | 93 - .../languages/SMW_LanguageSk.php | 81 - .../languages/SMW_LanguageZh_cn.php | 91 - .../languages/SMW_LanguageZh_tw.php | 94 - .../SemanticMediaWiki/languages/SMW_Magic.php | 219 - .../languages/SMW_Messages.php | 13216 ------- .../extensions/SemanticMediaWiki/libs/README | 3 - .../libs/jquery-1.4.2.min.js | 471 - .../libs/jquery-ui/jquery-ui-i18n.js | 1176 - .../libs/jquery-ui/jquery-ui.dialog.min.js | 41 - .../libs/jquery-ui/jquery-ui.tabs.min.js | 36 - .../jquery-ui/jquery.ui.autocomplete.min.js | 29 - .../libs/jquery-ui/jquery.ui.button.min.js | 24 - .../libs/jquery-ui/jquery.ui.core.min.js | 15 - .../jquery-ui/jquery.ui.datepicker.min.js | 80 - .../libs/jquery-ui/jquery.ui.position.min.js | 15 - .../libs/jquery-ui/jquery.ui.widget.min.js | 15 - .../SemanticMediaWiki/maintenance/README | 27 - .../maintenance/SMW_Postgres_Schema.sql | 95 - .../maintenance/SMW_conceptCache.php | 205 - .../maintenance/SMW_dumpRDF.php | 80 - .../maintenance/SMW_refreshData.php | 178 - .../maintenance/SMW_setup.php | 105 - .../maintenance/SMW_setup_1.16.php | 130 - .../resources/ext.smw.compat.js | 0 .../SemanticMediaWiki/resources/ext.smw.js | 45 - .../SemanticMediaWiki/skins/LICENSE | 32 - .../SemanticMediaWiki/skins/SMW_custom.css | 433 - .../skins/SMW_custom_rtl.css | 119 - .../SemanticMediaWiki/skins/SMW_sorttable.js | 255 - .../SemanticMediaWiki/skins/SMW_tooltip.js | 527 - .../skins/elastic/jquery.elastic.source.js | 161 - .../skins/images/blue-circle.png | Bin 506 -> 0 bytes .../skins/images/browse_icon.png | Bin 484 -> 0 bytes .../skins/images/browse_iconsmall.png | Bin 437 -> 0 bytes .../skins/images/bubble-bottom-arrow.png | Bin 957 -> 0 bytes .../skins/images/bubble-bottom-left.png | Bin 653 -> 0 bytes .../skins/images/bubble-bottom-right.png | Bin 803 -> 0 bytes .../skins/images/bubble-bottom.png | Bin 309 -> 0 bytes .../skins/images/bubble-left-arrow.png | Bin 763 -> 0 bytes .../skins/images/bubble-left.png | Bin 191 -> 0 bytes .../skins/images/bubble-right-arrow.png | Bin 915 -> 0 bytes .../skins/images/bubble-right.png | Bin 226 -> 0 bytes .../skins/images/bubble-top-arrow.png | Bin 715 -> 0 bytes .../skins/images/bubble-top-left.png | Bin 403 -> 0 bytes .../skins/images/bubble-top-right.png | Bin 607 -> 0 bytes .../skins/images/bubble-top.png | Bin 220 -> 0 bytes .../skins/images/close-button.png | Bin 583 -> 0 bytes .../skins/images/copyright-vertical.png | Bin 679 -> 0 bytes .../skins/images/copyright.png | Bin 684 -> 0 bytes .../skins/images/dark-blue-circle.png | Bin 506 -> 0 bytes .../skins/images/dark-green-circle.png | Bin 493 -> 0 bytes .../skins/images/dark-red-circle.png | Bin 503 -> 0 bytes .../skins/images/dull-blue-circle.png | Bin 503 -> 0 bytes .../skins/images/dull-green-circle.png | Bin 506 -> 0 bytes .../skins/images/dull-red-circle.png | Bin 506 -> 0 bytes .../skins/images/gray-circle.png | Bin 483 -> 0 bytes .../skins/images/green-circle.png | Bin 506 -> 0 bytes .../SemanticMediaWiki/skins/images/info.png | Bin 640 -> 0 bytes .../skins/images/message-bottom-left.png | Bin 1068 -> 0 bytes .../skins/images/message-bottom-right.png | Bin 1574 -> 0 bytes .../skins/images/message-left.png | Bin 248 -> 0 bytes .../skins/images/message-right.png | Bin 379 -> 0 bytes .../skins/images/message-top-left.png | Bin 755 -> 0 bytes .../skins/images/message-top-right.png | Bin 1088 -> 0 bytes .../skins/images/progress-running.gif | Bin 1002 -> 0 bytes .../skins/images/rdf_flyer.18.gif | Bin 239 -> 0 bytes .../skins/images/red-circle.png | Bin 506 -> 0 bytes .../skins/images/search_icon.png | Bin 1023 -> 0 bytes .../skins/images/searchgray_iconsmall.png | Bin 544 -> 0 bytes .../skins/images/smw_button.png | Bin 4613 -> 0 bytes .../skins/images/sort_down.gif | Bin 879 -> 0 bytes .../skins/images/sort_none.gif | Bin 877 -> 0 bytes .../skins/images/sort_up.gif | Bin 881 -> 0 bytes .../skins/images/top-bubble.png | Bin 2617 -> 0 bytes .../skins/images/warning.png | Bin 526 -> 0 bytes .../SemanticMediaWiki/skins/images/world.png | Bin 892 -> 0 bytes .../skins/jquery-ui/base/demos.css | 334 - .../base/images/ui-anim_basic_16x16.gif | Bin 1553 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 94 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 94 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 120 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 111 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 110 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 101 -> 0 bytes .../base/images/ui-icons_222222_256x240.png | Bin 3702 -> 0 bytes .../base/images/ui-icons_2e83ff_256x240.png | Bin 3702 -> 0 bytes .../base/images/ui-icons_454545_256x240.png | Bin 3702 -> 0 bytes .../base/images/ui-icons_888888_256x240.png | Bin 3702 -> 0 bytes .../base/images/ui-icons_cd0a0a_256x240.png | Bin 3702 -> 0 bytes .../jquery-ui/base/jquery.ui.accordion.css | 12 - .../skins/jquery-ui/base/jquery.ui.all.css | 2 - .../jquery-ui/base/jquery.ui.autocomplete.css | 39 - .../skins/jquery-ui/base/jquery.ui.base.css | 11 - .../skins/jquery-ui/base/jquery.ui.button.css | 35 - .../skins/jquery-ui/base/jquery.ui.core.css | 37 - .../jquery-ui/base/jquery.ui.datepicker.css | 61 - .../skins/jquery-ui/base/jquery.ui.dialog.css | 13 - .../jquery-ui/base/jquery.ui.progressbar.css | 4 - .../jquery-ui/base/jquery.ui.resizable.css | 13 - .../jquery-ui/base/jquery.ui.selectable.css | 3 - .../skins/jquery-ui/base/jquery.ui.slider.css | 17 - .../skins/jquery-ui/base/jquery.ui.tabs.css | 11 - .../skins/jquery-ui/base/jquery.ui.theme.css | 279 - .../specials/AskSpecial/SMW_QueryUI.php | 1915 - .../specials/AskSpecial/SMW_QueryUIHelper.php | 589 - .../specials/AskSpecial/SMW_SpecialAsk.php | 819 - .../AskSpecial/SMW_SpecialQueryCreator.php | 265 - .../specials/Export/SMW_SpecialOWLExport.php | 150 - .../specials/QueryPages/SMW_QueryPage.php | 120 - .../QueryPages/SMW_SpecialProperties.php | 121 - .../specials/QueryPages/SMW_SpecialTypes.php | 99 - .../SMW_SpecialUnusedProperties.php | 96 - .../SMW_SpecialWantedProperties.php | 88 - .../specials/SMWAdmin/SMW_SpecialSMWAdmin.php | 155 - .../SearchTriple/SMW_SpecialBrowse.php | 455 - .../SearchTriple/SMW_SpecialPageProperty.php | 161 - .../SMW_SpecialSearchByProperty.php | 448 - .../Statistics/SMW_SpecialStatistics.php | 45 - .../URIResolver/SMW_SpecialURIResolver.php | 52 - .../selenium/suites/SMWSeleniumTestSuite.php | 55 - .../selenium/suites/TemplateTestCase.php | 35 - .../AnnotatePageWithProperty.php | 192 - .../AvoidPropertyCreationTestCase.php | 40 - .../BuildChainOfPropertiesInAQuery.php | 104 - .../BuildInTypeNumber.php | 100 - .../BuiltInTypeString.php | 70 - .../ChangeSeparatorForTypeNumber.php | 113 - .../CopyQuerySyntaxFromSpecialAsk.php | 51 - .../CreatePropertyPageTestCase.php | 87 - .../DefineAllowedValuesTestCase.php | 87 - .../DefineTypeOfPropertyTestCase.php | 77 - .../EmbedValueWithShowParserFunction.php | 65 - .../FactboxLinksToSearchByProperty.php | 61 - .../FactboxLinksToSpecialBrowse.php | 57 - .../FactboxShowsProperties.php | 61 - ...ropertySubpropertyOfAnotherOneTestCase.php | 99 - .../PropertiesListedOnSpecialPageTestCase.php | 106 - .../PropertyTypePageIsDefaultTestCase.php | 69 - .../RefreshInlineQuery.php | 66 - .../RefreshLinkForEveryPage.php | 38 - ...archByPropertyWithNumericValueTestCase.php | 107 - ...earchByPropertyWithStringValueTestCase.php | 71 - ...ectPagesByPropertyAnnotationByWildcard.php | 82 - .../SelectPagesByPropertyValue.php | 82 - .../ShowFactboxTestCase.php | 40 - .../SpecialAskProvidesGUIForQueries.php | 60 - .../UnusedPropertiesOnSpecialPageTestCase.php | 65 - .../ViewValuesOfPropertyOnSpecialPage.php | 120 - .../WantedPropertiesOnSpecialPageTestCase.php | 63 - .../SemanticResultFormats/Array/SRF_Array.php | 467 - .../BibTeX/SRF_BibTeX.php | 387 - .../extensions/SemanticResultFormats/COPYING | 347 - .../Calendar/SRFC_HistoricalDate.php | 92 - .../Calendar/SRF_Calendar.php | 553 - .../Calendar/skins/SRFC_main.css | 100 - .../Calendar/skins/left-arrow.png | Bin 302 -> 0 bytes .../Calendar/skins/right-arrow.png | Bin 298 -> 0 bytes .../SemanticResultFormats/D3/SRF_D3Bar.php | 248 - .../SemanticResultFormats/D3/SRF_D3Line.php | 213 - .../D3/SRF_D3Treemap.php | 234 - .../SemanticResultFormats/D3/d3.css | 58 - .../extensions/SemanticResultFormats/D3/d3.js | 4615 --- .../SemanticResultFormats/D3/d3.layout.min.js | 1 - .../Exhibit/SRF_Exhibit.css | 3 - .../Exhibit/SRF_Exhibit.js | 124 - .../Exhibit/SRF_Exhibit.php | 456 - .../Exhibit/ajax/LICENSE.txt | 29 - .../Exhibit/ajax/compile-epilog.js | 16 - .../Exhibit/ajax/compile-prolog.js | 1 - .../Exhibit/ajax/content/history.html | 7 - .../ajax/images/bubble-arrow-point-down.png | Bin 988 -> 0 bytes .../ajax/images/bubble-arrow-point-left.png | Bin 785 -> 0 bytes .../ajax/images/bubble-arrow-point-right.png | Bin 939 -> 0 bytes .../ajax/images/bubble-arrow-point-up.png | Bin 741 -> 0 bytes .../ajax/images/bubble-bottom-left.png | Bin 656 -> 0 bytes .../ajax/images/bubble-bottom-right.png | Bin 823 -> 0 bytes .../Exhibit/ajax/images/bubble-bottom.png | Bin 324 -> 0 bytes .../Exhibit/ajax/images/bubble-left.png | Bin 208 -> 0 bytes .../Exhibit/ajax/images/bubble-right.png | Bin 239 -> 0 bytes .../Exhibit/ajax/images/bubble-top-left.png | Bin 406 -> 0 bytes .../Exhibit/ajax/images/bubble-top-right.png | Bin 612 -> 0 bytes .../Exhibit/ajax/images/bubble-top.png | Bin 228 -> 0 bytes .../Exhibit/ajax/images/close-button.png | Bin 583 -> 0 bytes .../Exhibit/ajax/images/copy.png | Bin 120 -> 0 bytes .../ajax/images/message-bottom-left.png | Bin 1068 -> 0 bytes .../ajax/images/message-bottom-right.png | Bin 1574 -> 0 bytes .../Exhibit/ajax/images/message-left.png | Bin 248 -> 0 bytes .../Exhibit/ajax/images/message-right.png | Bin 379 -> 0 bytes .../Exhibit/ajax/images/message-top-left.png | Bin 755 -> 0 bytes .../Exhibit/ajax/images/message-top-right.png | Bin 1088 -> 0 bytes .../Exhibit/ajax/loader.js | 34 - .../Exhibit/ajax/scripts/ajax.js | 45 - .../Exhibit/ajax/scripts/data-structure.js | 447 - .../Exhibit/ajax/scripts/date-time.js | 452 - .../Exhibit/ajax/scripts/debug.js | 94 - .../Exhibit/ajax/scripts/dom.js | 344 - .../Exhibit/ajax/scripts/graphics.js | 653 - .../Exhibit/ajax/scripts/history.js | 220 - .../Exhibit/ajax/scripts/html.js | 274 - .../Exhibit/ajax/scripts/jquery-1.3.2.min.js | 23 - .../Exhibit/ajax/scripts/json.js | 129 - .../Exhibit/ajax/scripts/platform.js | 114 - .../Exhibit/ajax/scripts/signal.js | 43 - .../Exhibit/ajax/scripts/string.js | 43 - .../Exhibit/ajax/scripts/units.js | 73 - .../Exhibit/ajax/scripts/window-manager.js | 414 - .../Exhibit/ajax/scripts/xmlhttp.js | 137 - .../Exhibit/ajax/simile-ajax-api.js | 215 - .../Exhibit/ajax/simile-ajax-bundle-debug.js | 2911 -- .../Exhibit/ajax/simile-ajax-bundle.js | 2911 -- .../Exhibit/exhibit/LICENSE.txt | 29 - .../Exhibit/exhibit/compile-epilog.js | 16 - .../Exhibit/exhibit/compile-prolog.js | 1 - .../Exhibit/exhibit/exhibit-api.js | 276 - .../Exhibit/exhibit/exhibit-bundle-debug.css | 742 - .../Exhibit/exhibit/exhibit-bundle-debug.js | 8362 ----- .../Exhibit/exhibit/exhibit-bundle.css | 785 - .../Exhibit/exhibit/exhibit-bundle.js | 8475 ----- .../calendar-extension-bundle-debug.js | 793 - .../calendar/calendar-extension-bundle.css | 184 - .../calendar/calendar-extension-bundle.js | 793 - .../extensions/calendar/calendar-extension.js | 61 - .../extensions/calendar/compile-prolog.js | 1 - .../calendar/scripts/calendar-view.js | 480 - .../calendar/scripts/date-picker-facet.js | 418 - .../calendar/scripts/date-picker.js | 272 - .../extensions/calendar/scripts/date-util.js | 289 - .../calendar/styles/calendar-view.css | 72 - .../calendar/styles/date-picker-facet.css | 113 - .../chart/chart-extension-bundle-debug.js | 669 - .../chart/chart-extension-bundle.css | 184 - .../chart/chart-extension-bundle.js | 669 - .../extensions/chart/chart-extension.js | 65 - .../extensions/chart/compile-prolog.js | 1 - .../chart/locales/de/chart-locale.js | 17 - .../chart/locales/en/chart-locale.js | 17 - .../chart/locales/fr/chart-locale.js | 17 - .../chart/locales/nl/chart-locale.js | 17 - .../chart/scripts/bar-chart-view.js | 612 - .../chart/scripts/pivot-table-view.js | 301 - .../chart/scripts/scatter-plot-view.js | 504 - .../chart/styles/bar-chart-view.css | 84 - .../chart/styles/pivot-table-view.css | 12 - .../chart/styles/scatter-plot-view.css | 88 - .../extensions/curate/compile-prolog.js | 1 - .../curate/curate-extension-bundle-debug.js | 402 - .../curate/curate-extension-bundle.css | 24 - .../curate/curate-extension-bundle.js | 402 - .../extensions/curate/curate-extension.js | 59 - .../extensions/curate/files/admin/admin.css | 0 .../extensions/curate/files/admin/admin.html | 23 - .../extensions/curate/files/admin/admin.py | 31 - .../extensions/curate/files/admin/exhibit.py | 120 - .../curate/files/admin/portalocker.py | 145 - .../extensions/curate/files/admin/public.py | 61 - .../curate/files/admin/simplejson/__init__.py | 287 - .../curate/files/admin/simplejson/_speedups.c | 221 - .../curate/files/admin/simplejson/decoder.py | 273 - .../curate/files/admin/simplejson/encoder.py | 371 - .../files/admin/simplejson/jsonfilter.py | 40 - .../curate/files/admin/simplejson/scanner.py | 63 - .../curate/files/admin/submissions.js | 130 - .../extensions/curate/files/admin/submit.py | 32 - .../extensions/curate/files/gdocbackend.py | 172 - .../extensions/curate/files/scraper.py | 55 - .../exhibit/extensions/curate/readme.txt | 16 - .../extensions/curate/scripts/change-list.js | 149 - .../extensions/curate/scripts/curate-view.js | 216 - .../extensions/curate/scripts/item-creator.js | 132 - .../extensions/curate/scripts/scraper.js | 201 - .../curate/scripts/submission-backend.js | 117 - .../curate/scripts/submission-widgets.js | 79 - .../extensions/curate/styles/change-list.css | 12 - .../extensions/curate/styles/curate-view.css | 0 .../extensions/curate/styles/scraper.css | 13 - .../extensions/editing/compile-prolog.js | 1 - .../editing/editing-extension-bundle-debug.js | 951 - .../editing/editing-extension-bundle.css | 43 - .../editing/editing-extension-bundle.js | 951 - .../extensions/editing/editing-extension.js | 65 - .../editing/scripts/data/editing-backend.js | 76 - .../extensions/editing/scripts/extra.js | 562 - .../editing/scripts/ui/editing-formatter.js | 233 - .../editing/scripts/ui/editing-lens.js | 786 - .../extensions/editing/scripts/ui/lens.js | 208 - .../extensions/editing/styles/editing.css | 43 - .../extensions/freebase/compile-prolog.js | 1 - .../freebase-extension-bundle-debug.js | 67 - .../freebase/freebase-extension-bundle.js | 67 - .../extensions/freebase/freebase-extension.js | 54 - .../freebase/scripts/freebase-importer.js | 86 - .../extensions/freebase/scripts/metaweb.js | 59 - .../exhibit/extensions/map/compile-prolog.js | 1 - .../extensions/map/locales/de/map-locale.js | 11 - .../extensions/map/locales/en/map-locale.js | 11 - .../extensions/map/locales/es/map-locale.js | 11 - .../extensions/map/locales/fr/map-locale.js | 11 - .../extensions/map/locales/nl/map-locale.js | 11 - .../extensions/map/locales/sv/map-locale.js | 11 - .../map/map-extension-bundle-debug.js | 957 - .../extensions/map/map-extension-bundle.css | 10 - .../extensions/map/map-extension-bundle.js | 1018 - .../exhibit/extensions/map/map-extension.js | 80 - .../extensions/map/scripts/map-view.js | 871 - .../extensions/map/scripts/olmap-view.js | 1041 - .../extensions/map/scripts/vemap-view.js | 437 - .../extensions/map/styles/map-view.css | 7 - .../extensions/map/styles/olmap-view.css | 3 - .../exhibit/extensions/time/compile-prolog.js | 1 - .../extensions/time/locales/de/time-locale.js | 11 - .../extensions/time/locales/en/time-locale.js | 11 - .../extensions/time/locales/es/time-locale.js | 11 - .../extensions/time/locales/fr/time-locale.js | 11 - .../extensions/time/locales/nl/time-locale.js | 11 - .../extensions/time/locales/sv/time-locale.js | 11 - .../extensions/time/scripts/timeline-view.js | 496 - .../extensions/time/styles/timeline-view.css | 5 - .../time/time-extension-bundle-debug.js | 218 - .../extensions/time/time-extension-bundle.css | 5 - .../extensions/time/time-extension-bundle.js | 218 - .../exhibit/extensions/time/time-extension.js | 67 - .../extensions/timeplot/compile-prolog.js | 1 - .../timeplot/locales/en/timeplot-locale.js | 11 - .../timeplot/locales/nl/timeplot-locale.js | 11 - .../timeplot/scripts/timeplot-view.js | 394 - .../timeplot/styles/timeplot-view.css | 0 .../timeplot-extension-bundle-debug.js | 201 - .../timeplot/timeplot-extension-bundle.css | 0 .../timeplot/timeplot-extension-bundle.js | 201 - .../extensions/timeplot/timeplot-extension.js | 68 - .../Exhibit/exhibit/images/arrow-left.gif | Bin 73 -> 0 bytes .../Exhibit/exhibit/images/arrow-right.gif | Bin 71 -> 0 bytes .../exhibit/images/black-check-no-border.png | Bin 216 -> 0 bytes .../Exhibit/exhibit/images/black-check.png | Bin 747 -> 0 bytes .../Exhibit/exhibit/images/blank-16x16.png | Bin 105 -> 0 bytes .../Exhibit/exhibit/images/collapse.png | Bin 116 -> 0 bytes .../exhibit/images/day-with-items-bkgrd.gif | Bin 57 -> 0 bytes .../Exhibit/exhibit/images/down-arrow.png | Bin 135 -> 0 bytes .../Exhibit/exhibit/images/expand.png | Bin 120 -> 0 bytes .../exhibit/images/gray-check-no-border.png | Bin 216 -> 0 bytes .../Exhibit/exhibit/images/gray-check.png | Bin 725 -> 0 bytes .../Exhibit/exhibit/images/left-arrow.png | Bin 130 -> 0 bytes .../exhibit/images/liveclipboard-icon.png | Bin 645 -> 0 bytes .../exhibit/images/map-marker-shadow.png | Bin 1212 -> 0 bytes .../message-bubble/message-bottom-left.png | Bin 1068 -> 0 bytes .../message-bubble/message-bottom-right.png | Bin 1574 -> 0 bytes .../images/message-bubble/message-left.png | Bin 248 -> 0 bytes .../images/message-bubble/message-right.png | Bin 379 -> 0 bytes .../message-bubble/message-top-left.png | Bin 755 -> 0 bytes .../message-bubble/message-top-right.png | Bin 1088 -> 0 bytes .../exhibit/images/month-header-left.gif | Bin 111 -> 0 bytes .../exhibit/images/month-header-right.gif | Bin 110 -> 0 bytes .../exhibit/images/no-check-no-border.png | Bin 105 -> 0 bytes .../Exhibit/exhibit/images/no-check.png | Bin 241 -> 0 bytes .../Exhibit/exhibit/images/option-check.png | Bin 466 -> 0 bytes .../Exhibit/exhibit/images/option.png | Bin 380 -> 0 bytes .../exhibit/images/progress-running.gif | Bin 1002 -> 0 bytes .../Exhibit/exhibit/images/right-arrow.png | Bin 129 -> 0 bytes .../Exhibit/exhibit/images/slider-handle.png | Bin 386 -> 0 bytes .../Exhibit/exhibit/images/slider-handle2.png | Bin 437 -> 0 bytes .../Exhibit/exhibit/images/up-arrow.png | Bin 135 -> 0 bytes .../exhibit/images/week-selector-active.gif | Bin 133 -> 0 bytes .../Exhibit/exhibit/images/week-selector.gif | Bin 134 -> 0 bytes .../exhibit/locales/de/exhibit-de-bundle.js | 180 - .../Exhibit/exhibit/locales/de/locale.js | 38 - .../locales/de/scripts/data/database-l10n.js | 75 - .../locales/de/scripts/exhibit-l10n.js | 50 - .../locales/de/scripts/ui/.giosaveK2VZNW | 8 - .../locales/de/scripts/ui/formatter-l10n.js | 56 - .../locales/de/scripts/ui/lens-l10n.js | 8 - .../locales/de/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../de/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../de/scripts/ui/views/tile-view-l10n.js | 11 - .../de/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/de/scripts/util/coders-l10n.js | 12 - .../locales/de/scripts/util/facets-l10n.js | 17 - .../locales/de/scripts/util/views-l10n.js | 18 - .../exhibit/locales/en/exhibit-en-bundle.js | 190 - .../Exhibit/exhibit/locales/en/locale.js | 39 - .../locales/en/scripts/data/database-l10n.js | 75 - .../locales/en/scripts/exhibit-l10n.js | 50 - .../locales/en/scripts/ui/formatter-l10n.js | 56 - .../locales/en/scripts/ui/lens-l10n.js | 8 - .../locales/en/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 46 - .../en/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../en/scripts/ui/views/tile-view-l10n.js | 11 - .../en/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/en/scripts/util/coders-l10n.js | 12 - .../locales/en/scripts/util/facets-l10n.js | 17 - .../locales/en/scripts/util/views-l10n.js | 18 - .../exhibit/locales/es/exhibit-es-bundle.js | 171 - .../Exhibit/exhibit/locales/es/locale.js | 39 - .../locales/es/scripts/data/database-l10n.js | 54 - .../locales/es/scripts/exhibit-l10n.js | 50 - .../locales/es/scripts/ui/formatter-l10n.js | 56 - .../locales/es/scripts/ui/lens-l10n.js | 8 - .../locales/es/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../es/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../es/scripts/ui/views/tile-view-l10n.js | 11 - .../es/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/es/scripts/util/coders-l10n.js | 12 - .../locales/es/scripts/util/facets-l10n.js | 17 - .../locales/es/scripts/util/views-l10n.js | 18 - .../exhibit/locales/fr/exhibit-fr-bundle.js | 180 - .../Exhibit/exhibit/locales/fr/locale.js | 38 - .../locales/fr/scripts/data/database-l10n.js | 75 - .../locales/fr/scripts/exhibit-l10n.js | 50 - .../locales/fr/scripts/ui/formatter-l10n.js | 56 - .../locales/fr/scripts/ui/lens-l10n.js | 8 - .../locales/fr/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../fr/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../fr/scripts/ui/views/tile-view-l10n.js | 11 - .../fr/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/fr/scripts/util/coders-l10n.js | 12 - .../locales/fr/scripts/util/facets-l10n.js | 17 - .../locales/fr/scripts/util/views-l10n.js | 18 - .../exhibit/locales/nl/exhibit-nl-bundle.js | 180 - .../Exhibit/exhibit/locales/nl/locale.js | 38 - .../locales/nl/scripts/data/database-l10n.js | 75 - .../locales/nl/scripts/exhibit-l10n.js | 50 - .../locales/nl/scripts/ui/formatter-l10n.js | 56 - .../locales/nl/scripts/ui/lens-l10n.js | 8 - .../locales/nl/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 34 - .../nl/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../nl/scripts/ui/views/tile-view-l10n.js | 11 - .../nl/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/nl/scripts/util/coders-l10n.js | 12 - .../locales/nl/scripts/util/facets-l10n.js | 17 - .../locales/nl/scripts/util/views-l10n.js | 18 - .../exhibit/locales/no/exhibit-no-bundle.js | 180 - .../Exhibit/exhibit/locales/no/locale.js | 39 - .../locales/no/scripts/data/database-l10n.js | 75 - .../locales/no/scripts/exhibit-l10n.js | 50 - .../locales/no/scripts/ui/formatter-l10n.js | 56 - .../locales/no/scripts/ui/lens-l10n.js | 8 - .../locales/no/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../no/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../no/scripts/ui/views/tile-view-l10n.js | 11 - .../no/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 27 - .../locales/no/scripts/util/coders-l10n.js | 12 - .../locales/no/scripts/util/facets-l10n.js | 17 - .../locales/no/scripts/util/views-l10n.js | 18 - .../exhibit/locales/sv/exhibit-sv-bundle.js | 171 - .../Exhibit/exhibit/locales/sv/locale.js | 39 - .../locales/sv/scripts/data/database-l10n.js | 54 - .../locales/sv/scripts/exhibit-l10n.js | 50 - .../locales/sv/scripts/ui/formatter-l10n.js | 56 - .../locales/sv/scripts/ui/lens-l10n.js | 8 - .../locales/sv/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../sv/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../sv/scripts/ui/views/tile-view-l10n.js | 11 - .../sv/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/sv/scripts/util/coders-l10n.js | 12 - .../locales/sv/scripts/util/facets-l10n.js | 17 - .../locales/sv/scripts/util/views-l10n.js | 18 - .../exhibit/locales/zh/exhibit-zh-bundle.js | 181 - .../Exhibit/exhibit/locales/zh/locale.js | 39 - .../locales/zh/scripts/data/database-l10n.js | 74 - .../locales/zh/scripts/exhibit-l10n.js | 50 - .../locales/zh/scripts/ui/formatter-l10n.js | 56 - .../locales/zh/scripts/ui/lens-l10n.js | 8 - .../locales/zh/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../zh/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../zh/scripts/ui/views/tile-view-l10n.js | 11 - .../zh/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/zh/scripts/util/coders-l10n.js | 12 - .../locales/zh/scripts/util/facets-l10n.js | 17 - .../locales/zh/scripts/util/views-l10n.js | 18 - .../Exhibit/exhibit/manifest.json | 55 - .../Exhibit/exhibit/scripts/authentication.js | 64 - .../Exhibit/exhibit/scripts/create.js | 39 - .../exhibit/scripts/data/collection.js | 395 - .../Exhibit/exhibit/scripts/data/controls.js | 115 - .../Exhibit/exhibit/scripts/data/database.js | 1305 - .../scripts/data/exporters/bibtex-exporter.js | 78 - .../data/exporters/exhibit-json-exporter.js | 93 - .../exporters/facet-selection-exporter.js | 27 - .../data/exporters/rdf-xml-exporter.js | 99 - .../exporters/semantic-wikitext-exporter.js | 61 - .../scripts/data/exporters/tsv-exporter.js | 53 - .../exhibit/scripts/data/expression-parser.js | 345 - .../exhibit/scripts/data/expression.js | 523 - .../Exhibit/exhibit/scripts/data/functions.js | 349 - .../data/importers/authenticated-importer.js | 52 - .../data/importers/babel-based-importer.js | 75 - .../data/importers/exhibit-json-importer.js | 42 - .../data/importers/exhibit-xml-importer.js | 323 - .../data/importers/html-table-importer.js | 175 - .../scripts/data/importers/json-importer.js | 262 - .../scripts/data/importers/jsonp-importer.js | 258 - .../scripts/data/importers/rdfa-importer.js | 138 - .../data/importers/tsv-csv-importer.js | 198 - .../Exhibit/exhibit/scripts/exhibit.js | 395 - .../Exhibit/exhibit/scripts/persistence.js | 83 - .../exhibit/scripts/ui/coders/color-coder.js | 161 - .../scripts/ui/coders/color-gradient-coder.js | 185 - .../scripts/ui/coders/default-color-coder.js | 83 - .../exhibit/scripts/ui/coders/icon-coder.js | 148 - .../scripts/ui/coders/ordered-color-coder.js | 250 - .../exhibit/scripts/ui/coders/size-coder.js | 139 - .../scripts/ui/coders/size-gradient-coder.js | 188 - .../Exhibit/exhibit/scripts/ui/coordinator.js | 64 - .../scripts/ui/facets/alpha-range-facet.js | 382 - .../exhibit/scripts/ui/facets/cloud-facet.js | 541 - .../scripts/ui/facets/hierarchical-facet.js | 719 - .../exhibit/scripts/ui/facets/image-facet.js | 486 - .../exhibit/scripts/ui/facets/list-facet.js | 489 - .../scripts/ui/facets/numeric-range-facet.js | 361 - .../exhibit/scripts/ui/facets/slider-facet.js | 291 - .../exhibit/scripts/ui/facets/slider.js | 363 - .../scripts/ui/facets/text-search-facet.js | 294 - .../exhibit/scripts/ui/format-parser.js | 500 - .../Exhibit/exhibit/scripts/ui/formatter.js | 565 - .../Exhibit/exhibit/scripts/ui/lens.js | 1000 - .../Exhibit/exhibit/scripts/ui/ui-context.js | 295 - .../Exhibit/exhibit/scripts/ui/ui.js | 623 - .../exhibit/scripts/ui/views/html-view.js | 39 - .../scripts/ui/views/ordered-view-frame.js | 979 - .../exhibit/scripts/ui/views/tabular-view.js | 640 - .../scripts/ui/views/thumbnail-view.js | 327 - .../exhibit/scripts/ui/views/tile-view.js | 214 - .../exhibit/scripts/ui/views/view-panel.js | 365 - .../ui/widgets/collection-summary-widget.js | 129 - .../ui/widgets/legend-gradient-widget.js | 171 - .../scripts/ui/widgets/legend-widget.js | 136 - .../exhibit/scripts/ui/widgets/logo.js | 53 - .../scripts/ui/widgets/option-widget.js | 78 - .../ui/widgets/resizable-div-widget.js | 61 - .../scripts/ui/widgets/toolbox-widget.js | 267 - .../Exhibit/exhibit/scripts/util/coders.js | 10 - .../Exhibit/exhibit/scripts/util/facets.js | 543 - .../Exhibit/exhibit/scripts/util/set.js | 98 - .../Exhibit/exhibit/scripts/util/settings.js | 439 - .../Exhibit/exhibit/scripts/util/util.js | 118 - .../Exhibit/exhibit/scripts/util/views.js | 124 - .../Exhibit/exhibit/styles/browse-panel.css | 20 - .../Exhibit/exhibit/styles/exhibit.css | 170 - .../Exhibit/exhibit/styles/lens.css | 32 - .../Exhibit/exhibit/styles/util/facets.css | 327 - .../Exhibit/exhibit/styles/util/views.css | 104 - .../exhibit/styles/views/tabular-view.css | 28 - .../exhibit/styles/views/thumbnail-view.css | 14 - .../exhibit/styles/views/tile-view.css | 12 - .../exhibit/styles/views/view-panel.css | 25 - .../widgets/collection-summary-widget.css | 11 - .../exhibit/styles/widgets/legend-widget.css | 14 - .../exhibit/styles/widgets/option-widget.css | 7 - .../styles/widgets/resizable-div-widget.css | 10 - .../exhibit/styles/widgets/toolbox-widget.css | 13 - .../Exhibit/timeline/LICENSE.txt | 29 - .../timeline-en-compilation-debug.css | 243 - .../timeline-en-compilation-debug.js | 3039 -- .../compilations/timeline-en-compilation.css | 243 - .../compilations/timeline-en-compilation.js | 3039 -- .../Exhibit/timeline/api/compile-epilog.js | 16 - .../Exhibit/timeline/api/compile-prolog.js | 1 - .../api/ext/geochrono/geochrono-api.js | 92 - .../ext/geochrono/scripts/ether-painters.js | 204 - .../api/ext/geochrono/scripts/geochrono.js | 518 - .../geochrono/scripts/l10n/en/labellers.js | 10 - .../api/ext/geochrono/scripts/labellers.js | 52 - .../api/ext/geochrono/scripts/units.js | 86 - .../timeline/api/ext/planning/planning-api.js | 92 - .../ext/planning/scripts/ether-painters.js | 176 - .../ext/planning/scripts/l10n/en/labellers.js | 12 - .../api/ext/planning/scripts/labellers.js | 33 - .../api/ext/planning/scripts/planning.js | 47 - .../api/ext/planning/scripts/units.js | 66 - .../timeline/api/images/blue-circle.png | Bin 491 -> 0 bytes .../api/images/bubble-bottom-arrow.png | Bin 957 -> 0 bytes .../api/images/bubble-bottom-left.png | Bin 653 -> 0 bytes .../api/images/bubble-bottom-right.png | Bin 803 -> 0 bytes .../timeline/api/images/bubble-bottom.png | Bin 309 -> 0 bytes .../timeline/api/images/bubble-left-arrow.png | Bin 763 -> 0 bytes .../timeline/api/images/bubble-left.png | Bin 191 -> 0 bytes .../api/images/bubble-right-arrow.png | Bin 915 -> 0 bytes .../timeline/api/images/bubble-right.png | Bin 226 -> 0 bytes .../timeline/api/images/bubble-top-arrow.png | Bin 715 -> 0 bytes .../timeline/api/images/bubble-top-left.png | Bin 403 -> 0 bytes .../timeline/api/images/bubble-top-right.png | Bin 607 -> 0 bytes .../timeline/api/images/bubble-top.png | Bin 220 -> 0 bytes .../timeline/api/images/close-button.png | Bin 583 -> 0 bytes .../api/images/copyright-vertical.png | Bin 679 -> 0 bytes .../Exhibit/timeline/api/images/copyright.png | Bin 684 -> 0 bytes .../timeline/api/images/dark-blue-circle.png | Bin 491 -> 0 bytes .../timeline/api/images/dark-green-circle.png | Bin 479 -> 0 bytes .../timeline/api/images/dark-red-circle.png | Bin 488 -> 0 bytes .../timeline/api/images/dull-blue-circle.png | Bin 488 -> 0 bytes .../timeline/api/images/dull-green-circle.png | Bin 491 -> 0 bytes .../timeline/api/images/dull-red-circle.png | Bin 491 -> 0 bytes .../timeline/api/images/gray-circle.png | Bin 469 -> 0 bytes .../timeline/api/images/green-circle.png | Bin 491 -> 0 bytes .../api/images/message-bottom-left.png | Bin 1068 -> 0 bytes .../api/images/message-bottom-right.png | Bin 1574 -> 0 bytes .../timeline/api/images/message-left.png | Bin 248 -> 0 bytes .../timeline/api/images/message-right.png | Bin 379 -> 0 bytes .../timeline/api/images/message-top-left.png | Bin 755 -> 0 bytes .../timeline/api/images/message-top-right.png | Bin 1088 -> 0 bytes .../timeline/api/images/progress-running.gif | Bin 1002 -> 0 bytes .../timeline/api/images/red-circle.png | Bin 491 -> 0 bytes .../timeline/api/images/top-bubble.png | Bin 2617 -> 0 bytes .../Exhibit/timeline/api/scripts/band.js | 960 - .../timeline/api/scripts/compact-painter.js | 1074 - .../timeline/api/scripts/decorators.js | 184 - .../timeline/api/scripts/detailed-painter.js | 691 - .../timeline/api/scripts/ether-painters.js | 582 - .../Exhibit/timeline/api/scripts/ethers.js | 305 - .../timeline/api/scripts/event-utils.js | 64 - .../timeline/api/scripts/ext/japanese-eras.js | 395 - .../timeline/api/scripts/l10n/cs/labellers.js | 30 - .../timeline/api/scripts/l10n/cs/timeline.js | 9 - .../timeline/api/scripts/l10n/de/labellers.js | 27 - .../timeline/api/scripts/l10n/de/timeline.js | 8 - .../timeline/api/scripts/l10n/en/labellers.js | 12 - .../timeline/api/scripts/l10n/en/timeline.js | 9 - .../timeline/api/scripts/l10n/es/labellers.js | 8 - .../timeline/api/scripts/l10n/es/timeline.js | 9 - .../timeline/api/scripts/l10n/fr/labellers.js | 8 - .../timeline/api/scripts/l10n/fr/timeline.js | 9 - .../api/scripts/l10n/it/.giosaveA6UVNW | 8 - .../timeline/api/scripts/l10n/it/labellers.js | 8 - .../timeline/api/scripts/l10n/it/timeline.js | 9 - .../timeline/api/scripts/l10n/nl/labellers.js | 11 - .../timeline/api/scripts/l10n/nl/timeline.js | 9 - .../api/scripts/l10n/pt_BR/labellers.js | 12 - .../api/scripts/l10n/pt_BR/timeline.js | 9 - .../timeline/api/scripts/l10n/ru/labellers.js | 10 - .../timeline/api/scripts/l10n/ru/timeline.js | 9 - .../timeline/api/scripts/l10n/se/labellers.js | 12 - .../timeline/api/scripts/l10n/se/timeline.js | 9 - .../timeline/api/scripts/l10n/tr/labellers.js | 8 - .../timeline/api/scripts/l10n/tr/timeline.js | 9 - .../timeline/api/scripts/l10n/vi/labellers.js | 26 - .../timeline/api/scripts/l10n/vi/timeline.js | 9 - .../timeline/api/scripts/l10n/zh/labellers.js | 27 - .../timeline/api/scripts/l10n/zh/timeline.js | 9 - .../Exhibit/timeline/api/scripts/labellers.js | 91 - .../timeline/api/scripts/original-painter.js | 700 - .../timeline/api/scripts/overview-painter.js | 258 - .../Exhibit/timeline/api/scripts/sources.js | 583 - .../Exhibit/timeline/api/scripts/themes.js | 180 - .../Exhibit/timeline/api/scripts/timeline.js | 648 - .../Exhibit/timeline/api/styles/ethers.css | 120 - .../Exhibit/timeline/api/styles/events.css | 45 - .../Exhibit/timeline/api/styles/timeline.css | 79 - .../Exhibit/timeline/api/timeline-api.js | 304 - .../timeline/api/timeline-bundle-debug.css | 243 - .../timeline/api/timeline-bundle-debug.js | 2950 -- .../Exhibit/timeline/api/timeline-bundle.css | 243 - .../Exhibit/timeline/api/timeline-bundle.js | 2950 -- .../Exhibit_/SRF_Exhibit.css | 3 - .../Exhibit_/SRF_Exhibit.js | 171 - .../Exhibit_/SRF_Exhibit.php | 510 - .../Exhibit_/ajax/LICENSE.txt | 29 - .../Exhibit_/ajax/compile-epilog.js | 16 - .../Exhibit_/ajax/compile-prolog.js | 1 - .../Exhibit_/ajax/content/history.html | 7 - .../ajax/images/bubble-arrow-point-down.png | Bin 3654 -> 0 bytes .../ajax/images/bubble-arrow-point-left.png | Bin 3455 -> 0 bytes .../ajax/images/bubble-arrow-point-right.png | Bin 3529 -> 0 bytes .../ajax/images/bubble-arrow-point-up.png | Bin 3413 -> 0 bytes .../ajax/images/bubble-bottom-left.png | Bin 3232 -> 0 bytes .../ajax/images/bubble-bottom-right.png | Bin 3291 -> 0 bytes .../Exhibit_/ajax/images/bubble-bottom.png | Bin 3119 -> 0 bytes .../Exhibit_/ajax/images/bubble-left.png | Bin 3601 -> 0 bytes .../Exhibit_/ajax/images/bubble-right.png | Bin 3620 -> 0 bytes .../Exhibit_/ajax/images/bubble-top-left.png | Bin 3115 -> 0 bytes .../Exhibit_/ajax/images/bubble-top-right.png | Bin 3241 -> 0 bytes .../Exhibit_/ajax/images/bubble-top.png | Bin 3095 -> 0 bytes .../Exhibit_/ajax/images/close-button.png | Bin 624 -> 0 bytes .../Exhibit_/ajax/images/copy.png | Bin 196 -> 0 bytes .../ajax/images/message-bottom-left.png | Bin 1339 -> 0 bytes .../ajax/images/message-bottom-right.png | Bin 2074 -> 0 bytes .../Exhibit_/ajax/images/message-left.png | Bin 717 -> 0 bytes .../Exhibit_/ajax/images/message-right.png | Bin 1892 -> 0 bytes .../Exhibit_/ajax/images/message-top-left.png | Bin 918 -> 0 bytes .../ajax/images/message-top-right.png | Bin 1604 -> 0 bytes .../Exhibit_/ajax/loader.js | 34 - .../Exhibit_/ajax/scripts/ajax.js | 45 - .../Exhibit_/ajax/scripts/data-structure.js | 447 - .../Exhibit_/ajax/scripts/date-time.js | 452 - .../Exhibit_/ajax/scripts/debug.js | 94 - .../Exhibit_/ajax/scripts/dom.js | 344 - .../Exhibit_/ajax/scripts/graphics.js | 653 - .../Exhibit_/ajax/scripts/history.js | 220 - .../Exhibit_/ajax/scripts/html.js | 274 - .../Exhibit_/ajax/scripts/jquery-1.3.2.min.js | 23 - .../Exhibit_/ajax/scripts/json.js | 129 - .../Exhibit_/ajax/scripts/platform.js | 114 - .../Exhibit_/ajax/scripts/signal.js | 43 - .../Exhibit_/ajax/scripts/string.js | 43 - .../Exhibit_/ajax/scripts/units.js | 73 - .../Exhibit_/ajax/scripts/window-manager.js | 414 - .../Exhibit_/ajax/scripts/xmlhttp.js | 137 - .../Exhibit_/ajax/simile-ajax-api.js | 215 - .../Exhibit_/ajax/simile-ajax-bundle-debug.js | 2911 -- .../Exhibit_/ajax/simile-ajax-bundle.js | 2911 -- .../Exhibit_/ajax/styles/graphics-ie6.css | 77 - .../Exhibit_/ajax/styles/graphics.css | 171 - .../Exhibit_/exhibit/compile-epilog.js | 16 - .../Exhibit_/exhibit/compile-prolog.js | 1 - .../Exhibit_/exhibit/exhibit-api.js | 293 - .../Exhibit_/exhibit/exhibit-bundle-debug.css | 742 - .../Exhibit_/exhibit/exhibit-bundle-debug.js | 8587 ----- .../Exhibit_/exhibit/exhibit-bundle.css | 785 - .../Exhibit_/exhibit/exhibit-bundle.js | 8587 ----- .../calendar-extension-bundle-debug.js | 793 - .../calendar/calendar-extension-bundle.css | 184 - .../calendar/calendar-extension-bundle.js | 793 - .../extensions/calendar/calendar-extension.js | 61 - .../extensions/calendar/compile-prolog.js | 1 - .../calendar/scripts/calendar-view.js | 480 - .../calendar/scripts/date-picker-facet.js | 418 - .../calendar/scripts/date-picker.js | 272 - .../extensions/calendar/scripts/date-util.js | 289 - .../calendar/styles/calendar-view.css | 72 - .../calendar/styles/date-picker-facet.css | 113 - .../chart/chart-extension-bundle-debug.js | 669 - .../chart/chart-extension-bundle.css | 184 - .../chart/chart-extension-bundle.js | 669 - .../extensions/chart/chart-extension.js | 65 - .../extensions/chart/compile-prolog.js | 1 - .../chart/locales/de/chart-locale.js | 17 - .../chart/locales/en/chart-locale.js | 17 - .../chart/locales/fr/chart-locale.js | 17 - .../chart/locales/nl/chart-locale.js | 17 - .../chart/scripts/bar-chart-view.js | 612 - .../chart/scripts/pivot-table-view.js | 301 - .../chart/scripts/scatter-plot-view.js | 504 - .../chart/styles/bar-chart-view.css | 84 - .../chart/styles/pivot-table-view.css | 12 - .../chart/styles/scatter-plot-view.css | 88 - .../extensions/curate/compile-prolog.js | 1 - .../curate/curate-extension-bundle-debug.js | 402 - .../curate/curate-extension-bundle.css | 24 - .../curate/curate-extension-bundle.js | 402 - .../extensions/curate/curate-extension.js | 59 - .../extensions/curate/files/admin/admin.css | 0 .../extensions/curate/files/admin/admin.html | 23 - .../extensions/curate/files/admin/admin.py | 31 - .../extensions/curate/files/admin/exhibit.py | 120 - .../curate/files/admin/portalocker.py | 145 - .../extensions/curate/files/admin/public.py | 61 - .../curate/files/admin/simplejson/__init__.py | 287 - .../curate/files/admin/simplejson/_speedups.c | 221 - .../curate/files/admin/simplejson/decoder.py | 273 - .../curate/files/admin/simplejson/encoder.py | 371 - .../files/admin/simplejson/jsonfilter.py | 40 - .../curate/files/admin/simplejson/scanner.py | 63 - .../curate/files/admin/submissions.js | 130 - .../extensions/curate/files/admin/submit.py | 32 - .../extensions/curate/files/gdocbackend.py | 172 - .../extensions/curate/files/scraper.py | 55 - .../exhibit/extensions/curate/readme.txt | 16 - .../extensions/curate/scripts/change-list.js | 149 - .../extensions/curate/scripts/curate-view.js | 216 - .../extensions/curate/scripts/item-creator.js | 132 - .../extensions/curate/scripts/scraper.js | 201 - .../curate/scripts/submission-backend.js | 117 - .../curate/scripts/submission-widgets.js | 79 - .../extensions/curate/styles/change-list.css | 12 - .../extensions/curate/styles/curate-view.css | 0 .../extensions/curate/styles/scraper.css | 13 - .../data-editor-extension-bundle-debug.js | 2785 -- .../data-editor-extension-bundle.css | 410 - .../data-editor-extension-bundle.js | 2785 -- .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_0_eeeeee_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_55_c0402a_40x100.png | Bin 213 -> 0 bytes .../images/ui-bg_flat_55_eeeeee_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_glass_100_f8f8f8_1x400.png | Bin 105 -> 0 bytes .../images/ui-bg_glass_35_dddddd_1x400.png | Bin 109 -> 0 bytes .../images/ui-bg_glass_60_eeeeee_1x400.png | Bin 110 -> 0 bytes .../ui-bg_inset-hard_75_999999_1x100.png | Bin 114 -> 0 bytes .../ui-bg_inset-soft_50_c9c9c9_1x100.png | Bin 96 -> 0 bytes .../images/ui-icons_3383bb_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_454545_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_70b2e1_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_999999_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_fbc856_256x240.png | Bin 4369 -> 0 bytes .../data-editor/scripts/data-editor.js | 251 - .../extensions/data-editor/scripts/editor.js | 343 - .../data-editor/scripts/enum-field.js | 113 - .../data-editor/scripts/jquery-1.6.2.min.js | 18 - .../scripts/jquery-ui-1.8.16.custom.min.js | 122 - .../data-editor/scripts/list-field.js | 153 - .../data-editor/scripts/number-field.js | 85 - .../data-editor/scripts/text-field.js | 107 - .../data-editor/styles/data-editor.css | 48 - .../styles/jquery-ui-1.8.16.custom.css | 363 - .../extensions/editing/compile-prolog.js | 1 - .../editing/editing-extension-bundle-debug.js | 951 - .../editing/editing-extension-bundle.css | 43 - .../editing/editing-extension-bundle.js | 951 - .../extensions/editing/editing-extension.js | 65 - .../editing/scripts/data/editing-backend.js | 76 - .../extensions/editing/scripts/extra.js | 540 - .../editing/scripts/ui/editing-formatter.js | 233 - .../editing/scripts/ui/editing-lens.js | 786 - .../extensions/editing/scripts/ui/lens.js | 208 - .../extensions/editing/styles/editing.css | 43 - .../extensions/freebase/compile-prolog.js | 1 - .../freebase-extension-bundle-debug.js | 67 - .../freebase/freebase-extension-bundle.js | 67 - .../extensions/freebase/freebase-extension.js | 54 - .../freebase/scripts/freebase-importer.js | 86 - .../extensions/freebase/scripts/metaweb.js | 59 - .../exhibit/extensions/map/compile-prolog.js | 1 - .../extensions/map/locales/de/map-locale.js | 11 - .../extensions/map/locales/en/map-locale.js | 11 - .../extensions/map/locales/es/map-locale.js | 11 - .../extensions/map/locales/fr/map-locale.js | 11 - .../extensions/map/locales/nl/map-locale.js | 11 - .../extensions/map/locales/sv/map-locale.js | 11 - .../map/map-extension-bundle-debug.js | 1022 - .../extensions/map/map-extension-bundle.css | 10 - .../extensions/map/map-extension-bundle.js | 1022 - .../exhibit/extensions/map/map-extension.js | 80 - .../extensions/map/scripts/map-view.js | 880 - .../extensions/map/scripts/olmap-view.js | 1041 - .../extensions/map/scripts/vemap-view.js | 437 - .../extensions/map/styles/map-view.css | 7 - .../extensions/map/styles/olmap-view.css | 3 - .../exhibit/extensions/time/compile-prolog.js | 1 - .../extensions/time/locales/de/time-locale.js | 11 - .../extensions/time/locales/en/time-locale.js | 11 - .../extensions/time/locales/es/time-locale.js | 11 - .../extensions/time/locales/fr/time-locale.js | 11 - .../extensions/time/locales/nl/time-locale.js | 11 - .../extensions/time/locales/sv/time-locale.js | 11 - .../extensions/time/scripts/timeline-view.js | 496 - .../extensions/time/styles/timeline-view.css | 5 - .../time/time-extension-bundle-debug.js | 218 - .../extensions/time/time-extension-bundle.css | 5 - .../extensions/time/time-extension-bundle.js | 218 - .../exhibit/extensions/time/time-extension.js | 66 - .../extensions/timeplot/compile-prolog.js | 1 - .../timeplot/locales/en/timeplot-locale.js | 11 - .../timeplot/locales/nl/timeplot-locale.js | 11 - .../timeplot/scripts/timeplot-view.js | 394 - .../timeplot/styles/timeplot-view.css | 0 .../timeplot-extension-bundle-debug.js | 201 - .../timeplot/timeplot-extension-bundle.css | 0 .../timeplot/timeplot-extension-bundle.js | 201 - .../extensions/timeplot/timeplot-extension.js | 68 - .../Exhibit_/exhibit/images/arrow-left.gif | Bin 73 -> 0 bytes .../Exhibit_/exhibit/images/arrow-right.gif | Bin 71 -> 0 bytes .../exhibit/images/black-check-no-border.png | Bin 267 -> 0 bytes .../Exhibit_/exhibit/images/black-check.png | Bin 747 -> 0 bytes .../Exhibit_/exhibit/images/blank-16x16.png | Bin 232 -> 0 bytes .../Exhibit_/exhibit/images/collapse.png | Bin 189 -> 0 bytes .../exhibit/images/day-with-items-bkgrd.gif | Bin 57 -> 0 bytes .../Exhibit_/exhibit/images/down-arrow.png | Bin 216 -> 0 bytes .../Exhibit_/exhibit/images/expand.png | Bin 196 -> 0 bytes .../exhibit/images/gray-check-no-border.png | Bin 285 -> 0 bytes .../Exhibit_/exhibit/images/gray-check.png | Bin 725 -> 0 bytes .../Exhibit_/exhibit/images/left-arrow.png | Bin 185 -> 0 bytes .../exhibit/images/liveclipboard-icon.png | Bin 748 -> 0 bytes .../exhibit/images/map-marker-shadow.png | Bin 1335 -> 0 bytes .../message-bubble/message-bottom-left.png | Bin 1339 -> 0 bytes .../message-bubble/message-bottom-right.png | Bin 2074 -> 0 bytes .../images/message-bubble/message-left.png | Bin 717 -> 0 bytes .../images/message-bubble/message-right.png | Bin 1892 -> 0 bytes .../message-bubble/message-top-left.png | Bin 918 -> 0 bytes .../message-bubble/message-top-right.png | Bin 1604 -> 0 bytes .../exhibit/images/month-header-left.gif | Bin 111 -> 0 bytes .../exhibit/images/month-header-right.gif | Bin 110 -> 0 bytes .../exhibit/images/no-check-no-border.png | Bin 231 -> 0 bytes .../Exhibit_/exhibit/images/no-check.png | Bin 329 -> 0 bytes .../Exhibit_/exhibit/images/option-check.png | Bin 479 -> 0 bytes .../Exhibit_/exhibit/images/option.png | Bin 429 -> 0 bytes .../exhibit/images/progress-running.gif | Bin 1002 -> 0 bytes .../Exhibit_/exhibit/images/right-arrow.png | Bin 184 -> 0 bytes .../Exhibit_/exhibit/images/slider-handle.png | Bin 386 -> 0 bytes .../exhibit/images/slider-handle2.png | Bin 489 -> 0 bytes .../Exhibit_/exhibit/images/up-arrow.png | Bin 184 -> 0 bytes .../exhibit/images/week-selector-active.gif | Bin 133 -> 0 bytes .../Exhibit_/exhibit/images/week-selector.gif | Bin 134 -> 0 bytes .../exhibit/locales/de/exhibit-de-bundle.js | 180 - .../Exhibit_/exhibit/locales/de/locale.js | 38 - .../locales/de/scripts/data/database-l10n.js | 75 - .../locales/de/scripts/exhibit-l10n.js | 50 - .../locales/de/scripts/ui/formatter-l10n.js | 56 - .../locales/de/scripts/ui/lens-l10n.js | 8 - .../locales/de/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../de/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../de/scripts/ui/views/tile-view-l10n.js | 11 - .../de/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/de/scripts/util/coders-l10n.js | 12 - .../locales/de/scripts/util/facets-l10n.js | 17 - .../locales/de/scripts/util/views-l10n.js | 18 - .../exhibit/locales/en/exhibit-en-bundle.js | 190 - .../exhibit/locales/en/exhibit-no-bundle.js | 190 - .../Exhibit_/exhibit/locales/en/locale.js | 39 - .../locales/en/scripts/data/database-l10n.js | 75 - .../locales/en/scripts/exhibit-l10n.js | 50 - .../locales/en/scripts/ui/formatter-l10n.js | 56 - .../locales/en/scripts/ui/lens-l10n.js | 8 - .../locales/en/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 46 - .../en/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../en/scripts/ui/views/tile-view-l10n.js | 11 - .../en/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/en/scripts/util/coders-l10n.js | 12 - .../locales/en/scripts/util/facets-l10n.js | 17 - .../locales/en/scripts/util/views-l10n.js | 18 - .../exhibit/locales/es/exhibit-es-bundle.js | 171 - .../Exhibit_/exhibit/locales/es/locale.js | 39 - .../locales/es/scripts/data/database-l10n.js | 54 - .../locales/es/scripts/exhibit-l10n.js | 50 - .../locales/es/scripts/ui/formatter-l10n.js | 56 - .../locales/es/scripts/ui/lens-l10n.js | 8 - .../locales/es/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../es/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../es/scripts/ui/views/tile-view-l10n.js | 11 - .../es/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/es/scripts/util/coders-l10n.js | 12 - .../locales/es/scripts/util/facets-l10n.js | 17 - .../locales/es/scripts/util/views-l10n.js | 18 - .../exhibit/locales/fr/exhibit-fr-bundle.js | 180 - .../Exhibit_/exhibit/locales/fr/locale.js | 38 - .../locales/fr/scripts/data/database-l10n.js | 75 - .../locales/fr/scripts/exhibit-l10n.js | 50 - .../locales/fr/scripts/ui/formatter-l10n.js | 56 - .../locales/fr/scripts/ui/lens-l10n.js | 8 - .../locales/fr/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../fr/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../fr/scripts/ui/views/tile-view-l10n.js | 11 - .../fr/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/fr/scripts/util/coders-l10n.js | 12 - .../locales/fr/scripts/util/facets-l10n.js | 17 - .../locales/fr/scripts/util/views-l10n.js | 18 - .../exhibit/locales/nl/exhibit-nl-bundle.js | 180 - .../Exhibit_/exhibit/locales/nl/locale.js | 38 - .../locales/nl/scripts/data/database-l10n.js | 75 - .../locales/nl/scripts/exhibit-l10n.js | 50 - .../locales/nl/scripts/ui/formatter-l10n.js | 56 - .../locales/nl/scripts/ui/lens-l10n.js | 8 - .../locales/nl/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 34 - .../nl/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../nl/scripts/ui/views/tile-view-l10n.js | 11 - .../nl/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/nl/scripts/util/coders-l10n.js | 12 - .../locales/nl/scripts/util/facets-l10n.js | 17 - .../locales/nl/scripts/util/views-l10n.js | 18 - .../exhibit/locales/no/exhibit-no-bundle.js | 180 - .../Exhibit_/exhibit/locales/no/locale.js | 39 - .../locales/no/scripts/data/database-l10n.js | 75 - .../locales/no/scripts/exhibit-l10n.js | 50 - .../locales/no/scripts/ui/formatter-l10n.js | 56 - .../locales/no/scripts/ui/lens-l10n.js | 8 - .../locales/no/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../no/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../no/scripts/ui/views/tile-view-l10n.js | 11 - .../no/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 27 - .../locales/no/scripts/util/coders-l10n.js | 12 - .../locales/no/scripts/util/facets-l10n.js | 17 - .../locales/no/scripts/util/views-l10n.js | 18 - .../exhibit/locales/sv/exhibit-sv-bundle.js | 171 - .../Exhibit_/exhibit/locales/sv/locale.js | 39 - .../locales/sv/scripts/data/database-l10n.js | 54 - .../locales/sv/scripts/exhibit-l10n.js | 50 - .../locales/sv/scripts/ui/formatter-l10n.js | 56 - .../locales/sv/scripts/ui/lens-l10n.js | 8 - .../locales/sv/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../sv/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../sv/scripts/ui/views/tile-view-l10n.js | 11 - .../sv/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/sv/scripts/util/coders-l10n.js | 12 - .../locales/sv/scripts/util/facets-l10n.js | 17 - .../locales/sv/scripts/util/views-l10n.js | 18 - .../exhibit/locales/zh/exhibit-zh-bundle.js | 181 - .../Exhibit_/exhibit/locales/zh/locale.js | 39 - .../locales/zh/scripts/data/database-l10n.js | 74 - .../locales/zh/scripts/exhibit-l10n.js | 50 - .../locales/zh/scripts/ui/formatter-l10n.js | 56 - .../locales/zh/scripts/ui/lens-l10n.js | 8 - .../locales/zh/scripts/ui/ui-context-l10n.js | 13 - .../ui/views/ordered-view-frame-l10n.js | 33 - .../zh/scripts/ui/views/tabular-view-l10n.js | 16 - .../scripts/ui/views/thumbnail-view-l10n.js | 11 - .../zh/scripts/ui/views/tile-view-l10n.js | 11 - .../zh/scripts/ui/views/view-panel-l10n.js | 21 - .../widgets/collection-summary-widget-l10n.js | 22 - .../locales/zh/scripts/util/coders-l10n.js | 12 - .../locales/zh/scripts/util/facets-l10n.js | 17 - .../locales/zh/scripts/util/views-l10n.js | 18 - .../Exhibit_/exhibit/manifest.json | 55 - .../exhibit/scripts/authentication.js | 64 - .../Exhibit_/exhibit/scripts/create.js | 38 - .../exhibit/scripts/data/collection.js | 395 - .../Exhibit_/exhibit/scripts/data/controls.js | 115 - .../Exhibit_/exhibit/scripts/data/database.js | 1341 - .../scripts/data/exporters/bibtex-exporter.js | 78 - .../data/exporters/exhibit-json-exporter.js | 93 - .../exporters/facet-selection-exporter.js | 27 - .../data/exporters/rdf-xml-exporter.js | 99 - .../exporters/semantic-wikitext-exporter.js | 61 - .../scripts/data/exporters/tsv-exporter.js | 53 - .../exhibit/scripts/data/expression-parser.js | 345 - .../exhibit/scripts/data/expression.js | 523 - .../exhibit/scripts/data/functions.js | 320 - .../data/importers/authenticated-importer.js | 52 - .../data/importers/babel-based-importer.js | 75 - .../data/importers/exhibit-json-importer.js | 46 - .../data/importers/html-table-importer.js | 175 - .../scripts/data/importers/json-importer.js | 211 - .../scripts/data/importers/jsonp-importer.js | 259 - .../scripts/data/importers/rdfa-importer.js | 138 - .../data/importers/tsv-csv-importer.js | 328 - .../scripts/data/importers/xml-importer.js | 181 - .../Exhibit_/exhibit/scripts/exhibit.js | 395 - .../Exhibit_/exhibit/scripts/persistence.js | 83 - .../exhibit/scripts/ui/coders/color-coder.js | 161 - .../scripts/ui/coders/color-gradient-coder.js | 185 - .../scripts/ui/coders/default-color-coder.js | 83 - .../exhibit/scripts/ui/coders/icon-coder.js | 148 - .../scripts/ui/coders/ordered-color-coder.js | 250 - .../exhibit/scripts/ui/coders/size-coder.js | 139 - .../scripts/ui/coders/size-gradient-coder.js | 188 - .../exhibit/scripts/ui/coordinator.js | 64 - .../scripts/ui/facets/alpha-range-facet.js | 382 - .../exhibit/scripts/ui/facets/cloud-facet.js | 580 - .../scripts/ui/facets/hierarchical-facet.js | 719 - .../exhibit/scripts/ui/facets/image-facet.js | 486 - .../exhibit/scripts/ui/facets/list-facet.js | 576 - .../scripts/ui/facets/numeric-range-facet.js | 405 - .../exhibit/scripts/ui/facets/slider-facet.js | 327 - .../exhibit/scripts/ui/facets/slider.js | 364 - .../scripts/ui/facets/text-search-facet.js | 320 - .../exhibit/scripts/ui/format-parser.js | 500 - .../Exhibit_/exhibit/scripts/ui/formatter.js | 565 - .../Exhibit_/exhibit/scripts/ui/lens.js | 1001 - .../Exhibit_/exhibit/scripts/ui/ui-context.js | 295 - .../Exhibit_/exhibit/scripts/ui/ui.js | 623 - .../exhibit/scripts/ui/views/html-view.js | 39 - .../scripts/ui/views/ordered-view-frame.js | 979 - .../exhibit/scripts/ui/views/tabular-view.js | 673 - .../scripts/ui/views/thumbnail-view.js | 327 - .../exhibit/scripts/ui/views/tile-view.js | 214 - .../exhibit/scripts/ui/views/view-panel.js | 388 - .../ui/widgets/collection-summary-widget.js | 129 - .../ui/widgets/legend-gradient-widget.js | 171 - .../scripts/ui/widgets/legend-widget.js | 136 - .../exhibit/scripts/ui/widgets/logo.js | 53 - .../scripts/ui/widgets/option-widget.js | 78 - .../ui/widgets/resizable-div-widget.js | 61 - .../scripts/ui/widgets/toolbox-widget.js | 267 - .../Exhibit_/exhibit/scripts/util/coders.js | 10 - .../Exhibit_/exhibit/scripts/util/facets.js | 543 - .../Exhibit_/exhibit/scripts/util/set.js | 98 - .../Exhibit_/exhibit/scripts/util/settings.js | 439 - .../Exhibit_/exhibit/scripts/util/util.js | 118 - .../Exhibit_/exhibit/scripts/util/views.js | 124 - .../Exhibit_/exhibit/styles/browse-panel.css | 20 - .../Exhibit_/exhibit/styles/exhibit.css | 170 - .../Exhibit_/exhibit/styles/lens.css | 32 - .../Exhibit_/exhibit/styles/util/facets.css | 327 - .../Exhibit_/exhibit/styles/util/views.css | 104 - .../exhibit/styles/views/tabular-view.css | 28 - .../exhibit/styles/views/thumbnail-view.css | 14 - .../exhibit/styles/views/tile-view.css | 12 - .../exhibit/styles/views/view-panel.css | 25 - .../widgets/collection-summary-widget.css | 11 - .../exhibit/styles/widgets/legend-widget.css | 14 - .../exhibit/styles/widgets/option-widget.css | 7 - .../styles/widgets/resizable-div-widget.css | 10 - .../exhibit/styles/widgets/toolbox-widget.css | 13 - .../Exhibit_/timeline/LICENSE.txt | 29 - .../timeline-en-compilation-debug.css | 243 - .../timeline-en-compilation-debug.js | 3039 -- .../compilations/timeline-en-compilation.css | 243 - .../compilations/timeline-en-compilation.js | 3039 -- .../Exhibit_/timeline/api/compile-epilog.js | 16 - .../Exhibit_/timeline/api/compile-prolog.js | 1 - .../api/ext/geochrono/geochrono-api.js | 92 - .../ext/geochrono/scripts/ether-painters.js | 204 - .../api/ext/geochrono/scripts/geochrono.js | 518 - .../geochrono/scripts/l10n/en/labellers.js | 10 - .../api/ext/geochrono/scripts/labellers.js | 52 - .../api/ext/geochrono/scripts/units.js | 86 - .../timeline/api/ext/planning/planning-api.js | 92 - .../ext/planning/scripts/ether-painters.js | 176 - .../ext/planning/scripts/l10n/en/labellers.js | 12 - .../api/ext/planning/scripts/labellers.js | 33 - .../api/ext/planning/scripts/planning.js | 47 - .../api/ext/planning/scripts/units.js | 66 - .../timeline/api/images/blue-circle.png | Bin 534 -> 0 bytes .../api/images/bubble-bottom-arrow.png | Bin 1087 -> 0 bytes .../api/images/bubble-bottom-left.png | Bin 754 -> 0 bytes .../api/images/bubble-bottom-right.png | Bin 803 -> 0 bytes .../timeline/api/images/bubble-bottom.png | Bin 1141 -> 0 bytes .../timeline/api/images/bubble-left-arrow.png | Bin 880 -> 0 bytes .../timeline/api/images/bubble-left.png | Bin 5670 -> 0 bytes .../api/images/bubble-right-arrow.png | Bin 941 -> 0 bytes .../timeline/api/images/bubble-right.png | Bin 5686 -> 0 bytes .../timeline/api/images/bubble-top-arrow.png | Bin 793 -> 0 bytes .../timeline/api/images/bubble-top-left.png | Bin 560 -> 0 bytes .../timeline/api/images/bubble-top-right.png | Bin 676 -> 0 bytes .../timeline/api/images/bubble-top.png | Bin 905 -> 0 bytes .../timeline/api/images/close-button.png | Bin 624 -> 0 bytes .../api/images/copyright-vertical.png | Bin 1695 -> 0 bytes .../timeline/api/images/copyright.png | Bin 1400 -> 0 bytes .../timeline/api/images/dark-blue-circle.png | Bin 551 -> 0 bytes .../timeline/api/images/dark-green-circle.png | Bin 513 -> 0 bytes .../timeline/api/images/dark-red-circle.png | Bin 497 -> 0 bytes .../timeline/api/images/dull-blue-circle.png | Bin 539 -> 0 bytes .../timeline/api/images/dull-green-circle.png | Bin 539 -> 0 bytes .../timeline/api/images/dull-red-circle.png | Bin 532 -> 0 bytes .../timeline/api/images/gray-circle.png | Bin 513 -> 0 bytes .../timeline/api/images/green-circle.png | Bin 544 -> 0 bytes .../api/images/message-bottom-left.png | Bin 1339 -> 0 bytes .../api/images/message-bottom-right.png | Bin 2074 -> 0 bytes .../timeline/api/images/message-left.png | Bin 717 -> 0 bytes .../timeline/api/images/message-right.png | Bin 1892 -> 0 bytes .../timeline/api/images/message-top-left.png | Bin 918 -> 0 bytes .../timeline/api/images/message-top-right.png | Bin 1604 -> 0 bytes .../timeline/api/images/progress-running.gif | Bin 1002 -> 0 bytes .../timeline/api/images/red-circle.png | Bin 538 -> 0 bytes .../timeline/api/images/top-bubble.png | Bin 6092 -> 0 bytes .../Exhibit_/timeline/api/scripts/band.js | 960 - .../timeline/api/scripts/compact-painter.js | 1074 - .../timeline/api/scripts/decorators.js | 184 - .../timeline/api/scripts/detailed-painter.js | 691 - .../timeline/api/scripts/ether-painters.js | 582 - .../Exhibit_/timeline/api/scripts/ethers.js | 305 - .../timeline/api/scripts/event-utils.js | 64 - .../timeline/api/scripts/ext/japanese-eras.js | 395 - .../timeline/api/scripts/l10n/cs/labellers.js | 30 - .../timeline/api/scripts/l10n/cs/timeline.js | 9 - .../timeline/api/scripts/l10n/de/labellers.js | 27 - .../timeline/api/scripts/l10n/de/timeline.js | 8 - .../timeline/api/scripts/l10n/en/labellers.js | 12 - .../timeline/api/scripts/l10n/en/timeline.js | 9 - .../timeline/api/scripts/l10n/es/labellers.js | 8 - .../timeline/api/scripts/l10n/es/timeline.js | 9 - .../timeline/api/scripts/l10n/fr/labellers.js | 8 - .../timeline/api/scripts/l10n/fr/timeline.js | 9 - .../timeline/api/scripts/l10n/it/labellers.js | 8 - .../timeline/api/scripts/l10n/it/timeline.js | 9 - .../timeline/api/scripts/l10n/nl/labellers.js | 11 - .../timeline/api/scripts/l10n/nl/timeline.js | 9 - .../api/scripts/l10n/pt_BR/labellers.js | 12 - .../api/scripts/l10n/pt_BR/timeline.js | 9 - .../timeline/api/scripts/l10n/ru/labellers.js | 10 - .../timeline/api/scripts/l10n/ru/timeline.js | 9 - .../timeline/api/scripts/l10n/se/labellers.js | 12 - .../timeline/api/scripts/l10n/se/timeline.js | 9 - .../timeline/api/scripts/l10n/tr/labellers.js | 8 - .../timeline/api/scripts/l10n/tr/timeline.js | 9 - .../timeline/api/scripts/l10n/vi/labellers.js | 26 - .../timeline/api/scripts/l10n/vi/timeline.js | 9 - .../timeline/api/scripts/l10n/zh/labellers.js | 27 - .../timeline/api/scripts/l10n/zh/timeline.js | 9 - .../timeline/api/scripts/labellers.js | 91 - .../timeline/api/scripts/original-painter.js | 700 - .../timeline/api/scripts/overview-painter.js | 258 - .../Exhibit_/timeline/api/scripts/sources.js | 583 - .../Exhibit_/timeline/api/scripts/themes.js | 180 - .../Exhibit_/timeline/api/scripts/timeline.js | 648 - .../Exhibit_/timeline/api/styles/ethers.css | 120 - .../Exhibit_/timeline/api/styles/events.css | 45 - .../Exhibit_/timeline/api/styles/timeline.css | 79 - .../Exhibit_/timeline/api/timeline-api.js | 304 - .../timeline/api/timeline-bundle-debug.css | 243 - .../timeline/api/timeline-bundle-debug.js | 2950 -- .../Exhibit_/timeline/api/timeline-bundle.css | 243 - .../Exhibit_/timeline/api/timeline-bundle.js | 2950 -- .../Filtered/SRF_Filtered.php | 238 - .../Filtered/SRF_Filtered_Item.php | 76 - .../Filtered/filters/SRF_FF_Value.php | 60 - .../Filtered/filters/SRF_Filtered_Filter.php | 69 - .../Filtered/libs/ext.srf.filtered.js | 213 - .../libs/ext.srf.filtered.list-view.js | 77 - .../libs/ext.srf.filtered.value-filter.js | 205 - .../Filtered/skins/ext.srf.filtered.css | 27 - .../skins/ext.srf.filtered.value-filter.css | 40 - .../Filtered/views/SRF_FV_List.php | 209 - .../Filtered/views/SRF_Filtered_View.php | 72 - .../Gallery/SRF_Gallery.php | 257 - .../Gallery/resources/ext.srf.jcarousel.css | 268 - .../Gallery/resources/ext.srf.jcarousel.js | 34 - .../resources/images/next-horizontal.png | Bin 421 -> 0 bytes .../resources/images/next-vertical.png | Bin 369 -> 0 bytes .../resources/images/prev-horizontal.png | Bin 430 -> 0 bytes .../resources/images/prev-vertical.png | Bin 341 -> 0 bytes .../Gallery/resources/jquery.jcarousel.min.js | 16 - .../SemanticResultFormats/GoogleCharts/README | 8 - .../GoogleCharts/SRF_GoogleBar.php | 85 - .../GoogleCharts/SRF_GooglePie.php | 80 - .../SemanticResultFormats/GraphViz/README | 16 - .../GraphViz/SRF_Graph.php | 325 - .../GraphViz/SRF_Process.php | 1238 - .../GraphViz/images/detail_icon.png | Bin 1110 -> 0 bytes .../GraphViz/images/discuss_icon.png | Bin 971 -> 0 bytes .../GraphViz/images/discuss_icon_grey.png | Bin 549 -> 0 bytes .../GraphViz/images/p000.png | Bin 369 -> 0 bytes .../GraphViz/images/p025.png | Bin 630 -> 0 bytes .../GraphViz/images/p050.png | Bin 664 -> 0 bytes .../GraphViz/images/p075.png | Bin 787 -> 0 bytes .../GraphViz/images/p100.png | Bin 436 -> 0 bytes .../GraphViz/images/subprocess.png | Bin 420 -> 0 bytes .../extensions/SemanticResultFormats/INSTALL | 76 - .../JitGraph/Jit/Extras/excanvas.js | 1416 - .../JitGraph/Jit/jit-yc.js | 23 - .../SemanticResultFormats/JitGraph/Jit/jit.js | 17163 --------- .../SemanticResultFormats/JitGraph/README | 11 - .../JitGraph/SRF_JitGraph.js | 208 - .../JitGraph/SRF_JitGraph.php | 357 - .../SemanticResultFormats/JitGraph/base.css | 85 - .../JitGraph/images/progressbar.gif | Bin 120 -> 0 bytes .../JitGraph/images/progressbg_black.gif | Bin 1626 -> 0 bytes .../JitGraph/images/progressbg_green.gif | Bin 1308 -> 0 bytes .../JitGraph/images/progressbg_orange.gif | Bin 1308 -> 0 bytes .../JitGraph/images/progressbg_red.gif | Bin 1308 -> 0 bytes .../JitGraph/images/progressbg_yellow.gif | Bin 1308 -> 0 bytes .../JitGraph/jquery.progressbar.js | 132 - .../SemanticResultFormats/Math/SRF_Math.php | 133 - .../Outline/SRF_Outline.php | 240 - .../Ploticus/.giosave1Y4WNW | 364 - .../SemanticResultFormats/Ploticus/README | 209 - .../Ploticus/SRF_Ploticus.php | 364 - .../Ploticus/SRF_PloticusVBar.php | 41 - .../Ploticus/SRF_Ploticus_cleanCache.php | 93 - .../Ploticus/icons/barchart_16.png | Bin 833 -> 0 bytes .../Ploticus/icons/credits.txt | 7 - .../Ploticus/icons/csv_16.png | Bin 626 -> 0 bytes .../Ploticus/icons/reload_16.png | Bin 1024 -> 0 bytes .../Ploticus/ploticus-addons/README | 13 - .../Ploticus/ploticus-addons/ploticus.config | 10 - .../Ploticus/ploticus-addons/prefabs/scat.pl | 274 - .../extensions/SemanticResultFormats/README | 184 - .../SemanticResultFormats/RELEASE-NOTES | 190 - .../SemanticResultFormats/SRF_Hooks.php | 33 - .../SemanticResultFormats/SRF_Magic.php | 97 - .../SemanticResultFormats/SRF_Messages.php | 3231 -- .../SRF_ParserFunctions.php | 171 - .../SemanticResultFormats/SRF_Resources.php | 161 - .../SemanticResultFormats/SRF_Settings.php | 97 - .../SemanticResultFormats.php | 173 - .../TagCloud/SRF_TagCloud.php | 272 - .../SemanticResultFormats/Timeline/README | 18 - .../Timeline/SRF_Timeline.php | 386 - .../Timeline/SRF_timeline.js | 266 - .../Timeline/SimileTimeline/LICENSE | 33 - .../ext/geochrono/geochrono-api.js | 92 - .../ext/geochrono/scripts/ether-painters.js | 204 - .../ext/geochrono/scripts/geochrono.js | 532 - .../geochrono/scripts/l10n/en/labellers.js | 10 - .../ext/geochrono/scripts/labellers.js | 52 - .../ext/geochrono/scripts/units.js | 86 - .../SimileTimeline/images/blue-circle.png | Bin 506 -> 0 bytes .../images/bubble-bottom-arrow.png | Bin 957 -> 0 bytes .../images/bubble-bottom-left.png | Bin 653 -> 0 bytes .../images/bubble-bottom-right.png | Bin 803 -> 0 bytes .../SimileTimeline/images/bubble-bottom.png | Bin 309 -> 0 bytes .../images/bubble-left-arrow.png | Bin 763 -> 0 bytes .../SimileTimeline/images/bubble-left.png | Bin 191 -> 0 bytes .../images/bubble-right-arrow.png | Bin 915 -> 0 bytes .../SimileTimeline/images/bubble-right.png | Bin 226 -> 0 bytes .../images/bubble-top-arrow.png | Bin 715 -> 0 bytes .../SimileTimeline/images/bubble-top-left.png | Bin 403 -> 0 bytes .../images/bubble-top-right.png | Bin 607 -> 0 bytes .../SimileTimeline/images/bubble-top.png | Bin 220 -> 0 bytes .../SimileTimeline/images/close-button.png | Bin 583 -> 0 bytes .../images/copyright-vertical.png | Bin 679 -> 0 bytes .../SimileTimeline/images/copyright.png | Bin 684 -> 0 bytes .../images/dark-blue-circle.png | Bin 506 -> 0 bytes .../images/dark-green-circle.png | Bin 493 -> 0 bytes .../SimileTimeline/images/dark-red-circle.png | Bin 503 -> 0 bytes .../images/dull-blue-circle.png | Bin 503 -> 0 bytes .../images/dull-green-circle.png | Bin 506 -> 0 bytes .../SimileTimeline/images/dull-red-circle.png | Bin 506 -> 0 bytes .../SimileTimeline/images/gray-circle.png | Bin 483 -> 0 bytes .../SimileTimeline/images/green-circle.png | Bin 506 -> 0 bytes .../images/message-bottom-left.png | Bin 1068 -> 0 bytes .../images/message-bottom-right.png | Bin 1574 -> 0 bytes .../SimileTimeline/images/message-left.png | Bin 248 -> 0 bytes .../SimileTimeline/images/message-right.png | Bin 379 -> 0 bytes .../images/message-top-left.png | Bin 755 -> 0 bytes .../images/message-top-right.png | Bin 1088 -> 0 bytes .../images/progress-running.gif | Bin 1002 -> 0 bytes .../SimileTimeline/images/red-circle.png | Bin 506 -> 0 bytes .../SimileTimeline/images/top-bubble.png | Bin 2617 -> 0 bytes .../SimileTimeline/scripts/decorators.js | 179 - .../SimileTimeline/scripts/ether-painters.js | 563 - .../Timeline/SimileTimeline/scripts/ethers.js | 250 - .../scripts/ext/japanese-eras.js | 395 - .../scripts/l10n/en/labellers.js | 8 - .../scripts/l10n/en/timeline.js | 9 - .../scripts/l10n/es/labellers.js | 8 - .../scripts/l10n/es/timeline.js | 9 - .../scripts/l10n/fr/labellers.js | 8 - .../scripts/l10n/fr/timeline.js | 9 - .../scripts/l10n/it/labellers.js | 8 - .../scripts/l10n/it/timeline.js | 9 - .../scripts/l10n/ru/labellers.js | 10 - .../scripts/l10n/ru/timeline.js | 9 - .../scripts/l10n/se/labellers.js | 12 - .../scripts/l10n/se/timeline.js | 9 - .../scripts/l10n/vi/labellers.js | 26 - .../scripts/l10n/vi/timeline.js | 9 - .../scripts/l10n/zh/labellers.js | 27 - .../scripts/l10n/zh/timeline.js | 9 - .../SimileTimeline/scripts/labellers.js | 92 - .../SimileTimeline/scripts/layouts.js | 128 - .../SimileTimeline/scripts/painters.js | 334 - .../SimileTimeline/scripts/sources.js | 426 - .../Timeline/SimileTimeline/scripts/themes.js | 127 - .../SimileTimeline/scripts/timeline.js | 892 - .../Timeline/SimileTimeline/scripts/units.js | 70 - .../scripts/util/data-structure.js | 247 - .../SimileTimeline/scripts/util/date-time.js | 321 - .../SimileTimeline/scripts/util/debug.js | 14 - .../SimileTimeline/scripts/util/dom.js | 76 - .../SimileTimeline/scripts/util/graphics.js | 303 - .../SimileTimeline/scripts/util/platform.js | 90 - .../SimileTimeline/scripts/util/xmlhttp.js | 133 - .../Timeline/SimileTimeline/styles/ethers.css | 63 - .../Timeline/SimileTimeline/styles/events.css | 45 - .../SimileTimeline/styles/timeline.css | 65 - .../Timeline/SimileTimeline/timeline-api.js | 226 - .../SemanticResultFormats/Tree/SRF_Tree.php | 252 - .../ValueRank/SRF_ValueRank.php | 185 - .../SemanticResultFormats/compat/Html.php | 569 - .../iCalendar/SRF_iCalendar.php | 243 - .../SemanticResultFormats/jqPlot/README | 13 - .../jqPlot/SRF_jqPlotBar.php | 270 - .../jqPlot/SRF_jqPlotPie.php | 170 - .../SemanticResultFormats/jqPlot/excanvas.js | 1416 - .../jqPlot/jqplot.barRenderer.js | 629 - .../jqPlot/jqplot.canvasAxisTickRenderer.js | 226 - .../jqPlot/jqplot.canvasTextRenderer.js | 408 - .../jqPlot/jqplot.categoryAxisRenderer.js | 621 - .../jqPlot/jqplot.pieRenderer.js | 766 - .../jqPlot/jqplot.pointLabels.min.js | 57 - .../jqPlot/jqplot.trendline.js | 208 - .../jqPlot/jquery-1.4.2.min.js | 471 - .../jqPlot/jquery.jqplot.css | 165 - .../jqPlot/jquery.jqplot.js | 6983 ---- .../SemanticResultFormats/vCard/SRF_vCard.php | 555 - documentacion/extensions/SimpleForms.php~ | 0 .../SpamBlacklist/BaseBlacklist.php | 373 - .../SpamBlacklist/EmailBlacklist.php | 59 - documentacion/extensions/SpamBlacklist/README | 148 - .../SpamBlacklist/SpamBlacklist.i18n.php | 2675 -- .../SpamBlacklist/SpamBlacklist.php | 54 - .../SpamBlacklist/SpamBlacklistHooks.php | 169 - .../SpamBlacklist/SpamBlacklist_body.php | 150 - .../SpamBlacklist/SpamRegexBatch.php | 171 - .../extensions/SpamBlacklist/cleanup.php | 123 - .../extensions/SyntaxHighlight_GeSHi/README | 66 - .../SyntaxHighlight_GeSHi.class.php | 324 - .../SyntaxHighlight_GeSHi.i18n.php | 1194 - .../SyntaxHighlight_GeSHi.php | 65 - .../geshi/contrib/aliased.php | 124 - .../geshi/contrib/cssgen.php | 456 - .../geshi/contrib/cssgen2.php | 59 - .../geshi/contrib/example.php | 217 - .../geshi/contrib/langcheck.php | 766 - .../SyntaxHighlight_GeSHi/geshi/docs/BUGS | 29 - .../SyntaxHighlight_GeSHi/geshi/docs/CHANGES | 782 - .../SyntaxHighlight_GeSHi/geshi/docs/COPYING | 340 - .../SyntaxHighlight_GeSHi/geshi/docs/README | 33 - .../SyntaxHighlight_GeSHi/geshi/docs/THANKS | 191 - .../SyntaxHighlight_GeSHi/geshi/docs/TODO | 71 - .../fsource_geshi_core_geshi.php.html | 4616 --- .../geshi/docs/api/blank.html | 13 - .../geshi/docs/api/classtrees_geshi.html | 24 - .../geshi/docs/api/elementindex.html | 867 - .../geshi/docs/api/elementindex_geshi.html | 864 - .../geshi/docs/api/errors.html | 20 - .../geshi/docs/api/geshi/core/GeSHi.html | 2676 -- .../geshi/docs/api/geshi/core/_geshi.php.html | 478 - .../geshi/docs/api/index.html | 24 - .../geshi/docs/api/li_geshi.html | 46 - .../geshi/docs/api/media/banner.css | 33 - .../docs/api/media/images/AbstractClass.png | Bin 620 -> 0 bytes .../api/media/images/AbstractClass_logo.png | Bin 1232 -> 0 bytes .../docs/api/media/images/AbstractMethod.png | Bin 696 -> 0 bytes .../api/media/images/AbstractPrivateClass.png | Bin 848 -> 0 bytes .../images/AbstractPrivateClass_logo.png | Bin 1615 -> 0 bytes .../media/images/AbstractPrivateMethod.png | Bin 874 -> 0 bytes .../geshi/docs/api/media/images/Class.png | Bin 570 -> 0 bytes .../docs/api/media/images/Class_logo.png | Bin 1600 -> 0 bytes .../geshi/docs/api/media/images/Constant.png | Bin 752 -> 0 bytes .../docs/api/media/images/Constructor.png | Bin 865 -> 0 bytes .../docs/api/media/images/Destructor.png | Bin 956 -> 0 bytes .../geshi/docs/api/media/images/Function.png | Bin 596 -> 0 bytes .../geshi/docs/api/media/images/Global.png | Bin 712 -> 0 bytes .../geshi/docs/api/media/images/I.png | Bin 148 -> 0 bytes .../geshi/docs/api/media/images/Index.png | Bin 584 -> 0 bytes .../geshi/docs/api/media/images/Interface.png | Bin 1083 -> 0 bytes .../docs/api/media/images/Interface_logo.png | Bin 1600 -> 0 bytes .../geshi/docs/api/media/images/L.png | Bin 153 -> 0 bytes .../geshi/docs/api/media/images/Lminus.png | Bin 219 -> 0 bytes .../geshi/docs/api/media/images/Lplus.png | Bin 224 -> 0 bytes .../geshi/docs/api/media/images/Method.png | Bin 661 -> 0 bytes .../geshi/docs/api/media/images/Page.png | Bin 592 -> 0 bytes .../geshi/docs/api/media/images/Page_logo.png | Bin 1369 -> 0 bytes .../docs/api/media/images/PrivateClass.png | Bin 790 -> 0 bytes .../api/media/images/PrivateClass_logo.png | Bin 1836 -> 0 bytes .../docs/api/media/images/PrivateMethod.png | Bin 918 -> 0 bytes .../docs/api/media/images/PrivateVariable.png | Bin 772 -> 0 bytes .../docs/api/media/images/StaticMethod.png | Bin 661 -> 0 bytes .../docs/api/media/images/StaticVariable.png | Bin 688 -> 0 bytes .../geshi/docs/api/media/images/T.png | Bin 152 -> 0 bytes .../geshi/docs/api/media/images/Tminus.png | Bin 207 -> 0 bytes .../geshi/docs/api/media/images/Tplus.png | Bin 222 -> 0 bytes .../geshi/docs/api/media/images/Variable.png | Bin 688 -> 0 bytes .../geshi/docs/api/media/images/blank.png | Bin 144 -> 0 bytes .../docs/api/media/images/class_folder.png | Bin 633 -> 0 bytes .../geshi/docs/api/media/images/empty.png | Bin 90 -> 0 bytes .../geshi/docs/api/media/images/file.png | Bin 462 -> 0 bytes .../geshi/docs/api/media/images/folder.png | Bin 492 -> 0 bytes .../docs/api/media/images/function_folder.png | Bin 605 -> 0 bytes .../docs/api/media/images/next_button.png | Bin 657 -> 0 bytes .../api/media/images/next_button_disabled.png | Bin 543 -> 0 bytes .../geshi/docs/api/media/images/package.png | Bin 668 -> 0 bytes .../docs/api/media/images/package_folder.png | Bin 564 -> 0 bytes .../docs/api/media/images/previous_button.png | Bin 644 -> 0 bytes .../media/images/previous_button_disabled.png | Bin 541 -> 0 bytes .../api/media/images/private_class_logo.png | Bin 1836 -> 0 bytes .../geshi/docs/api/media/images/tutorial.png | Bin 431 -> 0 bytes .../docs/api/media/images/tutorial_folder.png | Bin 572 -> 0 bytes .../geshi/docs/api/media/images/up_button.png | Bin 668 -> 0 bytes .../geshi/docs/api/media/stylesheet.css | 146 - .../geshi/docs/api/packages.html | 29 - .../geshi/docs/api/todolist.html | 42 - .../geshi/docs/geshi-doc.html | 4053 -- .../geshi/docs/geshi-doc.txt | 1741 - .../geshi/docs/phpdoc.ini | 90 - .../SyntaxHighlight_GeSHi/geshi/geshi.php | 4656 --- .../SyntaxHighlight_GeSHi/geshi/geshi/4cs.php | 139 - .../geshi/geshi/abap.php | 1409 - .../geshi/geshi/actionscript.php | 197 - .../geshi/geshi/actionscript3.php | 473 - .../SyntaxHighlight_GeSHi/geshi/geshi/ada.php | 135 - .../geshi/geshi/apache.php | 480 - .../geshi/geshi/applescript.php | 157 - .../geshi/geshi/apt_sources.php | 144 - .../SyntaxHighlight_GeSHi/geshi/geshi/asm.php | 225 - .../SyntaxHighlight_GeSHi/geshi/geshi/asp.php | 164 - .../geshi/geshi/autoconf.php | 512 - .../geshi/geshi/autohotkey.php | 373 - .../geshi/geshi/autoit.php | 1175 - .../geshi/geshi/avisynth.php | 194 - .../SyntaxHighlight_GeSHi/geshi/geshi/awk.php | 158 - .../geshi/geshi/bash.php | 324 - .../geshi/geshi/basic4gl.php | 341 - .../SyntaxHighlight_GeSHi/geshi/geshi/bf.php | 114 - .../geshi/geshi/bibtex.php | 183 - .../geshi/geshi/blitzbasic.php | 185 - .../SyntaxHighlight_GeSHi/geshi/geshi/bnf.php | 119 - .../SyntaxHighlight_GeSHi/geshi/geshi/boo.php | 217 - .../SyntaxHighlight_GeSHi/geshi/geshi/c.php | 202 - .../geshi/geshi/c_mac.php | 227 - .../geshi/geshi/caddcl.php | 126 - .../geshi/geshi/cadlisp.php | 186 - .../geshi/geshi/cfdg.php | 124 - .../SyntaxHighlight_GeSHi/geshi/geshi/cfm.php | 299 - .../SyntaxHighlight_GeSHi/geshi/geshi/cil.php | 196 - .../geshi/geshi/clojure.php | 134 - .../geshi/geshi/cmake.php | 181 - .../geshi/geshi/cobol.php | 244 - .../geshi/geshi/cpp-qt.php | 564 - .../SyntaxHighlight_GeSHi/geshi/geshi/cpp.php | 240 - .../geshi/geshi/csharp.php | 253 - .../SyntaxHighlight_GeSHi/geshi/geshi/css.php | 212 - .../geshi/geshi/cuesheet.php | 138 - .../SyntaxHighlight_GeSHi/geshi/geshi/d.php | 272 - .../SyntaxHighlight_GeSHi/geshi/geshi/dcs.php | 182 - .../geshi/geshi/delphi.php | 289 - .../geshi/geshi/diff.php | 196 - .../SyntaxHighlight_GeSHi/geshi/geshi/div.php | 126 - .../SyntaxHighlight_GeSHi/geshi/geshi/dos.php | 202 - .../SyntaxHighlight_GeSHi/geshi/geshi/dot.php | 164 - .../geshi/geshi/ecmascript.php | 210 - .../geshi/geshi/eiffel.php | 395 - .../geshi/geshi/email.php | 210 - .../geshi/geshi/erlang.php | 441 - .../SyntaxHighlight_GeSHi/geshi/geshi/fo.php | 327 - .../geshi/geshi/fortran.php | 160 - .../geshi/geshi/freebasic.php | 141 - .../geshi/geshi/fsharp.php | 211 - .../geshi/geshi/gambas.php | 214 - .../SyntaxHighlight_GeSHi/geshi/geshi/gdb.php | 175 - .../geshi/geshi/genero.php | 463 - .../geshi/geshi/gettext.php | 97 - .../geshi/geshi/glsl.php | 205 - .../SyntaxHighlight_GeSHi/geshi/geshi/gml.php | 506 - .../geshi/geshi/gnuplot.php | 296 - .../geshi/geshi/groovy.php | 1011 - .../geshi/geshi/haskell.php | 202 - .../geshi/geshi/hq9plus.php | 104 - .../geshi/geshi/html4strict.php | 203 - .../SyntaxHighlight_GeSHi/geshi/geshi/idl.php | 123 - .../SyntaxHighlight_GeSHi/geshi/geshi/ini.php | 128 - .../geshi/geshi/inno.php | 212 - .../geshi/geshi/intercal.php | 122 - .../SyntaxHighlight_GeSHi/geshi/geshi/io.php | 138 - .../SyntaxHighlight_GeSHi/geshi/geshi/j.php | 246 - .../geshi/geshi/java.php | 983 - .../geshi/geshi/java5.php | 1037 - .../geshi/geshi/javascript.php | 150 - .../geshi/geshi/jquery.php | 238 - .../geshi/geshi/kixtart.php | 329 - .../geshi/geshi/klonec.php | 282 - .../geshi/geshi/klonecpp.php | 310 - .../geshi/geshi/latex.php | 223 - .../geshi/geshi/lisp.php | 144 - .../geshi/geshi/locobasic.php | 130 - .../geshi/geshi/logtalk.php | 330 - .../geshi/geshi/lolcode.php | 152 - .../geshi/geshi/lotusformulas.php | 318 - .../geshi/geshi/lotusscript.php | 191 - .../geshi/geshi/lscript.php | 387 - .../geshi/geshi/lsl2.php | 898 - .../SyntaxHighlight_GeSHi/geshi/geshi/lua.php | 137 - .../geshi/geshi/m68k.php | 143 - .../geshi/geshi/make.php | 151 - .../geshi/geshi/mapbasic.php | 908 - .../geshi/geshi/matlab.php | 227 - .../geshi/geshi/mirc.php | 171 - .../geshi/geshi/mmix.php | 173 - .../geshi/geshi/modula3.php | 135 - .../geshi/geshi/mpasm.php | 164 - .../geshi/geshi/mxml.php | 145 - .../geshi/geshi/mysql.php | 475 - .../geshi/geshi/newlisp.php | 191 - .../geshi/geshi/nsis.php | 351 - .../geshi/geshi/oberon2.php | 135 - .../geshi/geshi/objc.php | 358 - .../geshi/geshi/ocaml-brief.php | 112 - .../geshi/geshi/ocaml.php | 174 - .../geshi/geshi/oobas.php | 135 - .../geshi/geshi/oracle11.php | 614 - .../geshi/geshi/oracle8.php | 496 - .../geshi/geshi/oxygene.php | 152 - .../geshi/geshi/pascal.php | 152 - .../SyntaxHighlight_GeSHi/geshi/geshi/per.php | 302 - .../geshi/geshi/perl.php | 213 - .../geshi/geshi/perl6.php | 197 - .../SyntaxHighlight_GeSHi/geshi/geshi/pf.php | 178 - .../geshi/geshi/php-brief.php | 222 - .../SyntaxHighlight_GeSHi/geshi/geshi/php.php | 1114 - .../geshi/geshi/pic16.php | 141 - .../geshi/geshi/pike.php | 103 - .../geshi/geshi/pixelbender.php | 176 - .../geshi/geshi/plsql.php | 256 - .../geshi/geshi/povray.php | 199 - .../geshi/geshi/powerbuilder.php | 418 - .../geshi/geshi/powershell.php | 277 - .../geshi/geshi/progress.php | 485 - .../geshi/geshi/prolog.php | 143 - .../geshi/geshi/properties.php | 127 - .../geshi/geshi/providex.php | 299 - .../geshi/geshi/purebasic.php | 303 - .../geshi/geshi/python.php | 237 - .../geshi/geshi/qbasic.php | 158 - .../geshi/geshi/rails.php | 406 - .../geshi/geshi/rebol.php | 196 - .../SyntaxHighlight_GeSHi/geshi/geshi/reg.php | 233 - .../geshi/geshi/robots.php | 100 - .../geshi/geshi/rsplus.php | 483 - .../geshi/geshi/ruby.php | 226 - .../SyntaxHighlight_GeSHi/geshi/geshi/sas.php | 290 - .../geshi/geshi/scala.php | 122 - .../geshi/geshi/scheme.php | 170 - .../geshi/geshi/scilab.php | 295 - .../geshi/geshi/sdlbasic.php | 165 - .../geshi/geshi/smalltalk.php | 154 - .../geshi/geshi/smarty.php | 192 - .../SyntaxHighlight_GeSHi/geshi/geshi/sql.php | 140 - .../geshi/geshi/systemverilog.php | 317 - .../SyntaxHighlight_GeSHi/geshi/geshi/tcl.php | 194 - .../geshi/geshi/teraterm.php | 317 - .../geshi/geshi/text.php | 84 - .../geshi/geshi/thinbasic.php | 868 - .../geshi/geshi/tsql.php | 375 - .../geshi/geshi/typoscript.php | 300 - .../SyntaxHighlight_GeSHi/geshi/geshi/vb.php | 133 - .../geshi/geshi/vbnet.php | 201 - .../geshi/geshi/verilog.php | 173 - .../geshi/geshi/vhdl.php | 144 - .../SyntaxHighlight_GeSHi/geshi/geshi/vim.php | 421 - .../geshi/geshi/visualfoxpro.php | 456 - .../geshi/geshi/visualprolog.php | 129 - .../geshi/geshi/whitespace.php | 121 - .../geshi/geshi/whois.php | 181 - .../geshi/geshi/winbatch.php | 369 - .../SyntaxHighlight_GeSHi/geshi/geshi/xml.php | 157 - .../geshi/geshi/xorg_conf.php | 124 - .../SyntaxHighlight_GeSHi/geshi/geshi/xpp.php | 436 - .../SyntaxHighlight_GeSHi/geshi/geshi/z80.php | 144 - documentacion/extensions/Validator/COPYING | 682 - documentacion/extensions/Validator/INSTALL | 39 - documentacion/extensions/Validator/README | 12 - .../extensions/Validator/RELEASE-NOTES | 231 - .../extensions/Validator/Validator.hooks.php | 31 - .../Validator/Validator.i18n.magic.php | 11 - .../extensions/Validator/Validator.i18n.php | 2686 -- .../extensions/Validator/Validator.php | 111 - .../Validator/Validator_Settings.php | 33 - .../includes/CriterionValidationResult.php | 105 - .../includes/ItemParameterCriterion.php | 173 - .../includes/ItemParameterManipulation.php | 68 - .../Validator/includes/ListParameter.php | 247 - .../includes/ListParameterCriterion.php | 37 - .../includes/ListParameterManipulation.php | 35 - .../Validator/includes/Parameter.php | 840 - .../Validator/includes/ParameterCriterion.php | 47 - .../Validator/includes/ParameterInput.php | 259 - .../includes/ParameterManipulation.php | 45 - .../Validator/includes/ParserHook.php | 639 - .../Validator/includes/TopologicalSort.php | 163 - .../Validator/includes/ValidationError.php | 234 - .../includes/ValidationErrorHandler.php | 59 - .../Validator/includes/Validator.php | 476 - .../includes/criteria/CriterionHasLength.php | 63 - .../includes/criteria/CriterionInArray.php | 164 - .../includes/criteria/CriterionInRange.php | 102 - .../includes/criteria/CriterionIsFloat.php | 46 - .../includes/criteria/CriterionIsInteger.php | 56 - .../includes/criteria/CriterionIsNumeric.php | 46 - .../includes/criteria/CriterionIsTitle.php | 75 - .../includes/criteria/CriterionItemCount.php | 43 - .../criteria/CriterionMatchesRegex.php | 59 - .../includes/criteria/CriterionNotEmpty.php | 46 - .../includes/criteria/CriterionTrue.php | 46 - .../criteria/CriterionUniqueItems.php | 46 - .../ParamManipulationBoolean.php | 37 - .../manipulations/ParamManipulationFloat.php | 34 - .../ParamManipulationFunctions.php | 54 - .../ParamManipulationImplode.php | 55 - .../ParamManipulationInteger.php | 34 - .../manipulations/ParamManipulationString.php | 34 - .../manipulations/ParamManipulationTitle.php | 32 - .../parserHooks/Validator_Describe.php | 488 - .../parserHooks/Validator_ListErrors.php | 208 - .../Validator/test/ValidatorCriteriaTests.php | 245 - documentacion/extensions/Vector/README | 17 - .../extensions/Vector/Vector.hooks.php | 188 - .../extensions/Vector/Vector.i18n.php | 2348 -- documentacion/extensions/Vector/Vector.php | 132 - .../modules/ext.vector.collapsibleNav.css | 83 - .../modules/ext.vector.collapsibleNav.js | 253 - .../modules/ext.vector.collapsibleTabs.js | 125 - .../Vector/modules/ext.vector.editWarning.js | 55 - .../modules/ext.vector.expandableSearch.css | 11 - .../modules/ext.vector.expandableSearch.js | 72 - .../modules/ext.vector.footerCleanup.css | 76 - .../modules/ext.vector.footerCleanup.js | 29 - .../modules/ext.vector.sectionEditLinks.css | 19 - .../modules/ext.vector.sectionEditLinks.js | 80 - .../Vector/modules/images/closed-ltr.png | Bin 143 -> 0 bytes .../Vector/modules/images/closed-rtl.png | Bin 145 -> 0 bytes .../Vector/modules/images/edit-faded.png | Bin 425 -> 0 bytes .../extensions/Vector/modules/images/edit.png | Bin 428 -> 0 bytes .../extensions/Vector/modules/images/open.png | Bin 145 -> 0 bytes .../Vector/modules/images/portal-break.png | Bin 203 -> 0 bytes .../modules/jquery.footerCollapsibleList.js | 46 - .../Vector/switchExperimentPrefs.php | 63 - documentacion/extensions/WikiEditor/README | 17 - .../WikiEditor/WikiEditor.hooks.php | 332 - .../extensions/WikiEditor/WikiEditor.i18n.php | 30407 ---------------- .../extensions/WikiEditor/WikiEditor.php | 528 - .../WikiEditor/modules/contentCollector.js | 439 - .../modules/ext.wikiEditor.addMediaWizard.js | 15 - .../WikiEditor/modules/ext.wikiEditor.css | 28 - .../modules/ext.wikiEditor.dialogs.css | 207 - .../modules/ext.wikiEditor.dialogs.js | 15 - .../modules/ext.wikiEditor.highlight.js | 8 - .../WikiEditor/modules/ext.wikiEditor.js | 8 - .../modules/ext.wikiEditor.preview.js | 8 - .../modules/ext.wikiEditor.previewDialog.js | 8 - .../modules/ext.wikiEditor.publish.js | 8 - .../modules/ext.wikiEditor.templateEditor.js | 12 - .../modules/ext.wikiEditor.templates.js | 12 - .../modules/ext.wikiEditor.tests.toolbar.js | 255 - .../WikiEditor/modules/ext.wikiEditor.toc.js | 8 - .../modules/ext.wikiEditor.toolbar.hideSig.js | 14 - .../modules/ext.wikiEditor.toolbar.js | 17 - .../images/dialogs/insert-link-error.png | Bin 549 -> 0 bytes .../images/dialogs/insert-link-exists.png | Bin 293 -> 0 bytes .../dialogs/insert-link-external-rtl.png | Bin 234 -> 0 bytes .../images/dialogs/insert-link-external.png | Bin 235 -> 0 bytes .../images/dialogs/insert-link-invalid.png | Bin 488 -> 0 bytes .../images/dialogs/insert-link-notexists.png | Bin 440 -> 0 bytes .../modules/images/dialogs/loading-small.gif | Bin 4046 -> 0 bytes .../modules/images/dialogs/loading.gif | Bin 4615 -> 0 bytes .../images/templateEditor/collapse.png | Bin 347 -> 0 bytes .../templateEditor/dialog-collapsed.png | Bin 273 -> 0 bytes .../images/templateEditor/dialog-expanded.png | Bin 274 -> 0 bytes .../modules/images/templateEditor/expand.png | Bin 234 -> 0 bytes .../images/templateEditor/name-base.png | Bin 148 -> 0 bytes .../images/templateEditor/text-base.png | Bin 96 -> 0 bytes .../images/templateEditor/wiki-text.png | Bin 211 -> 0 bytes .../WikiEditor/modules/images/toc/close.png | Bin 319 -> 0 bytes .../WikiEditor/modules/images/toc/grab.png | Bin 102 -> 0 bytes .../WikiEditor/modules/images/toc/grip.png | Bin 119 -> 0 bytes .../WikiEditor/modules/images/toc/open.png | Bin 321 -> 0 bytes .../modules/images/toolbar/arrow-down.png | Bin 145 -> 0 bytes .../modules/images/toolbar/arrow-ltr.png | Bin 143 -> 0 bytes .../modules/images/toolbar/arrow-rtl.png | Bin 145 -> 0 bytes .../modules/images/toolbar/base.png | Bin 174 -> 0 bytes .../modules/images/toolbar/button-sprite.png | Bin 19362 -> 0 bytes .../modules/images/toolbar/example-image.png | Bin 1005 -> 0 bytes .../modules/images/toolbar/format-big.png | Bin 577 -> 0 bytes .../modules/images/toolbar/format-bold-A.png | Bin 633 -> 0 bytes .../modules/images/toolbar/format-bold-B.png | Bin 688 -> 0 bytes .../modules/images/toolbar/format-bold-F.png | Bin 531 -> 0 bytes .../modules/images/toolbar/format-bold-G.png | Bin 637 -> 0 bytes .../modules/images/toolbar/format-bold-N.png | Bin 702 -> 0 bytes .../modules/images/toolbar/format-bold-P.png | Bin 597 -> 0 bytes .../modules/images/toolbar/format-bold-V.png | Bin 588 -> 0 bytes .../modules/images/toolbar/format-bold-ka.png | Bin 1132 -> 0 bytes .../modules/images/toolbar/format-bold-ru.png | Bin 885 -> 0 bytes .../modules/images/toolbar/format-bold.png | Bin 599 -> 0 bytes .../images/toolbar/format-indent-rtl.png | Bin 319 -> 0 bytes .../modules/images/toolbar/format-indent.png | Bin 317 -> 0 bytes .../images/toolbar/format-italic-A.png | Bin 556 -> 0 bytes .../images/toolbar/format-italic-C.png | Bin 485 -> 0 bytes .../images/toolbar/format-italic-D.png | Bin 588 -> 0 bytes .../images/toolbar/format-italic-I.png | Bin 406 -> 0 bytes .../images/toolbar/format-italic-K.png | Bin 625 -> 0 bytes .../images/toolbar/format-italic-ka.png | Bin 603 -> 0 bytes .../modules/images/toolbar/format-italic.png | Bin 508 -> 0 bytes .../images/toolbar/format-olist-rtl.png | Bin 290 -> 0 bytes .../modules/images/toolbar/format-olist.png | Bin 285 -> 0 bytes .../modules/images/toolbar/format-small.png | Bin 565 -> 0 bytes .../images/toolbar/format-subscript.png | Bin 574 -> 0 bytes .../images/toolbar/format-superscript.png | Bin 577 -> 0 bytes .../images/toolbar/format-ulist-rtl.png | Bin 178 -> 0 bytes .../modules/images/toolbar/format-ulist.png | Bin 176 -> 0 bytes .../modules/images/toolbar/insert-file.png | Bin 1121 -> 0 bytes .../modules/images/toolbar/insert-gallery.png | Bin 309 -> 0 bytes .../modules/images/toolbar/insert-ilink.png | Bin 286 -> 0 bytes .../modules/images/toolbar/insert-link.png | Bin 429 -> 0 bytes .../modules/images/toolbar/insert-newline.png | Bin 627 -> 0 bytes .../modules/images/toolbar/insert-nowiki.png | Bin 1266 -> 0 bytes .../images/toolbar/insert-redirect-rtl.png | Bin 1257 -> 0 bytes .../images/toolbar/insert-redirect.png | Bin 1255 -> 0 bytes .../images/toolbar/insert-reference.png | Bin 347 -> 0 bytes .../images/toolbar/insert-signature.png | Bin 682 -> 0 bytes .../modules/images/toolbar/insert-table.png | Bin 270 -> 0 bytes .../modules/images/toolbar/insert-xlink.png | Bin 388 -> 0 bytes .../modules/images/toolbar/loading-small.gif | Bin 3331 -> 0 bytes .../modules/images/toolbar/loading.gif | Bin 5423 -> 0 bytes .../modules/images/toolbar/magnify-clip.png | Bin 204 -> 0 bytes .../images/toolbar/png24/arrow-down.png | Bin 144 -> 0 bytes .../images/toolbar/png24/arrow-left.png | Bin 145 -> 0 bytes .../images/toolbar/png24/arrow-right.png | Bin 144 -> 0 bytes .../images/toolbar/png24/format-big.png | Bin 650 -> 0 bytes .../images/toolbar/png24/format-bold-A.png | Bin 672 -> 0 bytes .../images/toolbar/png24/format-bold-B.png | Bin 718 -> 0 bytes .../images/toolbar/png24/format-bold-F.png | Bin 556 -> 0 bytes .../images/toolbar/png24/format-bold-G.png | Bin 672 -> 0 bytes .../images/toolbar/png24/format-bold-N.png | Bin 750 -> 0 bytes .../images/toolbar/png24/format-bold-P.png | Bin 628 -> 0 bytes .../images/toolbar/png24/format-bold-V.png | Bin 613 -> 0 bytes .../images/toolbar/png24/format-bold.png | Bin 672 -> 0 bytes .../images/toolbar/png24/format-italic-A.png | Bin 588 -> 0 bytes .../images/toolbar/png24/format-italic-C.png | Bin 507 -> 0 bytes .../images/toolbar/png24/format-italic-I.png | Bin 417 -> 0 bytes .../images/toolbar/png24/format-italic-K.png | Bin 660 -> 0 bytes .../images/toolbar/png24/format-italic.png | Bin 588 -> 0 bytes .../images/toolbar/png24/format-olist.png | Bin 375 -> 0 bytes .../images/toolbar/png24/format-small.png | Bin 640 -> 0 bytes .../images/toolbar/png24/format-subscript.png | Bin 649 -> 0 bytes .../toolbar/png24/format-superscript.png | Bin 652 -> 0 bytes .../images/toolbar/png24/format-ulist.png | Bin 332 -> 0 bytes .../modules/images/toolbar/png24/generate.sh | 12 - .../images/toolbar/png24/insert-file.png | Bin 929 -> 0 bytes .../images/toolbar/png24/insert-gallery.png | Bin 1162 -> 0 bytes .../images/toolbar/png24/insert-link.png | Bin 769 -> 0 bytes .../images/toolbar/png24/insert-newline.png | Bin 834 -> 0 bytes .../images/toolbar/png24/insert-nowiki.png | Bin 1562 -> 0 bytes .../images/toolbar/png24/insert-redirect.png | Bin 1133 -> 0 bytes .../images/toolbar/png24/insert-reference.png | Bin 1056 -> 0 bytes .../images/toolbar/png24/insert-signature.png | Bin 588 -> 0 bytes .../images/toolbar/png24/insert-table.png | Bin 219 -> 0 bytes .../images/toolbar/png24/search-replace.png | Bin 1047 -> 0 bytes .../modules/images/toolbar/search-replace.png | Bin 788 -> 0 bytes .../WikiEditor/modules/jquery.wikiEditor.css | 112 - .../jquery.wikiEditor.dialogs.config.css | 178 - .../jquery.wikiEditor.dialogs.config.js | 1372 - .../modules/jquery.wikiEditor.dialogs.css | 68 - .../modules/jquery.wikiEditor.dialogs.js | 234 - .../modules/jquery.wikiEditor.highlight.js | 373 - .../WikiEditor/modules/jquery.wikiEditor.html | 135 - .../modules/jquery.wikiEditor.iframe.js | 1387 - .../WikiEditor/modules/jquery.wikiEditor.js | 580 - .../modules/jquery.wikiEditor.preview.css | 31 - .../modules/jquery.wikiEditor.preview.js | 169 - .../jquery.wikiEditor.previewDialog.css | 39 - .../jquery.wikiEditor.previewDialog.js | 131 - .../modules/jquery.wikiEditor.publish.js | 154 - .../jquery.wikiEditor.templateEditor.js | 865 - .../modules/jquery.wikiEditor.templates.js | 69 - .../modules/jquery.wikiEditor.toc.css | 204 - .../modules/jquery.wikiEditor.toc.js | 678 - .../jquery.wikiEditor.toolbar.config.js | 1337 - .../modules/jquery.wikiEditor.toolbar.css | 303 - .../modules/jquery.wikiEditor.toolbar.js | 783 - .../tests/selenium/WikiDialogs_Links.php | 68 - .../selenium/WikiDialogs_Links_Setup.php | 296 - .../tests/selenium/WikiEditorConstants.php | 84 - .../selenium/WikiEditorSeleniumConfig.php | 27 - .../tests/selenium/WikiEditorTestSuite.php | 35 - documentacion/extensions/cmo.php | 99 - .../intersection/DynamicPageList.i18n.php | 957 - .../intersection/DynamicPageList.php | 616 - documentacion/extensions/videoflash.php | 94 - 2405 files changed, 546963 deletions(-) delete mode 100644 documentacion/extensions/CategoryBreadCrumbs.php delete mode 100644 documentacion/extensions/ConfirmEdit/Asirra.class.php delete mode 100644 documentacion/extensions/ConfirmEdit/Asirra.i18n.php delete mode 100644 documentacion/extensions/ConfirmEdit/Asirra.php delete mode 100644 documentacion/extensions/ConfirmEdit/Captcha.php delete mode 100644 documentacion/extensions/ConfirmEdit/CaptchaStore.php delete mode 100644 documentacion/extensions/ConfirmEdit/ConfirmEdit.alias.php delete mode 100644 documentacion/extensions/ConfirmEdit/ConfirmEdit.i18n.php delete mode 100644 documentacion/extensions/ConfirmEdit/ConfirmEdit.php delete mode 100644 documentacion/extensions/ConfirmEdit/ConfirmEditHooks.php delete mode 100644 documentacion/extensions/ConfirmEdit/FancyCaptcha.class.php delete mode 100644 documentacion/extensions/ConfirmEdit/FancyCaptcha.i18n.php delete mode 100644 documentacion/extensions/ConfirmEdit/FancyCaptcha.php delete mode 100644 documentacion/extensions/ConfirmEdit/HTMLCaptchaField.php delete mode 100644 documentacion/extensions/ConfirmEdit/MathCaptcha.class.php delete mode 100644 documentacion/extensions/ConfirmEdit/MathCaptcha.php delete mode 100644 documentacion/extensions/ConfirmEdit/QuestyCaptcha.class.php delete mode 100644 documentacion/extensions/ConfirmEdit/QuestyCaptcha.i18n.php delete mode 100644 documentacion/extensions/ConfirmEdit/QuestyCaptcha.php delete mode 100644 documentacion/extensions/ConfirmEdit/README delete mode 100644 documentacion/extensions/ConfirmEdit/ReCaptcha.class.php delete mode 100644 documentacion/extensions/ConfirmEdit/ReCaptcha.i18n.php delete mode 100644 documentacion/extensions/ConfirmEdit/ReCaptcha.php delete mode 100644 documentacion/extensions/ConfirmEdit/captcha.py delete mode 100644 documentacion/extensions/ConfirmEdit/ext.confirmedit.asirra.js delete mode 100644 documentacion/extensions/ConfirmEdit/maintenance/GenerateFancyCaptchas.php delete mode 100644 documentacion/extensions/ConfirmEdit/recaptchalib.php delete mode 100644 documentacion/extensions/DynamicPageList/DynamicPageList2.i18n.php delete mode 100644 documentacion/extensions/DynamicPageList/DynamicPageList2.php delete mode 100644 documentacion/extensions/DynamicPageList/DynamicPageList2Include.php delete mode 100644 documentacion/extensions/Flash.php delete mode 100644 documentacion/extensions/Gadgets/ApiQueryGadgetCategories.php delete mode 100644 documentacion/extensions/Gadgets/ApiQueryGadgets.php delete mode 100644 documentacion/extensions/Gadgets/Gadgets.alias.php delete mode 100644 documentacion/extensions/Gadgets/Gadgets.i18n.php delete mode 100644 documentacion/extensions/Gadgets/Gadgets.php delete mode 100644 documentacion/extensions/Gadgets/Gadgets_body.php delete mode 100644 documentacion/extensions/Gadgets/Gadgets_tests.php delete mode 100644 documentacion/extensions/Gadgets/README delete mode 100644 documentacion/extensions/Gadgets/SpecialGadgets.php delete mode 100644 documentacion/extensions/Gadgets/install.settings delete mode 100644 documentacion/extensions/HTMLets.php~ delete mode 100644 documentacion/extensions/HTMLets/HTMLets.i18n.php delete mode 100644 documentacion/extensions/HTMLets/HTMLets.php delete mode 100644 documentacion/extensions/HTMLets/install.settings delete mode 100644 documentacion/extensions/Maps/COPYING delete mode 100644 documentacion/extensions/Maps/INSTALL delete mode 100644 documentacion/extensions/Maps/Maps.hooks.php delete mode 100644 documentacion/extensions/Maps/Maps.i18n.magic.php delete mode 100644 documentacion/extensions/Maps/Maps.i18n.namespaces.php delete mode 100644 documentacion/extensions/Maps/Maps.i18n.php delete mode 100644 documentacion/extensions/Maps/Maps.php delete mode 100644 documentacion/extensions/Maps/Maps.settings.php delete mode 100644 documentacion/extensions/Maps/Maps_Settings.php delete mode 100644 documentacion/extensions/Maps/README delete mode 100644 documentacion/extensions/Maps/RELEASE-NOTES delete mode 100644 documentacion/extensions/Maps/includes/Maps_BaseElement.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_BaseFillableElement.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Circle.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_CoordinateParser.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_DisplayMapRenderer.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_DistanceParser.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_GeoFunctions.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Geocoder.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Geocoders.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_ImageOverlay.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_KMLFormatter.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Layer.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_LayerPage.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Layers.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Line.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Location.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Mapper.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_MappingService.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_MappingServices.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Polygon.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Rectangle.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_Settings.php delete mode 100644 documentacion/extensions/Maps/includes/Maps_WmsOverlay.php delete mode 100644 documentacion/extensions/Maps/includes/api/ApiGeocode.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionIsDistance.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionIsImage.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionIsLocation.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionLine.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionMapDimension.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionMapLayer.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionPolygon.php delete mode 100644 documentacion/extensions/Maps/includes/criteria/CriterionSearchMarkers.php delete mode 100644 documentacion/extensions/Maps/includes/ext.maps.common.js delete mode 100644 documentacion/extensions/Maps/includes/ext.maps.coord.js delete mode 100644 documentacion/extensions/Maps/includes/features/Maps_BaseMap.php delete mode 100644 documentacion/extensions/Maps/includes/features/Maps_BasePointMap.php delete mode 100644 documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesGeocoder.php delete mode 100644 documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesOldGeocoder.php delete mode 100644 documentacion/extensions/Maps/includes/geocoders/Maps_GoogleGeocoder.php delete mode 100644 documentacion/extensions/Maps/includes/geocoders/Maps_YahooGeocoder.php delete mode 100644 documentacion/extensions/Maps/includes/iMappingService.php delete mode 100644 documentacion/extensions/Maps/includes/layers/Maps_ImageLayer.php delete mode 100644 documentacion/extensions/Maps/includes/layers/Maps_KMLLayer.php delete mode 100644 documentacion/extensions/Maps/includes/manipulations/Maps_ParamDimension.php delete mode 100644 documentacion/extensions/Maps/includes/manipulations/Maps_ParamFile.php delete mode 100644 documentacion/extensions/Maps/includes/manipulations/Maps_ParamGeoService.php delete mode 100644 documentacion/extensions/Maps/includes/manipulations/Maps_ParamLocation.php delete mode 100644 documentacion/extensions/Maps/includes/manipulations/Maps_ParamService.php delete mode 100644 documentacion/extensions/Maps/includes/manipulations/Maps_ParamZoom.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_Coordinates.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayMap.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayPoint.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_Distance.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_Finddestination.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_Geocode.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_Geodistance.php delete mode 100644 documentacion/extensions/Maps/includes/parserHooks/Maps_MapsDoc.php delete mode 100644 documentacion/extensions/Maps/includes/parserhooks/Maps_Coordinates.php delete mode 100644 documentacion/extensions/Maps/includes/parserhooks/Maps_DisplayMap.php delete mode 100644 documentacion/extensions/Maps/includes/parserhooks/Maps_Distance.php delete mode 100644 documentacion/extensions/Maps/includes/parserhooks/Maps_Finddestination.php delete mode 100644 documentacion/extensions/Maps/includes/parserhooks/Maps_Geocode.php delete mode 100644 documentacion/extensions/Maps/includes/parserhooks/Maps_Geodistance.php delete mode 100644 documentacion/extensions/Maps/includes/parserhooks/Maps_MapsDoc.php delete mode 100644 documentacion/extensions/Maps/includes/properties/iBubbleMapElement.php delete mode 100644 documentacion/extensions/Maps/includes/properties/iFillableMapElement.php delete mode 100644 documentacion/extensions/Maps/includes/properties/iHoverableMapElement.php delete mode 100644 documentacion/extensions/Maps/includes/properties/iLinkableMapElement.php delete mode 100644 documentacion/extensions/Maps/includes/properties/iStrokableMapElement.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps/CriterionGoogleOverlay.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps/GoogleMaps.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMaps.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_ParamGMapType.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps/ext.maps.googlemaps2.css delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps/ext.maps.googlemaps2.js delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps/jquery.googlemap2.js delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/GoogleMaps3.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Type.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Types.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Typestyle.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Zoomstyle.php delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/earth/googleearth-compiled.js delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/earth/googleearth.js delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/ext.maps.googlemaps3.js delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/ProjectedOverlay.js delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/geoxml3.js delete mode 100644 documentacion/extensions/Maps/includes/services/GoogleMaps3/jquery.googlemap.js delete mode 100644 documentacion/extensions/Maps/includes/services/OSM/Maps_OSM.php delete mode 100644 documentacion/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php delete mode 100644 documentacion/extensions/Maps/includes/services/OSM/OSM.php delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/CriterionOLLayer.php delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayers.php delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OSM/OpenStreetMap.js delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers.php delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/OpenLayers.js delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/blank.gif delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/cloud-popup-relative.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/drag-rectangle-off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/drag-rectangle-on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/east-mini.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/layer-switcher-maximize.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/layer-switcher-minimize.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/marker-blue.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/marker-gold.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/marker-green.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/marker.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/measuring-stick-off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/measuring-stick-on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/north-mini.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/panning-hand-off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/panning-hand-on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/slider.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/south-mini.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/west-mini.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/zoom-minus-mini.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/zoom-plus-mini.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/zoom-world-mini.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/img/zoombar.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/license.txt delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/readme.txt delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/release-license.txt delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/repository-license.txt delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/framedCloud.css delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/google.css delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/google.tidy.css delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/ie6-style.css delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/ie6-style.tidy.css delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/add_point_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/add_point_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/blank.gif delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/close.gif delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/drag-rectangle-off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/drag-rectangle-on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/draw_line_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/draw_line_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/draw_point_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/draw_point_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/draw_polygon_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/draw_polygon_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/editing_tool_bar.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/move_feature_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/move_feature_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/navigation_history.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/overview_replacement.gif delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/pan-panel-NOALPHA.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/pan-panel.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/pan_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/pan_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/panning-hand-off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/panning-hand-on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/remove_point_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/remove_point_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/ruler.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/save_features_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/save_features_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/view_next_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/view_next_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/view_previous_off.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/view_previous_on.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/zoom-panel-NOALPHA.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/img/zoom-panel.png delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/style.css delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/theme/default/style.tidy.css delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/ext.maps.openlayers.js delete mode 100644 documentacion/extensions/Maps/includes/services/OpenLayers/jquery.openlayers.js delete mode 100644 documentacion/extensions/Maps/includes/services/YahooMaps/Maps_ParamYMapType.php delete mode 100644 documentacion/extensions/Maps/includes/services/YahooMaps/Maps_YahooMaps.php delete mode 100644 documentacion/extensions/Maps/includes/services/YahooMaps/YahooMaps.php delete mode 100644 documentacion/extensions/Maps/includes/services/YahooMaps/ext.maps.yahoomaps.js delete mode 100644 documentacion/extensions/Maps/includes/services/YahooMaps/jquery.yahoomaps.js delete mode 100644 documentacion/extensions/Maps/includes/specials/SpecialMapEditor.php delete mode 100644 documentacion/extensions/Maps/includes/validators/CircleValidator.php delete mode 100644 documentacion/extensions/Maps/includes/validators/GeoValidator.php delete mode 100644 documentacion/extensions/Maps/includes/validators/LineValidator.php delete mode 100644 documentacion/extensions/Maps/includes/validators/LocationValidator.php delete mode 100644 documentacion/extensions/Maps/includes/validators/PolygonValidator.php delete mode 100644 documentacion/extensions/Maps/includes/validators/RectangleValidator.php delete mode 100644 documentacion/extensions/Maps/test/MapsCoordinateParserTest.php delete mode 100644 documentacion/extensions/Maps/test/MapsDistanceParserTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/MapsCoordinateParserTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/MapsDistanceParserTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/CoordinatesTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/DisplayMapTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/DistanceTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/FinddestinationTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/GeocodeTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/GeodistanceTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/MapsDocTest.php delete mode 100644 documentacion/extensions/Maps/tests/phpunit/parserhooks/ParserHookTest.php delete mode 100644 documentacion/extensions/Nuke/COPYING delete mode 100644 documentacion/extensions/Nuke/INSTALL delete mode 100644 documentacion/extensions/Nuke/Nuke.alias.php delete mode 100644 documentacion/extensions/Nuke/Nuke.i18n.php delete mode 100644 documentacion/extensions/Nuke/Nuke.php delete mode 100644 documentacion/extensions/Nuke/Nuke_body.php delete mode 100644 documentacion/extensions/Nuke/README delete mode 100644 documentacion/extensions/Nuke/RELEASE-NOTES delete mode 100644 documentacion/extensions/Nuke/SpecialNuke.php delete mode 100644 documentacion/extensions/Nuke/ext.nuke.js delete mode 100644 documentacion/extensions/ParserFunctions/COPYING delete mode 100644 documentacion/extensions/ParserFunctions/Expr.php delete mode 100644 documentacion/extensions/ParserFunctions/ParserFunctions.i18n.magic.php delete mode 100644 documentacion/extensions/ParserFunctions/ParserFunctions.i18n.php delete mode 100644 documentacion/extensions/ParserFunctions/ParserFunctions.php delete mode 100644 documentacion/extensions/ParserFunctions/ParserFunctions_body.php delete mode 100644 documentacion/extensions/ParserFunctions/README delete mode 100644 documentacion/extensions/ParserFunctions/SprintfDateCompat.php delete mode 100644 documentacion/extensions/ParserFunctions/exprTests.txt delete mode 100644 documentacion/extensions/ParserFunctions/funcsParserTests.txt delete mode 100644 documentacion/extensions/ParserFunctions/stringFunctionTests.txt delete mode 100644 documentacion/extensions/ParserFunctions/testExpr.php delete mode 100644 documentacion/extensions/README delete mode 100644 documentacion/extensions/RelatedArticles.php delete mode 100644 documentacion/extensions/Renameuser/RenameUserJob.php delete mode 100644 documentacion/extensions/Renameuser/Renameuser.alias.php delete mode 100644 documentacion/extensions/Renameuser/Renameuser.i18n.php delete mode 100644 documentacion/extensions/Renameuser/Renameuser.php delete mode 100644 documentacion/extensions/Renameuser/Renameuser_body.php delete mode 100644 documentacion/extensions/Renameuser/SpecialRenameuser.php delete mode 100644 documentacion/extensions/Renameuser/renameUserCleanup.php delete mode 100644 documentacion/extensions/SemanticForms/.gitignore delete mode 100644 documentacion/extensions/SemanticForms/.gitreview delete mode 100644 documentacion/extensions/SemanticForms/COPYING delete mode 100644 documentacion/extensions/SemanticForms/INSTALL delete mode 100644 documentacion/extensions/SemanticForms/README delete mode 100644 documentacion/extensions/SemanticForms/SemanticForms.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_AutocompleteAPI.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_AutoeditAPI.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_CreatePageJob.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_Form.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_FormEditAction.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_FormEditPage.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_FormField.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_FormLinker.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_FormPrinter.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_FormUtils.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_GlobalFunctions.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_HelperFormAction.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_PageSchemas.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_ParserFunctions.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_TemplateField.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_TemplateInForm.php delete mode 100644 documentacion/extensions/SemanticForms/includes/SF_Utils.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_CategoriesInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_CategoryInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_CheckboxInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_CheckboxesInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_ComboBoxInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_DateInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_DateTimeInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_DropdownInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_EnumInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_FormInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_ListBoxInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_MultiEnumInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_RadioButtonInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_TextAreaInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_TextAreaWithAutocompleteInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_TextInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_TextWithAutocompleteInput.php delete mode 100644 documentacion/extensions/SemanticForms/includes/forminputs/SF_YearInput.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_Aliases.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_Language.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageAr.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageArz.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageCa.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageDe.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageDe_formal.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageEn.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageEs.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageFa.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageFi.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageFr.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageHe.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageId.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageIt.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageNl.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageNo.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageZh_cn.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_LanguageZh_tw.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_Magic.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_Messages.php delete mode 100644 documentacion/extensions/SemanticForms/languages/SF_Namespaces.php delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_ajax_form_preview.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_autoedit.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_autogrow.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_collapsible.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_imagePreview.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_popupform.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_submit.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SF_wikieditor.js delete mode 100644 documentacion/extensions/SemanticForms/libs/SemanticForms.js delete mode 100644 documentacion/extensions/SemanticForms/libs/jquery.fancybox.js delete mode 100644 documentacion/extensions/SemanticForms/skins/MW-Icon-AlertMark.png delete mode 100644 documentacion/extensions/SemanticForms/skins/SF_autoedit.css delete mode 100644 documentacion/extensions/SemanticForms/skins/SF_collapsible.css delete mode 100644 documentacion/extensions/SemanticForms/skins/SF_jquery_ui_overrides.css delete mode 100644 documentacion/extensions/SemanticForms/skins/SF_popupform.css delete mode 100644 documentacion/extensions/SemanticForms/skins/SF_submit.css delete mode 100644 documentacion/extensions/SemanticForms/skins/SF_wikieditor.css delete mode 100644 documentacion/extensions/SemanticForms/skins/SemanticForms.css delete mode 100644 documentacion/extensions/SemanticForms/skins/close.png delete mode 100644 documentacion/extensions/SemanticForms/skins/collapse-minus.png delete mode 100644 documentacion/extensions/SemanticForms/skins/collapse-plus.png delete mode 100644 documentacion/extensions/SemanticForms/skins/fancy_close.png delete mode 100644 documentacion/extensions/SemanticForms/skins/fancybox-x.png delete mode 100644 documentacion/extensions/SemanticForms/skins/fancybox-y.png delete mode 100644 documentacion/extensions/SemanticForms/skins/fancybox.png delete mode 100644 documentacion/extensions/SemanticForms/skins/jquery.fancybox.css delete mode 100644 documentacion/extensions/SemanticForms/skins/loading.gif delete mode 100644 documentacion/extensions/SemanticForms/skins/loadingbg.png delete mode 100644 documentacion/extensions/SemanticForms/skins/rearranger.png delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_CreateCategory.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_CreateClass.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_CreateForm.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_CreateProperty.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_CreateTemplate.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_FormEdit.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_FormStart.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_Forms.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_RunQuery.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_Templates.php delete mode 100644 documentacion/extensions/SemanticForms/specials/SF_UploadWindow.php delete mode 100644 documentacion/extensions/SemanticMaps/COPYING delete mode 100644 documentacion/extensions/SemanticMaps/INSTALL delete mode 100644 documentacion/extensions/SemanticMaps/README delete mode 100644 documentacion/extensions/SemanticMaps/RELEASE-NOTES delete mode 100644 documentacion/extensions/SemanticMaps/SM_Settings.php delete mode 100644 documentacion/extensions/SemanticMaps/SemanticMaps.hooks.php delete mode 100644 documentacion/extensions/SemanticMaps/SemanticMaps.i18n.php delete mode 100644 documentacion/extensions/SemanticMaps/SemanticMaps.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/SM_AreaValueDescription.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsHooks.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValue.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValueDescription.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInput.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInputs.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/forminputs/jquery.mapforminput.js delete mode 100644 documentacion/extensions/SemanticMaps/includes/queryprinters/SM_KMLPrinter.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/queryprinters/SM_MapPrinter.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/queryprinters/SM_Mapper.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/queryprinters/SM_QueryHandler.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/queryprinters/SM_QueryPrinters.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/GoogleMaps/SM_GoogleMaps.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/GoogleMaps3/SM_GoogleMaps3.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/GoogleMaps3/SM_GoogleMaps3FormInput.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/GoogleMaps3/SM_GoogleMaps3MultiInput.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/GoogleMaps3/ext.sm.googlemapsinput.js delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/GoogleMaps3/jquery.gmapsmultiinput.js delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/GoogleMaps3/jquery.googlemapsinput.js delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/OpenLayers/SM_OpenLayers.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/OpenLayers/SM_OpenLayersFormInput.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/OpenLayers/ext.sm.openlayersinput.js delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/OpenLayers/jquery.openlayersinput.js delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/YahooMaps/SM_YahooMaps.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/YahooMaps/SM_YahooMapsFormInput.php delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/YahooMaps/ext.sm.yahoomaps.js delete mode 100644 documentacion/extensions/SemanticMaps/includes/services/YahooMaps/jquery.yahoomapsinput.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/COPYING delete mode 100644 documentacion/extensions/SemanticMediaWiki/INSTALL delete mode 100644 documentacion/extensions/SemanticMediaWiki/README delete mode 100644 documentacion/extensions/SemanticMediaWiki/RELEASE-NOTES delete mode 100644 documentacion/extensions/SemanticMediaWiki/SMW_Settings.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/SemanticMediaWiki.hooks.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/SemanticMediaWiki.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_CompatibilityHelpers.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_DISerializer.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_DataValueFactory.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_Factbox.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_GlobalFunctions.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_Infolink.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_Outputs.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_PageLister.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_PageSchemas.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_ParseData.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_ParserExtensions.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_QueryLanguage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_QueryParser.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_QueryProcessor.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_RefreshTab.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_SemanticData.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_Settings.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/SMW_Setup.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/api/ApiAsk.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/api/ApiAskArgs.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/api/ApiSMWInfo.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/articlepages/SMW_ConceptPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/articlepages/SMW_OrderedListPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/articlepages/SMW_PropertyPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Blob.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Bool.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Concept.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Container.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Error.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_GeoCoord.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Number.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Property.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_String.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Time.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_URI.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_WikiPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/dataitems/SMW_DataItem.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Bool.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Concept.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Error.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Import.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Number.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Property.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_PropertyList.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Quantity.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Record.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_String.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Temperature.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Time.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Types.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_URI.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_WikiPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/datavalues/SMW_DataValue.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/export/SMW_Exp_Data.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/export/SMW_Exp_Element.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/export/SMW_ExportController.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/export/SMW_Exporter.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/export/SMW_Serializer.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/export/SMW_Serializer_RDFXML.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/export/SMW_Serializer_Turtle.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/jobs/SMW_RefreshJob.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/jobs/SMW_UpdateJob.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/params/SMW_ParamFormat.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Ask.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Concept.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Declare.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Info.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_SMWDoc.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Set.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_SetRecurringEvent.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Show.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/parserhooks/SMW_Subobject.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_Aggregatable.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_CSV.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_Category.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_DSV.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_Embedded.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_JSONlink.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_List.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_RDF.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_RSSlink.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QP_Table.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/queryprinters/SMW_QueryPrinter.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/sparql/SMW_SparqlDatabase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/sparql/SMW_SparqlDatabase4Store.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/sparql/SMW_SparqlDatabaseVirtuoso.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/sparql/SMW_SparqlResultParser.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/sparql/SMW_SparqlResultWrapper.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_Description.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_PrintRequest.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_Query.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_ResultArray.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SQLHelpers.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2Table.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2_Queries.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStoreLight.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SparqlStore.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SparqlStoreQueryEngine.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SqlStore2IdCache.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_SqlStubSemanticData.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/includes/storage/SMW_Store.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_Aliases.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_Language.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageAr.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageArz.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageDe.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageDe_formal.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageEn.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageEs.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageFi.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageFr.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageHe.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageId.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageIt.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageNl.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageNo.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguagePl.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguagePt.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageRu.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageSk.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageZh_cn.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_LanguageZh_tw.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_Magic.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/languages/SMW_Messages.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/README delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-1.4.2.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery-ui-i18n.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery-ui.dialog.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery-ui.tabs.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.autocomplete.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.button.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.core.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.datepicker.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.position.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.widget.min.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/maintenance/README delete mode 100644 documentacion/extensions/SemanticMediaWiki/maintenance/SMW_Postgres_Schema.sql delete mode 100644 documentacion/extensions/SemanticMediaWiki/maintenance/SMW_conceptCache.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/maintenance/SMW_dumpRDF.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/maintenance/SMW_refreshData.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/maintenance/SMW_setup.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/maintenance/SMW_setup_1.16.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/resources/ext.smw.compat.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/resources/ext.smw.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/LICENSE delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/SMW_custom.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/SMW_custom_rtl.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/SMW_sorttable.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/SMW_tooltip.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/elastic/jquery.elastic.source.js delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/blue-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/browse_icon.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/browse_iconsmall.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-bottom-arrow.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-bottom-left.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-bottom-right.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-bottom.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-left-arrow.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-left.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-right-arrow.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-right.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-top-arrow.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-top-left.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-top-right.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/bubble-top.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/close-button.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/copyright-vertical.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/copyright.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/dark-blue-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/dark-green-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/dark-red-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/dull-blue-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/dull-green-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/dull-red-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/gray-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/green-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/info.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/message-left.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/message-right.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/message-top-left.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/message-top-right.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/progress-running.gif delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/rdf_flyer.18.gif delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/red-circle.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/search_icon.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/searchgray_iconsmall.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/smw_button.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/sort_down.gif delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/sort_none.gif delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/sort_up.gif delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/top-bubble.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/warning.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/images/world.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/demos.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-anim_basic_16x16.gif delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-icons_222222_256x240.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-icons_2e83ff_256x240.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-icons_454545_256x240.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-icons_888888_256x240.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/images/ui-icons_cd0a0a_256x240.png delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.accordion.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.all.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.autocomplete.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.base.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.button.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.core.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.datepicker.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.dialog.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.progressbar.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.resizable.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.selectable.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.slider.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.tabs.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/skins/jquery-ui/base/jquery.ui.theme.css delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_QueryUI.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_QueryUIHelper.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialAsk.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialQueryCreator.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/Export/SMW_SpecialOWLExport.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_QueryPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialProperties.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialTypes.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialUnusedProperties.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialWantedProperties.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/SMWAdmin/SMW_SpecialSMWAdmin.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialBrowse.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialPageProperty.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialSearchByProperty.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/Statistics/SMW_SpecialStatistics.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/specials/URIResolver/SMW_SpecialURIResolver.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/SMWSeleniumTestSuite.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/TemplateTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/AnnotatePageWithProperty.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/AvoidPropertyCreationTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildChainOfPropertiesInAQuery.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildInTypeNumber.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuiltInTypeString.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ChangeSeparatorForTypeNumber.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CopyQuerySyntaxFromSpecialAsk.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CreatePropertyPageTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineAllowedValuesTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineTypeOfPropertyTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/EmbedValueWithShowParserFunction.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSearchByProperty.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSpecialBrowse.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxShowsProperties.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/MakePropertySubpropertyOfAnotherOneTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertiesListedOnSpecialPageTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertyTypePageIsDefaultTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshInlineQuery.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshLinkForEveryPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithNumericValueTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithStringValueTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyAnnotationByWildcard.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyValue.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ShowFactboxTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SpecialAskProvidesGUIForQueries.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/UnusedPropertiesOnSpecialPageTestCase.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ViewValuesOfPropertyOnSpecialPage.php delete mode 100644 documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/WantedPropertiesOnSpecialPageTestCase.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Array/SRF_Array.php delete mode 100644 documentacion/extensions/SemanticResultFormats/BibTeX/SRF_BibTeX.php delete mode 100644 documentacion/extensions/SemanticResultFormats/COPYING delete mode 100644 documentacion/extensions/SemanticResultFormats/Calendar/SRFC_HistoricalDate.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Calendar/SRF_Calendar.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Calendar/skins/SRFC_main.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Calendar/skins/left-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Calendar/skins/right-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/D3/SRF_D3Bar.php delete mode 100644 documentacion/extensions/SemanticResultFormats/D3/SRF_D3Line.php delete mode 100644 documentacion/extensions/SemanticResultFormats/D3/SRF_D3Treemap.php delete mode 100644 documentacion/extensions/SemanticResultFormats/D3/d3.css delete mode 100644 documentacion/extensions/SemanticResultFormats/D3/d3.js delete mode 100644 documentacion/extensions/SemanticResultFormats/D3/d3.layout.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/SRF_Exhibit.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/SRF_Exhibit.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/SRF_Exhibit.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/LICENSE.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-epilog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/content/history.html delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-down.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-up.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-top.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/close-button.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/copy.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/loader.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/ajax.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/data-structure.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/date-time.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/dom.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/graphics.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/history.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/html.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/jquery-1.3.2.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/json.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/platform.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/signal.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/string.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/window-manager.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/xmlhttp.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/simile-ajax-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/simile-ajax-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/ajax/simile-ajax-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/LICENSE.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/compile-epilog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle-debug.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/calendar-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/calendar-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/calendar-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/calendar-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/scripts/calendar-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/scripts/date-picker-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/scripts/date-picker.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/scripts/date-util.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/styles/calendar-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/calendar/styles/date-picker-facet.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/chart-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/chart-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/chart-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/chart-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/locales/de/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/locales/en/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/locales/fr/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/locales/nl/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/scripts/bar-chart-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/scripts/pivot-table-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/scripts/scatter-plot-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/styles/bar-chart-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/styles/pivot-table-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/chart/styles/scatter-plot-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/curate-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/curate-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/curate-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/curate-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/admin.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/admin.html delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/admin.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/exhibit.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/portalocker.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/public.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/simplejson/__init__.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/simplejson/_speedups.c delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/simplejson/decoder.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/simplejson/encoder.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/simplejson/jsonfilter.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/simplejson/scanner.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/submissions.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/admin/submit.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/gdocbackend.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/files/scraper.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/readme.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/scripts/change-list.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/scripts/curate-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/scripts/item-creator.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/scripts/scraper.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/scripts/submission-backend.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/scripts/submission-widgets.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/styles/change-list.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/styles/curate-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/curate/styles/scraper.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/editing-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/editing-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/editing-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/editing-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/scripts/data/editing-backend.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/scripts/extra.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/scripts/ui/editing-formatter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/scripts/ui/editing-lens.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/scripts/ui/lens.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/editing/styles/editing.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/freebase/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/freebase/freebase-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/freebase/freebase-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/freebase/freebase-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/freebase/scripts/freebase-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/freebase/scripts/metaweb.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/locales/de/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/locales/en/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/locales/es/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/locales/fr/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/locales/nl/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/locales/sv/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/map-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/map-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/map-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/map-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/scripts/map-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/scripts/olmap-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/scripts/vemap-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/styles/map-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/map/styles/olmap-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/locales/de/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/locales/en/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/locales/es/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/locales/fr/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/locales/nl/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/locales/sv/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/scripts/timeline-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/styles/timeline-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/time-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/time-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/time-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/time/time-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/locales/en/timeplot-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/locales/nl/timeplot-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/scripts/timeplot-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/styles/timeplot-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/timeplot-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/timeplot-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/timeplot-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/extensions/timeplot/timeplot-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/arrow-left.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/arrow-right.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/black-check-no-border.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/black-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/blank-16x16.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/collapse.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/day-with-items-bkgrd.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/down-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/expand.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/gray-check-no-border.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/gray-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/left-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/liveclipboard-icon.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/map-marker-shadow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/message-bubble/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/message-bubble/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/message-bubble/message-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/message-bubble/message-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/message-bubble/message-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/message-bubble/message-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/month-header-left.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/month-header-right.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/no-check-no-border.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/no-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/option-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/option.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/progress-running.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/right-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/slider-handle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/slider-handle2.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/up-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/week-selector-active.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/images/week-selector.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/exhibit-de-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/.giosaveK2VZNW delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/de/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/exhibit-en-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/en/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/exhibit-es-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/es/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/exhibit-fr-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/fr/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/exhibit-nl-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/nl/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/exhibit-no-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/no/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/exhibit-sv-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/sv/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/exhibit-zh-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/locales/zh/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/manifest.json delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/authentication.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/create.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/collection.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/controls.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/database.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/exporters/bibtex-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/exporters/exhibit-json-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/exporters/facet-selection-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/exporters/rdf-xml-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/exporters/semantic-wikitext-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/exporters/tsv-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/expression-parser.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/expression.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/functions.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/authenticated-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/babel-based-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/exhibit-json-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/exhibit-xml-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/html-table-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/json-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/jsonp-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/rdfa-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/data/importers/tsv-csv-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/exhibit.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/persistence.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coders/color-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coders/color-gradient-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coders/default-color-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coders/icon-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coders/ordered-color-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coders/size-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coders/size-gradient-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/coordinator.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/alpha-range-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/cloud-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/hierarchical-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/image-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/list-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/numeric-range-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/slider-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/slider.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/facets/text-search-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/format-parser.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/formatter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/lens.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/ui-context.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/ui.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/views/html-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/views/ordered-view-frame.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/views/tabular-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/views/thumbnail-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/views/tile-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/views/view-panel.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/widgets/collection-summary-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/widgets/legend-gradient-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/widgets/legend-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/widgets/logo.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/widgets/option-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/widgets/resizable-div-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/ui/widgets/toolbox-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/util/coders.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/util/facets.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/util/set.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/util/settings.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/util/util.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/scripts/util/views.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/browse-panel.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/exhibit.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/lens.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/util/facets.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/util/views.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/views/tabular-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/views/thumbnail-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/views/tile-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/views/view-panel.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/widgets/collection-summary-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/widgets/legend-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/widgets/option-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/widgets/resizable-div-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/styles/widgets/toolbox-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/LICENSE.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/compilations/timeline-en-compilation-debug.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/compilations/timeline-en-compilation-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/compilations/timeline-en-compilation.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/compilations/timeline-en-compilation.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/compile-epilog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/geochrono/geochrono-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/geochrono/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/geochrono/scripts/geochrono.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/geochrono/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/geochrono/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/geochrono/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/planning/planning-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/planning/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/planning/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/planning/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/planning/scripts/planning.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/ext/planning/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-bottom-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-bottom.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-left-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-right-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-top-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/bubble-top.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/close-button.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/copyright-vertical.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/copyright.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/dark-blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/dark-green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/dark-red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/dull-blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/dull-green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/dull-red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/gray-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/message-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/message-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/message-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/message-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/progress-running.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/images/top-bubble.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/band.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/compact-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/decorators.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/detailed-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/ethers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/event-utils.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/ext/japanese-eras.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/cs/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/cs/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/de/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/de/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/en/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/es/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/es/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/fr/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/fr/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/it/.giosaveA6UVNW delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/it/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/it/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/nl/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/nl/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/pt_BR/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/pt_BR/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/ru/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/ru/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/se/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/se/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/tr/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/tr/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/vi/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/vi/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/zh/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/l10n/zh/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/original-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/overview-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/sources.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/themes.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/scripts/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/styles/ethers.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/styles/events.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/styles/timeline.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/timeline-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/timeline-bundle-debug.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/timeline-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/timeline-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit/timeline/api/timeline-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/SRF_Exhibit.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/SRF_Exhibit.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/SRF_Exhibit.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/LICENSE.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/compile-epilog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/content/history.html delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-arrow-point-down.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-arrow-point-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-arrow-point-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-arrow-point-up.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-bottom.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/bubble-top.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/close-button.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/copy.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/message-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/message-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/message-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/images/message-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/loader.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/ajax.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/data-structure.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/date-time.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/dom.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/graphics.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/history.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/html.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/jquery-1.3.2.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/json.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/platform.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/signal.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/string.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/window-manager.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/scripts/xmlhttp.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/simile-ajax-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/simile-ajax-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/simile-ajax-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/styles/graphics-ie6.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/ajax/styles/graphics.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/compile-epilog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/exhibit-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/exhibit-bundle-debug.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/exhibit-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/exhibit-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/exhibit-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/calendar-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/calendar-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/calendar-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/calendar-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/scripts/calendar-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/scripts/date-picker-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/scripts/date-picker.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/scripts/date-util.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/styles/calendar-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/calendar/styles/date-picker-facet.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/chart-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/chart-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/chart-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/chart-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/locales/de/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/locales/en/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/locales/fr/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/locales/nl/chart-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/scripts/bar-chart-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/scripts/pivot-table-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/scripts/scatter-plot-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/styles/bar-chart-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/styles/pivot-table-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/chart/styles/scatter-plot-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/curate-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/curate-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/curate-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/curate-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/admin.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/admin.html delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/admin.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/exhibit.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/portalocker.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/public.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/simplejson/__init__.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/simplejson/_speedups.c delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/simplejson/decoder.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/simplejson/encoder.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/simplejson/jsonfilter.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/simplejson/scanner.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/submissions.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/admin/submit.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/gdocbackend.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/files/scraper.py delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/readme.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/scripts/change-list.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/scripts/curate-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/scripts/item-creator.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/scripts/scraper.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/scripts/submission-backend.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/scripts/submission-widgets.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/styles/change-list.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/styles/curate-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/curate/styles/scraper.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/data-editor-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/data-editor-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/data-editor-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_flat_0_eeeeee_40x100.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_flat_55_c0402a_40x100.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_flat_55_eeeeee_40x100.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_glass_100_f8f8f8_1x400.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_glass_35_dddddd_1x400.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_glass_60_eeeeee_1x400.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_inset-hard_75_999999_1x100.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-bg_inset-soft_50_c9c9c9_1x100.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-icons_3383bb_256x240.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-icons_454545_256x240.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-icons_70b2e1_256x240.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-icons_999999_256x240.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/images/ui-icons_fbc856_256x240.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/data-editor.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/editor.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/enum-field.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/jquery-1.6.2.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/jquery-ui-1.8.16.custom.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/list-field.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/number-field.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/scripts/text-field.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/styles/data-editor.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/data-editor/styles/jquery-ui-1.8.16.custom.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/editing-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/editing-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/editing-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/editing-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/scripts/data/editing-backend.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/scripts/extra.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/scripts/ui/editing-formatter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/scripts/ui/editing-lens.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/scripts/ui/lens.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/editing/styles/editing.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/freebase/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/freebase/freebase-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/freebase/freebase-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/freebase/freebase-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/freebase/scripts/freebase-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/freebase/scripts/metaweb.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/locales/de/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/locales/en/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/locales/es/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/locales/fr/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/locales/nl/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/locales/sv/map-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/map-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/map-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/map-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/map-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/scripts/map-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/scripts/olmap-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/scripts/vemap-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/styles/map-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/map/styles/olmap-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/locales/de/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/locales/en/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/locales/es/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/locales/fr/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/locales/nl/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/locales/sv/time-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/scripts/timeline-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/styles/timeline-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/time-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/time-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/time-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/time/time-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/locales/en/timeplot-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/locales/nl/timeplot-locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/scripts/timeplot-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/styles/timeplot-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/timeplot-extension-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/timeplot-extension-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/timeplot-extension-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/extensions/timeplot/timeplot-extension.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/arrow-left.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/arrow-right.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/black-check-no-border.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/black-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/blank-16x16.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/collapse.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/day-with-items-bkgrd.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/down-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/expand.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/gray-check-no-border.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/gray-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/left-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/liveclipboard-icon.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/map-marker-shadow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/message-bubble/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/message-bubble/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/message-bubble/message-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/message-bubble/message-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/message-bubble/message-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/message-bubble/message-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/month-header-left.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/month-header-right.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/no-check-no-border.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/no-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/option-check.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/option.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/progress-running.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/right-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/slider-handle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/slider-handle2.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/up-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/week-selector-active.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/images/week-selector.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/exhibit-de-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/de/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/exhibit-en-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/exhibit-no-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/en/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/exhibit-es-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/es/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/exhibit-fr-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/fr/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/exhibit-nl-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/nl/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/exhibit-no-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/no/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/exhibit-sv-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/sv/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/exhibit-zh-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/locale.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/data/database-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/exhibit-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/formatter-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/lens-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/ui-context-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/views/ordered-view-frame-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/views/tabular-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/views/thumbnail-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/views/tile-view-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/views/view-panel-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/ui/widgets/collection-summary-widget-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/util/coders-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/util/facets-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/locales/zh/scripts/util/views-l10n.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/manifest.json delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/authentication.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/create.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/collection.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/controls.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/database.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/exporters/bibtex-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/exporters/exhibit-json-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/exporters/facet-selection-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/exporters/rdf-xml-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/exporters/semantic-wikitext-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/exporters/tsv-exporter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/expression-parser.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/expression.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/functions.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/authenticated-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/babel-based-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/exhibit-json-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/html-table-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/json-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/jsonp-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/rdfa-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/tsv-csv-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/data/importers/xml-importer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/exhibit.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/persistence.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coders/color-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coders/color-gradient-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coders/default-color-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coders/icon-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coders/ordered-color-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coders/size-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coders/size-gradient-coder.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/coordinator.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/alpha-range-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/cloud-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/hierarchical-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/image-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/list-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/numeric-range-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/slider-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/slider.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/facets/text-search-facet.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/format-parser.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/formatter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/lens.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/ui-context.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/ui.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/views/html-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/views/ordered-view-frame.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/views/tabular-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/views/thumbnail-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/views/tile-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/views/view-panel.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/widgets/collection-summary-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/widgets/legend-gradient-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/widgets/legend-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/widgets/logo.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/widgets/option-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/widgets/resizable-div-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/ui/widgets/toolbox-widget.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/util/coders.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/util/facets.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/util/set.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/util/settings.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/util/util.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/scripts/util/views.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/browse-panel.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/exhibit.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/lens.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/util/facets.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/util/views.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/views/tabular-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/views/thumbnail-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/views/tile-view.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/views/view-panel.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/widgets/collection-summary-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/widgets/legend-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/widgets/option-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/widgets/resizable-div-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/exhibit/styles/widgets/toolbox-widget.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/LICENSE.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/compilations/timeline-en-compilation-debug.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/compilations/timeline-en-compilation-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/compilations/timeline-en-compilation.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/compilations/timeline-en-compilation.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/compile-epilog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/compile-prolog.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/geochrono/geochrono-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/geochrono/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/geochrono/scripts/geochrono.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/geochrono/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/geochrono/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/geochrono/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/planning/planning-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/planning/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/planning/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/planning/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/planning/scripts/planning.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/ext/planning/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-bottom-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-bottom.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-left-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-right-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-top-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/bubble-top.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/close-button.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/copyright-vertical.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/copyright.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/dark-blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/dark-green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/dark-red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/dull-blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/dull-green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/dull-red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/gray-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/message-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/message-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/message-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/message-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/progress-running.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/images/top-bubble.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/band.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/compact-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/decorators.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/detailed-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/ethers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/event-utils.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/ext/japanese-eras.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/cs/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/cs/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/de/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/de/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/en/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/es/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/es/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/fr/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/fr/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/it/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/it/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/nl/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/nl/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/pt_BR/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/pt_BR/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/ru/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/ru/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/se/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/se/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/tr/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/tr/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/vi/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/vi/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/zh/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/l10n/zh/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/original-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/overview-painter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/sources.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/themes.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/scripts/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/styles/ethers.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/styles/events.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/styles/timeline.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/timeline-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/timeline-bundle-debug.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/timeline-bundle-debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/timeline-bundle.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Exhibit_/timeline/api/timeline-bundle.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/SRF_Filtered.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/SRF_Filtered_Item.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Value.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/filters/SRF_Filtered_Filter.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.list-view.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.value-filter.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/skins/ext.srf.filtered.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/skins/ext.srf.filtered.value-filter.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/views/SRF_FV_List.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Filtered/views/SRF_Filtered_View.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/SRF_Gallery.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/resources/ext.srf.jcarousel.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/resources/images/next-horizontal.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/resources/images/next-vertical.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/resources/images/prev-horizontal.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/resources/images/prev-vertical.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Gallery/resources/jquery.jcarousel.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/GoogleCharts/README delete mode 100644 documentacion/extensions/SemanticResultFormats/GoogleCharts/SRF_GoogleBar.php delete mode 100644 documentacion/extensions/SemanticResultFormats/GoogleCharts/SRF_GooglePie.php delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/README delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/SRF_Graph.php delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/SRF_Process.php delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/detail_icon.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/discuss_icon.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/discuss_icon_grey.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/p000.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/p025.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/p050.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/p075.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/p100.png delete mode 100644 documentacion/extensions/SemanticResultFormats/GraphViz/images/subprocess.png delete mode 100644 documentacion/extensions/SemanticResultFormats/INSTALL delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/Jit/Extras/excanvas.js delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/Jit/jit-yc.js delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/Jit/jit.js delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/README delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/SRF_JitGraph.js delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/SRF_JitGraph.php delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/base.css delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/images/progressbar.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/images/progressbg_black.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/images/progressbg_green.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/images/progressbg_orange.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/images/progressbg_red.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/images/progressbg_yellow.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/JitGraph/jquery.progressbar.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Math/SRF_Math.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Outline/SRF_Outline.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/.giosave1Y4WNW delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/README delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/SRF_Ploticus.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/SRF_PloticusVBar.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/SRF_Ploticus_cleanCache.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/icons/barchart_16.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/icons/credits.txt delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/icons/csv_16.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/icons/reload_16.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/ploticus-addons/README delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/ploticus-addons/ploticus.config delete mode 100644 documentacion/extensions/SemanticResultFormats/Ploticus/ploticus-addons/prefabs/scat.pl delete mode 100644 documentacion/extensions/SemanticResultFormats/README delete mode 100644 documentacion/extensions/SemanticResultFormats/RELEASE-NOTES delete mode 100644 documentacion/extensions/SemanticResultFormats/SRF_Hooks.php delete mode 100644 documentacion/extensions/SemanticResultFormats/SRF_Magic.php delete mode 100644 documentacion/extensions/SemanticResultFormats/SRF_Messages.php delete mode 100644 documentacion/extensions/SemanticResultFormats/SRF_ParserFunctions.php delete mode 100644 documentacion/extensions/SemanticResultFormats/SRF_Resources.php delete mode 100644 documentacion/extensions/SemanticResultFormats/SRF_Settings.php delete mode 100644 documentacion/extensions/SemanticResultFormats/SemanticResultFormats.php delete mode 100644 documentacion/extensions/SemanticResultFormats/TagCloud/SRF_TagCloud.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/README delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SRF_Timeline.php delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SRF_timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/LICENSE delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/ext/geochrono/geochrono-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/ext/geochrono/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/ext/geochrono/scripts/geochrono.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/ext/geochrono/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/ext/geochrono/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/ext/geochrono/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-bottom-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-bottom.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-left-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-right-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-top-arrow.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/bubble-top.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/close-button.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/copyright-vertical.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/copyright.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/dark-blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/dark-green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/dark-red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/dull-blue-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/dull-green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/dull-red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/gray-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/green-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/message-bottom-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/message-bottom-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/message-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/message-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/message-top-left.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/message-top-right.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/progress-running.gif delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/red-circle.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/images/top-bubble.png delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/decorators.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/ether-painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/ethers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/ext/japanese-eras.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/en/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/en/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/es/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/es/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/fr/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/fr/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/it/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/it/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/ru/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/ru/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/se/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/se/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/vi/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/vi/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/zh/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/l10n/zh/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/labellers.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/layouts.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/painters.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/sources.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/themes.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/timeline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/units.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/util/data-structure.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/util/date-time.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/util/debug.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/util/dom.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/util/graphics.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/util/platform.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/scripts/util/xmlhttp.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/styles/ethers.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/styles/events.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/styles/timeline.css delete mode 100644 documentacion/extensions/SemanticResultFormats/Timeline/SimileTimeline/timeline-api.js delete mode 100644 documentacion/extensions/SemanticResultFormats/Tree/SRF_Tree.php delete mode 100644 documentacion/extensions/SemanticResultFormats/ValueRank/SRF_ValueRank.php delete mode 100644 documentacion/extensions/SemanticResultFormats/compat/Html.php delete mode 100644 documentacion/extensions/SemanticResultFormats/iCalendar/SRF_iCalendar.php delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/README delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/SRF_jqPlotBar.php delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/SRF_jqPlotPie.php delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/excanvas.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jqplot.barRenderer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jqplot.canvasAxisTickRenderer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jqplot.canvasTextRenderer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jqplot.categoryAxisRenderer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jqplot.pieRenderer.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jqplot.pointLabels.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jqplot.trendline.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jquery-1.4.2.min.js delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jquery.jqplot.css delete mode 100644 documentacion/extensions/SemanticResultFormats/jqPlot/jquery.jqplot.js delete mode 100644 documentacion/extensions/SemanticResultFormats/vCard/SRF_vCard.php delete mode 100644 documentacion/extensions/SimpleForms.php~ delete mode 100644 documentacion/extensions/SpamBlacklist/BaseBlacklist.php delete mode 100644 documentacion/extensions/SpamBlacklist/EmailBlacklist.php delete mode 100644 documentacion/extensions/SpamBlacklist/README delete mode 100644 documentacion/extensions/SpamBlacklist/SpamBlacklist.i18n.php delete mode 100644 documentacion/extensions/SpamBlacklist/SpamBlacklist.php delete mode 100644 documentacion/extensions/SpamBlacklist/SpamBlacklistHooks.php delete mode 100644 documentacion/extensions/SpamBlacklist/SpamBlacklist_body.php delete mode 100644 documentacion/extensions/SpamBlacklist/SpamRegexBatch.php delete mode 100644 documentacion/extensions/SpamBlacklist/cleanup.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/README delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.i18n.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/contrib/aliased.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/contrib/cssgen2.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/contrib/example.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/contrib/langcheck.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/BUGS delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/CHANGES delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/COPYING delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/README delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/THANKS delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/TODO delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/__filesource/fsource_geshi_core_geshi.php.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/blank.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/classtrees_geshi.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/elementindex.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/elementindex_geshi.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/errors.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/geshi/core/GeSHi.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/geshi/core/_geshi.php.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/index.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/li_geshi.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/banner.css delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractClass.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractClass_logo.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractMethod.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractPrivateClass.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractPrivateClass_logo.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/AbstractPrivateMethod.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Class.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Class_logo.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Constant.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Constructor.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Destructor.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Function.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Global.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/I.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Index.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Interface.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Interface_logo.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/L.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Lminus.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Lplus.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Method.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Page.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Page_logo.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateClass.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateClass_logo.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateMethod.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/PrivateVariable.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/StaticMethod.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/StaticVariable.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/T.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Tminus.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Tplus.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/Variable.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/blank.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/class_folder.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/empty.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/file.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/folder.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/function_folder.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/next_button.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/next_button_disabled.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/package.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/package_folder.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/previous_button.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/previous_button_disabled.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/private_class_logo.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/tutorial.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/tutorial_folder.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/images/up_button.png delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/media/stylesheet.css delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/packages.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/api/todolist.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/geshi-doc.html delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/geshi-doc.txt delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/docs/phpdoc.ini delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/4cs.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/abap.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/actionscript.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/actionscript3.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/ada.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/apache.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/applescript.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/apt_sources.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/asm.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/asp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/autoconf.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/autohotkey.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/autoit.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/avisynth.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/awk.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/bash.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/basic4gl.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/bf.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/bibtex.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/blitzbasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/bnf.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/boo.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/c.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/c_mac.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/caddcl.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cadlisp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cfdg.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cfm.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cil.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/clojure.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cmake.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cobol.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cpp-qt.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cpp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/csharp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/css.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/cuesheet.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/d.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/dcs.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/delphi.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/diff.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/div.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/dos.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/dot.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/ecmascript.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/eiffel.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/email.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/erlang.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/fo.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/fortran.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/freebasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/fsharp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/gambas.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/gdb.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/genero.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/gettext.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/glsl.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/gml.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/gnuplot.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/groovy.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/haskell.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/hq9plus.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/html4strict.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/idl.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/ini.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/inno.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/intercal.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/io.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/j.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/java.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/java5.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/javascript.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/jquery.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/kixtart.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/klonec.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/klonecpp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/latex.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/lisp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/locobasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/logtalk.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/lolcode.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/lotusformulas.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/lotusscript.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/lscript.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/lsl2.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/lua.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/m68k.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/make.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/mapbasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/matlab.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/mirc.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/mmix.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/modula3.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/mpasm.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/mxml.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/mysql.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/newlisp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/nsis.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/oberon2.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/objc.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/ocaml-brief.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/ocaml.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/oobas.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/oracle11.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/oracle8.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/oxygene.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/pascal.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/per.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/perl.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/perl6.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/pf.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/php-brief.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/php.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/pic16.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/pike.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/pixelbender.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/plsql.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/povray.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/powerbuilder.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/powershell.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/progress.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/prolog.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/properties.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/providex.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/purebasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/python.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/qbasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/rails.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/rebol.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/reg.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/robots.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/rsplus.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/ruby.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/sas.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/scala.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/scheme.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/scilab.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/sdlbasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/smalltalk.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/smarty.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/sql.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/systemverilog.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/tcl.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/teraterm.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/text.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/thinbasic.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/tsql.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/typoscript.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/vb.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/vbnet.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/verilog.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/vhdl.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/vim.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/visualfoxpro.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/visualprolog.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/whitespace.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/whois.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/winbatch.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/xml.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/xorg_conf.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/xpp.php delete mode 100644 documentacion/extensions/SyntaxHighlight_GeSHi/geshi/geshi/z80.php delete mode 100644 documentacion/extensions/Validator/COPYING delete mode 100644 documentacion/extensions/Validator/INSTALL delete mode 100644 documentacion/extensions/Validator/README delete mode 100644 documentacion/extensions/Validator/RELEASE-NOTES delete mode 100644 documentacion/extensions/Validator/Validator.hooks.php delete mode 100644 documentacion/extensions/Validator/Validator.i18n.magic.php delete mode 100644 documentacion/extensions/Validator/Validator.i18n.php delete mode 100644 documentacion/extensions/Validator/Validator.php delete mode 100644 documentacion/extensions/Validator/Validator_Settings.php delete mode 100644 documentacion/extensions/Validator/includes/CriterionValidationResult.php delete mode 100644 documentacion/extensions/Validator/includes/ItemParameterCriterion.php delete mode 100644 documentacion/extensions/Validator/includes/ItemParameterManipulation.php delete mode 100644 documentacion/extensions/Validator/includes/ListParameter.php delete mode 100644 documentacion/extensions/Validator/includes/ListParameterCriterion.php delete mode 100644 documentacion/extensions/Validator/includes/ListParameterManipulation.php delete mode 100644 documentacion/extensions/Validator/includes/Parameter.php delete mode 100644 documentacion/extensions/Validator/includes/ParameterCriterion.php delete mode 100644 documentacion/extensions/Validator/includes/ParameterInput.php delete mode 100644 documentacion/extensions/Validator/includes/ParameterManipulation.php delete mode 100644 documentacion/extensions/Validator/includes/ParserHook.php delete mode 100644 documentacion/extensions/Validator/includes/TopologicalSort.php delete mode 100644 documentacion/extensions/Validator/includes/ValidationError.php delete mode 100644 documentacion/extensions/Validator/includes/ValidationErrorHandler.php delete mode 100644 documentacion/extensions/Validator/includes/Validator.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionHasLength.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionInArray.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionInRange.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionIsFloat.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionIsInteger.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionIsNumeric.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionIsTitle.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionItemCount.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionMatchesRegex.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionNotEmpty.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionTrue.php delete mode 100644 documentacion/extensions/Validator/includes/criteria/CriterionUniqueItems.php delete mode 100644 documentacion/extensions/Validator/includes/manipulations/ParamManipulationBoolean.php delete mode 100644 documentacion/extensions/Validator/includes/manipulations/ParamManipulationFloat.php delete mode 100644 documentacion/extensions/Validator/includes/manipulations/ParamManipulationFunctions.php delete mode 100644 documentacion/extensions/Validator/includes/manipulations/ParamManipulationImplode.php delete mode 100644 documentacion/extensions/Validator/includes/manipulations/ParamManipulationInteger.php delete mode 100644 documentacion/extensions/Validator/includes/manipulations/ParamManipulationString.php delete mode 100644 documentacion/extensions/Validator/includes/manipulations/ParamManipulationTitle.php delete mode 100644 documentacion/extensions/Validator/includes/parserHooks/Validator_Describe.php delete mode 100644 documentacion/extensions/Validator/includes/parserHooks/Validator_ListErrors.php delete mode 100644 documentacion/extensions/Validator/test/ValidatorCriteriaTests.php delete mode 100644 documentacion/extensions/Vector/README delete mode 100644 documentacion/extensions/Vector/Vector.hooks.php delete mode 100644 documentacion/extensions/Vector/Vector.i18n.php delete mode 100644 documentacion/extensions/Vector/Vector.php delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.collapsibleNav.css delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.collapsibleNav.js delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.collapsibleTabs.js delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.editWarning.js delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.expandableSearch.css delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.expandableSearch.js delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.footerCleanup.css delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.footerCleanup.js delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.sectionEditLinks.css delete mode 100644 documentacion/extensions/Vector/modules/ext.vector.sectionEditLinks.js delete mode 100644 documentacion/extensions/Vector/modules/images/closed-ltr.png delete mode 100644 documentacion/extensions/Vector/modules/images/closed-rtl.png delete mode 100644 documentacion/extensions/Vector/modules/images/edit-faded.png delete mode 100644 documentacion/extensions/Vector/modules/images/edit.png delete mode 100644 documentacion/extensions/Vector/modules/images/open.png delete mode 100644 documentacion/extensions/Vector/modules/images/portal-break.png delete mode 100644 documentacion/extensions/Vector/modules/jquery.footerCollapsibleList.js delete mode 100644 documentacion/extensions/Vector/switchExperimentPrefs.php delete mode 100644 documentacion/extensions/WikiEditor/README delete mode 100644 documentacion/extensions/WikiEditor/WikiEditor.hooks.php delete mode 100644 documentacion/extensions/WikiEditor/WikiEditor.i18n.php delete mode 100644 documentacion/extensions/WikiEditor/WikiEditor.php delete mode 100644 documentacion/extensions/WikiEditor/modules/contentCollector.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.addMediaWizard.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.css delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.css delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.preview.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.publish.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templates.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toc.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js delete mode 100644 documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-error.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-exists.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-external-rtl.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-external.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-invalid.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-notexists.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/loading-small.gif delete mode 100644 documentacion/extensions/WikiEditor/modules/images/dialogs/loading.gif delete mode 100644 documentacion/extensions/WikiEditor/modules/images/templateEditor/collapse.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/templateEditor/dialog-collapsed.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/templateEditor/dialog-expanded.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/templateEditor/expand.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/templateEditor/name-base.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/templateEditor/text-base.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/templateEditor/wiki-text.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toc/close.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toc/grab.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toc/grip.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toc/open.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/arrow-down.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/arrow-ltr.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/arrow-rtl.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/base.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/button-sprite.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/example-image.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-big.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-A.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-B.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-F.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-G.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-N.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-P.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-V.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-ka.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-ru.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-indent-rtl.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-indent.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-A.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-C.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-D.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-I.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-K.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-ka.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-olist-rtl.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-olist.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-small.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-subscript.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-superscript.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-ulist-rtl.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/format-ulist.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-file.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-gallery.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-ilink.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-link.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-newline.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-nowiki.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-redirect-rtl.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-redirect.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-reference.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-signature.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-table.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/insert-xlink.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/loading-small.gif delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/loading.gif delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/magnify-clip.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/arrow-down.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/arrow-left.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/arrow-right.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-big.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-A.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-B.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-F.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-G.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-N.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-P.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-V.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-A.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-C.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-I.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-K.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-olist.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-small.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-subscript.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-superscript.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-ulist.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/generate.sh delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-file.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-gallery.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-link.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-newline.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-nowiki.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-redirect.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-reference.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-signature.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-table.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/png24/search-replace.png delete mode 100644 documentacion/extensions/WikiEditor/modules/images/toolbar/search-replace.png delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.css delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.config.css delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.config.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.css delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.html delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.preview.css delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.preview.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.previewDialog.css delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.previewDialog.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.publish.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.templateEditor.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.templates.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.toc.css delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.toc.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.config.js delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.css delete mode 100644 documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.js delete mode 100644 documentacion/extensions/WikiEditor/tests/selenium/WikiDialogs_Links.php delete mode 100644 documentacion/extensions/WikiEditor/tests/selenium/WikiDialogs_Links_Setup.php delete mode 100644 documentacion/extensions/WikiEditor/tests/selenium/WikiEditorConstants.php delete mode 100644 documentacion/extensions/WikiEditor/tests/selenium/WikiEditorSeleniumConfig.php delete mode 100644 documentacion/extensions/WikiEditor/tests/selenium/WikiEditorTestSuite.php delete mode 100644 documentacion/extensions/cmo.php delete mode 100644 documentacion/extensions/intersection/DynamicPageList.i18n.php delete mode 100644 documentacion/extensions/intersection/DynamicPageList.php delete mode 100644 documentacion/extensions/videoflash.php diff --git a/documentacion/extensions/CategoryBreadCrumbs.php b/documentacion/extensions/CategoryBreadCrumbs.php deleted file mode 100644 index 49ac0b4..0000000 --- a/documentacion/extensions/CategoryBreadCrumbs.php +++ /dev/null @@ -1,48 +0,0 @@ - 'Category Breadcrumb 24-07-2007', -'author' => 'Boudewijn Vahrmeijer', -'url' => 'http://www.leerwiki.nl/Hoofdpagina', -'version' => '1.11,1.10.1/1.9.3/1.9.2/1.8.2', -'description' => 'Category Breadcrumb for MediaWiki DMOZ style', -); - -$wgUseCategoryBrowser = true; - -// hook into Skintemplate.php -$wgHooks['SkinTemplateOutputPageBeforeExec'][] = array("wfBreadCrumbsDisplay"); - -function wfBreadCrumbsDisplay(&$q,&$p) { - global $wgOut,$wgArticle,$pathToRating; - - if ($wgArticle == null) return $out; - if ($wgArticle->getTitle()->mNamespace != 0) return $out; - - - // get category tree - $tree=explode('
',$q->getCategories()); - - // kill the ugly category box below the page - $p->set( 'catlinks', ''); - - // set tree on top of text and register into $tpl - $combine=$tree[1].$wgOut->mBodytext; - $p->setRef( 'bodytext', $combine ); - - return true; - -} - -?> diff --git a/documentacion/extensions/ConfirmEdit/Asirra.class.php b/documentacion/extensions/ConfirmEdit/Asirra.class.php deleted file mode 100644 index cbe51e2..0000000 --- a/documentacion/extensions/ConfirmEdit/Asirra.class.php +++ /dev/null @@ -1,55 +0,0 @@ -asirra_localpath = "$wgExtensionAssetsPath/ConfirmEdit"; - } - - function getForm() { - global $wgOut; - - $wgOut->addModules( 'ext.confirmedit.asirra' ); - $js = Html::linkedScript( $this->asirra_clientscript ); - - $message = Xml::encodeJsVar( wfMessage( 'asirra-createaccount-fail' )->plain() ); - $js .= Html::inlineScript( <<parse() . ''; - return $js; - } - - function getMessage( $action ) { - $name = 'asirra-' . $action; - $text = wfMessage( $name )->text(); - # Obtain a more tailored message, if possible, otherwise, fall - # back to the default for edits - return wfMessage( $name, $text )->isDisabled() ? wfMessage( 'asirra-edit' )->text() : $text; - } - - function passCaptcha() { - global $wgRequest; - - $ticket = $wgRequest->getVal( 'Asirra_Ticket' ); - $api = 'http://challenge.asirra.com/cgi/Asirra?'; - $params = array( - 'action' => 'ValidateTicket', - 'ticket' => $ticket, - ); - - $response = Http::get( $api . wfArrayToCgi( $params ) ); - $xml = simplexml_load_string( $response ); - $result = $xml->xpath( '/AsirraValidation/Result' ); - return strval( $result[0] ) === 'Pass'; - } -} diff --git a/documentacion/extensions/ConfirmEdit/Asirra.i18n.php b/documentacion/extensions/ConfirmEdit/Asirra.i18n.php deleted file mode 100644 index 7329a83..0000000 --- a/documentacion/extensions/ConfirmEdit/Asirra.i18n.php +++ /dev/null @@ -1,415 +0,0 @@ - 'Asirra module for ConfirmEdit', - 'asirra-edit' => 'To help protect against automated edit spam, please select just the cat photos in the box below:', - 'asirra-addurl' => 'Your edit includes new external links. To help protect against automated spam, please select just the cat photos in the box below:', - 'asirra-badpass' => 'To help protect against automated password cracking, please select just the cat photos in the box below:', - 'asirra-createaccount' => 'To help protect against automated account creation, please select just the cat photos in the box below:', - 'asirra-createaccount-fail' => "Please correctly identify the cats.", - 'asirra-create' => 'To help protect against automated page creation, please select just the cat photos in the box below:', - 'asirra-nojs' => '\'\'\'Please enable JavaScript and resubmit the page.\'\'\'', - 'asirra-failed' => 'Please identify all cat images', -); - -/** Message documentation (Message documentation) - * @author 2nd-player - * @author Beta16 - */ -$messages['qqq'] = array( - 'asirra-desc' => '{{desc}}', - 'asirra-edit' => 'See also -*{{msg-mw|Captcha-edit}} -*{{msg-mw|Questycaptcha-edit}} -*{{msg-mw|Fancycaptcha-edit}} -*{{msg-mw|Recaptcha-edit}}', - 'asirra-addurl' => 'See also -*{{msg-mw|Captcha-addurl}} -*{{msg-mw|Questycaptcha-addurl}} -*{{msg-mw|Fancycaptcha-addurl}} -*{{msg-mw|Recaptcha-addurl}}', - 'asirra-badpass' => 'See also -*{{msg-mw|Captcha-badlogin}} -*{{msg-mw|Questycaptcha-badlogin}} -*{{msg-mw|Fancycaptcha-badlogin}} -*{{msg-mw|Recaptcha-badpass}}', - 'asirra-createaccount' => 'See also -*{{msg-mw|Captcha-createaccount}} -*{{msg-mw|Questycaptcha-createaccount}} -*{{msg-mw|Fancycaptcha-createaccount}} -*{{msg-mw|Recaptcha-createaccount}}', -); - -/** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎) - * @author EugeneZelenko - * @author Jim-by - * @author Wizardist - */ -$messages['be-tarask'] = array( - 'asirra-desc' => 'Модуль Asirra для ConfirmEdit', - 'asirra-edit' => 'Для абароны супраць спаму, калі ласка, выберыце толькі фота з катом ў полі ніжэй:', - 'asirra-addurl' => 'Вашае рэдагаваньне ўтрымлівае новыя вонкавыя спасылкі. Для абароны супраць спаму, калі ласка, выберыце толькі фота з катом ў полі ніжэй:', - 'asirra-badpass' => 'Для абароны супраць аўтаматычнага падбору паролю, калі ласка, выберыце толькі фота з катом ў полі ніжэй:', - 'asirra-createaccount' => 'Для абароны супраць аўтаматычнага стварэньня рахункаў, калі ласка, выберыце толькі фота з катом ў полі ніжэй:', - 'asirra-createaccount-fail' => 'Калі ласка, слушна выберыце катоў.', - 'asirra-create' => 'Для абароны супраць аўтаматычнага стварэньня старонак, калі ласка, выберыце толькі фота з катом ў полі ніжэй:', - 'asirra-nojs' => "'''Калі ласка, дазвольце JavaScript і дашліце старонку зноў.'''", - 'asirra-failed' => 'Калі ласка, вызначце ўсе выявы з катамі', -); - -/** German (Deutsch) - * @author Kghbln - */ -$messages['de'] = array( - 'asirra-desc' => 'Ermöglicht die Nutzung des Anti-Spam-Moduls Asirra', - 'asirra-edit' => 'Zum Schutz vor automatisiertem Spam bitten wir dich, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-addurl' => 'Deine Bearbeitung enthält neue externe Links. Zum Schutz vor automatisiertem Spam bitten wir dich, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-badpass' => 'Zum Schutz gegen automatisiertes Knacken von Passwörtern bitten wir dich, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-createaccount' => 'Zum Schutz gegen automatisiertes Erstellen von Benutzerkonten bitten wir dich, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-createaccount-fail' => 'Bitte wähle nur die Fotos mit Katzen aus.', - 'asirra-create' => 'Zum Schutz gegen automatisiertes Erstellen von Seiten bitten wir dich, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-nojs' => "'''Bitte JavaScript aktivieren und die Seiten nochmals Speichern.'''", - 'asirra-failed' => 'Bitte wähle nur die Fotos mit Katzen aus.', -); - -/** German (formal address) (Deutsch (Sie-Form)‎) - * @author Kghbln - */ -$messages['de-formal'] = array( - 'asirra-addurl' => 'Ihre Bearbeitung enthält neue externe Links. Zum Schutz vor automatisiertem Spam bitten wir Sie, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-badpass' => 'Zum Schutz gegen automatisiertes Knacken von Passwörtern bitten wir Sie, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-createaccount' => 'Zum Schutz gegen automatisiertes Erstellen von Benutzerkonten bitten wir Sie, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-createaccount-fail' => 'Bitte wählen Sie nur die Fotos mit Katzen aus.', - 'asirra-create' => 'Zum Schutz gegen automatisiertes Erstellen von Seiten bitten wir Sie, nur die Fotos mit Katzen im untenstehenden Feld auszuwählen:', - 'asirra-failed' => 'Bitte wählen Sie nur die Fotos mit Katzen aus.', -); - -/** Zazaki (Zazaki) - * @author Erdemaslancan - */ -$messages['diq'] = array( - 'asirra-desc' => 'Qandê Asirra modulê RaştkerdenVurnen', -); - -/** Spanish (español) - * @author Armando-Martin - */ -$messages['es'] = array( - 'asirra-desc' => 'Módulo de Asirra para ConfirmEdit', - 'asirra-edit' => 'Para ayudar a protegernos contra el spam de edición automática, seleccione sólo las fotos de gatos en el cuadro siguiente:', - 'asirra-addurl' => 'Su edición incluye nuevos enlaces externos. Para ayudar a protegernos contra el spam automatizado, por favor, seleccione solo las fotos de gato en el cuadro siguiente:', - 'asirra-badpass' => 'Para ayudar a protegernos del robo automatizado de contraseñas, seleccione sólo las fotos de gatos en el cuadro siguiente:', - 'asirra-createaccount' => 'Para ayudar a protegernos contra la creación automatizada de cuentas, seleccione sólo las fotos de gato en el cuadro siguiente:', - 'asirra-createaccount-fail' => 'Identifique correctamente los gatos.', - 'asirra-create' => 'Para ayudar a protegernos contra la creación automática de páginas, seleccione sólo las fotos de gato en el cuadro siguiente:', - 'asirra-nojs' => "'''Por favor active JavaScript y vuelva a la página.'''", - 'asirra-failed' => 'Identifique todas las imágenes de gatos', -); - -/** French (français) - * @author Gomoko - * @author Seb35 - */ -$messages['fr'] = array( - 'asirra-desc' => 'Module Asirra pour ConfirmEdit', - 'asirra-edit' => 'Pour aider à nous protéger contre le spam d’édition automatique, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :', - 'asirra-addurl' => 'Votre édition contient des liens externes. Pour nous aider à nous protéger contre le spam automatique, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :', - 'asirra-badpass' => 'Pour nous aider à nous protéger des essais automatiques de cassage de mot de passe, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :', - 'asirra-createaccount' => 'Pour nous aider à nous protéger contre la création automatique de comptes, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :', - 'asirra-createaccount-fail' => 'Veuillez identifier correctement les chats.', - 'asirra-create' => 'Pour nous aider à nous protéger contre la création automatique de pages, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :', - 'asirra-nojs' => "'''Veuillez activer le JavaScript et re-soumettre la page.'''", - 'asirra-failed' => 'Veuillez identifier toutes les images de chat', -); - -/** Galician (galego) - * @author Toliño - */ -$messages['gl'] = array( - 'asirra-desc' => 'Módulo Asirra para ConfirmEdit', - 'asirra-edit' => 'Para axudarnos á protección contra o spam, seleccione só as fotos de gatos na caixa:', - 'asirra-addurl' => 'A súa edición inclúe novas ligazóns externas. Para axudar na protección contra o spam automático, seleccione só as fotos de gatos na caixa:', - 'asirra-badpass' => 'Para axudarnos á protección contra o roubo de contrasinais, seleccione só as fotos de gatos na caixa:', - 'asirra-createaccount' => 'Para axudarnos á protección contra a creación automática de contas, seleccione só as fotos de gatos na caixa:', - 'asirra-createaccount-fail' => 'Identifique correctamente os gatos.', - 'asirra-create' => 'Para axudarnos á protección contra a creación automática de páxinas, seleccione só as fotos de gatos na caixa:', - 'asirra-nojs' => "'''Active o JavaScript e volva enviar a páxina.'''", - 'asirra-failed' => 'Identifique todas as fotos de gatos', -); - -/** Upper Sorbian (hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'asirra-desc' => 'Modul Asirra za ConfirmEdit', - 'asirra-edit' => 'Za škit přećiwo awtomatizowanemu spamej, prošu wubjer jenož fota kóčkow w slědowacym polu:', - 'asirra-addurl' => 'Twoja změna wobsahuje nowe eksterne wotkazy. Za škit přećiwo awtomatizowanemu spamej, prošu wubjer jenož fota kóčkow w slědowacym polu:', - 'asirra-badpass' => 'Za škit přećiwo awtomatizowanemu złamanju hesłow, prošu wubjer jenož fota kóčkow w slědowacym polu:', - 'asirra-createaccount' => 'Za škit přećiwo awtomatiskemu wutworjenju konta, prošu wubjer jenož fota kóčkow w slědowacym polu:', - 'asirra-createaccount-fail' => 'Prošu identifikuj kóčki.', - 'asirra-create' => 'Za škit přećiwo awtomatiskemu wutworjenju strony, prošu wubjer jenož fota kóčkow w slědowacym polu:', - 'asirra-nojs' => "'''Prošu zmóžń JavaScript a składuj stronu hišće raz.'''", - 'asirra-failed' => 'Prošu identifikuj wšě wobrazy z kóčkami', -); - -/** Interlingua (interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'asirra-desc' => 'Modulo de Asirra pro ConfirmEdit', - 'asirra-edit' => 'Pro adjutar a proteger nos contra le spam automatisate, per favor selige solmente le photos de cattos in le quadro sequente:', - 'asirra-addurl' => 'Iste modification include nove ligamines externe. Pro adjutar a proteger nos contra le spam automatisate, per favor selige solmente le photos de cattos in le quadro sequente:', - 'asirra-badpass' => 'Pro adjutar a proteger nos contra le furto automatisate de contrasignos, per favor selige solmente le photos de catto in le quadro sequente:', - 'asirra-createaccount' => 'Pro adjutar a proteger nos contra le creation automatisate de contos, per favor selige solmente le photos de cattos in le quadro sequente:', - 'asirra-createaccount-fail' => 'Per favor identifica correctemente le cattos.', - 'asirra-create' => 'Pro adjutar a proteger nos contra le creation automatisate de paginas, per favor selige solmente le photos de cattos in le quadro sequente:', - 'asirra-nojs' => "'''Per favor activa JavaScript e resubmitte le pagina.'''", - 'asirra-failed' => 'Per favor identifica tote le imagines de cattos', -); - -/** Italian (italiano) - * @author Beta16 - */ -$messages['it'] = array( - 'asirra-desc' => 'Modulo ASIRRA per ConfirmEdit', - 'asirra-edit' => 'Per aiutarci a proteggerci dalle modifiche automatiche che aggiungono spam, seleziona solo le foto di gatti nel riquadro sottostante:', - 'asirra-addurl' => 'La tua modifica aggiunge qualche nuovo collegamento esterno. Per aiutarci a proteggerci dallo spam automatico, seleziona solo le foto di gatti nel riquadro sottostante:', - 'asirra-badpass' => 'Per aiutarci a proteggerci dalla forzatura automatica delle password, seleziona solo le foto di gatti nel riquadro sottostante:', - 'asirra-createaccount' => 'Per aiutarci a proteggerci dalla creazione automatica di nuovi accessi, seleziona solo le foto di gatti nel riquadro sottostante:', - 'asirra-createaccount-fail' => 'Identifica correttamente i gatti.', - 'asirra-create' => 'Per aiutarci a proteggerci dalla creazione automatica di pagine, seleziona solo le foto di gatti nel riquadro sottostante:', - 'asirra-nojs' => "'''Attiva JavaScript ed invia di nuovo la pagina.'''", - 'asirra-failed' => 'Identifica tutte le immagini di gatti', -); - -/** Japanese (日本語) - * @author 2nd-player - * @author Shirayuki - */ -$messages['ja'] = array( - 'asirra-desc' => 'ConfirmEdit 用 Asirra モジュール', - 'asirra-edit' => '自動編集のスパム攻撃を防ぐため、猫が写っている画像を以下から選択してください:', - 'asirra-addurl' => 'あなたは新しい外部リンクを追加しようとしています。自動でのスパム攻撃を防ぐため、猫が写っている画像を以下から選択してください:', - 'asirra-badpass' => '自動でのパスワードクラック攻撃を防ぐため、猫が写っている画像を以下から選択してください:', - 'asirra-createaccount' => 'アカウントの自動登録を防ぐため、猫が写っている画像を以下から選択してください:', - 'asirra-createaccount-fail' => '猫を正しく選択してください。', - 'asirra-create' => 'ページの自動作成を防ぐため、猫が写っている画像を以下から選択してください:', - 'asirra-nojs' => "'''JavaScript を有効にしてページを再読込してください。'''", - 'asirra-failed' => '猫が写っている画像をすべて選択してください', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'asirra-desc' => 'Dä Zohsaz Asirra för et Zohsazprojramm ConfirmEdit.', - 'asirra-edit' => 'Heh dat Wiki well sesch jääje SPAM schöze. Dröm moß mer beim Ändere noch en Prööfong aflääje, dat mer ene Minsch un kei Projramm es. Söhk bloß de Katzebelder em Kaßte us:', - 'asirra-addurl' => 'Heh dat Wiki well sesch jääje SPAM schöze. Dröm moß mer, wam_mer lengks noh ußerhallef enfööje well, noch en Prööfong aflääje, dat mer ene Minsch un kei Projramm es. Söhk bloß de Katzebelder em Kaßte us:', - 'asirra-badpass' => 'Heh dat Wiki well sesch jääje et automattesche Paßwoot_Knacke schöze. Dröm moß mer heh nor_en Prööfong aflääje, dat mer ene Minsch un kei Projramm es. Söhk bloß de Katzebelder em Kaßte us:', - 'asirra-createaccount' => 'Heh dat Wiki well sesch jääje automattesch aanjelaate „Metmaacher“ schöze. Dröm moß mer heh nor_en Prööfong aflääje, dat mer ene Minsch un kei Projramm es. Söhk bloß de Katzebelder em Kaßte us:', - 'asirra-createaccount-fail' => 'Bes esu jood un don de Kazebelder ußwähle.', - 'asirra-create' => 'Heh dat Wiki well sesch jääje automattesch neu aanjelaate Sigge schöze. Dröm moß mer heh nor_en Prööfong aflääje, dat mer ene Minsch un kei Projramm es. Söhk bloß de Katzebelder em Kaßte us:', - 'asirra-nojs' => "'''Bes esu jood un donn JavaSkrep en Dingem Brauser aanschallde un scheck heh di Sigg norr_ens af.'''", - 'asirra-failed' => 'Bes esu jood un don all de Kazebelder ußwähle.', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Robby - */ -$messages['lb'] = array( - 'asirra-desc' => 'Asirra-Modul fir ConfirmEdit', - 'asirra-addurl' => "An Ärer Ännerung sinn nei extern Linken. Fir ze hëllefe géint automatiséierte Spam virzegoen, sicht w.e.g. d'Kategorie vun de Fotoen an der Këscht ënnendrënner eraus:", - 'asirra-createaccount-fail' => "Identifizéiert d'Kaze w.e.g. richteg.", - 'asirra-nojs' => "'''Aktivéiert w.e.g. JavaScript a schéckt d'Säit nachemol.'''", - 'asirra-failed' => 'Identifizéiert w.e.g. all Biller wou Kazen drop sinn', -); - -/** Macedonian (македонски) - * @author Bjankuloski06 - */ -$messages['mk'] = array( - 'asirra-desc' => 'Asirra-модул за ПотврдиУредување', - 'asirra-edit' => 'Како заштитна мерка против автоматизиран спам, изберете ги само сликите со мачка прикажани во полето:', - 'asirra-addurl' => 'Во вашите измени има нови надворешни врски. Како заштитна мерка против автоматизиран спам, изберете ги само сликите со мачка прикажани во полето:', - 'asirra-badpass' => 'Како заштитна мерка против автоматизирано провалување на лозинки, изберете ги само сликите со мачка прикажани во полето:', - 'asirra-createaccount' => 'Како заштитна мерка против автоматизирано создавање на сметки, изберете ги само сликите со мачка прикажани во полето:', - 'asirra-createaccount-fail' => 'Посочете кои од следниве се мачки.', - 'asirra-create' => 'Како заштитна мерка против автоматизирано создавање на страници, изберете ги само сликите со мачка прикажани во полето:', - 'asirra-nojs' => "'''Овозможете JavaScript и поднесете ја страницата повторно.'''", - 'asirra-failed' => 'Изберете ги сликите што имаат мачка', -); - -/** Maltese (Malti) - * @author Chrisportelli - */ -$messages['mt'] = array( - 'asirra-desc' => 'Modulu ASIRRA għal ConfirmEdit', - 'asirra-edit' => "Sabiex tgħinna nipproteġu kontra l-modifiki li jżidu spam, jekk jogħġbok agħżel ir-ritratti tal-qtates fil-kaxxa t'hawn taħt:", - 'asirra-addurl' => "Il-modifika tiegħek tinkludi ħoloq esterni ġodda. Sabiex tipproteġi kontra spam awtomatiku, jekk jogħġbok agħżel ir-ritratti tal-qtates fil-kaxxa t'hawn taħt:", - 'asirra-badpass' => "Sabiex tgħinna nipproteġu kontra l-infurzar awtomatiku tal-passwords, jekk jogħġbok agħżel ir-ritratti tal-qtates fil-kaxxa t'hawn taħt:", - 'asirra-createaccount' => "Sabiex tgħinna nipproteġu kontra l-ħolqien awtomatiku ta' kontijiet ġodda, jekk jogħġbok agħżel ir-ritratti tal-qtates fil-kaxxa t'hawn taħt:", - 'asirra-createaccount-fail' => 'Sib il-qtates.', - 'asirra-create' => "Sabiex tgħinna nipproteġu kontra l-ħolqien awtomatiku ta' paġni, jekk jogħġbok agħżel ir-ritratti tal-qtates fil-kaxxa t'hawn taħt:", - 'asirra-nojs' => "'''Jekk jogħġbok attiva l-JavaScript u erġa' ibgħat din il-paġna.'''", - 'asirra-failed' => 'Sib l-istampi kollha tal-qtates', -); - -/** Norwegian Bokmål (norsk (bokmål)‎) - * @author Event - */ -$messages['nb'] = array( - 'asirra-desc' => 'Assirra-modulen for ConfirmEdit', - 'asirra-edit' => 'Som beskyttelse mot automatisk redigert spam, vennligst velg kun kattebildene i boksen under:', - 'asirra-addurl' => 'Din redigering inneholder nye eksterne lenker. Som beskyttelse mot automatisk redigert spam, vennligst velg kun kattebildene i boksen under:', - 'asirra-badpass' => 'Som beskyttelse mot automatisk passordknekking, vennligst velg kun kattebildene i boksen under:', - 'asirra-createaccount' => 'Som beskyttelse mot automatisk opprettelse av brukerkonto, vennligst velg kun kattebildene i boksen under:', - 'asirra-createaccount-fail' => 'Vennligst angi hva som er katter.', - 'asirra-create' => 'Som beskyttelse mot automatisk opprettelse av sider, vennligst velg kun kattebildene i boksen under:', - 'asirra-nojs' => "'''Vennligst åpne for JavaScript og lagre siden en gang til.'''", -); - -/** Dutch (Nederlands) - * @author SPQRobin - * @author Siebrand - */ -$messages['nl'] = array( - 'asirra-desc' => 'Asirra-module voor ConfirmEdit', - 'asirra-edit' => 'Kies ter bescherming tegen geautomatiseerde spam de afbeeldingen met een poes in het onderstaande venster:', - 'asirra-addurl' => "Uw bewerking bevat nieuwe externe verwijzingen. Om te helpen beschermen tegen geautomatiseerde spam, selecteer de foto's van katten in het vak hieronder:", - 'asirra-badpass' => 'Kies ter bescherming tegen het automatisch kraken van wachtwoorden de afbeeldingen met een poes in het onderstaande venster:', - 'asirra-createaccount' => 'Kies om het automatisch aanmaken van gebruikers tegen te gaan de afbeeldingen met een poes in het onderstaande venster:', - 'asirra-createaccount-fail' => 'Identificeer de katten juist.', - 'asirra-create' => "Kies om het automatisch aanmaken van pagina's tegen te gaan de afbeeldingen met een poes in het onderstaande venster:", - 'asirra-nojs' => "'''Schakel JavaScript in en probeer de pagina opnieuw op te slaan.'''", - 'asirra-failed' => 'Identificeer alle afbeeldingen van katten.', -); - -/** Polish (polski) - * @author BeginaFelicysym - */ -$messages['pl'] = array( - 'asirra-desc' => 'Moduł Asirra dla ConfirmEdit', - 'asirra-edit' => 'Aby uchronić się przed automatami wprowadzającymi spam, proszę wybrać tylko zdjęcia kotów w poniższym polu:', - 'asirra-addurl' => 'Wprowadzony przez ciebie tekst zawiera linki zewnętrzne. Aby uchronić nas przed automatycznym spamem, proszę wskazać tylko zdjęcia kotów w poniższym polu:', - 'asirra-badpass' => 'Aby uchronić się przed zautomatyzowanym łamaniem haseł, proszę wybrać tylko zdjęcia kotów w poniższym polu:', - 'asirra-createaccount' => 'Aby uchronić się przed automatycznym tworzeniem kont, proszę wybrać tylko zdjęcia kotów w poniższym polu:', - 'asirra-createaccount-fail' => 'Prosimy prawidłowo zidentyfikować koty.', - 'asirra-create' => 'Aby uchronić się przed automatycznym tworzeniem stron, proszę wybrać tylko zdjęcia kotów w poniższym polu:', - 'asirra-nojs' => "'''Prosimy włączyć obsługę języka JavaScript i ponowne przesłanie strony.'''", - 'asirra-failed' => 'Prosimy wskazać wszystkie obrazy kotów', -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Dragonòt - */ -$messages['pms'] = array( - 'asirra-desc' => 'Mòdul Asirra për ConfirmEdit', - 'asirra-edit' => "Për giuté a protege contra la rumenta dle modìfiche automàtiche, për piasì ch'a selession-a mach le fòto ëd gat ant ël quàder sì-sota:", - 'asirra-addurl' => "Soa modìfica a conten dle liure esterne neuve. Për giuté a protege contra la rumenta dle modìfiche automàtiche, për piasì ch'a selession-a mach le fòto ëd gat ant ël quàder sì-sota:", - 'asirra-badpass' => "Për giuté a protege contra la forsadura automatisà ëd le ciav, për piasì ch'a selession-a mach la fòto dël gat ant ël quàder sì-sota:", - 'asirra-createaccount' => "Për giuté a protege contra la creassion automatisà ëd cont, për piasì ch'a selession-a mach la fòto dël gat ant ël quàder sì-sota:", - 'asirra-createaccount-fail' => 'Për piasì identifica coretament ij gat.', - 'asirra-create' => "Për giuté a protege contra la creassion automatisà ëd pàgine, për piasì ch'a selession-a mach le fòto ëd gat ant ël quàder sì-sota:", - 'asirra-nojs' => "'''Për piasì, ch'a abìlita JavaScript e ch'a spedissa torna la pàgina.'''", - 'asirra-failed' => 'Për piasì identìfica tute le figure ëd gat', -); - -/** Portuguese (português) - * @author Hamilton Abreu - */ -$messages['pt'] = array( - 'asirra-desc' => 'Módulo Asirra para o ConfirmEdit', - 'asirra-edit' => "Como prevenção contra sistemas automatizados de inserção de ''spam'', seleccione só as fotografias de gatos na caixa abaixo:", - 'asirra-addurl' => "A sua edição contém links externos novos. Como prevenção contra sistemas automatizados de inserção de ''spam'', seleccione só as fotografias de gatos na caixa abaixo:", - 'asirra-badpass' => 'Como prevenção com sistemas automatizados de descoberta de palavras-chave, seleccione só as fotografias de gatos na caixa abaixo:', - 'asirra-createaccount' => 'Como prevenção contra sistemas automatizados de criação de contas, seleccione só as fotografias de gatos na caixa abaixo:', - 'asirra-createaccount-fail' => 'Identifique correctamente os gatos, por favor.', - 'asirra-create' => 'Como prevenção contra sistemas automatizados de criação de páginas, seleccione só as fotografias de gatos na caixa abaixo:', - 'asirra-nojs' => "'''Possibilite o uso de JavaScript e reenvie a página, por favor.'''", -); - -/** Russian (русский) - * @author DCamer - */ -$messages['ru'] = array( - 'asirra-desc' => 'Модуль Asirra для ConfirmEdit', - 'asirra-edit' => 'В целях защиты от автоматического спама в правках, пожалуйста, выберите фотографии кота, которые вы видите ниже:', - 'asirra-addurl' => 'Ваша правка содержит новые внешние ссылки. В целях защиты от автоматического спама, пожалуйста, выберите фотографии кота, которые вы видите ниже:', - 'asirra-badpass' => 'В целях защиты от автоматического подбора пароля, пожалуйста, выберите фотографии кота, которые вы видите ниже:', - 'asirra-createaccount' => 'В целях защиты от автоматического создания учётных записей, пожалуйста, выберите фотографии кота, которые вы видите ниже:', - 'asirra-createaccount-fail' => 'Пожалуйста правильно идентифицируйте котов.', - 'asirra-create' => 'В целях защиты от автоматического создания страниц, пожалуйста, выберите фотографии кота, которые вы видите ниже:', - 'asirra-nojs' => "'''Пожалуйста, включите JavaScript и обновите страницу.'''", - 'asirra-failed' => 'Пожалуйста, идентифицируйте все фотографии кота', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'asirra-desc' => 'Modyul ng Asirra para sa ConfirmEdit', - 'asirra-edit' => 'Upang makatulong sa pagprutekta laban sa kusang basurang pamamatnugot, paki piliin iyong mga litrato lamang ng pusa na nasa loob ng kahong nasa ibaba:', - 'asirra-addurl' => 'Ang pagbabago mo ay nagsasama ng bagong panlabas na mga kawing. Upang makatulong sa pagprutekta laban sa kusang paglusob ng basurang-liham, paki piliin iyong mga litrato lamang ng pusa na nasa loob ng kahong nasa ibaba:', - 'asirra-badpass' => 'Upang makatulong sa pagprutekta laban sa kusang pag-alam ng hudyat, paki piliin lamang iyong mga litrato ng pusa na nasa loob ng kahong nasa ibaba:', - 'asirra-createaccount' => 'Upang makatulong sa pagprutekta laban sa kusang paglikha ng akawnt, paki piliin lamang iyong mga litrato ng pusa na nasa loob ng kahong nasa ibaba:', - 'asirra-createaccount-fail' => 'Paki kilalanin ng tama ang mga pusa.', - 'asirra-create' => 'Upang makatulong sa pagprutekta laban sa kusang paglikha ng pahina, paki piliin lamang iyong mga litrato ng pusa na nasa loob ng kahong nasa ibaba:', - 'asirra-nojs' => "'''Paki paganahin ang JavaScript at muling ipasa ang pahina.'''", - 'asirra-failed' => 'Paki kilalanin ang lahat ng mga imahe ng pusa', -); - -/** Walloon (walon) - * @author Srtxg - */ -$messages['wa'] = array( - 'asirra-desc' => "Module Asirra pol passete d' acertinaedje des candjmints (ConfirmEdit)", - 'asirra-edit' => "Po s' mete a houte des des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tchoezixhoz seulmint les imådjes avou des tchets e l' boesse chal pa dzo:", - 'asirra-addurl' => "Dins vos candjmints i gn a des dfoûtrinnès hårdêyes (URL). -Po s' mete a houte des des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tchoezixhoz seulmint les imådjes avou des tchets e l' boesse chal pa dzo:", - 'asirra-badpass' => "Po s' mete a houte des des robots ki sayèt d' adviner les screts, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tchoezixhoz seulmint les imådjes avou des tchets e l' boesse chal pa dzo:", - 'asirra-createaccount' => "Po s' mete a houte des des robots k' ahivèt des contes otomaticmint, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tchoezixhoz seulmint les imådjes avou des tchets e l' boesse chal pa dzo:", - 'asirra-createaccount-fail' => 'Tchoezixhoz comifåt les tchets (les biesses ki gnawèt).', - 'asirra-create' => "Po s' mete a houte des des robots k' ahivèt des pådjes otomaticmint, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tchoezixhoz seulmint les imådjes avou des tchets e l' boesse chal pa dzo:", - 'asirra-nojs' => "'''Metoz s' i vs plait en alaedje li JavaScrit et s' revoyî l' pådje.'''", - 'asirra-failed' => 'Idintifyî totes les imådjes avou des tchets', -); - -/** Simplified Chinese (中文(简体)‎) - * @author Hzy980512 - */ -$messages['zh-hans'] = array( - 'asirra-desc' => 'ConfirmEdit的Asirra模块', - 'asirra-edit' => '为了防止垃圾编辑攻击,请在下面的方框中选出猫的图片:', - 'asirra-addurl' => '您的编辑包含新的外部链接。为了帮助防止自动垃圾邮件,请在下面的方框中选出猫的图片:', - 'asirra-badpass' => '为防止自动程序破解密码,请在下面的方框中选出猫的图片:', - 'asirra-createaccount' => '为了防止自动程序创建帐户,请在下面的方框中选出猫的图片:', - 'asirra-createaccount-fail' => '请正确辨认出猫的图片。', - 'asirra-create' => '为了防止自动程序创建页面,请在下面的方框中选出猫的图片:', - 'asirra-nojs' => "'''请启动JavaScript后再提交页面。'''", - 'asirra-failed' => '请选出所有猫的图片', -); - -/** Traditional Chinese (中文(繁體)‎) */ -$messages['zh-hant'] = array( - 'asirra-desc' => 'ConfirmEdit的Asirra模塊', - 'asirra-edit' => '為了防止垃圾編輯攻擊,請在下面的方框中選出貓的圖片:', - 'asirra-addurl' => '您的編輯包含新的外部鏈接。為了幫助防止自動垃圾郵件,請在下面的方框中選出貓的圖片:', - 'asirra-badpass' => '為防止自動程序破解密碼,請在下面的方框中選出貓的圖片:', - 'asirra-createaccount' => '為了防止自動程序創建帳戶,請在下面的方框中選出貓的圖片:', - 'asirra-createaccount-fail' => '請正確辨認出貓的圖片。', - 'asirra-create' => '為了防止自動程序創建頁面,請在下面的方框中選出貓的圖片:', - 'asirra-nojs' => "'''請啟動JavaScript後再提交頁面。'''", - 'asirra-failed' => '請選出所有貓的圖片', -); - diff --git a/documentacion/extensions/ConfirmEdit/Asirra.php b/documentacion/extensions/ConfirmEdit/Asirra.php deleted file mode 100644 index ff4cee9..0000000 --- a/documentacion/extensions/ConfirmEdit/Asirra.php +++ /dev/null @@ -1,42 +0,0 @@ - $dir, - 'remoteExtPath' => 'ConfirmEdit', - 'scripts' => 'ext.confirmedit.asirra.js', - 'messages' => array( - 'asirra-failed', - ), -); - diff --git a/documentacion/extensions/ConfirmEdit/Captcha.php b/documentacion/extensions/ConfirmEdit/Captcha.php deleted file mode 100644 index 0f78d36..0000000 --- a/documentacion/extensions/ConfirmEdit/Captcha.php +++ /dev/null @@ -1,727 +0,0 @@ - $test, 'answer' => $answer ); - } - - function addCaptchaAPI( &$resultArr ) { - $captcha = $this->getCaptcha(); - $index = $this->storeCaptcha( $captcha ); - $resultArr['captcha']['type'] = 'simple'; - $resultArr['captcha']['mime'] = 'text/plain'; - $resultArr['captcha']['id'] = $index; - $resultArr['captcha']['question'] = $captcha['question']; - } - - /** - * Insert a captcha prompt into the edit form. - * This sample implementation generates a simple arithmetic operation; - * it would be easy to defeat by machine. - * - * Override this! - * - * @return string HTML - */ - function getForm() { - $captcha = $this->getCaptcha(); - $index = $this->storeCaptcha( $captcha ); - - return "

= " . - Xml::element( 'input', array( - 'name' => 'wpCaptchaWord', - 'id' => 'wpCaptchaWord', - 'tabindex' => 1 ) ) . // tab in before the edit textarea - "

\n" . - Xml::element( 'input', array( - 'type' => 'hidden', - 'name' => 'wpCaptchaId', - 'id' => 'wpCaptchaId', - 'value' => $index ) ); - } - - /** - * Insert the captcha prompt into an edit form. - * @param OutputPage $out - */ - function editCallback( &$out ) { - $out->addWikiText( $this->getMessage( $this->action ) ); - $out->addHTML( $this->getForm() ); - } - - /** - * Show a message asking the user to enter a captcha on edit - * The result will be treated as wiki text - * - * @param $action string Action being performed - * @return string - */ - function getMessage( $action ) { - $name = 'captcha-' . $action; - $text = wfMessage( $name )->text(); - # Obtain a more tailored message, if possible, otherwise, fall back to - # the default for edits - return wfMessage( $name, $text )->isDisabled() ? wfMessage( 'captcha-edit' )->text() : $text; - } - - /** - * Inject whazawhoo - * @fixme if multiple thingies insert a header, could break - * @param $form HTMLForm - * @return bool true to keep running callbacks - */ - function injectEmailUser( &$form ) { - global $wgCaptchaTriggers, $wgOut, $wgUser; - if ( $wgCaptchaTriggers['sendemail'] ) { - if ( $wgUser->isAllowed( 'skipcaptcha' ) ) { - wfDebug( "ConfirmEdit: user group allows skipping captcha on email sending\n" ); - return true; - } - $form->addFooterText( - "
" . - $wgOut->parse( $this->getMessage( 'sendemail' ) ) . - $this->getForm() . - "
\n" ); - } - return true; - } - - /** - * Inject whazawhoo - * @fixme if multiple thingies insert a header, could break - * @param QuickTemplate $template - * @return bool true to keep running callbacks - */ - function injectUserCreate( &$template ) { - global $wgCaptchaTriggers, $wgOut, $wgUser; - if ( $wgCaptchaTriggers['createaccount'] ) { - if ( $wgUser->isAllowed( 'skipcaptcha' ) ) { - wfDebug( "ConfirmEdit: user group allows skipping captcha on account creation\n" ); - return true; - } - $template->set( 'header', - "
" . - $wgOut->parse( $this->getMessage( 'createaccount' ) ) . - $this->getForm() . - "
\n" ); - } - return true; - } - - /** - * Inject a captcha into the user login form after a failed - * password attempt as a speedbump for mass attacks. - * @fixme if multiple thingies insert a header, could break - * @param $template QuickTemplate - * @return bool true to keep running callbacks - */ - function injectUserLogin( &$template ) { - if ( $this->isBadLoginTriggered() ) { - global $wgOut; - $template->set( 'header', - "
" . - $wgOut->parse( $this->getMessage( 'badlogin' ) ) . - $this->getForm() . - "
\n" ); - } - return true; - } - - /** - * When a bad login attempt is made, increment an expiring counter - * in the memcache cloud. Later checks for this may trigger a - * captcha display to prevent too many hits from the same place. - * @param User $user - * @param string $password - * @param int $retval authentication return value - * @return bool true to keep running callbacks - */ - function triggerUserLogin( $user, $password, $retval ) { - global $wgCaptchaTriggers, $wgCaptchaBadLoginExpiration, $wgMemc; - if ( $retval == LoginForm::WRONG_PASS && $wgCaptchaTriggers['badlogin'] ) { - $key = $this->badLoginKey(); - $count = $wgMemc->get( $key ); - if ( !$count ) { - $wgMemc->add( $key, 0, $wgCaptchaBadLoginExpiration ); - } - - $wgMemc->incr( $key ); - } - return true; - } - - /** - * Check if a bad login has already been registered for this - * IP address. If so, require a captcha. - * @return bool - * @access private - */ - function isBadLoginTriggered() { - global $wgMemc, $wgCaptchaTriggers, $wgCaptchaBadLoginAttempts; - return $wgCaptchaTriggers['badlogin'] && intval( $wgMemc->get( $this->badLoginKey() ) ) >= $wgCaptchaBadLoginAttempts; - } - - /** - * Check if the IP is allowed to skip captchas - */ - function isIPWhitelisted() { - global $wgCaptchaWhitelistIP; - - if ( $wgCaptchaWhitelistIP ) { - global $wgRequest; - - $ip = $wgRequest->getIP(); - - foreach ( $wgCaptchaWhitelistIP as $range ) { - if ( IP::isInRange( $ip, $range ) ) { - return true; - } - } - } - return false; - } - - /** - * Internal cache key for badlogin checks. - * @return string - * @access private - */ - function badLoginKey() { - global $wgRequest; - $ip = $wgRequest->getIP(); - return wfMemcKey( 'captcha', 'badlogin', 'ip', $ip ); - } - - /** - * Check if the submitted form matches the captcha session data provided - * by the plugin when the form was generated. - * - * Override this! - * - * @param string $answer - * @param array $info - * @return bool - */ - function keyMatch( $answer, $info ) { - return $answer == $info['answer']; - } - - // ---------------------------------- - - /** - * @param EditPage $editPage - * @param string $action (edit/create/addurl...) - * @return bool true if action triggers captcha on editPage's namespace - */ - function captchaTriggers( &$editPage, $action ) { - global $wgCaptchaTriggers, $wgCaptchaTriggersOnNamespace; - // Special config for this NS? - if ( isset( $wgCaptchaTriggersOnNamespace[$editPage->mTitle->getNamespace()][$action] ) ) - return $wgCaptchaTriggersOnNamespace[$editPage->mTitle->getNamespace()][$action]; - - return ( !empty( $wgCaptchaTriggers[$action] ) ); // Default - } - - /** - * @param $editPage EditPage - * @param $newtext string - * @param $section string - * @param $merged bool - * @return bool true if the captcha should run - */ - function shouldCheck( &$editPage, $newtext, $section, $merged = false ) { - $this->trigger = ''; - $title = $editPage->mArticle->getTitle(); - - global $wgUser; - if ( $wgUser->isAllowed( 'skipcaptcha' ) ) { - wfDebug( "ConfirmEdit: user group allows skipping captcha\n" ); - return false; - } - if ( $this->isIPWhitelisted() ) - return false; - - - global $wgEmailAuthentication, $ceAllowConfirmedEmail; - if ( $wgEmailAuthentication && $ceAllowConfirmedEmail && - $wgUser->isEmailConfirmed() ) { - wfDebug( "ConfirmEdit: user has confirmed mail, skipping captcha\n" ); - return false; - } - - if ( $this->captchaTriggers( $editPage, 'edit' ) ) { - // Check on all edits - global $wgUser; - $this->trigger = sprintf( "edit trigger by '%s' at [[%s]]", - $wgUser->getName(), - $title->getPrefixedText() ); - $this->action = 'edit'; - wfDebug( "ConfirmEdit: checking all edits...\n" ); - return true; - } - - if ( $this->captchaTriggers( $editPage, 'create' ) && !$editPage->mTitle->exists() ) { - // Check if creating a page - global $wgUser; - $this->trigger = sprintf( "Create trigger by '%s' at [[%s]]", - $wgUser->getName(), - $title->getPrefixedText() ); - $this->action = 'create'; - wfDebug( "ConfirmEdit: checking on page creation...\n" ); - return true; - } - - if ( $this->captchaTriggers( $editPage, 'addurl' ) ) { - // Only check edits that add URLs - if ( $merged ) { - // Get links from the database - $oldLinks = $this->getLinksFromTracker( $title ); - // Share a parse operation with Article::doEdit() - $editInfo = $editPage->mArticle->prepareTextForEdit( $newtext ); - $newLinks = array_keys( $editInfo->output->getExternalLinks() ); - } else { - // Get link changes in the slowest way known to man - $oldtext = $this->loadText( $editPage, $section ); - $oldLinks = $this->findLinks( $editPage, $oldtext ); - $newLinks = $this->findLinks( $editPage, $newtext ); - } - - $unknownLinks = array_filter( $newLinks, array( &$this, 'filterLink' ) ); - $addedLinks = array_diff( $unknownLinks, $oldLinks ); - $numLinks = count( $addedLinks ); - - if ( $numLinks > 0 ) { - global $wgUser; - $this->trigger = sprintf( "%dx url trigger by '%s' at [[%s]]: %s", - $numLinks, - $wgUser->getName(), - $title->getPrefixedText(), - implode( ", ", $addedLinks ) ); - $this->action = 'addurl'; - return true; - } - } - - global $wgCaptchaRegexes; - if ( $wgCaptchaRegexes ) { - // Custom regex checks. Reuse $oldtext if set above. - $oldtext = isset( $oldtext ) ? $oldtext : $this->loadText( $editPage, $section ); - - foreach ( $wgCaptchaRegexes as $regex ) { - $newMatches = array(); - if ( preg_match_all( $regex, $newtext, $newMatches ) ) { - $oldMatches = array(); - preg_match_all( $regex, $oldtext, $oldMatches ); - - $addedMatches = array_diff( $newMatches[0], $oldMatches[0] ); - - $numHits = count( $addedMatches ); - if ( $numHits > 0 ) { - global $wgUser; - $this->trigger = sprintf( "%dx %s at [[%s]]: %s", - $numHits, - $regex, - $wgUser->getName(), - $title->getPrefixedText(), - implode( ", ", $addedMatches ) ); - $this->action = 'edit'; - return true; - } - } - } - } - - return false; - } - - /** - * Filter callback function for URL whitelisting - * @param $url string to check - * @return bool true if unknown, false if whitelisted - * @access private - */ - function filterLink( $url ) { - global $wgCaptchaWhitelist; - $source = wfMessage( 'captcha-addurl-whitelist' )->inContentLanguage()->text(); - - $whitelist = wfMessage( 'captcha-addurl-whitelist', $source )->isDisabled() - ? false - : $this->buildRegexes( explode( "\n", $source ) ); - - $cwl = $wgCaptchaWhitelist !== false ? preg_match( $wgCaptchaWhitelist, $url ) : false; - $wl = $whitelist !== false ? preg_match( $whitelist, $url ) : false; - - return !( $cwl || $wl ); - } - - /** - * Build regex from whitelist - * @param $lines string from [[MediaWiki:Captcha-addurl-whitelist]] - * @return string Regex or bool false if whitelist is empty - * @access private - */ - function buildRegexes( $lines ) { - # Code duplicated from the SpamBlacklist extension (r19197) - - # Strip comments and whitespace, then remove blanks - $lines = array_filter( array_map( 'trim', preg_replace( '/#.*$/', '', $lines ) ) ); - - # No lines, don't make a regex which will match everything - if ( count( $lines ) == 0 ) { - wfDebug( "No lines\n" ); - return false; - } else { - # Make regex - # It's faster using the S modifier even though it will usually only be run once - // $regex = 'http://+[a-z0-9_\-.]*(' . implode( '|', $lines ) . ')'; - // return '/' . str_replace( '/', '\/', preg_replace('|\\\*/|', '/', $regex) ) . '/Si'; - $regexes = ''; - $regexStart = '/^https?:\/\/+[a-z0-9_\-.]*('; - $regexEnd = ')/Si'; - $regexMax = 4096; - $build = false; - foreach ( $lines as $line ) { - // FIXME: not very robust size check, but should work. :) - if ( $build === false ) { - $build = $line; - } elseif ( strlen( $build ) + strlen( $line ) > $regexMax ) { - $regexes .= $regexStart . - str_replace( '/', '\/', preg_replace( '|\\\*/|', '/', $build ) ) . - $regexEnd; - $build = $line; - } else { - $build .= '|' . $line; - } - } - if ( $build !== false ) { - $regexes .= $regexStart . - str_replace( '/', '\/', preg_replace( '|\\\*/|', '/', $build ) ) . - $regexEnd; - } - return $regexes; - } - } - - /** - * Load external links from the externallinks table - * @param $title Title - * @return Array - */ - function getLinksFromTracker( $title ) { - $dbr = wfGetDB( DB_SLAVE ); - $id = $title->getArticleID(); // should be zero queries - $res = $dbr->select( 'externallinks', array( 'el_to' ), - array( 'el_from' => $id ), __METHOD__ ); - $links = array(); - foreach ( $res as $row ) { - $links[] = $row->el_to; - } - return $links; - } - - /** - * Backend function for confirmEdit() and confirmEditAPI() - * @param $editPage EditPage - * @param $newtext string - * @param $section - * @param $merged bool - * @return bool false if the CAPTCHA is rejected, true otherwise - */ - private function doConfirmEdit( $editPage, $newtext, $section, $merged = false ) { - global $wgRequest; - if ( $wgRequest->getVal( 'captchaid' ) ) { - $wgRequest->setVal( 'wpCaptchaId', $wgRequest->getVal( 'captchaid' ) ); - } - if ( $wgRequest->getVal( 'captchaword' ) ) { - $wgRequest->setVal( 'wpCaptchaWord', $wgRequest->getVal( 'captchaword' ) ); - } - if ( $this->shouldCheck( $editPage, $newtext, $section, $merged ) ) { - return $this->passCaptcha(); - } else { - wfDebug( "ConfirmEdit: no need to show captcha.\n" ); - return true; - } - } - - /** - * The main callback run on edit attempts. - * @param EditPage $editPage - * @param string $newtext - * @param string $section - * @param bool $merged - * @return bool true to continue saving, false to abort and show a captcha form - */ - function confirmEdit( $editPage, $newtext, $section, $merged = false ) { - if ( defined( 'MW_API' ) ) { - # API mode - # The CAPTCHA was already checked and approved - return true; - } - if ( !$this->doConfirmEdit( $editPage, $newtext, $section, $merged ) ) { - $editPage->showEditForm( array( &$this, 'editCallback' ) ); - return false; - } - return true; - } - - /** - * A more efficient edit filter callback based on the text after section merging - * @param EditPage $editPage - * @param string $newtext - * @return bool - */ - function confirmEditMerged( $editPage, $newtext ) { - return $this->confirmEdit( $editPage, $newtext, false, true ); - } - - function confirmEditAPI( $editPage, $newtext, &$resultArr ) { - if ( !$this->doConfirmEdit( $editPage, $newtext, false, false ) ) { - $this->addCaptchaAPI( $resultArr ); - return false; - } - - return true; - } - - /** - * Hook for user creation form submissions. - * @param User $u - * @param string $message - * @return bool true to continue, false to abort user creation - */ - function confirmUserCreate( $u, &$message ) { - global $wgCaptchaTriggers, $wgUser; - if ( $wgCaptchaTriggers['createaccount'] ) { - if ( $wgUser->isAllowed( 'skipcaptcha' ) ) { - wfDebug( "ConfirmEdit: user group allows skipping captcha on account creation\n" ); - return true; - } - if ( $this->isIPWhitelisted() ) - return true; - - $this->trigger = "new account '" . $u->getName() . "'"; - if ( !$this->passCaptcha() ) { - $message = wfMessage( 'captcha-createaccount-fail' )->text(); - return false; - } - } - return true; - } - - /** - * Hook for user login form submissions. - * @param $u User - * @param $pass - * @param $retval - * @return bool true to continue, false to abort user creation - */ - function confirmUserLogin( $u, $pass, &$retval ) { - if ( $this->isBadLoginTriggered() ) { - if ( $this->isIPWhitelisted() ) - return true; - - $this->trigger = "post-badlogin login '" . $u->getName() . "'"; - if ( !$this->passCaptcha() ) { - // Emulate a bad-password return to confuse the shit out of attackers - $retval = LoginForm::WRONG_PASS; - return false; - } - } - return true; - } - - /** - * Check the captcha on Special:EmailUser - * @param $from MailAddress - * @param $to MailAddress - * @param $subject String - * @param $text String - * @param $error String reference - * @return Bool true to continue saving, false to abort and show a captcha form - */ - function confirmEmailUser( $from, $to, $subject, $text, &$error ) { - global $wgCaptchaTriggers, $wgUser; - if ( $wgCaptchaTriggers['sendemail'] ) { - if ( $wgUser->isAllowed( 'skipcaptcha' ) ) { - wfDebug( "ConfirmEdit: user group allows skipping captcha on email sending\n" ); - return true; - } - if ( $this->isIPWhitelisted() ) - return true; - - if ( defined( 'MW_API' ) ) { - # API mode - # Asking for captchas in the API is really silly - $error = wfMessage( 'captcha-disabledinapi' )->text(); - return false; - } - $this->trigger = "{$wgUser->getName()} sending email"; - if ( !$this->passCaptcha() ) { - $error = wfMessage( 'captcha-sendemail-fail' )->text(); - return false; - } - } - return true; - } - - /** - * @param $module ApiBase - * @param $params array - * @return bool - */ - public function APIGetAllowedParams( &$module, &$params ) { - if ( !$module instanceof ApiEditPage ) { - return true; - } - $params['captchaword'] = null; - $params['captchaid'] = null; - - return true; - } - - /** - * @param $module ApiBase - * @param $desc array - * @return bool - */ - public function APIGetParamDescription( &$module, &$desc ) { - if ( !$module instanceof ApiEditPage ) { - return true; - } - $desc['captchaid'] = 'CAPTCHA ID from previous request'; - $desc['captchaword'] = 'Answer to the CAPTCHA'; - - return true; - } - - /** - * Given a required captcha run, test form input for correct - * input on the open session. - * @return bool if passed, false if failed or new session - */ - function passCaptcha() { - $info = $this->retrieveCaptcha(); - if ( $info ) { - global $wgRequest; - if ( $this->keyMatch( $wgRequest->getVal( 'wpCaptchaWord' ), $info ) ) { - $this->log( "passed" ); - $this->clearCaptcha( $info ); - return true; - } else { - $this->clearCaptcha( $info ); - $this->log( "bad form input" ); - return false; - } - } else { - $this->log( "new captcha session" ); - return false; - } - } - - /** - * Log the status and any triggering info for debugging or statistics - * @param string $message - */ - function log( $message ) { - wfDebugLog( 'captcha', 'ConfirmEdit: ' . $message . '; ' . $this->trigger ); - } - - /** - * Generate a captcha session ID and save the info in PHP's session storage. - * (Requires the user to have cookies enabled to get through the captcha.) - * - * A random ID is used so legit users can make edits in multiple tabs or - * windows without being unnecessarily hobbled by a serial order requirement. - * Pass the returned id value into the edit form as wpCaptchaId. - * - * @param array $info data to store - * @return string captcha ID key - */ - function storeCaptcha( $info ) { - if ( !isset( $info['index'] ) ) { - // Assign random index if we're not udpating - $info['index'] = strval( mt_rand() ); - } - CaptchaStore::get()->store( $info['index'], $info ); - return $info['index']; - } - - /** - * Fetch this session's captcha info. - * @return mixed array of info, or false if missing - */ - function retrieveCaptcha() { - global $wgRequest; - $index = $wgRequest->getVal( 'wpCaptchaId' ); - return CaptchaStore::get()->retrieve( $index ); - } - - /** - * Clear out existing captcha info from the session, to ensure - * it can't be reused. - */ - function clearCaptcha( $info ) { - CaptchaStore::get()->clear( $info['index'] ); - } - - /** - * Retrieve the current version of the page or section being edited... - * @param EditPage $editPage - * @param string $section - * @return string - * @access private - */ - function loadText( $editPage, $section ) { - $rev = Revision::newFromTitle( $editPage->mTitle, false, Revision::READ_LATEST ); - if ( is_null( $rev ) ) { - return ""; - } else { - $text = $rev->getText(); - if ( $section != '' ) { - global $wgParser; - return $wgParser->getSection( $text, $section ); - } else { - return $text; - } - } - } - - /** - * Extract a list of all recognized HTTP links in the text. - * @param $editpage EditPage - * @param $text string - * @return array of strings - */ - function findLinks( &$editpage, $text ) { - global $wgParser, $wgUser; - - $options = new ParserOptions(); - $text = $wgParser->preSaveTransform( $text, $editpage->mTitle, $wgUser, $options ); - $out = $wgParser->parse( $text, $editpage->mTitle, $options ); - - return array_keys( $out->getExternalLinks() ); - } - - /** - * Show a page explaining what this wacky thing is. - */ - function showHelp() { - global $wgOut; - $wgOut->setPageTitle( wfMessage( 'captchahelp-title' )->text() ); - $wgOut->addWikiMsg( 'captchahelp-text' ); - if ( CaptchaStore::get()->cookiesNeeded() ) { - $wgOut->addWikiMsg( 'captchahelp-cookies-needed' ); - } - } -} diff --git a/documentacion/extensions/ConfirmEdit/CaptchaStore.php b/documentacion/extensions/ConfirmEdit/CaptchaStore.php deleted file mode 100644 index 3ab00b3..0000000 --- a/documentacion/extensions/ConfirmEdit/CaptchaStore.php +++ /dev/null @@ -1,109 +0,0 @@ -set( wfMemcKey( 'captcha', $index ), $info, - $wgCaptchaSessionExpiration ); - } - - function retrieve( $index ) { - global $wgMemc; - $info = $wgMemc->get( wfMemcKey( 'captcha', $index ) ); - if ( $info ) { - return $info; - } else { - return false; - } - } - - function clear( $index ) { - global $wgMemc; - $wgMemc->delete( wfMemcKey( 'captcha', $index ) ); - } - - function cookiesNeeded() { - return false; - } -} diff --git a/documentacion/extensions/ConfirmEdit/ConfirmEdit.alias.php b/documentacion/extensions/ConfirmEdit/ConfirmEdit.alias.php deleted file mode 100644 index 7823cf6..0000000 --- a/documentacion/extensions/ConfirmEdit/ConfirmEdit.alias.php +++ /dev/null @@ -1,109 +0,0 @@ - array( 'Captcha' ), -); - -/** Arabic (العربية) */ -$specialPageAliases['ar'] = array( - 'Captcha' => array( 'كابتشا' ), -); - -/** Egyptian Spoken Arabic (مصرى) */ -$specialPageAliases['arz'] = array( - 'Captcha' => array( 'كابتشا' ), -); - -/** Esperanto (Esperanto) */ -$specialPageAliases['eo'] = array( - 'Captcha' => array( 'Kontraŭspamilo' ), -); - -/** Estonian (eesti) */ -$specialPageAliases['et'] = array( - 'Captcha' => array( 'Robotilõks' ), -); - -/** Persian (فارسی) */ -$specialPageAliases['fa'] = array( - 'Captcha' => array( 'کپچا' ), -); - -/** Finnish (suomi) */ -$specialPageAliases['fi'] = array( - 'Captcha' => array( 'Ihmiskäyttäjävarmistus' ), -); - -/** Galician (galego) */ -$specialPageAliases['gl'] = array( - 'Captcha' => array( 'Captcha' ), -); - -/** Hindi (हिन्दी) */ -$specialPageAliases['hi'] = array( - 'Captcha' => array( 'कैप्चा', 'कैपचा' ), -); - -/** Japanese (日本語) */ -$specialPageAliases['ja'] = array( - 'Captcha' => array( '画像認証' ), -); - -/** Korean (한국어) */ -$specialPageAliases['ko'] = array( - 'Captcha' => array( '캡차' ), -); - -/** Colognian (Ripoarisch) */ -$specialPageAliases['ksh'] = array( - 'Captcha' => array( 'Kaptscha' ), -); - -/** Cornish (kernowek) */ -$specialPageAliases['kw'] = array( - 'Captcha' => array( 'Captcha' ), -); - -/** Macedonian (македонски) */ -$specialPageAliases['mk'] = array( - 'Captcha' => array( 'Captcha' ), -); - -/** Malayalam (മലയാളം) */ -$specialPageAliases['ml'] = array( - 'Captcha' => array( 'ക്യാപ്ച' ), -); - -/** Serbian (Cyrillic script) (српски (ћирилица)‎) */ -$specialPageAliases['sr-ec'] = array( - 'Captcha' => array( 'Потврдни_код' ), -); - -/** Turkish (Türkçe) */ -$specialPageAliases['tr'] = array( - 'Captcha' => array( 'GüvenlikKodu' ), -); - -/** Cantonese (粵語) */ -$specialPageAliases['yue'] = array( - 'Captcha' => array( '驗證碼' ), -); - -/** Simplified Chinese (中文(简体)‎) */ -$specialPageAliases['zh-hans'] = array( - 'Captcha' => array( '验证码' ), -); - -/** Traditional Chinese (中文(繁體)‎) */ -$specialPageAliases['zh-hant'] = array( - 'Captcha' => array( '驗證碼' ), -); \ No newline at end of file diff --git a/documentacion/extensions/ConfirmEdit/ConfirmEdit.i18n.php b/documentacion/extensions/ConfirmEdit/ConfirmEdit.i18n.php deleted file mode 100644 index 4f68eab..0000000 --- a/documentacion/extensions/ConfirmEdit/ConfirmEdit.i18n.php +++ /dev/null @@ -1,4139 +0,0 @@ - 'To edit this page, please solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', - 'captcha-desc' => 'Provides CAPTCHA techniques to protect against spam and password-guessing', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Your edit includes new external links. -To protect the wiki against automated spam, we kindly ask you to solve the simple sum below and enter the answer in the box in order to save your edit ([[Special:Captcha/help|more info]]):', - 'captcha-badlogin' => 'To protect the wiki against automated password cracking, we kindly ask you to solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', - 'captcha-createaccount' => 'To protect the wiki against automated account creation, we kindly ask you to solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', - 'captcha-createaccount-fail' => 'Incorrect or missing confirmation code.', - 'captcha-create' => 'To create the page, please solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', - 'captcha-sendemail' => 'To protect the wiki against automated spamming, we kindly ask you to solve the simple sum below and enter the answer in the box ([[Special:Captcha/help|more info]]):', - 'captcha-sendemail-fail' => 'Incorrect or missing confirmation code.', - 'captcha-disabledinapi' => 'This action requires a captcha, so it cannot be performed through the API.', - 'captchahelp-title' => 'CAPTCHA help', - 'captchahelp-cookies-needed' => 'You will need to have cookies enabled in your browser for this to work.', - 'captchahelp-text' => "Web sites that accept postings from the public, like this wiki, are often abused by spammers who use automated tools to post their links to many sites. -While these spam links can be removed, they are a significant nuisance. - -Sometimes, especially when adding new web links to a page, the wiki may show you an image of colored or distorted text and ask you to type the words shown. -Since this is a task that's hard to automate, it will allow most real humans to make their posts while stopping most spammers and other robotic attackers. - -Unfortunately this may inconvenience users with limited vision or using text-based or speech-based browsers. -At the moment we do not have an audio alternative available. -Please contact the [[{{MediaWiki:Grouppage-sysop}}|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate actions. - -Hit the 'back' button in your browser to return to the page editor.", - 'captcha-addurl-whitelist' => ' #
-# Syntax is as follows:
-#   * Everything from a "#" character to the end of the line is a comment
-#   * Every non-blank line is a regex fragment which will only match hosts inside URLs
- #
', - - 'right-skipcaptcha' => 'Perform CAPTCHA-triggering actions without having to go through the CAPTCHA', -); - -/** Message documentation (Message documentation) - * @author Aotake - * @author Hamilton Abreu - * @author MF-Warburg - * @author Meithal - * @author Meno25 - * @author Purodha - * @author Siebrand - * @author The Evil IP address - * @author Toliño - * @author Umherirrender - */ -$messages['qqq'] = array( - 'captcha-edit' => 'This message will be shown when editing if the wiki requires solving a captcha for editing. -See also -*{{msg-mw|Questycaptcha-edit}} -*{{msg-mw|Fancycaptcha-edit}}', - 'captcha-desc' => '{{desc}}', - 'captcha-label' => 'Label field for input field shown in forms', - 'captcha-addurl' => 'The explanation of CAPTCHA shown to users trying to add new external links. -See also -*{{msg-mw|Questycaptcha-addurl}} -*{{msg-mw|Fancycaptcha-addurl}}', - 'captcha-badlogin' => 'The explanation of CAPTCHA shown to users failed three times to type in correct password. -See also -*{{msg-mw|Questycaptcha-badlogin}} -*{{msg-mw|Fancycaptcha-badlogin}}', - 'captcha-createaccount' => 'The explanation of CAPTCHA shown to users trying to create a new account. -See also -*{{msg-mw|Questycaptcha-createaccount}} -*{{msg-mw|Fancycaptcha-createaccount}}', - 'captcha-create' => 'This message will be shown when creating a page if the wiki requires solving a captcha for that. -See also -*{{msg-mw|Questycaptcha-create}} -*{{msg-mw|Fancycaptcha-create}}', - 'captchahelp-title' => 'The page title of [[Special:Captcha/help]]', - 'captchahelp-text' => 'This is the help text shown on [[Special:Captcha/help]].', - 'captcha-addurl-whitelist' => "See also: [[MediaWiki:Spam-blacklist]] and [[MediaWiki:Spam-whitelist]]. Leave all the wiki markup, including the spaces, as is. You can translate the text, including 'Leave this line exactly as it is'. The first line of this messages has one (1) leading space.", - 'right-skipcaptcha' => '{{doc-right|skipcaptcha}}', -); - -/** Turoyo (Ṫuroyo) - * @author Ariyo - */ -$messages['tru'] = array( - 'captcha-label' => 'CAPTCHA', -); - -/** Afrikaans (Afrikaans) - * @author BrokenArrow - * @author Naudefj - * @author පසිඳු කාවින්ද - */ -$messages['af'] = array( - 'captcha-edit' => 'U wysiging bevat nuwe webskakels. Neem kennis dat blote reklame van u werf, produk of besigheid as vandalisme beskou kan word. As beskerming teen outomatiese gemorsbydraes, sal u die woorde wat onder verskyn in die prentjie moet intik:
([[Special:Captcha/help|Wat is hierdie?]])', - 'captcha-desc' => 'Implementeer CAPTCHA-tegnieke om beskerming teen spam en die raai van wagwoorde te bied', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'U wysiging bevat nuwe webskakels. -As beskerming teen outomatiese gemorsbydraes, sal u die woorde wat onder verskyn in die prentjie moet intik ([[Special:Captcha/help|Wat is hierdie?]]):', - 'captcha-badlogin' => 'Los asseblief die onderstaande eenvoudige som op en voer die antwoord in die blokkie in ter beskerming teen die outomatiese kraak van wagwoorde ([[Special:Captcha/help|meer inligting]]):', - 'captcha-createaccount' => "As 'n beskerming teen geoutomatiseerde gemors, tik asseblief die woorde wat in die beeld verskyn in om 'n rekening te skep:
([[Special:Captcha/help|Wat is hierdie?]])", - 'captcha-createaccount-fail' => 'Verkeerde of geen bevestigingkode.', - 'captcha-create' => 'U wysiging bevat nuwe webskakels. Neem kennis dat blote reklame van u werf, produk of besigheid as vandalisme beskou kan word. As beskerming teen outomatiese gemorsbydraes, sal u die woorde wat onder verskyn in die prentjie moet intik:
([[Special:Captcha/help|Wat is hierdie?]])', - 'captcha-sendemail-fail' => 'Verkeerde of ontbrekende bevestigingskode.', - 'captcha-disabledinapi' => "Hierdie aksie vereis dat 'n captcha, so dit kan nie uitgevoer word deur die API nie.", - 'captchahelp-title' => 'Captcha-hulp', - 'captchahelp-cookies-needed' => 'U moet koekies in u webblaaier aanskakel hê om dit te laat werk.', - 'captchahelp-text' => "Webwerwe wat bydraes van die publiek aanvaar (soos hierdie wiki) word soms lastig geval deur kwaaddoeners met programme wat outomaties skakels in 'n klomp werwe plaas. Alhoewel hierdie gemors verwyder kan word, is dit lastig. - -In party gevalle, veral as u skakels by 'n blad voeg, sal die wiki dalk 'n beeld met verwronge teks vertoon en vra dat u die woorde daarin intik. Omdat hierdie taak moeilik geoutomatiseer word, laat dit meeste regte mense toe om bydraes te maak terwyl dit meeste kwaaddoeners stop. - -Hierdie kan ongelukkig lastig wees vir mense met beperkte sig, of diegene wat teks- of spraakgebaseerde blaaiers gebruik. Tans is daar nog nie 'n klankalternatief beskikbaar nie. Kontak asseblief die [[{{MediaWiki:Grouppage-sysop}}|werfadministrateurs]] vir hulp as hierdie u onverwags belemmer om legitieme bydraes te maak. - -Gebruik die \"terug\"-knoppie van u blaaier om na die vorige blad terug te keer.", - 'right-skipcaptcha' => 'Captcha-handelinge uitvoer sonder om die captcha te hoef oplos', -); - -/** Gheg Albanian (Gegë) - * @author Mdupont - */ -$messages['aln'] = array( - 'captcha-edit' => 'Për të redaktuar këtë faqe, ju lutem zgjidh shuma e thjeshtë më poshtë dhe të hyjë në përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-desc' => 'captcha Simple zbatimin e', - 'captcha-addurl' => 'Your redakto përfshin të jashtme lidhje të reja. Për të ndihmuar në mbrojtjen kundër spam automatizuar, ju lutem zgjidh shuma e thjeshtë më poshtë dhe të hyjë në përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-badlogin' => 'Për të ndihmuar në mbrojtjen kundër fjalëkalimin automatizuar plasaritje, ju lutem zgjidh shuma e thjeshtë më poshtë dhe të hyjë në përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-createaccount' => 'Për të ndihmuar në mbrojtjen kundër krijimit llogari e automatizuar, ju lutem zgjidh shuma e thjeshtë më poshtë dhe të hyjë në përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-createaccount-fail' => 'Pasakta ose të humbur Kodi i shifruar.', - 'captcha-create' => 'Për të krijuar një faqe, ju lutem zgjidh shuma e thjeshtë më poshtë dhe të hyjë në përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-sendemail' => 'Për të ndihmuar në mbrojtjen kundër spamming automatizuar, ju lutem zgjidh shuma e thjeshtë më poshtë dhe të hyjë në përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-sendemail-fail' => 'Pasakta ose të humbur Kodi i shifruar.', - 'captcha-disabledinapi' => 'Ky veprim kërkon një captcha, kështu që nuk mund të kryhet përmes API.', - 'captchahelp-title' => 'Captcha ndihmë', - 'captchahelp-cookies-needed' => 'Ju duhet të keni cookies të aktivizuara në shfletuesin tuaj për këtë për të punuar.', - 'captchahelp-text' => "Web faqet që pranojnë postings nga publiku, si ky wiki, shpesh keqtrajtohen nga spammers që përdorin mjete të automatizuar të postoni lidhjet e tyre me shumë vende. Përderisa këto lidhje spam mund të hiqen, ata janë një ngatërresë të rëndësishme. Ndonjëherë, sidomos kur duke shtuar të reja lidhje interneti në një faqe, wiki mund të tregojë se një imazh i ose deformuar tekst me ngjyra dhe kërkoni ju që të shtypni fjalë të treguar. Ngaqë kjo është një detyrë që është e vështirë për të automatizuar, ajo do të lejojë të vërtetë njerëzit më të për të bërë detyrat e tyre, ndërsa ndaluar më spammers dhe robotik sulmuesit të tjera. Për fat të keq kjo bezdi përdoruesit mund me vizion të kufizuar ose duke përdorur me bazë ose shprehjeje me bazë shfletuesit tekst. Për momentin ne nuk kemi një alternativë audio në dispozicion. Ju lutemi të kontaktoni [[{{MediaWiki:Grouppage-sysop}} site administratorët) |]] për ndihmë, nëse kjo është e papritur në parandalimin e ju prej bërë postimet legjitime. Hit 'butonin mbrapa në shfletuesin tuaj për t'u kthyer në faqen e redaktorit.", - 'captcha-addurl-whitelist' => '#
-# Sintaksa është si më poshtë:
-# * Çdo gjë nga një "karakter #" në fund të linjës është një koment
-# * Çdo linjës jo të zbrazët është një fragment regex i cili vetëm do të përputhen me pret brenda URL
- # 
', - 'right-skipcaptcha' => 'captcha Kryerja e veprimeve të shkaktuar pa pasur nevojë të shkojë nëpër captcha', -); - -/** Amharic (አማርኛ) - * @author Codex Sinaiticus - */ -$messages['am'] = array( - 'captcha-edit' => 'ይህንን ድርሰት ለማረም፣ እባክዎን የሚቀጥለውን ቀላል የመደመር ጥያቄ መልስ ሳጥን ውስጥ ይጻፉ። ([[Special:Captcha/help|ተጨማሪ መረጃ]])', - 'captcha-createaccount' => 'ያልተፈለገ የመኪናነት አባልነት ለመከላከል፥ አባል ለመሆን በዚህ ምስል የታዩት እንግሊዝኛ ቃላት ወይም ቁጥር መልስ በትክክል መጻፍ ግዴታ ነው። ([[Special:Captcha/help|ይህ ምንድነው?]]):', - 'captchahelp-title' => "የ'ካፕቻ' መግለጫ", - 'captchahelp-text' => "አንዳንዴ 'ስፓም' የተባሉት ያልተፈለጉ መልእክቶች የሚላኩ ሰዎች በመኪናነት አማካይነት በብዙ ድረገጽ ላይ የማይገባ ማስታወቂያ በመልጠፍ ላይ እየተገኘ ነው። ይህን የማይገባ መያያዣ ማስወገድ ቢቻለም አስቸጋሪ ናቸው። - -ስለዚህ በመጀመርያ አባልነት ሲገቡ ወይም አንዳንዴ የውጭ ድረገጽ አድራሻ ሲጨመር የፕሮግራሙ ሶፍትዌር 'ካፕቻ' የእንግሊዝኛን ቃላት ወይም የቁጥር መልስ እንዲዳግሙ ለፈተና ይጠይቃል። ይህ አደራረግ ለመኪናነት ቀላል ተግባር ሰላማይሆን፥ እውነተኛ ሰው ከሆነ ለመልጠፍ ያስችለዋል ነገር ግን መኪናነት ከሆነ ዕንቅፋት ይሆንበታል። - -ይህ ዘዴ ከመልጠፍ ያለግባብ ቢከለክልዎ እባክዎ መጋቢን ይጠይቁ። - -አሁን ( <= 'back' ) በbrowserዎ ላይ ይጫኑ።", -); - -/** Aragonese (aragonés) - * @author Juanpabl - */ -$messages['an'] = array( - 'captcha-edit' => 'Ta editar ista pachina, faiga por favor a suma simpla que apareixe contino y escriba a solución en a caixa ([[Special:Captcha/help|más información]]):', - 'captcha-desc' => 'Implementación de CAPTCHA ta protecher contra o spam y dovinanza de claus.', - 'captcha-addurl' => "A suya edición encluye vinclos esternos. Ta aduyar-nos en a proteción contra o spam automatizato, por favor, faiga a suma simpla que s'amuestra contino y escriba a respuesta en a caixa ([[Special:Captcha/help|más información]]):", - 'captcha-badlogin' => "Ta aduyar-nos en a protección contra a obtención automatizata de claus d'acceso, por favor faiga a suma simpla que amaneixe contino y escriba a respuesta en a caixa ([[Special:Captcha/help|más información]]):", - 'captcha-createaccount' => "Ta aduyar-nos en a proteción contra a creyación automatica de cuentas, por favor faiga a suma simpla que s'amuestra contino y escriba a respuesta en a caixa ([[Special:Captcha/help|más información]]):", - 'captcha-createaccount-fail' => 'No ha escrito o codigo de confirmación, u iste ye incorreuto.', - 'captcha-create' => "Ta creyar a pachina, por favor faiga a suma simpla que s'amuestra contino y escriba a respuesta en a caixa ([[Special:Captcha/help|más información]]):", - 'captcha-sendemail' => 'Ta protecher-nos contra o spam automatizau, resuelva a suma facil que se presienta contino y escriba a respuesta en o quadro de texto ([[Special:Captcha/help|mas información]]):', - 'captcha-sendemail-fail' => 'O codigo de confirmación falta u ye incorrecto.', - 'captcha-disabledinapi' => "Ista acción requiere un captcha, asinas que no puede estar executada a traviés d'un API.", - 'captchahelp-title' => 'Aduya sobre o "captcha"', - 'captchahelp-cookies-needed' => 'Ta que o sistema funcione le cal tener as cookies activatas en o navegador.', - 'captchahelp-text' => "Os sitios web que acceptan mensaches d'o publico, como iste wiki, son a ormino obchecto d'abusos por spammers que fan servir ferramientas automatizatas ta encluyir-ie vinclos ta a-saber-los sitios. Encara que istos vinclos se pueden sacar, son un gran estorbo. - -Bellas vegadas, especialment quan se mire de adhibir nuevos vinclos a una pachina, o wiki talment le amuestre una imachen con testo en color y distorsionato, y le pregunte quáls son as parolas amostratas. Como ista ye una fayena de mal automatizar, premitirá a os usuarios humanos fer as suyas edicions de vez que aturará a muitos spammers y atacants automaticos. - -Manimenos, isto puede estar un barrache ta usuarios con visión limitata u que faigan ser navegadors basatos en texto u en a voz. Por l'inte no tenemos garra alternativa de audio. Por favor, contacte con os [[{{MediaWiki:Grouppage-sysop}}|administradors]] d'o wiki ta demandar aduya si isto le ye privando de fer as suyas edicions lechitimas. - -Punche o botón 'enta zaga' d'o suyo navegador ta tornar ta l'editor de pachinas.", - 'captcha-addurl-whitelist' => " #
-# A sintaxi ye asinas:
-#  * Tot o que bi ha dende un carácter \"#\" dica a fin d'a linia ye un comentario
-#  * Qualsiquier linia con testo un troz d'expresión regular (regex) que sólo concordará con os hosts aintro d'URLs
-   #
", - 'right-skipcaptcha' => 'Fer accions que requieren o captcha sin fer servir o captcha', -); - -/** Arabic (العربية) - * @author Aiman titi - * @author Alnokta - * @author Loya - * @author Meno25 - * @author Mido - * @author OsamaK - * @author Samer - */ -$messages['ar'] = array( - 'captcha-edit' => 'لتعديل هذه الصفحة، من فضلك قم بحل المسألة الرياضية البسيطة بالأسفل وأدخل الإجابة في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-desc' => 'يوفر تقنيات كابتشا للحماية ضد السبام وتخمين كلمات السر', - 'captcha-label' => 'كابتشا', - 'captcha-addurl' => 'تعديلك يحتوي على وصلات خارجية جديدة. -للمساعدة في الحماية من السبام الأوتوماتيكي، من فضلك حل عملية الجمع بالأسفل وأدخل الإجابة في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-badlogin' => 'للمساعدة في الحماية ضد سرقة كلمات السر، من فضلك حل عملية الجمع البسيطة بالأسفل وأدخل الحل في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-createaccount' => 'كحماية ضد إنشاء الحسابات الأوتوماتيكي، من فضلك حل العملية الحسابية بالأسفل وأدخل الإجابة في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-createaccount-fail' => 'كود تأكيد غير صحيح أو مفقود.', - 'captcha-create' => 'لإنشاء هذه الصفحة، من فضلك حل المسألة الرياضية التالية وأدخل -الإجابة في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-sendemail' => 'للمساعدة في الحماية ضد السخام الأتوماتيكي، رجاءً حُل مسألة الجمع البسيطة أدناه وأدخل الإجابة في المربع ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'captcha-sendemail-fail' => 'كود تأكيد غير صحيح أو مفقود', - 'captcha-disabledinapi' => 'هذا الإجراء يتطلب تحقيق , لذلك لايمكن أعتمادها من API.', - 'captchahelp-title' => 'مساعدة الكابتشا', - 'captchahelp-cookies-needed' => 'ستحتاج إلى أن تكون الكوكيز مفعلة في متصفحك لكي يعمل هذا', - 'captchahelp-text' => "عادة ما يتم في المواقع التي تقبل الردود والرسائل من العامة، كهذا الويكي، تخريب الموقع عن طريق الأشخاص الذين يستعملون آليات معينة لإرسال وصلاتهم لمواقع متعددة بصورة آلية. -وعلى الرغم من أن هذا يمكن إزالته ولكنه مزعج للغاية. - -في بعض الأحيان، خصوصا عند إضافة وصلات لصفحة، ربما يعرض الويكي صورة ملونة أو مشوشة ويطلب منك إدخال كلمات موجودة بالصورة أو يعرض عليك مسألة رياضية عشوائية ويطلب منك حلها. -ولأن هذه المهمة صعبة للغاية لأن يقوم بها برنامج، سيسمح هذا للأشخاص الآدميين بإضافة تحريراتهم بينما ستوقف البرامج التخريبية والهجمات الآلية الأخرى. - -للأسف سيكون هذا صعبا بالنسبة لمستخدمي المتصفحات المحدودة أو التي تعتمد على النصوص فقط أو قراءة النصوص. -في الوقت الحالي لا يوجد لدينا بديل سمعي. -من فضلك راسل [[{{MediaWiki:Grouppage-sysop}}|إداريي الموقع]] للمساعدة إذا كان هذا الأمر يمنعك من التعديل ووضع وصلات قانونية. - -إذا كنت تحرر صفحة معينة: اضغط زر 'العودة' في متصفحك للعودة إلى التحرير.", - 'captcha-addurl-whitelist' => ' #
-# الصيغة كما يلي:
-#  * كل شيء من علامة "#" لنهاية السطر تعليق
-#  * كل سطر غير فارغ هو جزء تعبير نمطي والذي سوف يطابق فقط المضيفين داخل العناوين
-  #
', - 'right-skipcaptcha' => 'أداء أفعال تستوجب تنفيذ كابتشا دون المرور بها', -); - -/** Egyptian Spoken Arabic (مصرى) - * @author Ghaly - * @author Meno25 - * @author Ramsis II - */ -$messages['arz'] = array( - 'captcha-edit' => 'علشان تعدل فى الصفحة دى، لو سمحت تحل المسالة الرياضية البسيطة اللى تحت و اكتب الاجاية فى الصندوء ([[Special:Captcha/help|معلومات اكتر]]):', - 'captcha-desc' => 'تطبيق بسيط لـ كابتشا', - 'captcha-addurl' => 'التعديل بتاعك فيه لينكات خارجية جديدة. -علشان تساعد فى الحماية من السبام الاوتوماتيكى،لو سمحت تحل المسالة الرياضية البسيطة اللى تحت و اكتب الاجابة فى الصندوء([[Special:Captcha/help|معلومات اكتر]]):', - 'captcha-badlogin' => 'علشان تساعد فى الحماية من السرقة الاوتوماتيكية للباسورد، لو سمجت تحل المسألة الرياضية البسيطة اللى تحت و تكتب الاجابة جوه الصندوء([[Special:Captcha/help|معلومات اكتر]]):', - 'captcha-createaccount' => 'علشان تساعد فى الحماية من فتح الحساب الاوتوماتيكى،لو سمحت تحل المسألة الرياضية البسيطة اللى تحت و تكتب الاجابة جوه الصندوء ([[Special:Captcha/help|معلومات اكتر]]):', - 'captcha-createaccount-fail' => 'كود التأكيد مش صحيح أو ضايع.', - 'captcha-create' => 'علشان تبتدى الصفحة دى، لو سمحت تحل السألة الرياضية البسيطة اللى تحت و تكتب الاجابة جوه الصندوء ([[Special:Captcha/help|معلومات اكتر]]):', - 'captchahelp-title' => 'مساعدة الكابتشا', - 'captchahelp-cookies-needed' => 'لازم تكون الكوكيز بتاعتك متفعلة فى البراوزر علشان دا يشتغل.', - 'captchahelp-text' => "مواقع الويب اللى بتقبل رسايل من عامة الناس،زى الويكى دا،غالبا ما بيتعرضو لسوء استعمال عن طريق السبامرز اللى بيستخدمو اليات اوتوماتيكية علشان يبعتو لينكات لكذا موقع. -على الرغم من ان السبام لينك ممكن يتشال، بس هى بتسبب ازعاج كبير . - -ساعات،و خصوصا لما بتضيف ويب لينك جديدة لاى صفحة،الويكى ممكن يعرض لك صورة لنص متشوه او متلون و يطلب منك انك تكتب الكلمات المعروضة. -و علشان دى عملية من الصعب يقوم بها برنامج، فهى بتسمح لمعظم البنى ادمين انهم يبعتو مشاركتهم و بتمنع معظم السبامرز و المهاجمين الاوتوماتيكيين التانيين. - -للاسف،دا ممكن يسبب ازعاج لليوزرو اللى نظرهم ضعيف او اللى بيستعملو براوز معتمد على الكلام او النصوص. -فى الوقت الحالى احنا ما عندناش اى بديل سمعى متوافر. -لو سمحت تتصل [[{{MediaWiki:Grouppage-sysop}}|بلاداريين]] بتوع الموقع علشان يساعدوك لو دا منعك بشكل مش متوقع من انك تشارك بشكل قانونى. - -دوس على زرار 'back'اللى فى البراوزر بتاعك علشان ترجع لتحرير الصفحة.", - 'captcha-addurl-whitelist' => ' #
-# الصيغة كدا:
-#  * كل حاجة من علامة "#" لحد نهاية السطر هى تعليق
-#  * كل سطر مش فاضى هو جزء ريجيكس و اللى ح يطابق بس المضيفين جوه URLs
-  #
', - 'right-skipcaptcha' => 'عمل حاجات بتنشط الكابتشا من غير ما تضطر تمر بالكابتشا', -); - -/** Assamese (অসমীয়া) - * @author Bishnu Saikia - * @author Chaipau - * @author Gitartha.bordoloi - * @author Rajuonline - */ -$messages['as'] = array( - 'captcha-edit' => 'এই পৃষ্ঠাটো সম্পাদনা কৰিবলৈ তলৰ সহজ অংকটো কৰি উত্তৰতো বাকছৰ ভিতৰত লিখক -([[Special:Captcha/help|অধিক তথ্য]]):', - 'captcha-desc' => 'স্পাম আৰু গুপ্তশব্দ অনুমানৰ পৰা ৰক্ষা কৰিবলৈ CAPTCHA কৌশলৰ ব্যৱহাৰ', - 'captcha-label' => 'কেপছা', - 'captcha-addurl' => 'আপোনাৰ সম্পাদনাত বাহিৰলৈ সংযোগ আছে। -স্বয়ংক্ৰীয় স্পামৰ পৰা বাচিবলৈ, তলৰ সহজ অংকটো কৰি উত্তৰতো বাকছৰ ভিতৰত লিখক ([[Special:Captcha/help|অধিক তথ্য]]):', - 'captcha-badlogin' => 'স্বয়ংক্ৰিয়ভাবে গুপ্তশব্দ ভঙাৰ পৰা বাচিবলৈ, তলৰ সহজ অংকটো কৰি উত্তৰটো বাকছৰ ভিতৰত লিখক -([[Special:Captcha/help|অধিক তথ্য]]):', - 'captcha-createaccount' => 'স্বয়ংক্ৰীয় হোৱা ভাবে সদস্যভুক্তি ৰোধ কৰিবলৈ, তলৰ সহজ অংকটো কৰি উত্তৰতো বাকছৰ ভিতৰত লিখক -([[Special:Captcha/help|অধিক তথ্য]]):', - 'captcha-createaccount-fail' => 'ভুল বা খালী নিশ্বিতকৰণ শব্দ', - 'captcha-create' => 'এই পৃষ্ঠাটো তৈয়াৰ কৰিবলৈ, তলৰ সহজ অংকটো কৰি উত্তৰতো বাকছৰ ভিতৰত লিখক -([[Special:Captcha/help|অধিক তথ্য]]):', - 'captcha-sendemail' => 'স্বয়ংক্ৰিয় স্পেমিঙৰ পৰা বাচিবলৈ অনুগ্ৰহ কৰি তলৰ সৰল অংকটো কৰক আৰু বাকছটোত উত্তৰ লিখক ([[Special:Captcha/help|অধিক তথ্য]]):', - 'captcha-sendemail-fail' => 'ভুল বা খালী নিশ্চিতকৰণ সংকেত', - 'captcha-disabledinapi' => 'এই কামটোৰ বাবে captchaৰ প্ৰয়োজন, গতিকে ইয়াক APIৰ মাধ্যমেৰে কৰিব পৰা নাযাব।', - 'captchahelp-title' => 'ক্যাপচা সাহায্য', - 'captchahelp-cookies-needed' => 'এই কামতো সম্পন্ন কৰিবলৈ, আপোনাৰ ব্ৰাউজাৰত কুকী সক্ৰীয় থাকিব লাগিব', - 'captchahelp-text' => "যিবোৰ ৱেবচাইটত জনতাই পাঠ্য ভৰাব পাৰে, যেনে এই ৱিকি, সেইবোৰক প্ৰায়ে দুষ্কৃতিকাৰী স্পেমাৰবোৰে স্বয়ংক্ৰীয় আহিলাৰ দ্বাৰা তেওলোকৰ চাইটলৈ সংযোগ ভৰাই আক্ৰমণ কৰে। -যদিও তেনে স্পাম সংযোগ গুচাব পাৰি, পিছে এয়া এক ডাঙৰ উপদ্ৰৱ। - -সাধাৰণতে যেতিয়া কোনো পৃষ্ঠালৈ নতুন সংযোগ সৃষ্টি কৰা হয়, তেতিয়া ৱিকিয়ে এটা ৰঙীন বা বিকৃত চবি দেখুৱাই তাত থকা শব্দখিনি আপোনাক টাইপ কৰিবলৈ ক'ব পাৰে। -যিহেতু এই কামতো স্বয়ংক্ৰিয়ভাৱে কৰা প্ৰায়ে অসম্ভব, ই বেছিভাগ প্ৰকৃত ব্যক্তিক পাঠ্য ভৰাব দিয়াৰ লগতে স্বয়ংক্ৰিয় আহিলাৰ দ্বাৰা পাঠ্য ভৰোৱা দুষ্কৃতিকাৰীসকলক ৰোধ কৰিব পাৰে। - -দুৰ্ভাগ্যক্ৰমে, সীমিত দৃষ্টিশক্তি থকা ব্যক্তিসকলে, বা পাঠ্য-আধাৰিত অথবা ধ্বনি-আধাৰিত ব্ৰাউজাৰ ব্যৱহাৰ কৰা ব্যক্তিসকলে ইয়াৰ পৰা অসুবিধা পাব পাৰে। -এই সময়ত ইয়াৰ কোনো ধ্বনি-আধাৰিত বিকল্প আমাৰ হাতত নাই। -ইয়াৰ বাবে যদি আপুনি যুক্তিসন্মত পাঠ্য ভৰাবলৈ অসুবিধা পাইছে, তেনেহলে [[{{MediaWiki:Grouppage-sysop}}|চাইট প্ৰশাসকৰ]] লগত যোগাযোগ কৰক। - -পৃষ্ঠা সম্পাদনালৈ ঘূৰি যাবলৈ আপোনাৰ ব্ৰাউজাৰৰ 'back' বুটামত টিপা মাৰক।", - 'captcha-addurl-whitelist' => ' #
-# চিনটেক্স তলত দিয়া ধৰনে হ’ব:
-#  * "#" কেৰেক্টাৰৰ পৰা আৰম্ভ হৈ লাইনৰ শেষ পৰ্যন্ত সকলোবোৰ এটাই মন্তব্য
-#  * প্ৰতিটো খালী-নোহোৱা শাৰী একোটা ৰেজেক্স খণ্ডাংশ যিটো ইউ.আৰ.এল. সমূহৰ ভিতৰৰ হষ্টসমূহৰ লগত মিলি যাব।
-  #
', - 'right-skipcaptcha' => 'CAPTCHAৰ মাজেৰে নোযোৱাকৈ CAPTCHA সক্ৰিয় কৰা কাম কৰক', -); - -/** Asturian (asturianu) - * @author Esbardu - * @author Xuacu - */ -$messages['ast'] = array( - 'captcha-edit' => "Pa editar esta páxina, por favor resuelvi la suma simple d'embaxo y pon la rempuesta nel caxellu ([[Special:Captcha/help|más información]]):", - 'captcha-desc' => "Ufre téuniques de CAPTCHA pa protexese escontra'l spam y descubrimientu de contraseñes", - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "La to edición inclúi nuevos enllaces esternos. Pa protexer la wiki escontra'l spam automatizáu, pidimoste por favor que resuelvas la suma simple d'embaxo y pongas la rempuesta na caxella pa guardar la edición ([[Special:Captcha/help|más información]]):", - 'captcha-badlogin' => "Pa protexer la wiki escontra'l descifráu automáticu de claves, pidimoste por favor que resuelvas la suma simple d'embaxo y pongas la rempuesta na caxella ([[Special:Captcha/help|más información]]):", - 'captcha-createaccount' => "Pa protexer la wiki escontra la creación automática de cuentes, pidimoste por favor que resuelvas la suma simple d'embaxo y pongas la rempuesta na caxella ([[Special:Captcha/help|más información]]):", - 'captcha-createaccount-fail' => 'Códigu de confirmación incorreutu o ausente.', - 'captcha-create' => "Pa crear la páxina, por favor resuelvi la suma simple d'embaxo y pon la rempuesta nel caxellu ([[Special:Captcha/help|más información]]):", - 'captcha-sendemail' => "Pa protexer la wiki escontra la puxarra automatizada, pidimoste por favor que resuelvas la suma cenciella d'embaxo y pongas la rempuesta na caxella ([[Special:Captcha/help|más información]]):", - 'captcha-sendemail-fail' => 'Códigu de confirmación incorreutu o ausente.', - 'captcha-disabledinapi' => 'Esta aición requier un captcha y, poro, nun pue facese pel API', - 'captchahelp-title' => 'Ayuda tocante al CAPTCHA', - 'captchahelp-cookies-needed' => "Has tener les cookies habilitaes nel to navegador pa que'l sistema funcione.", - 'captchahelp-text' => "Los sitios web qu'aceuten mensaxes del publicu, como esta wiki, davezu son oxetu d'abusu por spammers qu'usen programes pa incluyir los sos enllaces automáticamente. -Mientres qu'estos enllaces de puxarra puen desaniciase, son enforma cafiantes. - -Dacuando, especialmente al amestar nuevos enllaces web nuna páxina, la wiki pue amosate una imaxe de testu coloreáu o distorsionáu y va pidite qu'escribas les pallabres que s'amuesen. -Yá qu'esti ye un llabor difícil d'automatizar, permitirá a les más de les persones reales unviar los sos testos, al empar que llenden los más de los spammers y otros atacantes automáticos. - -Por desgracia, esto pue ser un inconveniente pa los usuarios con visión llimitada o qu'usen navegadores de testu o voz. De momentu nun tenemos disponible una alternativa de soníu. Por favor, ponte'n contautu colos [[{{MediaWiki:Grouppage-sysop}}|alministradores del sitiu]] pa pidir ayuda si esto te torgare facer ediciones llexítimes. - -Calca nel botón 'atrás' del to navegador pa volver a la páxina d'edición.", - 'captcha-addurl-whitelist' => ' #
-# La sintaxis ye como sigue:
-#  * Too dende\'l carauter "#" hasta la fin de la llinia ye un comentariu
-#  * Toa llinia non vacia ye un fragmentu regex que namái buscará hosts n\'URLs
-  #
', - 'right-skipcaptcha' => 'Facer les acciones que requieren captcha ensin tener que lu introducir', -); - -/** Azerbaijani (azərbaycanca) - * @author Vugar 1981 - */ -$messages['az'] = array( - 'captchahelp-title' => 'CAPTCHA kömək', -); - -/** Bashkir (башҡортса) - * @author Assele - * @author ҒатаУлла - */ -$messages['ba'] = array( - 'captcha-edit' => 'Был битте мөхәррирләү өсөн, зинһар, ябай мәсьәләне сисегеҙ һәм яуабын түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'captcha-desc' => 'Спамдан һәм паролде яратыуҙан һаҡлау өсөн CAPTCHA ысулдары менән тәьмин итә', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Һеҙҙең текстығыҙҙа яңы тышҡы һылтанмалар бар. -Автоматик спамдан һаҡлау маҡсатында, зинһар, ябай мәсьәләне сисегеҙ һәм яуабын түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'captcha-badlogin' => 'Паролде автоматик ватыуҙан һаҡлау маҡсатында, зинһар, ябай мәсьәләне сисегеҙ һәм яуабын түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'captcha-createaccount' => 'Иҫәп яҙмаларын автоматик булдырыуҙан һаҡлау маҡсатында, зинһар, ябай мәсьәләне сисегеҙ һәм яуабын түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'captcha-createaccount-fail' => 'Раҫлау коды керетелмәгән йәки дөрөҫ түгел.', - 'captcha-create' => 'Яңы бит булдырыу өсөн, зинһар, ябай мәсьәләне сисегеҙ һәм яуабын түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'captcha-sendemail' => 'Автоматик спамдан һаҡлау маҡсатында, зинһар, ябай мәсьәләне сисегеҙ һәм яуабын түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'captcha-sendemail-fail' => 'Раҫлау коды керетелмәгән йәки дөрөҫ түгел.', - 'captcha-disabledinapi' => 'Был ғәмәл captcha тикшереүен талап итә, шуға күрә API аша башҡарыла алмай.', - 'captchahelp-title' => 'Captcha тураһында белешмә', - 'captchahelp-cookies-needed' => 'Бының эшләүе өсөн һеҙҙең браузерығыҙҙа куки булыуы кәрәк.', - 'captchahelp-text' => 'Үҙенә эстәлек өҫтәргә һәм эстәлеген мөхәррирләргә мөмкинлек биргән веб-сайттар, шул иҫәптән был вики, йыш ҡына сайттарға автоматик һылтанмалар өҫтәү өсөн программалар ҡулланған спамлаусыларҙың маҡсатына әйләнә. - -Ҡайһы бер ғәмәлдәрҙе башҡарған ваҡытта — мәҫәлән, биткә һылтанма өҫтәгән ваҡытта — һеҙ төҫлө йәки боҙолған текстлы махсус рәсем күрә алаһығыҙ, һеҙгә ошо текстты керетергә тәҡдим ителәсәк. -Программалар өсөн боҙолған текстты уҡыу ауыр мәсьәлә булып торғанға күрә, спамлау һәм вандал программаларының күпселеге быны хәл итә алмаясаҡ, ә кешеләр еңел башҡарасаҡ. - -Үкенескә ҡаршы, бындай һаҡлыҡ саралары күҙҙәре насар күреүсе кешеләргә йәки текстлы йәки уҡыусы браузерҙар ҡулланған кешеләргә уңайһыҙлыҡ килтереүе мөмкин. -Әлеге ваҡытта беҙҙең бындай тикшереүҙе тауыш менән алыштырыу мөмкинлеге юҡ. -Зинһар, әгәр бындай тикшереү һеҙгә сайтта намыҫ менән эшләргә ҡамасаулаһа, [[{{MediaWiki:Grouppage-sysop}}|хәкимдәргә]] мөрәжәғәт итегеҙ. - -Мөхәррирләүгә кире ҡайтыу өсөн, браузерығыҙҙа кире ҡайтыу төймәһенә баҫығыҙ.', - 'captcha-addurl-whitelist' => '#
-# Синтаксистың тасуирламаһы:
-#  * "#" хәрефенән алып бөтә юл юлдың аҙағына тиклем аңлатма тип һанала
-#  * Һәр буш булмаған юл URL адресындағы үҙәк исеменең регуляр аңлатмаһы тип һанала 
- #
', - 'right-skipcaptcha' => 'Captcha тикшереүен талап иткән ғәмәлдәрҙе тикшереүһеҙ башҡарыу', -); - -/** Southern Balochi (بلوچی مکرانی) - * @author Mostafadaneshvar - */ -$messages['bcc'] = array( - 'captcha-edit' => 'به اصلاح کتن ای صفحه،لطفا ای جمع ساده حل کنیت و جوابء جهلا وارد کنیت ([[Special:Captcha/help|گیشتر اطلاعات]]):', - 'captcha-desc' => ' کاربرد ساده captcha', - 'captcha-addurl' => 'شمی اصلاح شامل نوکین درای لینک انت. -په کمک په حمایت چه اتوماتیکی اسپم، لطفا جمع ساده حل کینت و جواب جهلء وارد کنیت ([[Special:Captcha/help|گیشتر اطلاعات]]):', - 'captcha-badlogin' => 'په کمک په حمایت چه اتوماتیکی کلمه رمز پروشوک، لطفا ای جمع ساده حل کنیت. جوابء جهلء وارد کنید ([[Special:Captcha/help|گیشتر اطلاعات]]):', - 'captcha-createaccount' => 'په کمک په حمایت چه اتوماتیکی حساب شرکتن، لطفا ای جهلی ساده جمع حل کنیت و جواب بنویسیت ([[Special:Captcha/help|گیشتر اطلاعات]]):', - 'captcha-createaccount-fail' => 'اشتباه یا گارین کد تایید', - 'captcha-create' => 'په شرکتن صفحه، لطفا ای جمع ساده حل کنیت و جواب ادان بنویسیت ([[Special:Captcha/help|گیشتر اطلاعات]]):', - 'captchahelp-title' => 'کمک Captcha', - 'captchahelp-cookies-needed' => 'شمی نیاز بیت که ته وتی بروزر کوکی فعال کنیت په ای کارء', - 'captchahelp-text' => "وب سایتانی که چه عام نوشته قبول کننت، په داب ای ویکی، اغلب چه طرف اسپمرآن که چه وسایل اتوماتیکی په دیم دهگ لینکانش په بازگین سایت سوء استفاده کنگ بیت. -اگر که ای لینک اسپمی دور کنگ بینت،بله باز اذیت کننت. - -لهتی وهد به خصوصی وهدی که نوکین لینک وبی په یک صفحه اضافه بیت،ویکی شاید یک عکس رنگی یا هورت هورین متنی شما ار پیش داریت و چه شما لوٹیت پیش داشتگین کلمات وارد کنیت. -چه آ جاهی که ای کاری سختنت په اتوماتیک کتن،آی واقعی ترین انسان اجازت دنت تا وتی نوشتانک دیم دهنت چه آ دیم گیشترین اسپمر و هکرآنء متوقف کنت. - -متاسفانه شی شاید کاربرانء ناراحت کنت ته یک دید محدود یا استفاده کتن چه بروزرآن متنی و گپی. -هنو ما را تواری جایگزین نیست. -لطفا مدیران سایت تماس گریت په کمک اگر شی یک ناخواسته این جلوگیری چه دیم دهگ قانونی انت. -دکمه 'back' ته وتی بروزر بجنیت دان په صفحه اصلاح تریت.", - 'captcha-addurl-whitelist' => ' #
-# Syntax is as follows:
-#   * Everything from a "#" character to the end of the line is a comment
-#   * Every non-blank line is a regex fragment which will only match hosts inside URLs
- #
', - 'right-skipcaptcha' => 'اجرای کاران کپچا بی شی که چه طریق کپچا بروت', -); - -/** Bikol Central (Bikol Central) - * @author Filipinayzd - */ -$messages['bcl'] = array( - 'captcha-create' => 'Tangarig maggibo an pahina, paki simbagan an simpleng suma sa ibaba asin ikaag an simbag sa laog kan kahon ([[Special:Captcha/help|more info]]):', - 'captchahelp-title' => 'Tabang sa Captcha', -); - -/** Belarusian (беларуская) - * @author Yury Tarasievich - * @author Хомелка - */ -$messages['be'] = array( - 'captcha-edit' => 'Для змянення гэтай старонцы, калі ласка, вырашыце простую суму ніжэй і ўвядзіце адказ у поле ([[Special:Captcha/help|more info]]):', - 'captcha-desc' => 'Вырашэнне простай каптчы', - 'captcha-create' => 'Каб стварыць старонку, развяжыце простае ўраўненне, што ніжэй, і ўпішыце адказ у адпаведнае поле ([[Special:Captcha/help|больш падрабязна]]):', - 'captchahelp-title' => 'Даведка Капчы', - 'captchahelp-cookies-needed' => 'Каб гэтая магчымасць працавала, належыць дазволіць у браўзеры апрацоўку квіткоў ("кукі").', - 'captcha-addurl-whitelist' => ' #
-# Сінтаксіс наступны:
-#  * Усё ад знаку "#" да канца радка гэта каментар
-#  * Кожны непусты радок гэта частковы рэгулярны выраз, які параўноўваецца з адрасамі сервераў унутры URL-яў
-  #
', -); - -/** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎) - * @author EugeneZelenko - * @author Jim-by - * @author Red Winged Duck - * @author Wizardist - */ -$messages['be-tarask'] = array( - 'captcha-edit' => 'Каб рэдагаваць гэтую старонку, калі ласка, знайдзіце простую суму і ўвядзіце адказ у поле ([[Special:Captcha/help|падрабязнасьці]]):', - 'captcha-desc' => 'Дадае мэтад CAPTCHA для абароны супраць спаму і падбору пароляў', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Вашае рэдагаваньне ўтрымлівае новыя вонкавыя спасылкі. -У мэтах абароны ад аўтаматычнага спаму, калі ласка, рашыце простае раўнаньне і ўвядзіце вынік у поле, каб захаваць зьмены ([[Special:Captcha/help|падрабязнасьці]]):', - 'captcha-badlogin' => 'У мэтах абароны ад аўтаматычнага ўзлому пароляў, калі ласка, рашыце простае раўнаньне і ўвядзіце вынік у поле ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'captcha-createaccount' => 'У мэтах абароны ад аўтаматычнага стварэньня рахункаў, калі ласка, рашыце простае раўнаньне і ўвядзіце вынік у поле ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'captcha-createaccount-fail' => 'Код пацьверджаньня — няслушны альбо адсутнічае.', - 'captcha-create' => 'Каб стварыць старонку, калі ласка, знайдзіце простую суму і ўвядзіце адказ у поле ([[Special:Captcha/help|падрабязнасьці]]):', - 'captcha-sendemail' => 'У мэтах абароны супраць аўтаматычнага спаму, калі ласка, рашыце простае раўнаньне і ўвядзіце вынік у полі ніжэй ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'captcha-sendemail-fail' => 'Код пацьверджаньня — няслушны альбо адсутнічае.', - 'captcha-disabledinapi' => 'Гэтае дзеяньне патрабуе праверкі captcha, і з-за гэтага ня можа быць выкананае праз API.', - 'captchahelp-title' => 'Дапамога ў captcha', - 'captchahelp-cookies-needed' => 'Вам трэба дазволіць файлы-кукі ў Вашым браўзэры, каб гэтая функцыя працавала.', - 'captchahelp-text' => 'Вэб-сайты, якія прымаюць запісы ад грамадзкасьці, падобныя на {{GRAMMAR:вінавальны|{{SITENAME}}}}, часта атакуюцца спамэрамі, якія ўжываюць аўтаматызаваныя інструмэнты, каб зьмяшчаць свае спасылкі на шмат сайтаў. -І хаця гэтыя спасылкі могуць быць прыбраныя, яны выклікаюць значныя нязручнасьці. - -Часам, асабліва калі Вы дадаеце новыя вонкавыя спасылкі на старонку, {{SITENAME}} можа паказаць Вам выяву з каляровым ці скажоным тэкстам і папрасіць увесьці гэты тэкст. -Праз тое, што гэтае заданьне цяжка аўтаматызаваць, яно дазволіць большасьці рэальных людзей рабіць запісы, але спыніць большасьць спамэраў і іншых аўтаматызаваных робатаў. - -На жаль, гэта можа выклікаць нязручнасьці для ўдзельнікаў з абмежаваньнямі па зроку і для тых, хто ўжывае тэкставыя ці моўныя браўзэры. -На гэты момант мы ня маем аўдыё-альтэрнатывы гэтай праверцы. -Калі ласка, зьвяжыцеся з [[{{MediaWiki:Grouppage-sysop}}|адміністратарамі]], калі гэтая праверка перашкаджае Вам рабіць слушныя запісы. - -Націсьніце кнопку «назад» у Вашым браўзэры, каб вярнуцца да рэдагаваньня старонкі.', - 'captcha-addurl-whitelist' => ' #
-# Сынтаксіс наступны:
-#  * Усё, што пачынаецца з «#» і да канца радку, зьяўляецца камэнтарам
-#  * Усе непустыя радкі зьяўляюцца часткамі рэгулярнага выразу, які будзе выкарыстоўвацца толькі
-# ў дачыненьні да назваў сэрвэраў у вонкавых спасылках
-  #
', - 'right-skipcaptcha' => 'выкананьне дзеяньняў без праверкі CAPTCHA, дзе яна патрабуецца', -); - -/** Bulgarian (български) - * @author DCLXVI - * @author Spiritia - */ -$messages['bg'] = array( - 'captcha-edit' => 'Редактирането на тази статия изисква потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):', - 'captcha-desc' => 'Предоставя опростена captcha технология като защита срещу спам и налучкване на пароли', - 'captcha-addurl' => 'Тази редакция съдържа нови външни препратки. Като защита срещу автоматизиран спам системата изисква потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):', - 'captcha-badlogin' => 'Като защита срещу автоматизирано компрометиране на пароли, системата изисква потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):', - 'captcha-createaccount' => 'Като защита от автоматизирани регистрации, системата изисква при регистриране на потребителска сметка потребителите да въведат отговора на задачата по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):', - 'captcha-createaccount-fail' => 'Грешен или липсващ код за потвърждение.', - 'captcha-create' => 'За създаване на страницата е необходимо да се реши задачата и да се въведе отговорът в кутията ([[Special:Captcha/help|повече информация]]):', - 'captcha-sendemail-fail' => 'Грешен или липсващ код за потвърждение.', - 'captcha-disabledinapi' => 'Това действие изисква капча, следователно не може да бъде извършено през приложния програмен интерфейс.', - 'captchahelp-title' => 'Помощ за сaptcha', - 'captchahelp-cookies-needed' => 'За да работи това, необходимо е бисквитките на вашия браузър да са включени.', - 'captchahelp-text' => "Уеб сайтовете, които позволяват свободно да се редактира и добавя ново съдържание (като това уики), често са обект на атаки от страна на спамъри, които използват средства за автоматизирано редактиране за публикуване на препратки към много сайтове. Въпреки че тези препратки могат да бъдат премахнати, те са особено неприятни за потребителите. - -Понякога, особено когато се добавят нови препратки към страниците, е възможно уикито да покаже картинка с текст, който трябва да бъде въведен в посоченото поле. Тъй като това е стъпка, която е трудно да бъде прескочена при автоматизирано редактиране, тя затруднява и спира повечето спамъри и роботи, но допуска истинските потребителите да правят редакции. - -За съжаление тази стъпка може да затрудни незрящи потребители или потребители, които използват текстови или речеви браузъри. За момента системата не разполага с възможност за гласова алтернатива. Обърнете се за помощ към [[{{MediaWiki:Grouppage-sysop}}|администратор на сайта]], ако това изискване на системата ви затруднява да допринасяте легитимно. - -Натиснете бутона 'back' на вашия браузър, за да се върнете към редактора на страници.", -); - -/** Bengali (বাংলা) - * @author Bellayet - * @author Nasir8891 - * @author Prometheus.pyrphoros - * @author Usarker - * @author Zaheen - */ -$messages['bn'] = array( - 'captcha-edit' => 'এই নিবন্ধটি সম্পাদনা করতে দয়া করে নিচের সহজ যোগটি সমাধান করুন এবং ফলাফলটি বাক্সটিতে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'captcha-desc' => 'স্প্যাম এবং পাসওয়ার্ড অনুমান প্রতিরোধে ক্যাপচা প্রযুক্তি ব্যবহার', - 'captcha-label' => 'ক্যাপচা', - 'captcha-addurl' => 'আপনার সম্পাদনায় নতুন বহিঃসংযোগ বিদ্যমান। স্বয়ংক্রিয় স্প্যামের বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ নিচের যোগটি সমাহদান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'captcha-badlogin' => 'স্বয়ংক্রিয় শব্দচাবি ক্র‌্যাকিং-এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের যোগটি সমাধান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'captcha-createaccount' => 'স্বয়ংক্রিয় অ্যাকাউন্ট সৃষ্টি রোধ করার খাতিরে অনুগ্রহ করে নিচের যোগটি সমাধান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'captcha-createaccount-fail' => 'ভুল অথবা হারিয়ে যাওয়া নিশ্চিতকরণ সংকেত', - 'captcha-create' => 'পাতাটি সৃষ্টি করতে চাইলে অনুগ্রহ করে নিচের যোগটি সমাধান করুন এবং উত্তরটি বাক্সে প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'captcha-sendemail' => 'স্বয়ংক্রিয় স্প্যাম থেকে রক্ষা পেতে, অনুগ্রহ করে সাধারন অংকটি সমাধান করুন এবং উত্তরপ্রদান বক্সে লিখুন ([[Special:Captcha/help|আরও তথ্য]]):', - 'captcha-sendemail-fail' => 'নিশ্চিতকরণ কোডটি ভুল বা দেয়া হয়নি', - 'captcha-disabledinapi' => 'এই কাজটি করার জন্য একটি ক্যাপচা প্রয়োজন, তাই এটি এপিআই দ্বারা করা যাবে না।', - 'captchahelp-title' => 'ক্যাপচা সাহায্য', - 'captchahelp-cookies-needed' => 'এই কাজটি করার জন্য আপনাকে আপনার ব্রাউজারের কুকি সক্রিয় করতে হবে।', - 'captchahelp-text' => 'যেসব ওয়েবসাইট পোস্টিং-এর জন্য উন্মুক্ত, যেমন এই উইকিটি, সেগুলি প্রায়ই স্প্যামারদের আক্রমণের শিকার হয়। স্প্যামাররা স্বয়ংক্রিয় সরঞ্জাম ব্যবহার করে তাদের সংযোগগুলি বহু সাইটে পোস্ট করে। এই স্প্যাম সংযোগগুলি মুছে ফেলা সম্ভব, কিন্তু এগুলি যথেষ্ট বিরক্তির উদ্রেক করে। - -কখনো কখনো, বিশেষ করে কোন পাতায় নতুন ওয়েব সংযোগ যোগ করার সময়, উইকিটি আপনাকে রঙিন বা বিকৃত টেক্সটবিশিষ্ট ছবি দেখিয়ে আপনাকে শব্দটি টাইপ করতে বলতে পারে। যেহেতু এই কাজটি স্বয়ংক্রিয়ভাবে সম্পাদন করা দুরূহ, তাই এই ব্যবস্থার ফলে প্রকৃত মানুষেরা পোস্ট করতে পারবেন কিন্তু বেশির ভাগ স্প্যামার বা রোবটভিত্তিক আক্রমণ বাধাপ্রাপ্ত হবে। - -যারা চোখে কম দেখতে পান কিংবা টেক্সটভিত্তিক বা উক্তিভিত্তিক ব্রাউজার ব্যবহার করছেন, দুর্ভাগ্যবশত এই ব্যবস্থাটি তাদের জন্য সমস্যার সৃষ্টি করবে। এই মুহূর্তে আমাদের কাছে এই ব্যবস্থাটির কোন অডিও বিকল্প নেই। যদি ব্যবস্থাটি আপনাকে বৈধ পোস্ট করতে অযাচিত বাধা দেয়, অনুগ্রহ করে [[{{MediaWiki:Grouppage-sysop}}|সাইটের প্রশাসকদের]] কাছে সাহায্য চান। - -আপনি এখন ব্রাউজারের ব্যাক বোতাম চেপে পাতা সম্পাদকে ফেরত যেতে পারেন।', - 'captcha-addurl-whitelist' => ' #
-# সিনট্যাক্স নিম্নরূপ:
-#  * "#" ক্যারেক্টার থেকে শুরু হয়ে লাইনের শেষ পর্যন্ত সবকিছু একটি মন্তব্য
-#  * খালি নয় এমন প্রতিটি লাইন একটি রেজেক্স খণ্ডাংশ যেটি URLগুলির ভেতরে হোস্টগুলির সাথে মিলে যাবে।
-  #
', - 'right-skipcaptcha' => 'ক্যাপচাতে না গিয়ে ক্যাপচা ট্রিগারিং এর কাজ করুন', -); - -/** Breton (brezhoneg) - * @author BrokenArrow - * @author Fulup - * @author VIGNERON - * @author Y-M D - */ -$messages['br'] = array( - 'captcha-edit' => "A-raok gellout kemmañ ar bajenn-mañ e c'houlenner ouzhoc'h respont d'ar jedadenn eeun a-is ha lakaat an disoc'h er vaezienn ([[Special:Captcha/help|Petra eo se?]])", - 'captcha-desc' => 'Pourchas a ra teknikoù CAPTCHA evit en em wareziñ diouzh ar strob hag an diskuliañ gerioù-tremen', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Liammoù diavaez nevez zo bet ouzhpennet ganeoc'h. A-benn talañ ouzh ar strob emgefre skrivit disoc'h ar jedadennig eeun-mañ er stern :
([[Special:Captcha/help|Petra eo se?]])", - 'captcha-badlogin' => "A-benn talañ ouzh preizhadur emgefre ar gerioù-tremen gant ar botoù e c'houlenner ouzhoc'h jediñ an tamm oberiadenn ha skrivañ an disoc'h anezhi er vaezienn a-is ([[Special:Captcha/help|Petra eo se ?]]):", - 'captcha-createaccount' => "A-benn hor skoazellañ da dalañ ouzh ar c'hrouiñ kontoù emgefre, jediñ an tamm oberiadenn ha skrivañ an disoc'h anezhi er vaezienn a-is ([[Special:Captcha/help|gouzout hiroc'h]]) :", - 'captcha-createaccount-fail' => "Pe e vank ar c'hod kadarnaat pe eo fall anezhañ.", - 'captcha-create' => "A-benn krouiñ ar bajenn, skrivit disoc'h ar jedadennig eeun-mañ er vaezienn :
([[Special:Captcha/help|Petra eo se?]])", - 'captcha-sendemail' => "Evit hor skoazellañ da zizarbenn ar strob emgefre, sammit ar sifroù a-is ha skrivit an disoc'h er voest ([[Special:Captcha/help|gouzout hiroc'h]]) :", - 'captcha-sendemail-fail' => "Pe e vank ar c'hod kadarnaat pe eo fall anezhañ.", - 'captcha-disabledinapi' => "Evit an obererezh-mañ ez eus ezhomm ur captcha, dre-se ne c'hell ket bezañ graet dre an API.", - 'captchahelp-title' => 'Skoazell Capcha', - 'captchahelp-cookies-needed' => "Ret eo deoc'h gweredekaet an toupinoù war ho merdeer Web evit ma'z afe en-dro.", - 'captchahelp-text' => "Alies e vez taget al lec'hiennoù a zegemer kemennadennoù a-berzh an holl, evel ar wiki-mañ, gant ar stroberien a implij ostilhoù emgefre evit postañ o liammoù war lec'hiennoù a bep seurt. -Ha pa c'hallfent bezañ diverket, kazus-mat ez int memes tra. - -A-wezhioù, dreist-holl pa vez ouzhpennet liammoù Web nevez war ur bajenn, e c'hallo ar wiki-mañ diskouez deoc'h ur skeudenn warni un tamm testenn liv pe a-dreuz. Goulennet e vo diganeoc'h skrivañ ar gerioù a welit. -Un trevell start da emgefrekaat eo hemañ. Gant se e c'hallo an implijerien wirion postañ ar pezh a fell dezho tra ma vo lakaet un harz d'an darn vrasañ eus ar stroberien pe d'an dagerien robotek all. - -Koulskoude e c'hallo an implijerien berr o gweled pe ar re a implij merdeerioù diazezet war ar skrid pe war ar vouezh bezañ strafuilhet gant se. N'omp ket evit kinnig un diskoulm dre glevet evit c'hoazh. -Kit e darempred gant [[{{MediaWiki:Grouppage-sysop}}|merourien al lec'hienn]] m'hoc'h eus diaesterioù evit kemer perzh abalamour d'an teknik-se. - -Pouezit war bouton 'kent' ho merdeer evit distreiñ d'ar bajenn gemmañ.", - 'captcha-addurl-whitelist' => " #
-# Setu penaos emañ an ereadur :
-#  * Kement tra war-lerc'h an arouezenn \"#\" zo un urzhiad, betek penn all al linenn
-#  * Kement linenn n'eo ket goullo zo ur c'hod regex a vo implijet e diabarzh al liammoù gourdskrid hepken
-  #
", - 'right-skipcaptcha' => 'Lañsañ a ra an oberoù captcha hep bezañ rediet da dremen drezañ', -); - -/** Bosnian (bosanski) - * @author BrokenArrow - * @author CERminator - */ -$messages['bs'] = array( - 'captcha-edit' => 'Vaša izmjena uključuje nove URL linkove; kao zaštita od automatizovanog vandalizma, moraćete da izračunate zadatak ispod i upišete odgovor u prozor: -([[Special:Captcha/help|Šta je ovo?]]):', - 'captcha-desc' => 'Omogućava CAPTCHA tehnike za zaštitu protiv spama i probijanja šifre', - 'captcha-addurl' => 'Vaša izmjena uključuje nove URL linkove; kao zaštita od automatizovanog vandalizma, moraćete da upišete rezultat prikazane sume u okvir ([[Special:Captcha/help|Šta je ovo?]]):', - 'captcha-badlogin' => 'Da bi ste pomogli protiv automatskog probijanja šifre, molimo riješite jednostavan zadatak sabiranja ispod i unesite rezultat u kutiju ([[Special:Captcha/help|više informacija]]):', - 'captcha-createaccount' => 'Kao zaštita od automatizovanog vandalizma, moraćete da ukucate rezultat sume u okvir ispod da biste registrovali nalog: -
([[Special:Captcha/help|Šta je ovo?]])', - 'captcha-createaccount-fail' => 'Netačan unos ili nedostatak šifre za potvrđivanje.', - 'captcha-create' => 'Da bi ste napravili stranicu; kao zaštita od automatizovanog vandalizma, moraćete da ukucate rezultat prikazane sume u okvir ispod: -([[Special:Captcha/help|Šta je ovo?]])', - 'captcha-sendemail' => 'Da bi ste pomogli protiv automatskog stavljanja linkova, molimo riješite jednostavan zadatak sabiranja ispod i unesite rezultat u kutiju ([[Special:Captcha/help|više informacija]]):', - 'captcha-sendemail-fail' => 'Netačan unos ili nedostatak šifre za potvrđivanje.', - 'captcha-disabledinapi' => 'Ova akcija zahtjeva captchu, tako da se ne može izvršiti preko API.', - 'captchahelp-title' => 'Pomoć pri captcha', - 'captchahelp-cookies-needed' => 'Da bi ste ovo mogli raditi potrebno je da omogućite kolačiće (cookies) u Vašem pregledniku.', - 'captchahelp-text' => "Websajtovi koji podržavaju slanje sadržaja iz javnosti, kao što je ovaj viki, često zloupotrebljavaju vandali koji koriste automatizovane alate da šalju svoje linkove ka mnogim sajtovima. -Iako se ovi neželjeni linkovi mogu ukloniti, one ipak zadaju veliku muku. - -Ponekad, pogotovo kad se dodaju novi internet linkovi na stranicu, wiki softver Vam može pokazati sliku obojenog i izvrnutog teksta i tražiti da ukucate traženu riječ. -Pošto je teško automatizovati ovakav zadatak, on omogućuje svim pravim ljudima da vrše svoje izmjene, ali će zato spriječiti vandale i ostale robotske napadače. - -Nažalost, ovo može da bude nepovoljno za korisnike sa ograničenim vidom i za one koji koriste preglednike bazirane na tekstu ili govoru. -U ovom trenutku, audio alternativa nije dostupna. -Molimo Vas da kontaktirate [[{{MediaWiki:Grouppage-sysop}}|administratore sajta]] radi pomoći ako Vas ovo neočekivano ometa u pravljenju dobrih izmjena. - -Kliknite 'nazad' ('back') dugme vašeg preglednika da se vratite na polje za unos teksta.", - 'captcha-addurl-whitelist' => ' #
-# Sintaksa je slijedeća:
-#  * Sve od znaka "#" do kraja reda je komentar
-#  * Svaki neprazni red je regex fragment koji će odgovarati samo domaćinima unutar URLova
-  #
', - 'right-skipcaptcha' => 'Korištenje akcija nakon captcha bez potrebe prolaska kroz captcha proces', -); - -/** Catalan (català) - * @author Arnaugir - * @author El libre - * @author Paucabot - * @author SMP - * @author Ssola - * @author Toniher - */ -$messages['ca'] = array( - 'captcha-edit' => 'Per a poder modificar aquesta pàgina cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre ([[Special:Captcha/help|més informació]]):', - 'captcha-desc' => "Proporciona tècniques CAPTCHA per a protegir contra la publicitat no desitjada i l'obtenció de contrasenyes", - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'La vostra modificació conté enllaços externs nous. Com a protecció contra la brossa de propaganda automàtica, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):', - 'captcha-badlogin' => "Per a ajudar en la protecció contra l'obtenció automatitzada de contrasenyes haureu de resoldre la suma que apareix a continuació ([[Special:Captcha/help|més informació]]):", - 'captcha-createaccount' => "Com a protecció contra la creació automàtica de comptes d'usuari necessitem que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):", - 'captcha-createaccount-fail' => 'Manca el codi de confirmació, o bé és incorrecte.', - 'captcha-create' => 'La vostra modificació conté enllaços externs nous. Com a protecció contra la brossa de propaganda automàtica, cal que resolgueu aquesta simple suma i introduïu el resultat en el quadre a continuació ([[Special:Captcha/help|més informació]]):', - 'captcha-sendemail' => "Per tal d'ajudar-nos en la lluita contra la publicitat automatitzada, cal que solucioneu la senzilla suma que apareix a continuació, i escrigueu el resultat a la casella ([[Special:Captcha/help|més informació]]):", - 'captcha-sendemail-fail' => 'Manca el codi de confirmació, o bé és incorrecte.', - 'captcha-disabledinapi' => "Aquesta acció requereix un captcha (codi d'imatge), per la qual cosa no es pot realitzar a través de l'API.", - 'captchahelp-title' => 'Ajuda amb el sistema captcha', - 'captchahelp-cookies-needed' => "Heu d'activar les galetes al vostre navegador per a que funcioni.", - 'captchahelp-text' => "Els webs que accepten la publicació de missatges per part del seu públic, com aquest wiki, són sovint víctimes de spam per part de robots automàtics que hi posen enllaços cap als seus webs. Aquests enllaços es poden anar eliminant, però suposen un important destorb. - -Quan creeu nous comptes d'usuari o afegiu enllaços a una pàgina se us demanarà que respongueu una pregunta fàcil, una suma o que teclegeu el text que apareix en una imatge distorsionada. És difícil programar un robot per aquest tipus de tasques, i gràcies a açò, es poden aturar la majoria d'atacants robots. - -Malauradament, aquest sistema pot suposar un inconvenient per a usuaris amb problemes de visió o que utilitzin navegadors de text simple o de veu. Actualment no disposem de cap alternativa auditiva disponible. Contacteu els [[{{MediaWiki:Grouppage-sysop}}|administradors del web]] si aquest sistema us impedeix de fer edicions legítimes. - -Necessitareu tenir les galetes (''cookies'') activades al vostre navegador per a realitzar aquestes accions. - -Cliqueu el botó de retrocedir del vostre navegador per a tornar al formulari.", - 'captcha-addurl-whitelist' => " #
-# La sintaxi és la següent:
-#  * Totes les línies que comencen amb un # son considerades comentaris
-#  * Tota línia no buida és un fragment d'expressió regular (regexp) que enllaçarà amb els hosts de les URL
-  #
", - 'right-skipcaptcha' => 'Fer les accions que requereixen de captcha sense haver-lo de passar', -); - -/** Min Dong Chinese (Mìng-dĕ̤ng-ngṳ̄) */ -$messages['cdo'] = array( - 'captcha-edit' => "Nṳ̄ gă-tiĕng lāu sĭng gì nguôi-buô lièng-giék. Ôi lāu ê̤ṳ-huòng ô tiàng-sê̤ṳ cê̤ṳ-dông huák-buó bóng-só̤ séng-sék (''spam''), kī-dâe̤ng nṳ̄ gié-sáung â-dā̤ gāng-dăng gì gă-huák, gái ciŏng dák-áng siā diē gáh-gáh diē-sié ([[Special:Captcha/help|gáing sâ̤ séng-sék]]):", - 'captchahelp-title' => 'Captcha bŏng-cô', - 'captchahelp-text' => "Chiông wiki dēng kăi-huóng gì uōng-câng sèu-sèu ké̤ṳk bóng-só̤ séng-sék huák-buó-nè̤ng (\\'\\'spammer\\'\\') páh-chā: ĭ-gáuk-nè̤ng kĕk cê̤ṳ-dông-huá gì gă-sĭ táik bóng-só̤ guōng-gó̤ lièng gáu ĭ gì uōng-câng. Chŭi-iòng cī piĕ bóng-só̤ séng-sék â̤ dù lâi gì, dáng-sê iâ cêng-go̤ tō̤-iéng. - -Ô sèng-hâiu, dĕk-biék sê găk nṳ̄ gă-tiĕng sĭng gì nguôi-buô lièng-giék gáu wiki gì sèng-hâiu, wiki â̤ hiēng-sê sáik-ké gáuk-iông hĕ̤k-ciā sê hìng-câung ô gāi-biéng gì ùng-cê dù-chiông, giéu nṳ̄ páh diē nṳ̄ sū káng giéng gì cê hĕ̤k sṳ̀ (hô̤ lō̤ \"captcha\"). Ĭng-ôi gĭ-ké-nè̤ng mâ̤ chiàng ciā êng-ô, gó-chṳ̄ cêu â̤ huòng-cī duâi-buô-hông iù gĭ-ké-nè̤ng huák-buó bóng-só̤ séng-sék (bók-guó, cĭng nè̤ng huák-buó bóng-só̤ séng-sék, ciā huŏng-huák huòng mâ̤ lì). - -Cĭng mì-hâng, dó̤i hī piĕ mĕ̤k-ciŭ mâ̤ hō̤, hĕ̤k-ciā sê sāi-ê̤ṳng gĭ-ṳ̀ ùng-buōng (\\'\\'text-based\\'\\') hĕ̤k gĭ-ṳ̀ siăng-ĭng (\\'\\'speech-based\\'\\') gì báuk-lāng-ké (\\'\\'browser\\'\\') gì ê̤ṳng-hô lì gōng, cūng-kuāng cĭng mâ̤ lê-biêng. Cī òng, nàng-gă gó mò̤ 1 cṳ̄ng gá hō̤ gì huŏng-huák. Nâ sê gōng, cuòi īng-hiōng nṳ̄ ciáng-siòng piĕng-cĭk, chiāng nṳ̄ lièng-hiê guāng-lī-uòng. - -Ôi lāu captcha gì ciáng-siòng gĕ̤ng-cáuk, nṳ̄ diŏh páh kŭi báuk-lāng-ké gì cookie. - -Buóh diōng kó̤ piĕng-cĭk hiĕk-miêng, áik \"diōng kó̤ sèng 1 hiĕk\" (\\'\\'back\\'\\').", -); - -/** Czech (česky) - * @author Danny B. - * @author Li-sung - * @author Matěj Grabovský - * @author Mormegil - */ -$messages['cs'] = array( - 'captcha-edit' => 'Abyste mohli editovat tuto stránku, musíte vyřešit následující jednoduchý součet a napsat výsledek. ([[Special:Captcha/help|Co tohle znamená?]])', - 'captcha-desc' => 'Poskytuje techniky CAPTCHA pro ochranu před spamem a hádáním hesel', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Vaše editace obsahuje nové externí odkazy. -V zájmu ochrany této wiki před automatickým spamováním vás prosíme o vyřešení následujícího jednoduchého součtu a napsání výsledku, abychom mohli vaši editaci uložit. ([[Special:Captcha/help|Co tohle znamená?]])', - 'captcha-badlogin' => 'V zájmu ochrany této wiki proti automatickým pokusům uhodnout heslo vás prosíme o vyřešení následujícího jednoduchého součtu a napsání výsledku. ([[Special:Captcha/help|Co tohle znamená?]])', - 'captcha-createaccount' => 'V zájmu ochrany této wiki před automatickým vytvářením účtů vás prosíme o vyřešení následujícího jednoduchého součtu a napsání výsledku. ([[Special:Captcha/help|Co tohle znamená?]])', - 'captcha-createaccount-fail' => 'Chybějící či neplatný potvrzovací kód.', - 'captcha-create' => 'Abyste mohli založit stránku, musíte vyřešit následující jednoduchý součet a napsat výsledek. ([[Special:Captcha/help|Co tohle znamená?]])', - 'captcha-sendemail' => 'V zájmu ochrany této wiki před automatickým spamováním vás prosíme o vyřešení následujícího jednoduchého součtu a napsání výsledku. ([[Special:Captcha/help|Co tohle znamená?]])', - 'captcha-sendemail-fail' => 'Chybějící či neplatný potvrzovací kód.', - 'captcha-disabledinapi' => 'Tato operace vyžaduje splnění CAPTCHA, takže ji nelze provést prostřednictvím API.', - 'captchahelp-title' => 'Nápověda ke captcha', - 'captchahelp-cookies-needed' => 'Aby to fungovalo, musíte mít ve svém prohlížeči zapnuty cookies.', - 'captchahelp-text' => 'Webové stránky, do kterých mohou přispívat jejich návštěvníci (jako například tato wiki), jsou často terčem spammerů, kteří pomocí automatických nástrojů vkládají své odkazy na velké množství stránek. Přestože lze tento spam odstranit, představuje nepříjemné obtěžování. - -Někdy, zvláště při přidávání nových webových odkazů, vám může wiki ukázat obrázek barevného či pokrouceného textu a požádat vás o opsání zobrazených znaků. Jelikož takovou úlohu lze jen těžko automatizovat, skuteční lidé mohou dále přispívat, zatímco většinu spammerů a jiných robotických útočníků to zastaví. - -Bohužel to však může představovat nepříjemný problém pro uživatele se zrakovým postižením či uživatele používající textové prohlížeče či hlasové čtečky. V současné době nemáme alternativní zvukovou verzi. Kontaktujte laskavě [[{{MediaWiki:Grouppage-sysop}}|správce serveru]], pokud vám to brání v užitečných příspěvcích a potřebujete pomoc. - -Pro návrat na předchozí stránku stiskněte ve svém prohlížeči tlačítko „zpět“.', - 'captcha-addurl-whitelist' => ' #
-# Syntaxe je následující:
-#  * Všechno od znaku „#“ do konce řádku je komentář
-#  * Každý neprázdný řádek je fragment regulárního výrazu, který se aplikuje pouze na název stroje v URL
- #
', - 'right-skipcaptcha' => 'Vykonávání akcí spojených s CAPTCHA bez nutnosti jejího řešení', -); - -/** Welsh (Cymraeg) - * @author Lloffiwr - */ -$messages['cy'] = array( - 'captcha-edit' => "Er mwyn gallu golygu'r dudalen, gwnewch y swm isod a gosodwch y canlyniad yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'captcha-desc' => 'Yn gweithredu technegau CAPTCHA i arbed rhag sbam a dyfalu cyfrineiriau', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Mae eich golygiad yn cynnwys cysylltiadau URL newydd. Er mwyn profi nad ydych yn beiriant sbam, byddwch gystal â theipio cyfanswm y swm canlynol yn y blwch isod ([[Special:Captcha/help|mwy o wybodaeth]]):', - 'captcha-badlogin' => 'Er mwyn ceisio rhwystro peiriannau datrys cyfrineiriau, byddwch gystal â gwneud y swm isod a gosod yr ateb yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):', - 'captcha-createaccount' => "Teipiwch cyfanswm y swm canlynol yn y blwch isod, os gwelwch yn dda. Mae'r nodwedd hon yn rhwystro rhaglenni sbam rhag creu cyfrifon i'w hunain ([[Special:Captcha/help|Mwy o wybodaeth]]):", - 'captcha-createaccount-fail' => "Côd cadarnhau ar goll neu'n anghywir.", - 'captcha-create' => "Er mwyn gallu creu'r dudalen, gwnewch y swm isod a gosodwch y canlyniad yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'captcha-sendemail' => 'Er mwyn cyfrannu at ddiogelu rhag sbamio awtomatig, byddwch gystal â gwneud y swm syml isod ac ysgrifennwch yr ateb yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):', - 'captcha-sendemail-fail' => 'Y cod cadarnhau yn anghywir neu yn eisiau.', - 'captcha-disabledinapi' => 'Mae angen "captcha" i gyflawni\'r weithred hon, felly nid oes modd ei gyflawni trwy\'r API.', - 'captchahelp-title' => 'Cymorth "captcha"', - 'captchahelp-cookies-needed' => "Er mwyn i hyn weithio mae'n rhaid bod cookies wedi eu galluogi ar eich gwe-lywiwr.", - 'captchahelp-text' => "Yn anffodus, mae safleoedd gwe fel y wici hon, sy'n caniatau i'r cyhoedd ysgrifennu iddi, yn darged beunyddiol i sbamwyr sy'n defnyddio rhaglenni arbennig i bostio eu cysylltiadau ar wefannau lu. Gellir dileu'r dolenni o'r tudalennau, ond byddai hynny'n waith trafferthus. - -O dro i dro, yn enwedig wrth ychwanegu dolenni at safleoedd gwe eraill, fe fydd y safle hon yn dangos delwedd o destun, ac fe fydd yn rhaid i chi deipio'r geiriau a ddangosir. Mae hyn yn dasg anodd iawn i raglenni cyfrifiadurol, felly dylai'r rhan fwyaf o olygwyr go iawn gyflawni'r dasg yn ddi-drafferth, yn wahanol i'r rhaglenni sbam. - -Yn anffodus, mae hyn yn creu trafferthion i'r rhai sydd yn defnyddio porwyr testun neu borwyr sain, neu sydd yn colli eu golwg. -Ar hyn o bryd nid oes fersiwn sain ar gael. -Cysylltwch â [[{{MediaWiki:Grouppage-sysop}}|gweinyddwyr y safle]] os ydi'r nodwedd hon yn eich rhwystro rhag ychwanegu golygiadau dilys. - -Gwasgwch botwm 'nôl' eich porwr er mwyn dychwelyd at y dudalen golygu.", - 'captcha-addurl-whitelist' => '#
-#
-# Dyma\'r gystrawen:
-#   * Mae popeth o nod "#" hyd at ddiwedd y llinell yn sylwad
-#   * Mae pob llinell nad yw\'n wag yn ddarn regex sydd ddim ond yn cydweddu
-#   * gwesteiwyr tu mewn i gyfeiriadau URL
-
- #
', - 'right-skipcaptcha' => "Gwneud rhyw weithred, sy'n arfer deffro meddalwedd y captcha, heb ei ddeffro.", -); - -/** Danish (dansk) - * @author Aputtu - * @author Byrial - * @author Hylle - * @author Peter Alberti - */ -$messages['da'] = array( - 'captcha-edit' => 'For at redigere denne side, skal du give svaret på regnestykket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-desc' => 'Giver CAPTCHA-teknikker til at beskytte mod spam og gætning af adgangskoder', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Din redigering tilføjer nye eksterne henvisninger til artiklen. Som beskyttelse mod automatiseret spam, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-badlogin' => 'For at beskytte mod automatiserede gæt på kodeord, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-createaccount' => 'For at beskytte mod automatisk oprettelse af brugernavne, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-createaccount-fail' => 'Forkert eller manglende kodeord.', - 'captcha-create' => 'For at oprette en ny side, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-sendemail' => 'For at beskytte mod automatisk oprettelse af brugernavne, så bedes du venligst svare på regnestykket nedenfor og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-sendemail-fail' => 'Forkert eller manglende bekræftelseskode.', - 'captcha-disabledinapi' => "Denne handling kræver en captcha, så det ikke kan udføres via API'en.", - 'captchahelp-title' => 'Captcha-hjælp', - 'captchahelp-cookies-needed' => 'Din browser skal understøtte cookies, før dette kan gennemføres.', - 'captchahelp-text' => "Websites der accepterer indhold fra offentligheden, bliver ofte udsat for angreb fra spammere. Disse angreb sker med automatiske værktøjer, der anbringer de samme links på et stort antal websites på kort tid. Selvom disse links kan fjernes, er de en vedligeholdelsesmæssig byrde. - -I visse tilfælde, specielt når der tilføjes nye links til denne wiki, vil softwaren vise dig et billede af et stykke forvredet og sløret tekst. Du skal indtaste det ord, der vises, før du kan gennemføre handlingen. Formålet er at skelne mellem mennesker og automatiserede værktøjer, da de sidste har meget svært ved at genkende ordene. - -Desværre kan dette medføre problemer for svagtseende brugere, og brugere der bruger software der oplæser indholdet af siden. For øjeblikket findes der ikke et lydbaseret alternativ. Kontakt venligst en [[{{MediaWiki:Grouppage-sysop}}|administrator]] med henblik på at få hjælp, hvis dette forhindrer tilføjelsen af godartet materiale. - -Tryk på 'tilbage'-knappen i din browser for at returnere til redigeringssiden.", - 'captcha-addurl-whitelist' => ' #
-# Vejledning:
-#   * Alt fra et "#"-tegn til slutningen af en linie er en kommentar
-#   * Alle ikke-blanke linier benyttes som regulært udtryk, der anvendes på hostnavne i URLer
- #
', - 'right-skipcaptcha' => 'Udføre handlinger som normalt kræver "captcha"-bekræftelse uden at bruge "captcha"', -); - -/** German (Deutsch) - * @author Imre - * @author Kghbln - * @author Metalhead64 - * @author MichaelFrey - * @author Raimond Spekking - * @author The Evil IP address - * @author Umherirrender - */ -$messages['de'] = array( - 'captcha-edit' => 'Zur Bearbeitung der Seite löse die nachfolgende Rechenaufgabe und trage das Ergebnis in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'captcha-desc' => 'Ermöglicht verschiedene CAPTCHA-Techniken zum Schutz vor Spam und dem Erraten von Passwörtern', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Deine Bearbeitung enthält neue externe Links. -Um das Wiki vor automatisiertem Spam zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben, damit deine Bearbeitung gespeichert werden kann ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-badlogin' => 'Um das Wiki vor der automatisierten Kompromittierung der Benutzerkonten zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-createaccount' => 'Um das Wiki vor der automatisierten Erstellung von Benutzerkonten zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-createaccount-fail' => 'Falscher oder fehlender Bestätigungscode.', - 'captcha-create' => 'Zur Erstellung der Seite löse die nachfolgende Rechenaufgabe und trage das Ergebnis in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'captcha-sendemail' => 'Um das Wiki vor automatisiertem Spam zu schützen, bitten wir dich die untenstehende einfache Rechenaufgabe zu lösen und deine Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-sendemail-fail' => 'Falscher oder fehlender Bestätigungscode.', - 'captcha-disabledinapi' => 'Diese Aktion benötigt ein CAPTCHA. Sie kann nicht über die API ausgeführt werden.', - 'captchahelp-title' => 'CAPTCHA-Hilfe', - 'captchahelp-cookies-needed' => "'''Wichtiger Hinweis:''' Es müssen Cookies im Browser erlaubt sein.", - 'captchahelp-text' => 'Internetangebote, die für Beiträge von praktisch jedem offen sind — so wie dieses Wiki — werden oft von Spammern missbraucht, die ihre Links automatisch auf vielen Webseiten platzieren. Diese Spam-Links können wieder entfernt werden, sie sind aber ein erhebliches Ärgernis. - -In manchen Fällen, insbesondere beim Hinzufügen von neuen Weblinks zu einer Seite, kann es vorkommen, dass dieses Wiki ein Bild mit einem farbigen und verzerrten Text anzeigt und dazu auffordert, die angezeigten Wörter einzutippen. -Da eine solche Aufgabe nur schwer automatisch erledigt werden kann, werden dadurch die meisten Spammer, die mit automatischen Werkzeugen arbeiten, gestoppt, wogegen menschliche Benutzer ihren Beitrag absenden können. - -Leider kann dies zu Schwierigkeiten für Personen führen, die über eine eingeschränkte Sehfähigkeit verfügen oder text- oder sprachbasierte Browser verwenden. Aktuell sind keine Audio-CAPTCHAs verfügbar. - -Bitte kontaktiere einen [[{{MediaWiki:Grouppage-sysop}}|Administratoren]] für weitere Hilfe, wenn dies es unmöglich macht, erwünschte Bearbeitungen vorzunehmen. - -Der „Zurück“-Knopf des Browsers führt zurück zum Bearbeitungsfenster.', - 'captcha-addurl-whitelist' => ' #
-#  Syntax:
-#   * Alles von einem #-Zeichen bis zum Ende der Zeile ist ein Kommentar
-#   * Jede nicht-leere Zeile ist ein Regex-Fragment, das gegenüber den Hostnamen einer URL geprüft wird
- #
', - 'right-skipcaptcha' => 'Überspringen der CAPTCHA-Eingabe', -); - -/** German (formal address) (Deutsch (Sie-Form)‎) - * @author Imre - * @author Kghbln - * @author Raimond Spekking - * @author The Evil IP address - */ -$messages['de-formal'] = array( - 'captcha-edit' => 'Zur Bearbeitung der Seite lösen Sie die nachfolgende Rechenaufgabe und tragen Sie das Ergebnis in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'captcha-addurl' => 'Ihre Bearbeitung enthält neue externe Links. -Um das Wiki vor automatisiertem Spam zu schützen, bitten wir Sie die untenstehende einfache Rechenaufgabe zu lösen und Ihre Antwort in das Feld einzugeben, damit Ihre Bearbeitung gespeichert werden kann ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-badlogin' => 'Um das Wiki vor der automatisierten Kompromittierung der Benutzerkonten zu schützen, bitten wir Sie die untenstehende einfache Rechenaufgabe zu lösen und Ihre Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-createaccount' => 'Um das Wiki vor der automatisierten Erstellung von Benutzerkonten zu schützen, bitten wir Sie die untenstehende einfache Rechenaufgabe zu lösen und Ihre Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captcha-create' => 'Zur Erstellung der Seite lösen Sie die nachfolgende Rechenaufgabe und tragen Sie das Ergebnis in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'captcha-sendemail' => 'Um das Wiki vor automatisiertem Spam zu schützen, bitten wir Sie die untenstehende einfache Rechenaufgabe zu lösen und Ihre Antwort in das Feld einzugeben ([[Special:Captcha/help|mehr Informationen …]]):', - 'captchahelp-text' => 'Internetangebote, die für Beiträge von praktisch jedem offen sind — so wie dieses Wiki — werden oft von Spammern missbraucht, die ihre Links automatisch auf vielen Webseiten platzieren. Diese Spam-Links können wieder entfernt werden, sie sind aber ein erhebliches Ärgernis. - -In manchen Fällen, insbesondere beim Hinzufügen von neuen Weblinks zu einer Seite, kann es vorkommen, dass dieses Wiki ein Bild mit einem farbigen und verzerrten Text anzeigt und dazu auffordert, die angezeigten Wörter einzutippen. -Da eine solche Aufgabe nur schwer automatisch erledigt werden kann, werden dadurch die meisten Spammer, die mit automatischen Werkzeugen arbeiten, gestoppt, wogegen menschliche Benutzer ihren Beitrag absenden können. - -Leider kann dies zu Schwierigkeiten für Personen führen, die über eine eingeschränkte Sehfähigkeit verfügen oder text- oder sprachbasierte Browser verwenden. Aktuell sind keine Audio-Captchas verfügbar. - -Bitte kontaktieren Sie einen [[{{MediaWiki:Grouppage-sysop}}|Administratoren]] für weitere Hilfe, wenn dies es unmöglich macht, erwünschte Bearbeitungen vorzunehmen. - -Der „Zurück“-Knopf des Browsers führt zurück zum Bearbeitungsfenster.', -); - -/** Zazaki (Zazaki) - * @author Aspar - * @author Erdemaslancan - * @author Xoser - */ -$messages['diq'] = array( - 'captcha-edit' => 'Qe ena pel vurnayîşî, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse ([[Special:Captcha/help|enformasyonê bînî]]):', - 'captcha-desc' => 'Rehat CAPTCHA teknoloci u dezgina parola-ezayan', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Vurnayışa şıma gray teberiya newi muhtewa kena. -Otomatik spamî ra pawitîş, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse ([[Special:Captcha/help|malumato detayın]]):', - 'captcha-badlogin' => 'Otomatik spam ra pawıtışi, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse -([[Special:Captcha/help|malumato detayın]]):', - 'captcha-createaccount' => 'Otomatik spam ra pawıtışi, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse -([[Special:Captcha/help|malumato detayın]]):', - 'captcha-createaccount-fail' => 'Kodê testiqî vin biyo ya zi raşt niyo.', - 'captcha-create' => 'Qe pel viraştîşî, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse ([[Special:Captcha/help|enformasyonê bînî]]):', - 'captcha-sendemail' => 'Otomatik spam ra pawıtışi, ma rica keno cewabê problemî qutiyê ke cor de zerre ey ra binuse -([[Special:Captcha/help|malumato detayın]]):', - 'captcha-sendemail-fail' => 'Kodê testiqî vin biyo ya zi raşt niyo.', - 'captcha-disabledinapi' => 'Ena hereket de captcha lazim o, aye ra ser API ra ena hereket nibena.', - 'captchahelp-title' => 'Yardimê captchayî', - 'captchahelp-cookies-needed' => 'Eka şıma wazeno bıkewê pela Wikipedia, programê internetê şıma de cookiesi gani aktiv bê.', - 'captchahelp-text' => "Siteyan ke kamu ra aleknayişê îlanî ra destur dano, ze ena wiki, spam kerdogan ke xacetane otomatiki ser kar keno inan ra atak beno. -Ma eşkeno linkane inan wedarno, feqat hewna inan problem zeman ma geno. - -Mavaci, key ti yew pele de linkane newi darneno, wiki belki ti ra yew resim mucneno u ti ra wazeno cekuyan ke resimda inan binusi. -Eka ena process otomatik nibeno, ena process otomatik spam kerogan vinderneno feqay sexsi spam kerdogan nieşkeno vindaro. - -Ma ef bikeri ena process belki ti ra zehmeti. belki cim tu ra şcekuyan hewl niesno. -Nika ma da sistemê vengî cinoke ti ra vaci resim da kamci cekuyan esto. -Ma rica keno ti yew [[{{MediaWiki:Grouppage-sysop}}|idarekar]] ra yew mesaj bişavî u o ra yardim bivaci eka ti yew linkê hewlî darnone. - -Browser xo de goceke 'back' rê klik bike şo pela editorî.", - 'captcha-addurl-whitelist' => ' #
-#Sîntaks ze ena yo: 
-#  * Nişanê "#" ra nişanê ke bînê xetî de pêran piya xulasa yo
-#  * Her xetî ke veng niyo fragmento regex u teyna URLan de hostan match keno
-  #
', - 'right-skipcaptcha' => 'Herekatanê captcha trigger perform bike ke ti ser captcha meşo', -); - -/** Lower Sorbian (dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'captcha-edit' => 'Aby wobźěłował toś ten bok, rozwěž pšosym slědujucy jadnory liceński nadawk a zapódaj wuslědk do kašćika ([[Special:Captcha/help|Dalšne info]]):', - 'captcha-desc' => 'Staja techniki CAPTCHA za šćit pśeśiwo spamoju a wugódanjoju gronidłow k dispoziciji', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Twója změna wopśimujo nowe eksterne wótkaze. -Za šćit pśeśiwo zawtomatizěrowanemu spamoju, pšosymy śi slědujucy jadnory liceński nadawk rozwězaś a zapódaj wuslědk do kašćika, aby swóju změnu składował ([[Special:Captcha/help|dalšne info]]):', - 'captcha-badlogin' => 'Aby wiki pśeśiwo zawtomatizěrowanemu wuzgónjowanjeju gronidła šćitał, pšosymy śi slědujucy jadnory liceński nadawk rozwězaś a zapódaj wuslědk do kašćika ([[Special:Captcha/help|dalšne info]]):', - 'captcha-createaccount' => 'Aby wiki pśeśiwo zawtomatizěrowanemu załoženjeju kontow šćitał, pšosymy śi slědujucy jadnory liceński nadawk rozwězaś a zapódaj wuslědk do kašćika ([[Special:Captcha/help|dalšne info]]):', - 'captcha-createaccount-fail' => 'Wopacny abo felujucy wobkšuśeński kod.', - 'captcha-create' => 'Aby napórał bok, rozwěž pšosym slědujucy jadnory liceński nadawk a zapódaj wuslědk do kašćika ([[Special:Captcha/help|dalšne info]]):', - 'captcha-sendemail' => 'Aby wiki pśeśiwo awtomatiskemu spamowanjeju šćitał, pšosymy śi jadnory liceński nadawk rozwězaś a zapódaj wótegrono do kašćika ([[Special:Captcha/help|dalšne informacije]]):', - 'captcha-sendemail-fail' => 'Wopacny abo felujucy wobkšuśeński kod.', - 'captcha-disabledinapi' => 'Toś ta akcija pomina se captcha, togodla njedajo se pśez API wuwjasć.', - 'captchahelp-title' => 'Pomoc wó captcha', - 'captchahelp-cookies-needed' => 'Aby to funkcioněrowało, muse cookieje dowólone byś.', - 'captchahelp-text' => 'Websedła, kótarež akceptěruju zjawne pśinoski, ako toś ten wiki, znjewužywaju se cesto wót spamowarjow, kótarež wužywaju zawtomatizěrowane rědy, aby słali swóje wótkaze na wjele sedłow. -Lěcrownož toś te spamowe wótkaze daju se wótpóraś, su wóne bejna pógóršota. - -Wótergi, wósebnje, gaž se nowe wótkaze pśidawaju bokoju, jo móžno, až wiki śi pokazujo wobraz barwojtego abo spryšćonego teksta a pšosy śe, aby zapódał zwobraznjone słowa. -Dokulaž to jo nadawk, kótaryž dajo se śěžko awtomatizěrowaś, dówolujo to napšawdnym luźam jich pśinoski wótpósłaś, nejwěcej spamowarjow a robotowe ataki pak se zaźaržyju. - -Bóžko to móžo kazyś wužywarjow z wobgraniwoneju zamóžnosću wiźenja pśi wužywanju wobglědowakow, kótarež bazěruju na teksće abo rěcnem wudaśu. -Tuchylu njamamy awdioalternatiwu. -Staj se pšosym z [[{{MediaWiki:Grouppage-sysop}}|administratorami sedła]] z pšosbu wó pomoc do zwiska, jolic to śi njewócakane zawobarujo słanje legitimnych pśinoskow. - -Klikni na tłocašk "Slědk" we swójom wobglědowaku, aby wróśił k bokowemu editoroju.', - 'captcha-addurl-whitelist' => ' #
- # Syntaksa jo ako slědujo:
- #  * Wšykno wót znamuška "#" ku kóńcoju smužki jo komentar
- #  * Kužda smužka, kótaraž njejo prozna, jo fragment regularnego wuraza, kótaryž nastupa jano hostam w URL
-  #
', - 'right-skipcaptcha' => 'Akcije wugbaś, kótarež zapušćiju captcha, mimo až se nadawk captcha rozwěžo.', -); - -/** Ewe (eʋegbe) - * @author Natsubee - */ -$messages['ee'] = array( - 'captcha-edit' => 'Ne enye wò didi bena yea ɖɔ axa sia ɖo la, mía ve nuwò be na bu akɔnta si le nuŋɔŋlɔ sia gɔme, eye na ŋlɔ nusi wòkpɔ ɖe go sia me ([[Special:Captcha/help|gbeƒãɖeɖe]]):', -); - -/** Greek (Ελληνικά) - * @author Badseed - * @author Consta - * @author Dada - * @author Geraki - * @author Glavkos - * @author Kiriakos - * @author Omnipaedista - * @author ZaDiak - * @author Περίεργος - */ -$messages['el'] = array( - 'captcha-edit' => 'Για να επεξεργαστείτε αυτή την σελίδα, παρακαλούμε λύστε την παρακάτω πρόσθεση και απαντήστε στο πλαίσιο ([[Special:Captcha/help|πληροφορίες]]):', - 'captcha-desc' => 'Παρέχει τεχνικές CAPTCHA για την προστασία από spam και προσπάθειες σπασίματος κωδικών πρόσβασης', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Η επεξεργασία σας περιλαμβάνει νέους εξωτερικούς συνδέσμους. Για λόγους προστασίας κατά αυτοματοποιημένου spam, παρακαλούμε λύστε την παρακάτω πρόσθεση και απαντήστε στο πλαίσιο ([[Special:Captcha/help|πληροφορίες]]):', - 'captcha-badlogin' => 'Για να βοηθήσετε στην προστασία ενάντια στον "σπασμένο" κωδικό πρόσβασης, παρακαλώ λύστε αυτή την απλή πράξη και εισάγετε το αποτέλεσμα της στο παρακάτω κενό ([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'captcha-createaccount' => 'Για να βοηθήσετε στην προστασία ενάντια στην αυτοματοποιημένη δημιουργία λογαριασμού, παρακαλώ λύστε την απλή πράξη -και εισάγετε την λύση της στο παρακάτω κενό -([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'captcha-createaccount-fail' => 'Λάθος ή αγνοούμενος κωδικός ολοκλήρωσης.', - 'captcha-create' => 'Για να δημιουργήσετε την σελίδα, παρακαλούμε λύστε την παρακάτω πρόσθεση και απαντήστε στο πλαίσιο ([[Special:Captcha/help|πληροφορίες]]):', - 'captcha-sendemail' => 'Για να βοηθήσετε στην αποφυγή αυτοματοποιημένων spam, παρακαλούμε να λύσετε την παρακάτω απλή πράξη και να εισάγετε την απάντηση στο πεδίο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'captcha-sendemail-fail' => 'Ελλιπής ή λανθασμένος κωδικός επιβεβαίωσης.', - 'captcha-disabledinapi' => 'Η ενέργεια αυτή απαιτεί επαλήθευση λεκτικού κειμένου και για αυτό δεν μπορεί να γίνει μέσω του API.', - 'captchahelp-title' => 'Βοήθεια για το Captcha', - 'captchahelp-cookies-needed' => 'Θα πρέπει να έχετε τα cookies ενεργοποιημένα στον φυλλομετρητή σας για να εκτελεστεί η λειτουργία.', - 'captchahelp-text' => "Οι ιστοσελίδες που δέχονται τις επεξεργασίες από το κοινό, όπως αυτό το wiki, δεν χρησιμοποιούνται συχνά σωστά από τους spammers που χρησιμοποιούν τα αυτοματοποιημένα εργαλεία για να αποστείλουν τις συνδέσεις τους με πολλές σελίδες. Αυτές οι spam συνδέσεις μπορούν να αφαιρεθούν, επειδή είναι σημαντικά ενοχλητικές. - -Μερικές φορές, ειδικά κατά την προσθήκη νέων συνδέσμων σε μια σελίδα, το wiki μπορεί να σας παρουσιάσει μια εικόνα με ένα χρωματισμένο ή διαστρεβλωμένο κείμενο και να σας ζητήσει να πληκτρολογήσετε τις λέξεις που παρουσιάζονται. Δεδομένου ότι αυτό είναι ένας στόχος που είναι δύσκολο να αυτοματοποιηθεί, θα επιτρέψει στους περισσότερους χρήστες να κάνουν τις επεξεργασίες τους, σταματώντας τους spammers και άλλους ρομποτικά επιτιθέμενους. - -Δυστυχώς αυτό μπορεί να ενοχλήσει τους χρήστες περιορίζοντας το όραμα τους ή αυτούς που βασίζονται στο κείμενο ή στην ομιλία που βασίζεται στις μηχανές αναζήτησης. Προς το παρόν δεν έχουμε μια διαθέσιμη εναλλακτική λύση. Παρακαλώ ελάτε σε επαφή με τους [[{{MediaWiki:Grouppage-sysop}}|διαχειριστές]] των σελίδων για βοήθεια, εάν αυτό σας αποτρέπει απροσδόκητα από την παραγωγή των νόμιμων επεξεργασιών. - -Πατήστε το κουμπί 'πίσω' στη μηχανή αναζήτησης σας για να επιστρέψετε στο συντάκτη σελίδων.", - 'captcha-addurl-whitelist' => ' #
-# Η σύνταξη είναι όπως παρακάτω:
-#  * Οτιδήποτε από ένα χαρακτήρα "#" ως το τέλος της γραμμής είναι ένα σχόλιο
-#  * Κάθε μη κενή γραμμή είναι μια έκφραση regex που θα ταιριάζει μόνο hosts μέσα σε URL
-  #
', - 'right-skipcaptcha' => 'Πραγματοποίηση ενεργειών που ενεργοποιούν captcha χωρίς να χρειάζεται πέρασμα από το captcha', -); - -/** Canadian English (Canadian English) - * @author Techman224 - */ -$messages['en-ca'] = array( - 'captchahelp-text' => "Web sites that accept postings from the public, like this wiki, are often abused by spammers who use automated tools to post their links to many sites. -While these spam links can be removed, they are a significant nuisance. - -Sometimes, especially when adding new web links to a page, the wiki may show you an image of coloured or distorted text and ask you to type the words shown. -Since this is a task that's hard to automate, it will allow most real humans to make their posts while stopping most spammers and other robotic attackers. - -Unfortunately this may inconvenience users with limited vision or using text-based or speech-based browsers. -At the moment we do not have an audio alternative available. -Please contact the [[{{MediaWiki:Grouppage-sysop}}|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate posts. - -Hit the 'back' button in your browser to return to the page editor.", -); - -/** British English (British English) - * @author Lcawte - */ -$messages['en-gb'] = array( - 'captchahelp-text' => "Web sites that accept postings from the public, like this wiki, are often abused by spammers who use automated tools to post their links to many sites. -While these spam links can be removed, they are a significant nuisance. - -Sometimes, especially when adding new web links to a page, the wiki may show you an image of coloured or distorted text and ask you to type the words shown. -Since this is a task that's hard to automate, it will allow most real humans to make their posts while stopping most spammers and other robotic attackers. - -Unfortunately this may inconvenience users with limited vision or using text-based or speech-based browsers. -At the moment we do not have an audio alternative available. -Please contact the [[{{MediaWiki:Grouppage-sysop}}|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate posts. - -Hit the 'back' button in your browser to return to the page editor.", -); - -/** Esperanto (Esperanto) - * @author Castelobranco - * @author Petrus Adamus - * @author Yekrats - */ -$messages['eo'] = array( - 'captcha-edit' => 'Por redakti ĉi tiun paĝon, bonvolu solvi la simplan sumon jenan kaj enigi la respondon en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'captcha-desc' => 'Disponigas ilojn de Captcha por kontraŭigi spamaĵojn kaj pasvorto-divenadon', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Via redakto entenas novajn eksterajn ligilojn. -Por malhelpi aŭtomatan spamadon, bonvolu solvi la simplan problemon sube kaj entajpu la respondon en la kesto ([[Special:Captcha/help|pli da informo]]):', - 'captcha-badlogin' => 'Helpi protekti kontraŭ aŭtomata divenado de pasvortoj, bonvolu solvi la simplan sumon kaj enigi la respondon en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'captcha-createaccount' => 'Helpi protekti kontraŭ aŭtomata konto-kreado, bonvolu solvi la simplan sumon suben -kaj enigi la respondon en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'captcha-createaccount-fail' => 'Malĝusta aŭ mankanta konfirma kodo.', - 'captcha-create' => 'Por krei la paĝon, bonvolu solvi la simplan sumon jenan kaj enigi la respondon en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'captcha-sendemail' => 'Por helpi protekti kontraŭ aŭtomata spamado, bonvolu solvi la simplan sumon kaj enigi la respondon en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'captcha-sendemail-fail' => 'Malĝusta aŭ mankanta konfirma kodo.', - 'captcha-disabledinapi' => 'Ĉi tiu ago bezonas captcha, tial ĝi ne estas farebla per API.', - 'captchahelp-title' => 'Helpo pri captcha', - 'captchahelp-cookies-needed' => 'Vi devas permesi kuketojn en via retumilo por funkciigi ĉi tion.', - 'captchahelp-text' => "Retejoj kiuj akcepti informon de publiko, kiel ĉi tiu vikio, estas ofte misuzitaj de spamistoj kiu uzas aŭtomatajn ilojn por afiŝi ligilojn al multaj retejoj. -Kvankam ĉi tiu spam-ligiloj estas forigeblaj, ili estas granda ĝeno. - -Iufoje, ja kiam aldonante novajn retligilojn al paĝo, la vikio eble montros al vi bildon de bunta aŭ misformita teksto, kaj petos al vi tajpi la vortojn montratajn. -Tial ĉi tiu tasko estas malfacila por fari aŭtomate, ebligos al realaj homoj fari aldonaĵojn, kaj malebligos spamistojn kaj aliajn robotajn atakilojn. - -Bedaŭrinde, ĉi tio eble ĝenetos uzantojn kun malbona vidkapablo kiu utiligas tekstajn aŭ voĉajn retumilojn. -Ĉi-momente, neniu aŭda alternativo estas havebla. -Bonvolu kontakti la [[{{MediaWiki:Grouppage-sysop}}|administrantojn de la retejo]] por helpo se ĉi tio malebligas al vi fari bonan aldonon. - -Klaku la 'reiru' butonon en via retumilo por reiri al la paĝo-redaktilo.", - 'captcha-addurl-whitelist' => ' #
-# Sintakso estas jen:
-#  * Ĉio ekde "#" signo al la fino de linio estas komento
-#  * Ĉiu linio ne malplena estas ero de regex kiu kongruos retnodojn nur ene de ttt-adresoj
-  #
', - 'right-skipcaptcha' => "Faru ''captcha''-spronantaj agoj sen farante la ''captcha''-on", -); - -/** Spanish (español) - * @author Armando-Martin - * @author Crazymadlover - * @author Drini - * @author Icvav - * @author Jatrobat - * @author Lin linao - * @author Locos epraix - * @author Muro de Aguas - * @author Pertile - * @author Sanbec - */ -$messages['es'] = array( - 'captcha-edit' => 'Para editar este artículo, por favor resuelve la sencilla suma que aparece abajo e introduce la solución en la caja ([[Special:Captcha/help|más información]]):', - 'captcha-desc' => 'Provee técnicas CAPTCHA para proteger contra spam y adivinación de contraseña.', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Tu edición incluye nuevos enlaces externos. -Para proteger el wiki contra el spam automatizado, por favor resuelve la sencilla suma de abajo e introduce la respuesta en la caja para guardar tu edición ([[Special:Captcha/help|más información]]):', - 'captcha-badlogin' => 'Para proteger el wiki del descifrado de contraseñas automatizado, por favor resuelve la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):', - 'captcha-createaccount' => 'Para proteger el wiki de la creación automática de cuentas, resuelve por favor la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):', - 'captcha-createaccount-fail' => 'Falta el código de confirmación, o éste es incorrecto.', - 'captcha-create' => 'Para crear la página, por favor resuelve la simple suma de abajo e introduce la respuesta en la caja ([[Special:Captcha/help|más información]]):', - 'captcha-sendemail' => 'Para proteger el wiki contra el spam automatizado, por favor resuelve la simple suma que se presenta a continuación e introduce la respuesta en el cuadro de texto ([[Special:Captcha/help|más información]]):', - 'captcha-sendemail-fail' => 'El código de confirmación falta o es incorrecto.', - 'captcha-disabledinapi' => 'Esta acción requiere un captcha, así que no puede ser ejecutada a través de un API.', - 'captchahelp-title' => 'Ayuda sobre el captcha', - 'captchahelp-cookies-needed' => 'Debe tener las cookies activadas en el navegador para que el sistema funcione.', - 'captchahelp-text' => "Los sitios web que aceptan mensajes del público, como esta wiki, son a menudo objeto de abusos por spammers que utilizan programas para incluir automáticamente sus enlaces. Si bien estos enlaces pueden quitarse, son una gran molestia. - -En ocasiones, especialmente cuando añada nuevos enlaces a una página, la wiki le mostrará una imagen de texto coloreado o distorsionado y le pedirá que escriba las palabras que muestra. Dado que esta es una tarea difícil de automatizar, permite a la mayoría de las personas enviar sus textos, a la vez que detiene a la mayoría de los spammers y otros atacantes automáticos. - -Desafortunadamente esto puede ser un inconveniente para usuarios con visión limitada o para navegadores basados en texto o en voz. -En este momento no tenemos una alternativa de audio disponible. -Por favor contacte a los [[{{MediaWiki:Grouppage-sysop}}|administradores del sitio]] para asistencia si esto está impidiendiendo inesperadamente que hagas mensajes legítimos. - -Presione el botón 'atrás' en su navegador para retornar al editor de página.", - 'captcha-addurl-whitelist' => ' #
-# La sintaxis es la siguiente:
-#  * Todo desde un caracter "#" hasta el final de la línea es un comentario
-#  * Toda línea que no esté en blanco es un fragmento de expresión regular que se comparará con las URLs
-  #
', - 'right-skipcaptcha' => 'Realiza acciones que despliegan un captcha sin tener que confirmar el captcha', -); - -/** Estonian (eesti) - * @author BrokenArrow - * @author Jaan513 - * @author Pikne - */ -$messages['et'] = array( - 'captcha-edit' => 'Selle lehekülje muutmiseks lahenda palun lihtne tehe ja sisesta vastus kasti ([[Special:Captcha/help|lisateave]]).', - 'captcha-desc' => 'Pakub robotilõksu abil kaitset rämpspostituste ja paroolide äraarvamise vastu.', - 'captcha-addurl' => 'Sinu muudatus sisaldab uusi välislinke. -Palun lahenda allpool lihtne tehe ja sisesta vastus kasti, et saaksid muudatuse salvestada. Abinõu on viki kaitseks automaadistatud rämpsmuudatuste eest ([[Special:Captcha/help|lisateave]]):', - 'captcha-badlogin' => 'Palun lahenda allpool lihtne tehe ja sisesta vastus kasti. Abinõu on viki kaitseks automaatsete parooliäraarvajate eest ([[Special:Captcha/help|lisateave]]):', - 'captcha-createaccount' => 'Palun lahenda lihtne tehe ja sisesta vastus kasti. Abinõu on viki kaitseks kontode automaatse loomise eest ([[Special:Captcha/help|lisateave]]):', - 'captcha-createaccount-fail' => 'Puuduv või valesti sisestatud kinnituskood.', - 'captcha-create' => 'Lehekülje loomiseks lahenda palun lihtne tehe ja sisesta vastus kasti -([[Special:Captcha/help|lisateave]]):', - 'captcha-sendemail' => 'Palun lahenda allpool lihtne tehe ja sisesta vastus kasti. Abinõu on viki kaitseks automaadistatud rämpsmuudatuste eest ([[Special:Captcha/help|lisateave]]):', - 'captcha-sendemail-fail' => 'Vigane või puuduv kinnituskood.', - 'captcha-disabledinapi' => 'Ühes selle toiminguga tuleb läbida robotilõks ja seetõttu ei saa seda API kaudu sooritada.', - 'captchahelp-title' => 'Mis on robotilõks?', - 'captchahelp-cookies-needed' => 'Selle toimimiseks peab veebilehitseja lubama küpsiseid.', - 'captchahelp-text' => 'Võrgukohti, mis lubavad külastajatel sisu muuta, nagu ka see viki, kasutavad sageli rämpsposti levitajad, lisades näiteks lehekülgedele reklaamilinke. Kuigi neid linke saab eemaldada, on nad siiski tülikad. - -Kasutajakontot registreerides või mõnele lehele uusi internetiaadresse postitades näidatakse moonutatud tekstiga pilti ja palutakse sisestada seal kuvatud sõnad. Kuna selliselt pildilt on arvutil raske teksti välja lugeda, on see efektiivseks kaitseks rämpspostirobotite vastu ja lubab samas tavakasutajatel rahus muudatusi teha. - -Kahjuks võib see tekitada ebamugavusi nägemisraskustega inimestele või neile, kes kasutavad tehiskõneseadet või tekstipõhist veebilehitsejat. Hetkel pole meil helipõhist alternatiivi. -Kui sul tekib raskusi muudatuste tegemisel, võta palun ühendust selle võrgukoha [[{{MediaWiki:Grouppage-sysop}}|administraatoritega]]. - -Konto registreerimise lehele või redigeerimisaknasse tagasi jõudmiseks klõpsa veebilehitseja tagasi-nuppu.', - 'captcha-addurl-whitelist' => ' #
-# Süntaks:
-#  * Kõik alates märgist "#" kuni rea lõpuni on kommentaar
-#  * Iga rida, mis ei ole tühi, on regulaaravaldise osa, milleks sobib internetiaadressi osadest ainult hostinimi
-  #
', - 'right-skipcaptcha' => 'Sooritada robotilõksu vallapäästvaid toiminguid testi läbimata', -); - -/** Basque (euskara) - * @author An13sa - * @author BrokenArrow - * @author Kobazulo - * @author Pi - */ -$messages['eu'] = array( - 'captcha-edit' => 'Orrialde hau editatzeko, mesedez, beheko batuketa erraz hau ebatzi eta erantzuna kutxan idatzi ([[Special:Captcha/help|argibide gehiago]]):', - 'captcha-desc' => 'CAPTCHA teknika erabiltzen ditu spamaren aurkako babeserako', - 'captcha-addurl' => 'Zure aldaketan URL lotura berriak daude; spam-a saihesteko, jarraian dagoen irudiko hitzak idaztea beharrezkoa da:
([[Special:Captcha/help|Zer da hau?]])', - 'captcha-createaccount' => 'Spam-a saihesteko, mesedez, irudian agertzen den hizki edo zenbaki kodea, beheko laukian idatzi zure kontua sortzeko:
([[Special:Captcha/help|Zer da hau?]])', - 'captcha-createaccount-fail' => 'Baieztatze kode ezegokia.', - 'captcha-create' => 'Orrialde hau sortzeko, mesedez, beheko batuketa erraz hau ebatzi eta erantzuna kutxan idatzi ([[Special:Captcha/help|argibide gehiago]]):', - 'captchahelp-title' => 'Captcha laguntza', - 'captchahelp-cookies-needed' => 'Beharrezkoa da nabigatzailean cookieak gaituta izatea honek funtzionatzeko.', - 'captchahelp-text' => "Publikoki aldaketak egiteko aukerak dituzten webguneetan, wiki honetan bezalaxe, spam testuak gehitzen dira sarritan tresna automatikoak erabiliz. -Lotura horiek ezabatu egin daitezkeen arren, traba dira. - -Batzuetan, eta bereziki webgune berri bateko loturak gehitzen dituzunean, hitz batzuk dituen irudi bat agertuko zaizu, eta bertan ageri den testua idazteko eskatuko zaizu. Lan hori automatizatzeko zaila da, eta pertsonei ezer kostatzen ez zaigunez, spam testuak saihesteko lagungarria da. - -Zoritxarrez, ikusmen mugatua edo testu bidezko nabigatzaileak erabiltzen dituzten erabiltzeek arazoak izan ditzakete. Horrelako zerbait gertatzen bazaizu, mesedez, jarri [[{{MediaWiki:Grouppage-sysop}}|administratzaileekin]] harremanetan. - -Zure nabigatzaileko 'atzera' lotura erabili aldaketen orrialdera itzultzeko.", -); - -/** Persian (فارسی) - * @author Ebraminio - * @author Huji - * @author Mjbmr - * @author Reza1615 - * @author Wayiran - */ -$messages['fa'] = array( - 'captcha-edit' => 'برای ویرایش این مقاله، لطفاً حاصل جمع زیر را حساب کنید و نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-desc' => 'روش‌های مبتنی بر CAPTCHA برای مقابله با هرزنگاری و کشف گذرواژه فراهم می‌کند', - 'captcha-label' => 'حرف بزرگ', - 'captcha-addurl' => 'ویرایش شما شامل پیوندهای تازه‌ای به بیرون است. برای کمک به جلوگیری از ارسال خودکار هرزنامه‌ها، لطفاً حاصل جمع زیر را حساب کنید و نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-badlogin' => 'برای کمک به جلوگیری از سرقت خودکار کلمه عبور، لطفاً حاصل جمع زیر را حساب کنید و نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-createaccount' => 'برای جلوگیری از ایجاد خودکار حساب کاربری، لطفاً حاصل جمع زیر را حساب کنید و نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-createaccount-fail' => 'کد تأییدی وجود ندارد یا نادرست است.', - 'captcha-create' => 'برای ایجاد صفحه لطفاً حاصل جمع زیر را حساب کنید و نتیجه را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-sendemail' => 'برای کمک به حفاظت در برابر هرزنامه‌های خودکار، لطفاً جمع سادهٔ زیر را حل کنید و جواب را در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'captcha-sendemail-fail' => 'کد تأییدی وجود ندارد یا نادرست است.', - 'captcha-disabledinapi' => 'این اقدام به کپچا نیاز دارد، بنابراین نمی‌تواند از طریق API انجام شود.', - 'captchahelp-title' => 'راهنمای Captcha', - 'captchahelp-cookies-needed' => 'برای کار کردن آن، شما باید کوکی‌های مرورگرتان را فعال کنید.', - 'captchahelp-text' => 'تارنماهایی مثل این ویکی که به عموم اجازهٔ نوشتن مطلب می‌دهند، غالباً مورد سوءاستفادهٔ هرزفرستندگانی می‌شوند که با ابزارهای خودکار پیوندهای بیرونی به تارنماهای موردنظرشان وارد می‌کنند. -اگر چه این پیوندهای هرز و تبلیغاتی را می‌توان دستی حذف کرد، ولی به هر حال باعث اعصاب‌خردی زیادی می‌شوند. - -گاهی اوقات، خصوصاً هنگامی که پیوندهای بیرونی جدیدی به صفحه اضافه می‌شود، ویکی ممکن است به شما تصویری رنگی و کج‌وکوله از متنی نشان بدهد و از شما بخواهد که کلمه‌های نشان‌داده‌شده را تایپ کنید. -از آنجا که خودکارسازی این کار دشوار است، انسانهای واقعی می‌توانند پیوندهاشان را وارد کنند ولی برنامه‌های خودکار تبلیغاتی از خرابکاری باز خواهند ماند. - -متأسفانه این امر ممکن است باعث مزاحمت برای کاربرانی شود که چشمشان ضعیف است یا از مرورگرهای متنی یا گفتاری استفاده می‌کنند. -در حال حاضر ما جایگزین صوتی‌ای برای این کار نداریم. لطفاً اگر برای واردساختن پیوندهای مشروع دچار مشکل شده‌اید با [[{{MediaWiki:Grouppage-sysop}}|مدیران این تارنما]] تماس بگیرید. - -دکمهٔ «بازگشت» را در مرورگر خود فشار دهید تا به صفحهٔ ویرایش بازگردید.', - 'captcha-addurl-whitelist' => ' #
-# قواعد به این شکل است:
-#  * همه‌چیز از «#» تا آخر سطر یک توضیح در نظر گرفته می‌شود.
-#  * هر سطری که خالی نباشد یک قطعه در نظر گرفته می‌شود که فقط با نام میزبان اینترنتی سنجیده می‌شود.
-  #
', - 'right-skipcaptcha' => 'انجام کارهایی که CAPTCHA را فعال می‌کنند بدون نیاز به گذر از CAPTCHA', -); - -/** Finnish (suomi) - * @author Agony - * @author Centerlink - * @author Crt - * @author Linnea - * @author Nike - * @author Varusmies - */ -$messages['fi'] = array( - 'captcha-edit' => 'Ratkaise alla oleva summa jatkaaksesi ([[Special:Captcha/help|lisätietoja]]):', - 'captcha-desc' => 'Tarjoaa CAPTCHA-tekniikoita suojaamaan mainoslinkkejä ja salasana-arvailua vastaan.', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Muokkauksesi sisältää uusia linkkejä muille sivuille. Ratkaise alla oleva summa jatkaaksesi ([[Special:Captcha/help|lisätietoja]]):', - 'captcha-badlogin' => 'Salasananmurtajasovellusten takia, ratkaise alla oleva summa jatkaaksesi ([[Special:Captcha/help|lisätietoja]]):', - 'captcha-createaccount' => 'Ratkaise alla oleva summa jatkaaksesi ([[Special:Captcha/help|lisätietoja]]):', - 'captcha-createaccount-fail' => 'Väärä tai puuttuva varmistuskoodi.', - 'captcha-create' => 'Ratkaise alla oleva summa jatkaaksesi ([[Special:Captcha/help|lisätietoja]]):', - 'captcha-sendemail' => 'Jotta auttaisit suojautumaan automaattiselta roskapostitukselta, ratkaise alla oleva yksinkertainen yhteenlasku ja kirjoita vastaus laatikkoon ([[Special:Captcha/help|lisätietoja]]):', - 'captcha-sendemail-fail' => 'Virheellinen tai puuttuva vahvistuskoodi', - 'captcha-disabledinapi' => 'Tämä toiminto vaatii kuvavarmennusta, joten et voi suorittaa sitä APIn kautta.', - 'captchahelp-title' => 'Captcha-ohje', - 'captchahelp-cookies-needed' => 'Tämä toiminto vaatii evästeiden hyväksymistä.', - 'captchahelp-text' => 'Verkkosivut, jotka sallivat ulkopuolisten lisätä sisältöä, joutuvat usein spam-hyökkäysten kohteeksi. Spam-hyökkäyksessä spammerit käyttävät työkaluja, jotka automaattisesti lisäävät linkkejä monille sivuille. Vaikka nämä linkit voidaan poistaa, aiheutuu niistä silti merkittävä haitta. - -Joskus, erityisesti kun lisäät uusia linkkejä, saatat nähdä kuvan, jossa on värillistä ja vääristynyttä tekstiä, ja sinua pyydetään kirjoittamaan sen sisältämät sanat. Koska tätä tehtävää on vaikea automatisoida, se sallii melkein kaikkien oikeiden ihmisten tehdä muutoksensa, mutta estää automaattiset lisäykset. - -Valitettavasti tämä saattaa estää käyttäjiä, joilla on rajoittunut näkökyky tai käyttäjiä, jotka käyttävät teksti- tai puhepohjaisia selaimia. Ota yhteyttä sivuston [[{{MediaWiki:Grouppage-sysop}}|sivuston ylläpitäjiin]], jos et pysty tekemään kunnollisia muutoksia. - -Varmistus ei toimi, jos evästeet eivät ole käytössä. - -Voit palata muokkaustilaan selaimen paluutoiminnolla.', - 'captcha-addurl-whitelist' => ' #
-# Syntaksi on seuraava:
-#  * Kaikki #-merkistä eteenpäin on kommenttia
-#  * Jokainen ei-tyhjä rivi on säännöllisen lausekkeen osa, joka suoritetaan vain linkeissä esiintyville verkkonimille.
-  #
', - 'right-skipcaptcha' => 'Suorittaa ilman captcha-tarkistusta toimintoja, jotka normaalisti vaatisivat tarkistuksen läpikäyntiä', -); - -/** Faroese (føroyskt) - * @author EileenSanda - * @author Spacebirdy - */ -$messages['fo'] = array( - 'captcha-edit' => 'Fyri at rætta hesa síðu, vinarliga loys tað einfalda roknistykki niðanfyri og skriva svarið í teigin ([[Special:Captcha/help|meira kunning]]):', - 'captcha-desc' => 'Gevur CAPTCHA teknikkir fyri at verja ímóti spamming og ímóti giting av loyniorði', - 'captcha-label' => 'CAPTCHA', - 'captcha-createaccount' => 'Sum ein vernd ímóti sjálvvirknum spam, er neyðugt hjá tær at skriva inn tey orð, sum koma fyri á myndini fyri at stovna eina kontu:
([[Special:Captcha/help|Hvat er hetta?]])', - 'captcha-createaccount-fail' => 'Skeiv ella manglandi váttanar loyniorð.', - 'captcha-create' => 'Fyri at upprætta síðuna, vinarliga loys tað einfalda roknistykki niðanfyri og skriva svarið í teigin ([[Special:Captcha/help|meira kunning]]):', - 'captcha-sendemail' => 'Fyri at hjálpa okkum at sleppa undan sjálvvirkandi upprættan av brúkaranavni (spamm), so verður tú vinarliga biðin um at loysa tað einfalda roknistykki og skriva svarið í teigin ([[Special:Captcha/help|meira kunning]]):', - 'captcha-sendemail-fail' => 'Skeiv ella manglandi váttanar loyniorð.', - 'captcha-disabledinapi' => "Henda handling krevur ein captcha, so tað kann ikki verða framt við API'inum.", - 'captchahelp-title' => 'Captcha hjálp', - 'captchahelp-cookies-needed' => 'Tín kagi (brovsari) má góðtaka cookies, fyri at hetta kann virka.', -); - -/** French (français) - * @author Crochet.david - * @author Grondin - * @author IAlex - * @author Meithal - * @author PieRRoMaN - * @author Seb35 - * @author Sherbrooke - * @author Tititou36 - * @author Urhixidur - * @author Verdy p - * @author Wyz - * @author Zetud - */ -$messages['fr'] = array( - 'captcha-edit' => 'Pour modifier cette page, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-desc' => 'Offre des techniques CAPTCHA pour protéger contre le pollupostage et la découverte des mots de passe par essais multiples', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Votre modification inclut de nouveaux liens externes. -Pour nous aider dans la protection contre le pourriel automatisé, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-badlogin' => 'Afin de nous aider à prévenir le cassage automatisé des mots de passe, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-createaccount' => 'Afin de nous aider à lutter contre les créations automatiques de comptes, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-createaccount-fail' => 'Code de confirmation erroné ou manquant.', - 'captcha-create' => 'Pour créer la page, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-sendemail' => 'Afin de nous aider à prévenir le pollupostage automatisé, veuillez calculer l’opération simple ci-dessous et en inscrire le résultat dans le champ ([[Special:Captcha/help|plus d’informations]]) :', - 'captcha-sendemail-fail' => 'Code de confirmation incorrect ou manquant.', - 'captcha-disabledinapi' => 'Cette action requiert un captcha, donc elle ne peut pas être effectuée via l’IPA.', - 'captchahelp-title' => 'Aide sur le captcha', - 'captchahelp-cookies-needed' => "Il vous faudra autoriser les témoins (''cookies'') de votre navigateur pour que cela fonctionne.", - 'captchahelp-text' => 'Les sites web qui acceptent des contributions du public, tels que ce wiki, sont souvent victimes de spammeurs qui utilisent des outils automatisés pour placer de nombreux liens vers leurs sites. -Même si cette pollution peut être effacée, elle n’en reste pas moins irritante. - -Parfois, particulièrement lors de l’ajout de nouveaux liens externes dans une page, le wiki peut vous montrer une image d’un texte embrouillé, déformé ou coloré et vous demander de taper les mots indiqués. -Cette tâche étant difficile à accomplir de façon automatisée, cela permet à la plupart des humains de réaliser leurs contributions tout en stoppant la plupart des spammeurs et autres attaquants robotisés. - -Malheureusement, cette solution peut gêner les utilisateurs malvoyants ou qui utilisent un navigateur en texte seul ou vocal. Nous ne disposons pas d’alternative audio pour l’instant. -Veuillez contacter [[{{MediaWiki:Grouppage-sysop}}|les administrateurs du site]] si cela vous empêche de façon inattendue de faire des contributions légitimes. - -Cliquez sur le bouton « Précédent » de votre navigateur pour revenir à la page de modification.', - 'captcha-addurl-whitelist' => ' #
-# La syntaxe est la suivante :
-#  * Tout caractère depuis « # » jusqu’à la fin de la ligne est interprété comme un commentaire.
-#  * Toute ligne non vide est un fragment d’expression rationnelle qui ne correspondra qu’aux hôtes dans les liens hypertextes.
-  #
', - 'right-skipcaptcha' => 'Réaliser des actions qui déclenchent un captcha sans avoir à passer celui-ci', -); - -/** Franco-Provençal (arpetan) - * @author ChrisPtDe - */ -$messages['frp'] = array( - 'captcha-edit' => 'Por changiér ceta pâge, volyéd calcular l’opèracion simpla ce-desot et pués nen buchiér lo rèsultat dens la bouèta ([[Special:Captcha/help|més d’enformacions]]) :', - 'captcha-desc' => 'Semond des tècniques CAPTCHA por protègiér contre lo spame et la dècuvèrta des contresegnos per un mouél de tentatives.', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Voutron changement encllut de lims de defôr novéls. -Por nos édiér a combatre contre lo spame ôtomatisâ, volyéd calcular l’opèracion simpla ce-desot et pués nen buchiér lo rèsultat dens la bouèta ([[Special:Captcha/help|més d’enformacions]]) :', - 'captcha-badlogin' => 'Por nos édiér a combatre contre lo cassâjo ôtomatisâ de contresegnos, volyéd calcular l’opèracion simpla ce-desot et pués nen buchiér lo rèsultat dedens la bouèta ([[Special:Captcha/help|més d’enformacions]]) :', - 'captcha-createaccount' => 'Por nos édiér a combatre contre les crèacions ôtomatisâs de comptos, volyéd calcular l’opèracion simpla ce-desot et pués nen buchiér lo rèsultat dedens la bouèta ([[Special:Captcha/help|més d’enformacions]]) :', - 'captcha-createaccount-fail' => 'Code de confirmacion fôx ou ben manquent.', - 'captcha-create' => 'Por fâre ceta pâge, volyéd calcular l’opèracion simpla ce-desot et pués nen buchiér lo rèsultat dens la bouèta ([[Special:Captcha/help|més d’enformacions]]) :', - 'captcha-sendemail' => 'Por nos édiér a combatre contre lo spame ôtomatisâ, volyéd calcular l’opèracion simpla ce-desot et pués nen buchiér lo rèsultat dedens la bouèta ([[Special:Captcha/help|més d’enformacions]]) :', - 'captcha-sendemail-fail' => 'Code de confirmacion fôx ou ben manquent.', - 'captcha-disabledinapi' => 'Ceta accion at fôta d’un captch·a, donc pôt pas étre fêta per l’API.', - 'captchahelp-title' => 'Éde sur lo captch·a', - 'captchahelp-cookies-needed' => "Vos fôdrat ôtorisar los tèmouens (''cookies'') de voutron navigator por que cen fonccione.", - 'captchahelp-text' => 'Los setos vouèbe qu’accèptont des contribucions du publico, coment ceti vouiqui, sont sovent victimos de spamors qu’utilisont des outils ôtomatisâs por betar tot plen de lims de vers lors setos. -Mémo se celos lims de spame pôvont étre suprimâs, nen réstont pas muens una nuésence visibla. - -Des côps, particuliérement pendent l’aponsa de lims de defôr novéls dens una pâge, lo vouiqui vos pôt montrar una émâge d’un tèxto colorâ, dèformâ ou ben tordu et pués vos demandar de buchiér los mots montrâs. -Mâlésiê a fâre de façon ôtomatisâ cél travâly, cen pèrmèt a la plepârt des homos de rèalisar lors contribucions tot en empachient la plepârt des spamors et des ôtros ataquents robotisâs. - -Mâlherosament, ceta solucion pôt gênar los usanciérs mâl-veyents ou qu’utilisont un navigator en tèxto solèt ou ben vocal. -Por lo moment, nos avens gins d’altèrnativa ôdiô. -Vos volyéd veriér vers los [[{{MediaWiki:Grouppage-sysop}}|administrators du seto]] se cen vos empache de façon emprèvua de fâre des contribucions lèg·itimes. - -Clicâd sur lo boton « Devant » de voutron navigator por tornar a la bouèta d’èdicion.', - 'captcha-addurl-whitelist' => ' #
-# La sintaxa est ceta :
-#  * Tot caractèro dês « # » tant qu’a la fin de la legne est considèrâ coment un comentèro.
-#  * Tota legne pas voueda est un bocon d’èxprèssion racionèla (*RegEx*) qu’analiserat ren que los hôtos dedens los lims hipèrtèxtos.
- #
', - 'right-skipcaptcha' => 'Rèalisar des accions que dècllenchont un captch·a sen avêr a passar ceti', -); - -/** Friulian (furlan) - * @author Klenje - */ -$messages['fur'] = array( - 'captcha-edit' => 'Par cambiâ cheste pagjine, tu âs di risolvi cheste facile some e inserî la rispueste inte casele ([[Special:Captcha/help|altris informazions]]):', - 'captcha-addurl' => 'Il to cambiament al inclût gnûfs leams esternis. -Par judânus cuintri la creazion automatiche di spam, tu âs di risolvi cheste facile some e inserî la rispueste inte casele ([[Special:Captcha/help|altris informazions]]):', - 'captcha-badlogin' => 'Par judânus cuintri dai atacs automotics a lis peraulis clâfs, tu âs di risolvi cheste facile some e inserî la rispueste inte casele ([[Special:Captcha/help|altris informazions]]):', - 'captcha-createaccount-fail' => 'Il codiç di control al mancje o nol è just.', - 'captcha-create' => 'Par creâ cheste pagjine, tu âs di risolvi cheste facile some e inserî la rispueste inte casele ([[Special:Captcha/help|altris informazions]]):', -); - -/** Western Frisian (Frysk) - * @author Snakesteuben - */ -$messages['fy'] = array( - 'captcha-addurl' => 'Jo hawwe keppelings om utens oanpast/taheakke. As ekstra beskerming tsjin automatysk oanmakke reklame (SPAM) wurdt jo frege it antwurd op de ûndersteande som te jaan ([[Special:Captcha/help|meer ynformaasje]]):', - 'captcha-createaccount' => 'As beskerming tsjin it automatysk oanmeitsjen fan meidochnammen wurdt jo frege it antwurd op de ûndersteande som te jaan ([[Special:Captcha/help|meer ynformaasje]]):', - 'captcha-createaccount-fail' => 'It antwurd op de som kloppet net.', - 'captcha-create' => 'Om de side oan te meitsjen wurdt jo frege it antwurd op de ûndersteande som te jaan ([[Special:Captcha/help|meer ynformaasje]]).', - 'captchahelp-title' => 'Lettertoets-help', - 'captchahelp-text' => "Websteeën dêr't it publyk op skriuwe kin, lykas dizze {{SITENAME}}-wiki, kinne lêst hawwe fan lju dy't automatysk keppelings oan de websiden tafoegje. Op dizze wiki kinne sokke feroarings maklik weromset wurde, mar dat nimt al tiid dy't ek oars brûkt wurde kin. - -By it oanmelden as meidogger, en fierders benammen at jo keppelings om utens oan in side tafoegje, kinne jo fan de wiki in lettertoets krije. De wiki lit dan kleurde of ferwrongen letters sjen, en jo wurdt frege dy oer te tikken. Om't dit net maklik automatisearre wurde kin, hâldt dit it automatysk tafoegjen tsjin. It spitegernôch ek in lytse lêst foar de meidoggers. - -In probleem dêr't noch gjin oplossing foar is it dat it in tûkelteam is foar minsken dy't net goed sjen kinne of dy't in tekst-blêder of lûd-blêder brûke. Hjir soe in lûd-ferzje foar komme moatte, mar dy is der noch net. Oerlis mei in behearder at dit foar jo problemen jout. - -Gean tebek mei de tebek-knop fan jo blêder.", -); - -/** Irish (Gaeilge) - * @author Alison - */ -$messages['ga'] = array( - 'captcha-edit' => 'Tá naisc URL nua san athrú seo atá tú ar tí a dhéanamh; mar chosaint in éadan turscair uathoibrithe, caithfidh tú an suim shimplí a réitigh agus a ionchur:
([[Special:Captcha/help|Céard é seo?]])', - 'captcha-addurl' => 'Tá naisc URL nua san athrú seo atá tú ar tí a dhéanamh; mar chosaint in éadan turscair uathoibrithe, caithfidh tú na focail san íomhá seo a ionchur:
([[Special:Captcha/help|Céard é seo?]])', - 'captcha-createaccount' => 'Mar chosaint in éadan turscair uathoibrithe, caithfidh tú na focail san íomhá seo a ionchur chun cuntas a chlárú:
([[Special:Captcha/help|Céard é seo?]])', - 'captcha-createaccount-fail' => 'Ní raibh an cód deimhnithe ceart sa bhosca, nó ní raibh aon chód ann ar chor ar bith.', - 'captcha-create' => 'Tá naisc URL nua san athrú seo atá tú ar tí a dhéanamh; mar chosaint in éadan turscair uathoibrithe, caithfidh tú na focail san íomhá seo a ionchur:
([[Special:Captcha/help|Céard é seo?]])', - 'captchahelp-title' => 'Cabhair maidir le Captcha', -); - -/** Galician (galego) - * @author Alma - * @author Toliño - * @author Xosé - */ -$messages['gl'] = array( - 'captcha-edit' => 'Para editar esta páxina, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-desc' => 'Proporciona CAPTCHA como protección fronte ao spam e ao descubrimento de contrasinais', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'A súa edición inclúe novas ligazóns externas. -Para contribuír na protección contra as ferramentas de publicación automática de ligazóns publicitarias, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-badlogin' => 'Para contribuír a que non se descubran os contrasinais por medios automáticos, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-createaccount' => 'Para contribuír contra a creación automatizada de contas, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-createaccount-fail' => 'Falta o código de confirmación ou é incorrecto.', - 'captcha-create' => 'Para crear a páxina, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-sendemail' => 'Para contribuír na protección contra as ferramentas de publicación automática de ligazóns publicitarias, resolva a suma que aparece a continuación e introduza a resposta na caixa ([[Special:Captcha/help|máis información]]):', - 'captcha-sendemail-fail' => 'Falta o código de confirmación ou é incorrecto.', - 'captcha-disabledinapi' => 'Esta acción necesita o captcha, polo que non se pode realizar a través da API.', - 'captchahelp-title' => 'Axuda acerca do captcha', - 'captchahelp-cookies-needed' => 'Necesita ter as cookies habilitadas no seu navegador para que funcione.', - 'captchahelp-text' => 'Os sitios web que aceptan publicar as contribucións dos usuarios, coma este wiki, sofren, con frecuencia, o abuso por parte de spammers que usan ferramentas que automatizan a inclusión de lixo en forma de ligazóns publicitarias, nunha chea de páxinas, en pouco tempo. -Mentres as devanditas ligazóns non son eliminadas supoñen unha molestia e unha perda de tempo. - -En ocasións, en particular cando engada algunha nova ligazón externa, o wiki pode mostrar unha imaxe dun texto coloreado e distorsionado e pedirlle que introduza as palabras que se vexa. -Como esta tarefa é difícil de automatizar, permite distinguir entre persoas e robots e dificulta os ataques automatizados dos spammers. - -Por desgraza, isto é un inconveniente para aqueles usuarios con dificultades de visión ou que utilicen navegadores de texto ou navegadores baseados en sistemas de voz. -Polo de agora non dispoñemos dunha alternativa de son. -Por favor, póñase en contacto cun [[{{MediaWiki:Grouppage-sysop}}|administrador do sitio]] para solicitar axuda se o sistema lle impide rexistrarse para facer contribucións lexítimas. - -Prema no botón "Atrás" do seu navegador para volver á páxina de edición.', - 'captcha-addurl-whitelist' => ' #
-# A sintaxe é a seguinte:
-#   * Todo o que vaia despois dun carácter "#" ata o final da liña é un comentario
-#   * Toda liña que non estea en branco é un fragmento de expresión regular que só coincide con dominios dentro de enderezos URL
-  #
', - 'right-skipcaptcha' => 'Levar a cabo as accións que requiren captcha sen ter que introducilo', -); - -/** Ancient Greek (Ἀρχαία ἑλληνικὴ) - * @author Omnipaedista - */ -$messages['grc'] = array( - 'captchahelp-title' => 'Βοήθεια περὶ τοῦ captcha', -); - -/** Swiss German (Alemannisch) - * @author Als-Chlämens - * @author Als-Holder - * @author Melancholie - */ -$messages['gsw'] = array( - 'captcha-edit' => 'Zum d Syte bearbeite lees die Rächenufgab un trag s Ergebnis in s Fäld unten yy. [[Special:Captcha/help|(Frogen oder Probläm?)]]', - 'captcha-desc' => 'Stellt CAPTCHA-Tächnike zum Schutz vor Spam un em Rote vu Passwerter z Verfiegig', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'In Dyynere Bearbeitig het s neiji externi Link. -Zum Schutz vor automatisiertem Spamming lees die Rächenufgab un trag s Ergebnis in s Fäld unten yy. Druck drno nomol uf „Syte spychere“. ([[Special:Captcha/help|meh Informatione …]]):', - 'captcha-badlogin' => 'Zum Schutz vor ere Kompromittierig vu Dyynem Benutzerkonto lees die Rächenufgab un trag s Ergebnis in s Fäld unten yy ([[Special:Captcha/help|meh Informatione]]):', - 'captcha-createaccount' => 'Zum Schutz vor automatisiertem Aalege vu Benutzerkonte lees die Rächenufgab un trag s Ergebnis in s Fäld unten yy. ([[Special:Captcha/help|meh Informatione]]):', - 'captcha-createaccount-fail' => 'Bestätigungscode isch falsch oder fählt.', - 'captcha-create' => 'Zum d Syten aalege lees die Rächenufgab un trag s Ergebnis in s Fäld unten yy. [[Special:Captcha/help|(Frogen oder Probläm?)]]', - 'captcha-sendemail' => 'As Schutz gege e automatischs Spamming, lees die Rächenufgab un trag s Ergebnis in s Fäld unten yy ([[Special:Captcha/help|meh Informatione]]):', - 'captcha-sendemail-fail' => 'Bestätigungscode isch falsch oder fählt.', - 'captcha-disabledinapi' => 'Die Aktion brucht e Captcha. Si cha nit iber d API uusgfiert wäre.', - 'captchahelp-title' => 'Captcha-Hilf', - 'captchahelp-cookies-needed' => "'''Wichtiger Hiiwyys:''' Im Browser mien Cookiers erlaubt syy.", - 'captchahelp-text' => 'Internetaagebot, wu uf sin fir Byytreg vu jedem, wie z. B. des Wiki, wäre vyylmol vu Spammer missbruucht, wu ihri Links automatisch uf vyylene Netzsyte platziere. Die Spam-Links cha mer wider useneh, si stere aber zimli un nämme Arbetszyt in Aaspruch. - -In e Teil Fäll, v. a. wänn neiji Link in e Syte dryygfiegt wäre, cha s syy, ass des Wiki derno ne Bild mit eme farbige un verzerrte Täxt aazeigt un dezue ufforderet, di aazeigte Werte yyzgee. Wel sonigi Ufgabe nit automatische chenne usgfiert wäre, cha mer eso di meischte Spammer, wu mit automatische Wärchzyyg schaffe, ufhalte, aber normali Benutzer chenne ihri Byytreg einewäg yygee. - -Leider cha des derzue fiere, ass Lyt Probläm iberchemme, wu ne yygschränkti Sähfähigkeit oder e Browser bruche, wu täxt- oder sprochbasiert isch. -Im Momänt hän mir kei Audioalternative z Verfiegig. -Bitte nimm Kontakt uf zum [[{{MediaWiki:Grouppage-sysop}}|Syteadministrator]] fir Unterstitzig wänn des Di uuerwartet abhaltet vu berächtigte Byyträg. - -Ins Bearbeitigsfänschter chunnt mer derno eifach wider mit em „Zruck“-Chnopf.', - 'captcha-addurl-whitelist' => ' #
-#  Syntax:
-#   * Alles vun eme #-Zeiche bis zum Änd vu dr Zyyle isch e Kommentar
-#   * Jedi nit-lääri Zyyle isch e Regex-Fragment, wu gegeniber dr dr Hostnäme vun ere URL prieft wird
- #
', - 'right-skipcaptcha' => 'Iberspringe vu dr Captcha-Yygab', -); - -/** Gujarati (ગુજરાતી) - * @author Ashok modhvadia - * @author Dsvyas - * @author KartikMistry - * @author Sushant savla - */ -$messages['gu'] = array( - 'captcha-edit' => 'આ લેખમાં ફેરફાર કરવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજુના ખાનામાં લખો ([[Special:Captcha/help|more info]]):', - 'captcha-desc' => '', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'તમે કરેલા ફેરફારોમાં નવી બાહ્ય કડીઓ સામેલ છે. સ્વચાલિત સ્પેમ/સ્પામ(spam) થી બચવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજુના ખાનામાં લખો -([[Special:Captcha/help|more info]]):', - 'captcha-badlogin' => 'આપોઆપ થતી ગુપ્તસંજ્ઞાની ચોરી (password cracking)થી બચાવવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજુના ખાનામાં લખો ([[Special:Captcha/help|more info]]):', - 'captcha-createaccount' => 'આપોઆપ નવા ખાતા ખુલતા રોકવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજુના ખાનામાં લખો', - 'captcha-createaccount-fail' => 'ખોટી અથવા ખૂટતી ખાતરી સંજ્ઞા.', - 'captcha-create' => 'નવું પાનું બનાવવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજુના ખાનામાં લખો ([[Special:Captcha/help|more info]]):', - 'captcha-sendemail' => 'આપોઆપ થતી સ્પેમિંગથી બચાવવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજુના ખાનામાં લખો ([[Special:Captcha/help|more info]]):', - 'captcha-sendemail-fail' => 'ખોટી અથવા ખૂટતી ખાતરી સંજ્ઞા.', - 'captcha-disabledinapi' => 'આ ક્રિયા માટે કેપ્ચાની જરૂર છે, માટે તે API દ્વારા પાર પાડી શકાય તેમ નથી.', - 'captchahelp-title' => 'કેપ્ટ્ચા/કેપ્ચા (Captcha) મદદ', - 'captchahelp-cookies-needed' => 'આ વ્યવસ્થિત રીતે જોઇ શકાય તે માટે તમારા બ્રાઉઝરમાં કુકીઝ એનેબલ કરેલી હોવી જોઇશે.', - 'captchahelp-text' => "આપણી વિકિ જેવી વૅબ સાઇટો કે જે લોકોને યોગદાન કરવાની પરવાનગી આપે છે, તેમનો સ્પામરો દ્વારા દુરૂપયોગ થતો આવ્યો છે. આવા સ્પામરો તેમની કડીઓ એક સાથે અનેક વૅબ સાઇટો પર મુકવા માટે સ્વચાલિત સાધનો વાપરે છે. આવી કડીઓ ખરેખર એક દૂષણ છે અને તેને દૂર કરવાના ઉપાય કરવા જોઇએ. - -ક્યારેક, ખાસ કરીને જ્યારે તમે તમારા લેખમાં બાહ્ય કડી ઉમેરતા હોવ ત્યારે, વિકિ તમને એક રંગીન કે તુટેલા-ફુટેલા અક્ષરો કે શબ્દોનું ચિત્ર બતાવે અને તેમા વંચાતા શબ્દો બાજુનાં ખાનામાં લખવા માટે પુછે એવું બને. આનું કારણ એ છે કે આ એક એવી પદ્ધતિ છે જે સ્વચાલિત રીતે કરવી લગભગ અશક્ય છે, અને ફક્ત વ્યક્તિગત રીતે જ થઇ શકે છે, જે સ્પામરો અને અન્ય ઘુસણખોરો ના હુમલાને ખાળે છે. - -કમભાગ્યે આ પદ્ધતિ, એવા લોકોને તકલિફ આપે તેમ છે જેઓની દૃષ્ટિ નબળી છે અથવાતો જેઓ વાચા આધારીત કે સાદા બ્રાઉઝરનો ઉપયોગ કરે છે. હાલમા અમારી પાસે આવા ચિત્રોની વાચા આધારિત વ્યવસ્થા નથી. જો આ કારણે આપ કોઇ લેખમાં પ્રદાન ન કરી શકતા હોવ તો વધુ સહાય માટે કૃપા કરી [[{{MediaWiki:Grouppage-sysop}}|site administrators]] નો સંપર્ક સાધો. - -લેખમા ફેરફાર કરવાના પાના ઉપર પાછા ફરવા માટે આપના બ્રાઉઝરના 'બેક' બટન ઉપર ક્લિક કરો.", - 'captcha-addurl-whitelist' => ' #
-# સીન્ટેક્સ (Syntax) આ પ્રમાણે છે :
-#  * "#" સંજ્ઞાથી શરૂ કરીને લીટીના અંત સુધીનું વર્ણન એક ટીપ્પણી છે
-#  * ખાલી ન હોય તેવી દરેક લીટી રેજેક્સનો ભાગ છે, જે ફક્ત URLsમાંના હોસ્ટ સાથે જ મેળ ખાશે
-  #
', - 'right-skipcaptcha' => 'કૈપ્ચા માધ્યમમાં ગયા વિના કૈપ્ચા કાર્યાન્વયન ક્રિયા અમલમાં મુકો', -); - -/** Hebrew (עברית) - * @author Amire80 - * @author Rotem Liss - * @author Rotemliss - * @author YaronSh - */ -$messages['he'] = array( - 'captcha-edit' => 'כדי לערוך את הדף, אנא פתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'captcha-desc' => 'מתן טכניקות CAPTCHA להגנה נגד זיבול וניחוש ססמאות', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'עריכתכם כוללת קישורים חיצוניים חדשים. -לשם הגנה מפני ספאם אוטומטי, אנא פתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה כדי לשמור את עריכתכם ([[Special:Captcha/help|מידע נוסף]]):', - 'captcha-badlogin' => 'לשם הגנה מפני פריצת סיסמאות אוטומטית, אנא פתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'captcha-createaccount' => 'לשם הגנה מפני יצירת חשבונות אוטומטית, אנא פתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'captcha-createaccount-fail' => 'לא הקלדתם קוד אישור, או שהוא שגוי.', - 'captcha-create' => 'כדי ליצור את הדף, אנא פתרו את תרגיל החיבור הפשוט שלהלן והקלידו את התשובה בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'captcha-sendemail' => 'כדי לעזור להילחם במציפי זבל אוטומטיים, עליך לחשב את הסכום הפשוט שלהלן ולהזין את התוצאה בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'captcha-sendemail-fail' => 'קוד האישור שגוי או חסר.', - 'captcha-disabledinapi' => 'פעולה זו דורשת פתרון CAPTCHA ולא ניתן לבצע אותה דרך ה־API.', - 'captchahelp-title' => 'עזרה במערכת CAPTCHA', - 'captchahelp-cookies-needed' => 'עליכם להפעיל את תכונת העוגיות (cookies) בדפדפן שלכם כדי שזה יעבוד.', - 'captchahelp-text' => 'פעמים רבות מנצלים מפיצי תוכן זבל ("ספאם") אתרים שמקבלים תוכן מהציבור, כמו אתר הוויקי הזה, כדי לפרסם את הקישורים שלהם לאתרים רבים באינטרנט, באמצעות כלים אוטומטיים. -אמנם ניתן להסיר את קישורי הספאם הללו, אך הם מהווים מטרד משמעותי. - -לעתים, בעיקר כשאתם מכניסים קישורי אינטרנט חדשים לתוך עמוד, אתר הוויקי עשוי להראות לכם תמונה של טקסט צבעוני או מעוקם ולבקש מכם להקליד את המילים המוצגות. -כיוון שזו משימה שקשה לבצעה בצורה אוטומטית, הדבר יאפשר לבני־אדם אמיתיים לשלוח את הדפים, אך יעצור את רוב מפיצי תוכן הזבל והמתקיפים הרובוטיים האחרים. - -לרוע המזל, הדבר עשוי לגרום לאי נוחות למשתמשים עם דפדפן בגרסה מוגבלת, או שמשתמשים בדפדפנים מבוססי טקסט או דיבור. -כרגע, אין לנו חלופה קולית זמינה. -אנא צרו קשר עם [[{{MediaWiki:Grouppage-sysop}}|מפעילי המערכת]] כדי לקבל עזרה אם המערכת מונעת מכם באופן בלתי צפוי לבצע עריכות לגיטימיות. - -לחצו על הכפתור \'חזור\' בדפדפן שלכם כדי לחזור לדף העריכה.', - 'captcha-addurl-whitelist' => ' #
-# זהו תחביר ההודעה:
-#   * כל דבר בשורה שנכתב לאחר סימן "#" הוא הערה
-#   * כל שורה לא ריקה היא ביטוי רגולרי שיתאים לאתרים בכתובות URL
- #
', - 'right-skipcaptcha' => 'ביצוע פעולות הדורשות פתרון CAPTCHA ללא צורך בפתרונו', -); - -/** Hindi (हिन्दी) - * @author Ansumang - * @author Kaustubh - * @author Shyam - * @author Siddhartha Ghai - * @author आलोक - */ -$messages['hi'] = array( - 'captcha-edit' => 'यह पन्ना संपादित करने के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'captcha-desc' => 'आसानसे कॅपचा (captcha) का इस्तेमाल', - 'captcha-addurl' => 'आपके सम्पादन में नई बाहरी कड़ियाँ हैं। -स्वचालित स्पॅम से बचाव में सहायता के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'captcha-badlogin' => 'स्वचालित कूटशब्द भेद से बचाव में सहायता के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'captcha-createaccount' => 'स्वचालित सदस्य पंजीकरण से बचाव में सहायता के लिये नीचे दिये हुए आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'captcha-createaccount-fail' => 'गलत या खाली सहमती कोड।', - 'captcha-create' => 'यह पन्ना बनाने के लिये, नीचे दिये आसान गणित प्रश्न का उत्तर बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'captcha-sendemail' => 'स्वचालित स्पैमिंग से बचाव के लिये कृपया नीचे दिये गणित प्रश्न का उत्तर बक्से में लिखें -([[Special:Captcha/help|अधिक जानकारी]]):', - 'captcha-sendemail-fail' => 'गलत या लापता पुष्टिकरण कोड ।', - 'captchahelp-title' => 'कॅप्टचा सहायता', - 'captchahelp-cookies-needed' => 'यह कार्य करने के लिये आपने कूकीज (cookies) एनेबल किया होना आवश्यक हैं।', - 'captchahelp-text' => "इस विकि जैसे जालस्थल, जो जनता जनार्दन से लेख स्वीकार करते हैं, अक्सर रद्दी काम करने वालों के फंदे में आ जाते हैं, जो स्वचालित यंत्रों से कई स्थलों पर अपनी कड़ियाँ छापने की कोशिश करते हैं। -यूँ तो ये रद्दी कड़ियाँ हटाई जा सकती हैं, पर फिर भी ये झंझट तो खड़ा करती ही हैं। - -कुछ बार, खासकर जब किसी पन्ने पृष्ठ पर एक नया जाल पता जोड़ा जाता है, तब विकी आपको एक रंगीन या टेढ़े मेढ़े लेख की तस्वीर दिखा के आपको उस तस्वीर में लिखी सामग्री को पढ़ के टंकित करने को कह सकती है। -ऐसी तस्वीर को यंत्र द्वारा पढ़ पाना मुश्किल होता है, इसलिए इसके जरिए अधिकतर मानव अपने लेख छाप पाएँगे और साथ ही अधितकर रद्दी वाले और यांत्रिक उपकरण नहीं छाप पाएँगे। - -दुर्भाग्यवश इससे सीमित चक्षु-दृष्टि वाले सदस्यों या पाठ-आधारित या वाचन-आधारित विचरकों का प्रयोग करने वाले सदस्यों को समस्या आती है। -इस समय हमारे पास इसका श्रव्य विकल्प उपलब्ध नहीं है। -यदि इसकी वजह से आपको वैध लेख लिखने में अवरोध आ रहा हो तो कृपया सहायता के लिए [[{{MediaWiki:Grouppage-sysop}}|स्थल प्रबंधकों]] से संपर्क करें। - -पन्ना संपादन पर वापस जाने के लिए अपने विचरक पर 'एक पृष्ठ पीछे जाएँ' वाली कुंजी का प्रयोग करें।", - 'captcha-addurl-whitelist' => ' #
-# इसकी रुपरेषा इस प्रकार हैं:
-#  * "#" से शुरु होनेवाली सभी लाईनें टिप्पणीयाँ हैं।
-#  * हर अन्य लाईन regex fragment हैं जो सिर्फ URL के होस्टस्‌ को जोडता हैं
-   #
', - 'right-skipcaptcha' => 'Captcha में जाये बिना Captcha का इस्तेमाल करने के लिये मजबूर करें', -); - -/** Croatian (hrvatski) - * @author Dalibor Bosits - * @author Dnik - * @author Ex13 - * @author Herr Mlinka - * @author Roberta F. - * @author SpeedyGonsales - */ -$messages['hr'] = array( - 'captcha-edit' => 'Da uredite ovu stranicu, molimo riješite jednostavno zbrajanje ispod i unesite rezultat u rubriku ([[Special:Captcha/help|više informacija]]):', - 'captcha-desc' => 'Pruža CAPTCHA tehnike za zaštitu od neželjene pošte (spam-a) i pogađanja zaporke', - 'captcha-addurl' => 'Vaše uređivanje sadrži nove vanjske poveznice. Kao zaštitu od automatskog spama, trebate unijeti slova koja vidite na slici:
([[Special:Captcha/help|Pomoć?]])', - 'captcha-badlogin' => 'Da se spriječi automatizirano pogađanje lozinki, -molimo zbrojite donje brojeve i upišite rezultat ([[Special:Captcha/help|pomoć]]):', - 'captcha-createaccount' => 'Kao zaštitu od automatskog spama, pri otvaranju računa trebate unijeti slova koja vidite na slici:
([[Special:Captcha/help|Pomoć]])', - 'captcha-createaccount-fail' => 'Potvrdni kod je nepotpun ili netočan.', - 'captcha-create' => 'Vaše uređivanje sadrži nove vanjske poveznice. Kao zaštitu od automatskog spama, trebate unijeti slova koja vidite na slici:
([[Special:Captcha/help|Pomoć?]])', - 'captcha-sendemail' => 'Da bi ste nam pomogli protiv automatskog spama, molimo riješite jednostavan zadatak zbrajanja ispod i unesite rezultat u okvir ([[Special:Captcha/help|više informacija]]):', - 'captcha-sendemail-fail' => 'Potvrdni kod je nepotpun ili netočan.', - 'captcha-disabledinapi' => 'Ova akcija traži captchu, tako da se ne može izvršiti preko API-ja.', - 'captchahelp-title' => 'Antispam pomoć', - 'captchahelp-cookies-needed' => "Trebate imati uključene kolačiće (''cookies'') u vašem web pregledniku za ovu funkciju.", - 'captchahelp-text' => "Internetske stranice koji prihvaćaju doprinose od javnosti, poput ovog wikija, često zloupotrebljavaju spameri, koji koriste automatizirane alate pomoću kojih postavljaju svoje poveznice na mnoge stranice. -Iako se te spam poveznice mogu uklanjati, one predstavljaju značajne neugodnost pri radu. - -Ponekad, a naročito kad se dodaje web poveznica na stranicu, wiki može prikazati sliku obojenog ili iskrivljenog teksta uz zahtjev za unos prikazanih riječi. -Budući da je takvu radnju teško automatizirati, to će omogućiti pravim suradnicima njihov nastavak u pridonošenju, dok će zaustaviti većinu spamera i robotskih napadača. - -Na žalost, ovo može biti nepristupačno za suradnike koji koriste tekstualne klijene ili one glasovno bazirane. Trenutačno nemamo glasovnu podršku za ovo. -Molimo obratite se [[{{MediaWiki:Grouppage-sysop}}|administratorima]] za pomoć, ukoliko Vas ovo ometa pri dodavanju važećih sadržaja. - -Pritisnite u svom pregledniku 'nazad' kako bi se vratili na uređivač stranice.", - 'captcha-addurl-whitelist' => ' #
-# Rabi se sljedeća sintaksa:
-#   * Sve od "#" znaka do kraja linije je komentar
-#   * Svaki je neprazni redak regularni izraz (regex) koji odgovara poslužitelju unutar URL-a
-  #
', - 'right-skipcaptcha' => 'Izvođenje akcija koje pokreću captcha bez prolaženja kroz captcha sustav', -); - -/** Upper Sorbian (hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'captcha-edit' => 'Zo by stronu wobdźěłał, rozrisaj prošu slědowacy ličenski nadawk a zapodaj wuslědk do kašćika ([[Special:Captcha/help|Dalše informacije]]):', - 'captcha-desc' => 'Staja CAPTCHA-techniki za škit přećiwo spamej a zhódowanju hesłow k dispoziciji', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'W twojej změnje su nowe eksterne wotkazy. Zo by wiki přećiwo awtomatizowanemu spamej škitał, prosymy će slědowacy nadawk wuličić a wuslědk do kašćika zapisować, zo by so twoja změna składowała ([[Special:Captcha/help|dalše informacije]]).', - 'captcha-badlogin' => 'Zo by wiki přećiwo awtomatiskemu zadobywanju do hesłow škitał, prosymy će slědowacy nadawk wuličeć a wuslědk do kašćika zapisować ([[Special:Captcha/help|dalše informacije]]):', - 'captcha-createaccount' => 'Zo by wiki přećiwo awtomatiskemu wutworjenju wužiwarskich kontow škitał, prosymy će slědowacy nadawk nadawk rozrisać a wuslědk do kašćika zapisować ([[Special:Captcha/help|dalše informacije]]):', - 'captcha-createaccount-fail' => 'Wopačny abo pobrachowacy wobkrućenski kod.', - 'captcha-create' => 'Zo by stronu wutworił, rozrisaj prošu slědowacy ličenski nadawk a zapodaj wuslědk do kašćika ([[Special:Captcha/help|Dalše informacije]]):', - 'captcha-sendemail' => 'Za škit přećiwo awtomatiskemu spamowanju, rozrisaj prošu slědowacy jednory ličenski nadawk a zapodaj wotmołwu do kašćika ([[Special:Captcha/help|dalše informacije]]):', - 'captcha-sendemail-fail' => 'Wopačny abo falowacy wobkrućenski kod.', - 'captcha-disabledinapi' => 'Tuta akcija wužaduje sej captcha, tohodla njeda so přez API wuwjesć.', - 'captchahelp-title' => 'Pomoc za CAPTCHA', - 'captchahelp-cookies-needed' => 'Dyrbiš placki (cookies) w swojim wobhladowaku zmóžnić.', - 'captchahelp-text' => 'Websydła, kotrež powěsće wot kóždeho akceptuja, so často wot spamarjow znjewužiwaja, kotřiž swoje wotkazy awtomatisce na wjele sydłach rozdźěleja. Hačrunjež so tute spamwotkazy hodźa wotstronić, su wone njesnadne mjerzanje. - -Druhdy, wosebje, hdyž so nowe webwotkazy stronje přidawaja, móže so stać, zo pokazuje tutón wiki wobraz z barbnym abo skomolenym tekstom a će prosy, zo by pokazane słowa zapodał. -Dokelž to je nadawk, kotryž hodźi so jenož ćežko awtomatizować, dowoluje to woprawdźitym wosobam swoje powěsći wotpósłać, mjeztym zo so najwjace spamarjow a druhich nadpadowacych botow blokuje. - -Bohužel móže to k wobćežnosćam za tutych wužiwarjow wjesć, kotrychž kmanosć widźenja je wobmjezowana abo kotřiž wobhladowaki wužiwaja, kotrež na tekst abo rěčne wudawanje bazěruja. -Tuchwilu njedisponujemy wo awdioalternatiwje. -Prošu staj so z [[{{MediaWiki:Grouppage-sysop}}|administratorami sydła]] z prostwu wo pomoc do zwiska, jeli to će haći legitimne powěsće pósłać. - -Klikń na tłócatko "Wróćo" w swojim wobhladowaku, zo by so k editorej wróćił.', - 'captcha-addurl-whitelist' => ' #
-# Syntaksa je slědowaca:
-# * Wšo wot znamješka "#" hač do kónca linky je komentar
-# * Kóžda popisana linka je fragment regex (regularneho wuraza) kotryž so z mjenom hosta wěsteje URL přirunuje
- #
', - 'right-skipcaptcha' => 'Captcha přeskočić', -); - -/** Haitian (Kreyòl ayisyen) - * @author Boukman - * @author Masterches - */ -$messages['ht'] = array( - 'captcha-edit' => 'Pou ou kapab modifye paj sa, nou mande w kalkile ti adisyon fasil sa epitou mete rezilta, repons ou an nan bwat ki bò kote l ([[Special:Captcha/help|konnen plis sou fonksyon sa]]):', - 'captcha-desc' => 'Yon enplemantasyon captcha senp', - 'captcha-addurl' => 'Edisyon ou an genyen nouvo lyen pou andeyò. -Pou ede nou pwoteje sistèm an kont pouryèl, tanpri, fè ti adisyon fasil sa epi bay repons ou an nan bwat ([[Special:Captcha/help|plis èd sou fonksyon sa]]):', - 'captcha-badlogin' => 'Pou ede nou lite kont òdinatè ki ap krake, pirate mopas yo, tanpri rezoud ti adisyon fasil sa epi mete repons ou an nan bwat ([[Special:Captcha/help|konnen plis sou fonksyon sa]]):', - 'captcha-createaccount' => 'Pou ede nou lite kont kreyasyon kont otomatik yo, souple rezoud ti adisyon sa epi mete nan bwat an repons ou an ([[Special:Captcha/help|konnen plis sou fonksyon sa]]):', -); - -/** Hungarian (magyar) - * @author Dani - * @author Dj - * @author Glanthor Reviol - */ -$messages['hu'] = array( - 'captcha-edit' => 'A lap szerkesztéséhez meg kell, hogy kérjünk, írd be a lenti dobozba az alábbi egyszerű összeadás eredményét ([[Special:Captcha/help|segítség]]):', - 'captcha-desc' => 'CAPTCHA-technológiák a spamek és a jelszókitalálási technikák ellen', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Szerkesztésed új külső linket tartalmaz. A reklámokat elhelyező robotok kiszűrése érdekében meg kell, hogy kérjünk, írd be a lenti dobozba az alábbi matematikai művelet eredményét. ([[Special:Captcha/help|segítség]])', - 'captcha-badlogin' => 'Az automatikus jelszófeltörés kiszűrése érdekében meg kell, hogy kérjünk, írd be a lenti dobozba az alábbi egyszerű számtani művelet eredményét ([[Special:Captcha/help|segítség]]):', - 'captcha-createaccount' => 'A felhasználói fiókok automatizált létrehozásának kiszűrése érdekében meg kell, hogy kérjünk, írd be a lenti dobozba az alábbi egyszerű számtani művelet eredményét. ([[Special:Captcha/help|segítség]])', - 'captcha-createaccount-fail' => 'Hibás vagy hiányzó ellenőrző kód.', - 'captcha-create' => 'Az oldal elkészítéséhez meg kell, hogy kérjünk, írd be a lenti dobozba az alábbi egyszerű számtani művelet eredményét. ([[Special:Captcha/help|segítség]])', - 'captcha-sendemail' => 'Hogy segíts az automatizált spammelés elleni védekezésben, kérünk oldd meg az alábbi egyszerű számítást, és írd be az eredményt a szövegdobozba ([[Special:Captcha/help|segítség]]):', - 'captcha-sendemail-fail' => 'Hibás vagy hiányzó ellenőrző kód.', - 'captcha-disabledinapi' => 'Ez a művelet captcha megoldásához kötött, így nem lehet végrehajtani az API-n keresztül.', - 'captchahelp-title' => 'Captcha segítség', - 'captchahelp-cookies-needed' => 'Engedélyezned kell a böngésződben a sütiket.', - 'captchahelp-text' => 'Az olyan weboldalakat, amelyekre bárki írhat, gyakran támadják meg spammerek olyan eszközök felhasználásával, amelyek képesek automatikusan, emberi felügyelet nélkül elhelyezni egy linket sok különböző oldalon. - -Az ilyen linkek kézi eltávolítása rengeteg energiát emésztene fel, ezért néha, különösen ha egy külső linket teszel egy cikkbe, a wiki egy valamilyen módon eltorzított szöveget (captcha-t) jelenít meg, és arra kér, hogy gépeld be azt. Mivel ezt automatikusan nagyon nehéz megtenni, a valódi szerkesztők így könnyen megkülönböztethetőek a spammerek robotjaitól. - -Sajnos ez komoly kényelmetlenséget jelenthet azoknak a felhasználóknak, akik gyengén látnak, vagy szöveges/hang-alapú böngészőt használnak. Jelenleg nem tudunk hang-alapú alternatívával szolgálni; ha a captcha megakadályoz abban, hogy szerkeszd a wikit, vedd fel a kapcsolatot az [[{{MediaWiki:Grouppage-sysop}}|adminisztrátorokkal]]. - -Ha a captcha megoldása helyett inkább visszatérnél a szöveg szerkesztéséhez, használd a böngésződ „vissza” gombját.', - 'captcha-addurl-whitelist' => ' #
-# A szintaktika a következő:
-#  * Minden „#” karakterrel kezdődő sor megjegyzés
-#  * Minden nem üres sor egy reguláris kifejezés darabja, amely csak az URL-ekben található kiszolgálókra keres
-  #
', - 'right-skipcaptcha' => 'captcha átugrása', -); - -/** Interlingua (interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'captcha-edit' => 'Pro modificar iste pagina, per favor resolve le simple summa hic infra e entra le responsa in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-desc' => 'Forni technicas CAPTCHA de protection contra spam e discoperta de contrasignos', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Tu modification include nove ligamines externe. -Como protection contra le spam automatic, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-badlogin' => 'Como protection contra le piratage automatic de contrasignos, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-createaccount' => 'Como protection contra le creation automatic de contos, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-createaccount-fail' => 'Codice de confirmation incorrecte o mancante.', - 'captcha-create' => 'Pro crear le pagina, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-sendemail' => 'Como protection contra le spam automatic, per favor resolve le simple summa hic infra e entra le resultato in le quadro ([[Special:Captcha/help|plus info]]):', - 'captcha-sendemail-fail' => 'Codice de confirmation incorrecte o mancante.', - 'captcha-disabledinapi' => 'Iste action require un captcha, dunque illo non pote esser exequite per medio del API.', - 'captchahelp-title' => 'Adjuta super le captcha', - 'captchahelp-cookies-needed' => 'Tu debe haber le cookies activate in tu navigator a fin que isto pote functionar.', - 'captchahelp-text' => "Le sitos web que accepta contributiones del publico, como iste wiki, es frequentemente abusate per spammatores que usa instrumentos automatic pro publicar lor ligamines in multe sitos. -Ben que iste ligamines spam pote esser eliminate, illos constitue un considerabile molestia. - -Alcun vices, specialmente quando tu adde nove ligamines web a un pagina, le wiki pote monstrar te un imagine de texto colorate o distorquite e demandar que tu entra le parolas monstrate. -Post que isto es un carga difficile de automatisar, isto permittera al major parte del humanos real de facer lor contributiones, durante que le major parte del spammatores e altere attaccatores robotic es stoppate. - -Infelicemente isto pote incommodar le usatores con vision limitate o usante navigatores a base de texto o synthese vocal. -Al momento nos non dispone de un alternativa audio. -Per favor contacta le [[{{MediaWiki:Grouppage-sysop}}|administratores del sito]] pro assistentia si isto insperatemente te impedi de facer contributiones legitime. - -Clicca le button 'retro' in tu navigator pro retornar al pagina de modification.", - 'captcha-addurl-whitelist' => ' #
-# Le syntaxe es lo sequente:
-#  * Toto a partir de un character "#" usque al fin del linea es un commento
-#  * Omne linea non vacue es un fragmento regex applicabile solmente a nomines de host intra adresses URL
-  #
', - 'right-skipcaptcha' => 'Executar le actiones que activarea le captcha sin deber passar per le captcha', -); - -/** Indonesian (Bahasa Indonesia) - * @author Borgx - * @author Farras - * @author IvanLanin - * @author Iwan Novirion - * @author Rex - */ -$messages['id'] = array( - 'captcha-edit' => 'Untuk menyunting halaman ini, harap pecahkan penjumlahan sederhana di bawah ini dan masukkan jawaban di kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'captcha-desc' => 'Menyediakan teknik captcha untuk melindungi terhadap spam dan penebakan sandi', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Suntingan Anda menyertakan pranala luar baru. Sebagai pelindungan terhadap ''spam'' otomatis, Anda harus mengetikkan kata atau hasil perhitungan yang tertera berikut ini:
-([[Special:Captcha/help|info lengkap]])", - 'captcha-badlogin' => 'Untuk membantu pelindungan terhadap perengkahan kunci sandi otomatis, tolong masukkan kata atau hasil perhitungan sederhana berikut dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'captcha-createaccount' => 'Sebagai pelindungan terhadap spam, Anda diharuskan untuk mengetikkan kata atau hasil perhitungan di bawah ini di kotak yang tersedia untuk dapat mendaftarkan pengguna baru:
-([[Special:Captcha/help|info lengkap]])', - 'captcha-createaccount-fail' => 'Kode konfirmasi salah atau belum diisi.', - 'captcha-create' => 'Untuk menyunting halaman ini, silakan pecahkan penjumlahan sederhana di bawah ini dan masukkan jawaban di kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'captcha-sendemail' => 'Sebagai pelindungan terhadap spam, silakan pecahkan penjumlahan sederhana di bawah ini dan masukkan jawaban di kotak yang tersedia ([[Special:Captcha/help|more info]]):', - 'captcha-sendemail-fail' => 'Kode konfirmasi salah atau belum diisi.', - 'captcha-disabledinapi' => 'Tindakan ini membutuhkan captcha, sehingga tidak dapat dilakukan melalui API.', - 'captchahelp-title' => 'Mengenai Captcha', - 'captchahelp-cookies-needed' => 'Anda perlu mengaktifkan cookie pada penjelajah web Anda untuk menggunakan fitur ini.', - 'captchahelp-text' => "Situs-situs web yang menerima tulisan dari publik, seperti wiki ini, kerapkali disalahgunakan oleh pengguna-pengguna yang tidak bertanggungjawab untuk mengirimkan spam dengan menggunakan program-program otomatis. -Walaupun pranala-pranala spam tersebut dapat dibuang, tetapi tetap saja menimbulkan gangguan berarti. - -Kadang-kadang, terutama ketika sedang menambahkan pranala web baru ke suatu halaman, wiki ini akan menampilkan sebuah bentuk gambar dari tulisan berwarna atau terdistorsi dan meminta Anda untuk mengetikkan kata yang ditampilkan. -Karena ini merupakan suatu pekerjaan yang sulit diotomatisasi, pembatasan ini akan dapat dengan mudah dilalui oleh manusia, sekaligus juga dapat menghentikan hampir semua serangan spam dan robot otomatis lainnya. - -Sayangnya, hal ini dapat menimbulkan kesulitan bagi pengguna dengan keterbatasan penglihatan atau pengguna yang menggunakan penjelajah web berbasis-teks atau berbasis-suara. -Saat ini, kami belum memiliki suatu alternatif suara untuk hal ini. -Silakan hubungi [[{{MediaWiki:Grouppage-sysop}}|pengurus]] untuk meminta bantuan jika hal ini menghambat Anda untuk mengirimkan suntingan yang layak. - -Tekan tombol 'back' di penjelajah web Anda untuk kembali ke halaman penyuntingan.", - 'captcha-addurl-whitelist' => ' #
-# Sintaksisnya adalah sebagai berikut:
-#   * Semua yang diawali dengan karakter "#" hingga akhir baris adalah komentar
-#   * Semua baris yang tidak kosong adalah fragmen regex yang hanya akan dicocokkan dengan nama host di dalam URL
-  #
', - 'right-skipcaptcha' => 'Melakukan tindakan pemicu captcha tanpa melalui Captcha', -); - -/** Iloko (Ilokano) - * @author Lam-ang - */ -$messages['ilo'] = array( - 'captcha-edit' => 'Tapno maurnos daytoy a panid, pangaasim a sulbaren ti nalaka a dagup dita baba ken ikabil ti sungbat mo dita kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'captcha-desc' => 'Ikkan na kadagiti CAPTCHA a pamay-ay tapno masalakniban kadagiti spam ken agpugpugto ti kontrasenias', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Ti inurnos mo ket adda nagyan na a panilpo iti ruar. -Tapno maasalakniban kadagiti automatiko a spam, pangaasim na sulbaren ti nalaka a dagup dita baba ken ikabil ti sungbat mo dita kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'captcha-badlogin' => 'Tapno makasalaknib kadagiti automatiko a pinagsulbar ti kontrasenias, pangaasim a sulbaren ti nalaka a dagup dita baba ken ikabil ti sungbat mo dita kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'captcha-createaccount' => 'Tapno masalakniban kadagiti automatiko a pinagaramid ti pakabilangan, pangaasim a sulbaren ti nalaka a dagup dita baba ken ikabil ti sungbat mo dita kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'captcha-createaccount-fail' => 'Saan a husto wenno awan ti pasingkedan a kodigo.', - 'captcha-create' => 'Tapno maramid ti panid, pangaasim a sulbaren ti nalaka a dagup dita baba ken ikabil ti sungbat mo dita kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'captcha-sendemail' => 'Tapno makasalaknib kadagiti automatiko a pinagspam, pangaasim a sulbaren ti nalaka a dagup dita baba ken ikabil ti sungbat mo dita kahon ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'captcha-sendemail-fail' => 'Saan a husto wenno awan ti pasingkedan a kodigo.', - 'captcha-disabledinapi' => 'Daytoy nga aramid ket masapul na ti captcha, saan a mabalin a maaramid idiay API.', - 'captchahelp-title' => 'Tulong ti CAPTCHA', - 'captchahelp-cookies-needed' => 'Masapul nga adda galietas ti pagbasabasam tapno mabalin daytoy.', - 'captchahelp-text' => "Dagiti sapot a pagsaadan nga agaw-awat kadagiti maipablaak iti publiko, kasla daytoy a wiki, ket kanayon nga inabuso dagiti spammers nga agus-usar ti automatiko a ramramit ti pinagipablaak da kadagiti kukua da a panilpo ti adu a pagsasaadan. -Maikkat met dagitoy a panilpo, mgen makariri da unay. - -No sagpaminsan pay, nangruna no agikabil kadagiti baro a panilpo ti sapot iti panid, ti wiki ket baka agiparang ti imahen a nakoloran wenno bakkaweng a teksto ken agdamag kenka nga agmakinilya kadagiti balikas a naiparang. -Yantangay daytoy ket obra a narigat a ma-automatiko, agpalubos kadagiti agpayso a tattao ti agipablaak bayat nga agpasardeng ti kaaduan a spammers ken dagiti robot nga agraraut. - -Daksangasat a padaksan na dagiti agar-aramat a marigatan nga agkita wenno agus-usar ti naibasta ti teksto wenno naibasta ti bitla a pagbasabasa. -Awan pay tatta ti mangeg a pagpilian a mabalin a gun-oden. -Pangngaasi a kontaken ti [[{{MediaWiki:Grouppage-sysop}}|administrador ti pagsaadan]] para iti pannulong no daytoy ket saan a napadpadaanan a pawilan na ti agpayso a pinagbaplaak mo. - -Peslen ti 'agsubli' a buton dita pagbasabasam (browser) ti agsubli idiay panid ti pinagurnos.", - 'captcha-addurl-whitelist' => ' #
-# Dagiti sumaganad a gramatika:
-#   * Amin-amin a naggapu iti "#" a kabalinan inggana ti kalpasan ti linia ket komentario
-#   * Amin a saan a blanko a linia ket regex fragment a mangipada laeng ti naggapuan a nagsangailian iti uneg ti URLs
- #
', - 'right-skipcaptcha' => 'Pakabaelan ti agkalbit ti CAPTCHA kadagiti aramid a saan a mapan ti CAPTCHA.', -); - -/** Icelandic (íslenska) - * @author S.Örvarr.S - * @author Snævar - */ -$messages['is'] = array( - 'captcha-edit' => 'Til að breyta þessari síðu, vinsamlegast finndu summuna að neðan og skrifaðu svarið í -reitinn ([[Special:Captcha/help|frekari upplýsinngar]]):', - 'captcha-addurl' => 'Breyting þín felur í sér viðbætta ytri tengla. Til að hjálpa okkur að verjast sjálfvirku -auglýsingarusli, vinsamlegast finndu summuna að neðan og skrifaðu svarið í reitinn ([[Special:Captcha/help|frekari upplýsinngar]]):', - 'captcha-badlogin' => 'Til að hjálpa okkur að verjast sjálfvirku leyniorðaárásum, vinsamlegast finndu summuna að neðan og skrifaðu svarið í reitinn ([[Special:Captcha/help|frekari upplýsinngar]]):', - 'captcha-createaccount' => 'Til að hjálpa okkur að verjast sjálfvirkri stofnun aðganga, vinsamlegast finndu summuna að neðan og skrifaðu svarið í reitinn ([[Special:Captcha/help|frekari upplýsinngar]]):', - 'captcha-createaccount-fail' => 'Staðfestingarkóðinn var rangur eða ekki til staðar.', - 'captcha-create' => 'Til að búa síðuna til, vinsamlegast finndu summuna að neðan og skrifaðu svarið í reitinn ([[Special:Captcha/help|frekari upplýsinngar]]):', - 'captcha-sendemail' => 'Til að hjálpa okkur að verjast sjálfvirkri gerð aðganga gjörðu svo vel og finndu summuna að neðan og skrifaðu svarið í kassann ([[Special:Captcha/help|frekari upplýsinngar]]):', - 'captcha-sendemail-fail' => 'Staðfestingarkóðinn var rangur eða ekki til staðar.', - 'captcha-disabledinapi' => 'Þessi aðgerð þarfnast kæfuvarnar og því er ekki hægt að framkvæma hana í gegnum API.', - 'captchahelp-title' => 'Captcha-hjálp', - 'captchahelp-cookies-needed' => 'Þú verður að leyfa vefkökur til þess að þetta virki.', - 'captchahelp-text' => 'Vefsíður sem að leyfa framlög frá frá almenningi, líkt og þessi wiki-vefur, eru oft misnotaðar af svokölluðum „spömmurum“ sem nota sjálfvirk tól til þess að setja inn tengla á aðrar vefsíður. Aðrir notendur geta fjarlægt þessa tengla en töluverð truflun er af þeim. - -Stundum þegar þú breytir síðum, sérstaklega ef breytingin felur í sér nýja tengla á aðra vefi, getur gerst að þú sért beðin(n) um að skrifa inn orð sem birtast á lituðum eða óskýrum myndum. Fyrir flesta mannlega notendur er þetta lítið mál en sjálfvirk tól ráða ekki við þetta. - -Því miður kann þetta að valda notendum óþægindum sem hafa skerta sjón eða notast við talmálsvafra. Enn sem komið er eru ekki til aðrir valkostir fyrir þau tilvik. -Vinsamlegast hafðu samband við [[{{MediaWiki:Grouppage-sysop}}|stjórnanda síðunnar]] til að fá aðstoð ef þetta kemur í veg fyrir lögmætar breytingar af þinni hálfu. - -Notaðu „til-baka“-hnapp vafrans til að breyta síðunni.', - 'right-skipcaptcha' => 'Geta gert aðgerðir án þess að nota kæfuvörn', -); - -/** Italian (italiano) - * @author Beta16 - * @author BrokenArrow - * @author Darth Kule - */ -$messages['it'] = array( - 'captcha-edit' => 'Per modificare la pagina è necessario risolvere il semplice calcolo presentato di seguito e inserire il risultato nella casella -([[Special:Captcha/help|maggiori informazioni]]):', - 'captcha-desc' => "Fornisce tecniche CAPTCHA per la protezione contro lo spam e l'individuazione delle password", - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "La modifica richiesta aggiunge dei nuovi collegamenti esterni alla pagina; come misura precauzionale contro l'inserimento automatico di spam, si prega di risolvere il semplice calcolo presentato di seguito e inserire il risultato nella casella ([[Special:Captcha/help|come funziona?]]):", - 'captcha-badlogin' => 'Come misura precauzionale contro i tentativi di forzatura automatica della password, si prega di risolvere il semplice calcolo presentato di seguito e inserire il risultato nella casella ([[Special:Captcha/help|come funziona?]]):', - 'captcha-createaccount' => 'Come misura precauzionale contro i tentativi di creazione automatica degli account, si prega di risolvere il semplice calcolo presentato di seguito e inserire il risultato nella casella ([[Special:Captcha/help|come funziona?]]):', - 'captcha-createaccount-fail' => 'Codice di verifica errato o mancante.', - 'captcha-create' => 'Per creare la pagina è necessario risolvere il semplice calcolo presentato di seguito e inserire il risultato nella casella:
-([[Special:Captcha/help|maggiori informazioni]]):', - 'captcha-sendemail' => 'Come misura precauzionale nei confronti dei messaggi di spam automatici, si prega di risolvere il semplice calcolo presentato di seguito e inserire il risultato nella casella ([[Special:Captcha/help|come funziona?]]):', - 'captcha-sendemail-fail' => 'Codice di verifica errato o mancante.', - 'captcha-disabledinapi' => 'Questa azione richiede un captcha, quindi non può essere eseguita tramite API.', - 'captchahelp-title' => "Cos'è il captcha?", - 'captchahelp-cookies-needed' => 'È necessario abilitare i cookie sul proprio browser per proseguire', - 'captchahelp-text' => "Capita spesso che i siti Web che accettano messaggi pubblici, come questo wiki, siano presi di mira da spammer che usano strumenti automatici per inserire collegamenti pubblicitari verso un gran numero di siti. Per quanto i collegamenti indesiderati si possano rimuovere, si tratta comunque di una seccatura non indifferente. - -In alcuni casi, ad esempio quando si tenta di aggiungere nuovi collegamenti Web in una pagina, il software wiki può mostrare una immagine con un breve testo colorato e/o distorto chiedendo di riscriverlo in un'apposita finestrella. Poiché si tratta di un'azione difficile da replicare da parte di un computer, questo meccanismo consente a (quasi tutti) gli utenti reali di completare l'inserimento desiderato, impedendo l'accesso alla maggior parte degli spammer e degli altri attacchi automatizzati. - -Sfortunatamente, queste misure di sicurezza possono mettere in difficoltà gli utenti con problemi visivi o coloro che utilizzano browser testuali o basati sulla sintesi vocale. Purtroppo al momento non è disponibile un meccanismo alternativo basato su messaggi audio; se queste procedure impediscono l'inserimento informazioni che si ritengono legittime, si prega di contattare gli [[{{MediaWiki:Grouppage-sysop}}|amministratori del sito]] e chiedere loro assistenza. - -Fare clic sul pulsante 'back' del browser per tornare alla pagina di modifica.", - 'captcha-addurl-whitelist' => ' #
-# La sintassi è la seguente:
-#  * Tutto ciò che segue un carattere "#" è un commento, fino al termine della riga
-#  * Tutte le righe non vuote sono frammenti di espressioni regolari che si applicano al solo nome dell\'host nelle URL
-  #
', - 'right-skipcaptcha' => 'Compie le azioni che attiverebbero il captcha senza dover passare per il captcha', -); - -/** Japanese (日本語) - * @author Aotake - * @author Fryed-peach - * @author Hosiryuhosi - * @author JtFuruhata - * @author Shirayuki - * @author Whym - */ -$messages['ja'] = array( - 'captcha-edit' => 'このページを編集するには、下記の簡単な数式を計算してその答えを欄に入力してください([[Special:Captcha/help|ヘルプ]]):', - 'captcha-desc' => 'スパム攻撃やパスワード推定攻撃を防ぐための CAPTCHA 技術を提供する', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'あなたは新しい外部リンクを追加しようとしています。 -自動でのスパム攻撃を防ぐため、お手数ですが下記の簡単な数式を計算してその答えを欄に入力してください ([[Special:Captcha/help|ヘルプ]]):', - 'captcha-badlogin' => '自動でのパスワードクラック攻撃からウィキを保護するため、お手数ですが下記の簡単な数式を計算してその答えを欄に入力してください ([[Special:Captcha/help|詳細]]):', - 'captcha-createaccount' => 'アカウントの自動登録からウィキを保護するため、お手数ですが下記の簡単な数式を計算してその答えを欄に入力してください ([[Special:Captcha/help|ヘルプ]]):', - 'captcha-createaccount-fail' => '確認コードが正しくない、または入力されていません。', - 'captcha-create' => 'ページを新規作成するには、下記の簡単な数式を計算してその答えを欄に入力してください ([[Special:Captcha/help|ヘルプ]]):', - 'captcha-sendemail' => '自動でのスパム攻撃からウィキを保護するため、お手数ですが下記の簡単な数式を計算してその答えを欄に入力してください ([[Special:Captcha/help|詳細]]):', - 'captcha-sendemail-fail' => '確認コードが正しくない、または入力されていません。', - 'captcha-disabledinapi' => 'この操作には CAPTCHA 認証が必要なため、API では実行できません。', - 'captchahelp-title' => 'CAPTCHA (画像認証) ヘルプ', - 'captchahelp-cookies-needed' => 'ブラウザーの Cookie を有効にする必要があります。', - 'captchahelp-text' => '一般からの投稿を受け付けるこのウィキのようなウェブサイトは、自動投稿ツールを使って多くのサイトにリンクを張ってまわるスパマーにより荒らされがちです。 -このようなスパムは除去できるものの、その作業は大変に面倒なものです。 - -このため、このウィキではときどき、特に新しい外部リンクがページに追加されたときなどに、色の付いた、あるいは形のゆがんだ文字の画像を提示し、何と書いてあるか入力をお願いすることがあります。 -この作業は自動化が難しいため、スパマーなどのプログラムを用いた攻撃をほぼ阻止しつつ、大半の生身の人間による投稿ができるようにします。 - -しかし、残念なことに、この方法により、視力が低い利用者や、テキストベースあるいは音声ベースのブラウザーを使用している利用者にご不便をおかけする場合があります。 -現時点では、音声による代替方法はありません。 -正当な操作をするにあたって本機能が障害となっている場合、[[{{MediaWiki:Grouppage-sysop}}|サイト管理者]]に連絡して協力を求めてください。 - -ページの編集に戻るには、ブラウザーの「戻る」ボタンを押してください。', - 'captcha-addurl-whitelist' => ' #
-# 構文は以下の通りです:
-#  * "#"文字から行末まではコメントとして扱われます
-#  * 空白を含まない行は、URLに含まれるホスト名との一致を検出する正規表現です
-  #
', - 'right-skipcaptcha' => 'CAPTCHAが必要な場面でCAPTCHAをスキップして操作を実行', -); - -/** Jutish (jysk) - * @author Huslåke - * @author Ælsån - */ -$messages['jut'] = array( - 'captcha-edit' => 'For at redigere denne side, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-desc' => 'Semple captcha implementåsje', - 'captcha-addurl' => 'Din redigering tilføjer nye eksterne henvisninger til artiklen. Som beskyttelse mod automatiseret spam, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-badlogin' => 'For at beskytte mod automatiserede gæt på kodeord, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-createaccount' => 'For at beskytte mod automatisk oprettelse af brugernavne, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captcha-createaccount-fail' => 'Forkert eller manglende kodeord.', - 'captcha-create' => 'For at oprette en ny side, skal du give svaret på regnestyket nedenfor, og angive resultatet i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'captchahelp-title' => 'Captcha-hjælp', - 'captchahelp-cookies-needed' => 'Din browser skal understøtte cookies, før dette kan gennemføres.', - 'captchahelp-text' => "Websites der accepterer indhold fra offentligheden, bliver ofte udsat for angreb fra spammere. Disse angreb sker med automatiske værktøjer, der anbringer de samme links på et stort antal websites på kort tid. Selvom disse links kan fjernes, er de en vedligeholdelsesmæssig byrde. - -I visse tilfælde, specielt når der tilføjes nye links til denne wiki, vil softwaren vise dig et billede af et stykke forvredet og sløret tekst. Du skal indtaste det ord, der vises, før du kan gennemføre handlingen. Formålet er at skelne mellem mennesker og automatiserede værktøjer, da de sidste har meget svært ved at genkende ordene. - -Desværre kan dette medføre problemer for svagtseende brugere, og brugere der bruger software der oplæser indholdet af siden. For øjeblikket findes der ikke et lydbaseret alternativ. Kontakt venligst en administrator med henblik på at få hjælp, hvis dette forhindrer tilføjelsen af godartet materiale. - -Tryk på 'tilbage'-knappen i din browser for at returnere til redigeringssiden.", - 'captcha-addurl-whitelist' => ' #
-# Vejledning:
-#  * Alt fra et "#"-tegn til slutningen af en linie er en kommentar
-#  * Alle ikke-blanke linier benyttes som regulært udtryk, der anvendes på hostnavne i URLer
-  #
', -); - -/** Javanese (Basa Jawa) - * @author Meursault2004 - * @author NoiX180 - * @author Pras - */ -$messages['jv'] = array( - 'captcha-edit' => 'Kanggo nyunting kaca iki, mangga pecahna tambah-tambahan ing ngisor iki lan lebokna wangsulané ing kothak cedaké ([[Special:Captcha/help|info sabanjuré]]):', - 'captcha-desc' => 'Nyadhiyakaké tèhnik CAPTCHA kanggo njaga saka spam lan pambedhèk sandhi', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Suntingan panjenengan iku nyertakaké pranala jaba anyar. -Kanggo ngéwangi ngreksa lawan ''spam'' otomatis, tulung pecahna itung-itungan ing ngisor iki lan lebokna kasilna sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):", - 'captcha-badlogin' => 'Kanggo ngreksa lawan parengkahan kunci sandhi otomatis, tulung lebokna tembung utawa kasil itung-itungan gampang ing ngisor sajroning kothak sing wis sumedya ([[Special:Captcha/help|info sabanjuré]]):', - 'captcha-createaccount' => 'Kanggo ngreksa lawan panggawéyan rékening (akun) otomatis, tulung pecahna itung-itungan ing ngisor iki lan lebokna kasilna sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):', - 'captcha-createaccount-fail' => 'Kode pandhedhesan (konfirmasi) salah utawa durung diisi.', - 'captcha-create' => 'Kanggo nggawé kaca iki, mangga itung-itungan ing ngisor iki diwangsuli sajroning kothak ([[Special:Captcha/help|info sabanjuré]]):', - 'captcha-sendemail-fail' => 'Kodhe pepesthèn salah utawa durung diisi.', - 'captchahelp-title' => 'Pitulung Captcha', - 'captchahelp-cookies-needed' => 'Panjenengan perlu ngaktifaké cookie ing panjlajah wèb panjenengan kanggo nganggo fitur iki.', - 'captchahelp-text' => "Situs-situs wèb sing nampa data saka umum, kaya ta wiki iki, kerep disalahgunakaké déning panganggo-panganggo sing ora bertanggungjawab kanggo ngirimaké ''spam'' mawa program-program otomatis. Senadyan spam-spam iku bisa dibuang kabèh, nanging waé tetep ngrusuhi lan dianggep gawé masalah. - -Kadhangkala, utamané yèn mènèhi pranala wèb anyar ing sawijinig kaca, wiki iki bisa nuduhaké gambar sawijining gambar tulisan sing ana wernané utawa sing rusak lan njaluk panjenengan ngetik ulang tembung sing ana gambar iki. -Amerga pagawéyan iki angèl diotomatisasi, pawatesan iki bisa ngidinaké mèh kabèh wong asli mbanjuraké sumbangsihé ngirim suntingan nanging menggak para pangirim spam lan robot otomatis. - -Émané, perkara iki bisa nggawé sawetara panganggo kangélan nyunting kaca iki, utamané sing daya pandelengané kurang utawa para panganggo sing nganggo panjlajah tèks adhedhasar tèks utawa swara. Saiki iki awaké dhéwé ora duwé alternatif audio kanggo iki. Mangga nyuwun pitulung karo [[{{MediaWiki:Grouppage-sysop}}|para pangurus]] yèn perkara iki menggak panjenengan ngirimaké suntingan sing layak. - -Pencèten tombol 'back' ing panjlajah wèb panjenengan kanggo bali menyang kaca panyuntingan.", - 'captcha-addurl-whitelist' => ' #
-# Sintaksisé kaya mengkéné:
-#  * Kabèh sing diawali mawa karakter "#" nganti pungkasané baris iku komentar
-#  * Kabèh garis sing ora kosong iku fragmèn regex sing namung cocog karo jeneng host sajroning URL
-  #
', - 'right-skipcaptcha' => 'Nglakokaké aksi-aksi sing murupaké captcha tanpa kudu ngliwati captcha', -); - -/** Georgian (ქართული) - * @author David1010 - * @author ITshnik - */ -$messages['ka'] = array( - 'captcha-edit' => 'ამ გვერდის რედაქტირებისათვის, გთხოვთ, ამოხსნათ ქვემოთ მოცემული მარტივი მაგალითი და პასუხი შეიყვანოთ ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'captcha-desc' => 'უზრუნველყოფს CAPTCHA-ს მეთოდების გამოყენებას სპამისა და პაროლის გამოცნობისაგან დასაცავად', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'თქვენი ცვლილება შეიცავს ახალ გარე ბმულებს. -ავტომატური სპამინგისგან თავდაცვის მიზნით, გთხოვთ, ამოხსნათ ქვემოთ მოცემული მარტივი მაგალითი და პასუხი შეიყვანოთ ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'captcha-badlogin' => 'პაროლების ავტომატური გატეხვისგან თავდაცვის მიზნით, გთხოვთ, ამოხსნათ ქვემოთ მოცემული მარტივი მაგალითი და პასუხი შეიყვანოთ ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'captcha-createaccount' => 'ანგარიშების ავტომატური შექმნისგან თავდაცვის მიზნით, გთხოვთ, ამოხსნათ ქვემოთ მოცემული მარტივი მაგალითი და პასუხი შეიყვანოთ ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'captcha-createaccount-fail' => 'დადასტურების კოდი არასწორია ან დაკარგულია.', - 'captcha-create' => 'გვერდის შესაქმნელად, გთხოვთ, ამოხსნათ ქვემოთ მოცემული მარტივი მაგალითი და პასუხი შეიყვანოთ ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'captcha-sendemail' => 'ავტომატური სპამინგისგან თავდაცვის მიზნით, გთხოვთ, ამოხსნათ ქვემოთ მოცემული მარტივი მაგალითი და პასუხი შეიყვანოთ ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'captcha-sendemail-fail' => 'დადასტურების კოდი არასწორია ან დაკარგულია.', - 'captcha-disabledinapi' => 'ეს მოქმედება მოითხოვს CAPTCHA-ს შემოწმებას და ამიტომ შეუძლებელია მისი შესრულება API-ით.', - 'captchahelp-title' => 'CAPTCHA-ს დახმარება', - 'captchahelp-cookies-needed' => 'თქვენ უნდა ჩართოთ ბრაუზერში კუკი, რათა ფუქცია ამოქმედდეს.', - 'captchahelp-text' => 'ვებ-გვერდები, რომლებიც მათი შინაარსის დამატებისა და ცვლილებების საშუალებას იძლევიან, მათ შორის ეს ვიკიც, ხშირად ხდებიან სპამერების სამიზნე, რომლებიც იყენებენ საიტზე ავტომატური ბმულების დამატების პროგრამებს. -მიუხედავად იმისა, რომ ასეთი ბმულების წაშლა შეიძლება, ისინი მაინც არსებით შემაფერხებელს წარმადგენს. - -ზოგიერთი ქმედებისას — მაგალითად, გვერდზე ახალი ვებ-ბმულის დამატებისას — თქვენ შეგიძლიათ იხილოთ სპეციალური სურათი ფერადი ან დამახინჯებული ტექსტით და თქვენ შემოგეთავაზებათ ამ დამახინჯებული ტექსტის შეყვანა. -რადგანაც დამახინჯებული ტექსტის ამოცნობა პროგრამისათვის რთულ ამოცანას წარმოადგენს, სპამისა და ვანდალური პროგრამების უმრავლესობისათვის მათთან გამკლავება შეუძლებელი იქნება, მაშინ როდესაც ადამიანები მას იოლად უმკლავდებიან. - -სამწუხაროდ, მსგავსმა დაცვამ შეიძლება დისკომფორტი შეუქმნას სუსტი მხედველობის მქონე ადამიანებს, ან მათ ვინც იყენებს ტექსტურ ან კითხვად ბრაუზერებს. -ამჟამად ჩვენ არ გვაქვს ამ შემოწმების ხმოვანი ალტერნატივა. -გთხოვთ, თუ მსგავსი შემოწმება ხელს გიშლით საიტზე კეთილსინდისიერ მუშაობაში, დახმარებისათვის მიმართეთ [[{{MediaWiki:Grouppage-sysop}}|ადმინისტრატორებს]]. - -თქვენ ბრაუზერში დააჭირეთ ღილაკს „უკან“, რათა დაუბრუნდეთ რედაქტირებას.', - 'captcha-addurl-whitelist' => ' #
-# სინტაქსის აღწერა:
-#  * ყველაფერი, დაწყებული "#" სიმბოლოდან - ხაზის ბოლომდე ითვლება კომენტარად
-#  * ყველა არაცარიელი ხაზი ითვლება URL-ში კვანძის შესაბამისი სახელის რეგულარული გამონათქვამის ფრაგმენტად
-  #
', - 'right-skipcaptcha' => 'CAPTCHA-შემოწმების მოთხოვნილი მოქმედებების შესრულება CAPTCHA-ს გავლის გარეშე', -); - -/** Kara-Kalpak (Qaraqalpaqsha) - * @author Atabek - */ -$messages['kaa'] = array( - 'captcha-createaccount-fail' => "Tastıyıqlawshı kodın'ız nadurıs yamasa jazılmag'an", -); - -/** Kazakh (Arabic script) (قازاقشا (تٴوتە)‏) */ -$messages['kk-arab'] = array( - 'captcha-edit' => 'بۇل بەتتٸ ٶڭدەۋ ٷشٸن, تٶمەندەگٸ قوسىندىلاۋدى شەشٸڭٸز دە, نٵتيجەسٸن -اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'captcha-addurl' => 'تٷزەتۋٸڭٸزدە جاڭا سىرتقى سٸلتەمەلەر بار ەكەن. ٶزدٸكتٸك «سپام» جاسالۋىنان قورعانۋ ٷشٸن, -تٶمەندەگٸ قاراپايىم قوسىندىلاۋدى شەشٸڭٸز دە, نٵتيجەسٸن اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'captcha-badlogin' => 'قۇپييا سٶزدٸ ٶزدٸكتٸك قيراتۋدان قورعانۋ ٷشٸن, -تٶمەندەگٸ قاراپايىم قوسىندىلاۋدى شەشٸڭٸز دە, نٵتيجەسٸن اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'captcha-createaccount' => 'جاڭا تٸركەلگٸ ٶزدٸكتٸك جاسالۋىنان قورعانۋ ٷشٸن, تٶمەندەگٸ قاراپايىم قوسىندىلاۋدى -شەشٸڭٸز دە, نٵتيجەسٸن اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'captcha-createaccount-fail' => 'كۋٵلاندىرۋ كودى دۇرىس ەمەس نەمەسە جوق.', - 'captcha-create' => 'جاڭا بەتتٸ باستاۋ ٷشٸن, تٶمەندەگٸ قاراپايىم قوسىندىلاۋدى شەشٸڭٸز دە, -نٵتيجەسٸن اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'captchahelp-title' => 'CAPTCHA انىقتاماسى', - 'captchahelp-cookies-needed' => 'بۇل جۇمىس ٸستەۋ ٷشٸن, شولعىشىڭىزدا «cookies» دەگەندٸ ەندٸرٸڭٸز.', - 'captchahelp-text' => 'ٶزدٸكتٸك قۇرالدارى بار «سپاممەرلەر», بارشادان جٸبەرٸلگەن حاباردى قابىلدايتىن, بۇل ۋيكي سيياقتى, ۆەب-توراپتارعا سٸلتەمەلەرٸمەن جيٸ جاۋدىرادى. وسىنداي «سپام» سٸلتەمەلەرٸن الاستاۋ بولعاندا دا, بۇل مٵندٸ ىزا كەلتٸرەدٸ. - -كەيدە, ٵسٸرەسە بەتكە جاڭا ۆەب سٸلتەمەسٸن قوسقاندا, ۋيكي ٶڭٸ ٶزگەرگەن نە قيسايعان مٵتٸندٸ كٶرسەتٸپ جٵنە سول سٶزدەردٸ ەنگٸزۋ سۇراۋى مٷمكٸن. بۇل تاپسىرىس ٶزدٸك تٷردە اتقارۋ ٶتە قيىن, سوندىقتان بۇل يماندى ادام كٶپشٸلٸگٸنە كەدەرگٸ بولمايدى, بٸراق «سپاممەرلەردٸ» جٵنە بۇزاقى بوتپەن باسقا شابۋىل جاساعانداردى توقتاتادى. - -ٶكٸنٸشكە وراي, بۇل كٶرۋٸ تٶمەندەگەن, نەمەسە مٵتٸن نە داۋىس نەگٸزٸندەگٸ شولعىشتى قولداناتىن پايدالانۋشىعا ىڭعايسىزدىق كەلتٸرۋگە مٷمكٸن. وسى قازٸر بٸزدە دىبىستى بالاما جوق. ەگەر بۇل ادال جازۋىڭىزعا كەدەرگٸلەسە, توراپ باقىلاۋشىلارىنا قاتىناسىڭىز. - -بۇل جۇمىستى ٸستەۋ ٷشٸن شولعىشىڭىزدا «cookies» دەگەندٸ ەندٸرۋ قاجەت. - -بەت ٶڭدەۋٸنە قايتۋ بارۋ ٷشٸن «ارتقا» دەگەن تٷيمەسٸن باسىڭىز.', -); - -/** Kazakh (Cyrillic script) (қазақша (кирил)‎) */ -$messages['kk-cyrl'] = array( - 'captcha-edit' => 'Бұл бетті өңдеу үшін, төмендегі қосындылауды шешіңіз де, нәтижесін -аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'captcha-addurl' => 'Түзетуіңізде жаңа сыртқы сілтемелер бар екен. Өздіктік «спам» жасалуынан қорғану үшін, -төмендегі қарапайым қосындылауды шешіңіз де, нәтижесін аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'captcha-badlogin' => 'Құпия сөзді өздіктік қиратудан қорғану үшін, -төмендегі қарапайым қосындылауды шешіңіз де, нәтижесін аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'captcha-createaccount' => 'Жаңа тіркелгі өздіктік жасалуынан қорғану үшін, төмендегі қарапайым қосындылауды -шешіңіз де, нәтижесін аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'captcha-createaccount-fail' => 'Куәландыру коды дұрыс емес немесе жоқ.', - 'captcha-create' => 'Жаңа бетті бастау үшін, төмендегі қарапайым қосындылауды шешіңіз де, -нәтижесін аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'captchahelp-title' => 'CAPTCHA анықтамасы', - 'captchahelp-cookies-needed' => 'Бұл жұмыс істеу үшін, шолғышыңызда «cookies» дегенді ендіріңіз.', - 'captchahelp-text' => 'Өздіктік құралдары бар «спаммерлер», баршадан жіберілген хабарды қабылдайтын, бұл уики сияқты, веб-тораптарға сілтемелерімен жиі жаудырады. Осындай «спам» сілтемелерін аластау болғанда да, бұл мәнді ыза келтіреді. - -Кейде, әсіресе бетке жаңа веб сілтемесін қосқанда, уики өңі өзгерген не қисайған мәтінді көрсетіп және сол сөздерді енгізу сұрауы мүмкін. Бұл тапсырыс өздік түрде атқару өте қиын, сондықтан бұл иманды адам көпшілігіне кедергі болмайды, бірақ «спаммерлерді» және бұзақы ботпен басқа шабуыл жасағандарды тоқтатады. - -Өкінішке орай, бұл көруі төмендеген, немесе мәтін не дауыс негізіндегі шолғышты қолданатын пайдаланушыға ыңғайсыздық келтіруге мүмкін. Осы қазір бізде дыбысты балама жоқ. Егер бұл адал жазуыңызға кедергілесе, торап бақылаушыларына қатынасыңыз. - -Бұл жұмысты істеу үшін шолғышыңызда «cookies» дегенді ендіру қажет. - -Бет өңдеуіне қайту бару үшін «Артқа» деген түймесін басыңыз.', -); - -/** Kazakh (Latin script) (qazaqşa (latın)‎) */ -$messages['kk-latn'] = array( - 'captcha-edit' => 'Bul betti öñdew üşin, tömendegi qosındılawdı şeşiñiz de, nätïjesin -awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'captcha-addurl' => 'Tüzetwiñizde jaña sırtqı siltemeler bar eken. Özdiktik «spam» jasalwınan qorğanw üşin, -tömendegi qarapaýım qosındılawdı şeşiñiz de, nätïjesin awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'captcha-badlogin' => 'Qupïya sözdi özdiktik qïratwdan qorğanw üşin, -tömendegi qarapaýım qosındılawdı şeşiñiz de, nätïjesin awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'captcha-createaccount' => 'Jaña tirkelgi özdiktik jasalwınan qorğanw üşin, tömendegi qarapaýım qosındılawdı -şeşiñiz de, nätïjesin awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'captcha-createaccount-fail' => 'Kwälandırw kodı durıs emes nemese joq.', - 'captcha-create' => 'Jaña betti bastaw üşin, tömendegi qarapaýım qosındılawdı şeşiñiz de, -nätïjesin awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'captchahelp-title' => 'CAPTCHA anıqtaması', - 'captchahelp-cookies-needed' => 'Bul jumıs istew üşin, şolğışıñızda «cookies» degendi endiriñiz.', - 'captchahelp-text' => 'Özdiktik quraldarı bar «spammerler», barşadan jiberilgen xabardı qabıldaýtın, bul wïkï sïyaqtı, veb-toraptarğa siltemelerimen jïi jawdıradı. Osındaý «spam» siltemelerin alastaw bolğanda da, bul mändi ıza keltiredi. - -Keýde, äsirese betke jaña veb siltemesin qosqanda, wïkï öñi özgergen ne qïsaýğan mätindi körsetip jäne sol sözderdi engizw surawı mümkin. Bul tapsırıs özdik türde atqarw öte qïın, sondıqtan bul ïmandı adam köpşiligine kedergi bolmaýdı, biraq «spammerlerdi» jäne buzaqı botpen basqa şabwıl jasağandardı toqtatadı. - -Ökinişke oraý, bul körwi tömendegen, nemese mätin ne dawıs negizindegi şolğıştı qoldanatın paýdalanwşığa ıñğaýsızdıq keltirwge mümkin. Osı qazir bizde dıbıstı balama joq. Eger bul adal jazwıñızğa kedergilese, torap baqılawşılarına qatınasıñız. - -Bul jumıstı istew üşin şolğışıñızda «cookies» degendi endirw qajet. - -Bet öñdewine qaýtw barw üşin «Artqa» degen tüýmesin basıñız.', -); - -/** Khmer (ភាសាខ្មែរ) - * @author Lovekhmer - * @author Thearith - * @author គីមស៊្រុន - */ -$messages['km'] = array( - 'captcha-edit' => 'ដើម្បីកែប្រែ​ទំព័រនេះ សូមដោះស្រាយ​ប្រមាណវិធីបូក​ខាងក្រោម​នេះរួច​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|ព័ត៌មាន​បន្ថែម]])៖', - 'captcha-desc' => 'ផ្ដល់បច្ចេកទេស CAPTCHA ដើម្បីការពារពីស្ប៉ាមនិងការការទាយពាក្យសំងាត់', - 'captcha-addurl' => 'កំណែ​របស់អ្នក​មាន​តំណភ្ជាប់ក្រៅ​ថ្មី។ ដើម្បី​ជួយបង្ការ​ស្ប៉ាម​ស្វ័យប្រវត្តិ សូមដោះស្រាយ​ប្រមាណវិធីបូក​ខាងក្រោម​នេះរួច​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|ព័ត៌មាន​បន្ថែម]])៖', - 'captcha-badlogin' => 'ដើម្បីការពារការបំបែកពាក្យសំងាត់ដោយស្វ័យប្រវត្តិ សូមដោះស្រាយផលបូកខាងក្រោមរួចបញ្ជូលចម្លើយទៅក្នុងប្រអប់ ([[Special:Captcha/help|ព័ត៌មានបន្ថែម]])៖', - 'captcha-createaccount' => 'ដើម្បី​បង្ការការបង្កើត​គណនី​ស្វ័យប្រវត្តិ សូមដោះស្រាយ​ប្រមាណវិធីបូក​ខាងក្រោម​នេះរួច​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|ព័ត៌មាន​បន្ថែម]])៖', - 'captcha-createaccount-fail' => 'កូដផ្ទៀងផ្ទាត់បាត់បង់ឬមិនត្រឹមត្រូវ។', - 'captcha-create' => 'ដើម្បី​បង្កើត​ទំព័រ សូមដោះស្រាយ​ប្រមាណវិធីបូក​ខាងក្រោម​នេះរួច​បញ្ជូលចម្លើយ​ទៅក្នុង​ប្រអប់សិន([[Special:Captcha/help|ព័ត៌មាន​បន្ថែម]])៖', - 'captchahelp-title' => 'ជំនួយអំពី Captcha', -); - -/** Korean (한국어) - * @author IRTC1015 - * @author Klutzy - * @author Kwj2772 - * @author ToePeu - * @author 아라 - */ -$messages['ko'] = array( - 'captcha-edit' => '글을 편집하기 위해서는, 아래의 간단한 덧셈 값을 입력상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'captcha-desc' => '스팸과 비밀번호 탈취를 방지하기 위한 CAPTCHA(캡차) 기능을 제공', - 'captcha-label' => 'CAPTCHA(캡차)', - 'captcha-addurl' => '편집에 새로운 바깥 링크가 포함되어 있습니다. -자동화된 스팸으로부터 위키를 보호하기 위해, 편집을 저장하려면 아래의 간단한 계산 값을 입력상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'captcha-badlogin' => '자동화된 계정 비밀번호 해킹으로부터 위키를 보호하기 위해, 아래의 간단한 계산 값을 입력 상자에 입력해주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'captcha-createaccount' => '자동화된 계정 가입으로부터 위키를 보호하기 위해, 아래의 간단한 계산 값을 입력상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'captcha-createaccount-fail' => '입력값이 잘못되었거나 없습니다.', - 'captcha-create' => '문서를 만들기 위해서는, 아래의 간단한 계산 값을 입력상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'captcha-sendemail' => '자동화된 스팸으로부터 위키를 보호하기 위해, 아래의 간단한 계산 값을 입력상자에 적어 주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'captcha-sendemail-fail' => '입력값이 잘못되었거나 없습니다.', - 'captcha-disabledinapi' => '이 동작은 캡차를 거쳐야 하기 때문에 API로 이 작업을 수행할 수 없습니다.', - 'captchahelp-title' => 'CAPTCHA(캡차) 도움말', - 'captchahelp-cookies-needed' => '정상적으로 작동하려면 웹 브라우저의 쿠키 사용이 활성화되어 있어야 합니다.', - 'captchahelp-text' => "이 위키와 같이 사람의 공개적인 참여가 가능한 웹 사이트에서는 자동 프로그램이 스팸을 뿌리는 경우가 있습니다. -물론 이러한 스팸은 제거할 수는 있지만 번거로운 작업이 늘어납니다. - -이러한 스팸을 방지하기 위해서, 이 위키의 문서에 웹 사이트 주소를 추가하는 등의 행동을 할 경우에는 비틀린 글자가 들어있는 그림을 보여주고 그 그림의 글자를 입력해 달라고 하는 경우가 있습니다. -이 글자 입력 작업은 자동 프로그램을 만들기가 힘들기 때문에 스팸을 효과적으로 막으면서 일반 사용자를 막지 않을 수 있습니다. - -웹 브라우저에서 그림을 완벽하게 표시할 수 없거나, 그림이 나오지 않는 텍스트 방식이나 음성 합성 방식 웹 브라우저를 사용하는 경우에는 이러한 입력이 불가능합니다. -아직까지는 이런 경우에 대한 대안이 없습니다. -이 경우 [[{{MediaWiki:Grouppage-sysop}}|사이트 관리자]]에게 도움을 요청해 주세요. - -이전 화면으로 돌아가려면 웹 브라우저의 '뒤로' 버튼을 눌러 주세요.", - 'captcha-addurl-whitelist' => ' #
-# 문법은 다음과 같습니다:
-#  * "#"로 시작하는 줄은 주석입니다.
-#  * 빈 줄이 아닌 줄은 정규식으로, URL의 호스트만을 검사합니다.
- #
', - 'right-skipcaptcha' => '캡차 과정을 거치지 않고 캡차 과정을 거친 것으로 간주', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'captcha-edit' => 'Öm de Sigg ze ändere, don di Zahle onge zosamme zälle un don de Antwoot en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])', - 'captcha-desc' => 'Brängk en „Kaptscha“ en et Wiki, öm jääje SPAM un jäje et Paßwööter-Dorschprobeere ze schöze.', - 'captcha-label' => 'Kaptscha', - 'captcha-addurl' => 'Do häß neu Lingks op frembde Websigge dobei jedonn. -Mer schöze uns Wiki jäje automatesche SPAM, dröm -don di Zahle onge zosamme zälle un don de Antwoot -en dat Käßje endraare. (Verklierung)', - 'captcha-badlogin' => 'Mer schöze Metmaacher en unsem Wiki jäje automatesche -Paßwoot-Knackerei, dröm don di Zahle onge zosamme zälle, -un de Antwoot en dat Käßje endraare. (Verklierung)', - 'captcha-createaccount' => 'Mer schöze uns Wiki dojäje, dat mer en Masse automatesch -Metmaacher aanmeldt. Dröm beß esu joot un -don di Zahle onge zosamme zälle un don de Antwoot -en dat Käßje endraare. (Verklierung)', - 'captcha-createaccount-fail' => 'De Bestätijungszahl fählt udder es verkeeht.', - 'captcha-create' => 'Öm di Sigg neu aanzelääje, don di Zahle onge zosamme zälle, -un don de Antwoot en dat Käßje endraare. (Verklierung)', - 'captcha-sendemail' => 'För automettesche SPAM ze verhendere, donn di Zahle onge zosamme zälle, -un don de Antwoot en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])', - 'captcha-sendemail-fail' => 'De Bestätijungszahl fählt udder es verkeeht.', - 'captcha-disabledinapi' => 'För di Aufjab moß en extra Bestätejon enjejovve wääde, un dat künne mer nit övver de API.', - 'captchahelp-title' => 'Äklierung zum Kaptscha SPAM-Schotz', - 'captchahelp-cookies-needed' => 'Do moß Cookies en Dingem Brauser enjeschalldt han, domet da hee fluppe kann.', - 'captchahelp-text' => 'Op Web Saits wi dat Wiki hee, wo jeder jät beidraare kann, do kumme se öff wi de Fleeje un don met Projramme un fun Hand bloß Reklame-Lingks op de eije Websigge affläje, oohne Sinn un Verstand. Esu en SPAM kam_mer widder fott maache, dat määt ävver Ärjer un Opwand. - -Su jät wulle_mer nit hann, un donn_et jlish widder fottschmiiße. - -Domet mer do_met nidd_esu fill Ärrbed hann, -maache_mer dänne Autmaate et Lääve schwer. -Wann uns Wikki merk, et künnd_esu jet em Bösh sinn, dann zeisch et e Belldshe med komije Texte dren, un fröhsch, dat mer se jenau esu ennjävve sullt, -wi se do shtonn. För_enne Minsch eß dat eifach, ävver dat es fodammp schwierich ze projrammiere. -Dat es e beßßje läßtish för der Minsch, ävver de Robbotter hälld et unß bahl komplett fum Lief, un su jesinn, ess et netto enne Jewenn. - -Wann De Dich ens fordeis, es och nit schlimm, De wees norr_enß jefrooch. Wat De jetipp häs, kütt nit fott. - -Schaad es, mer hann noch keine Wääsh, dat met Shprooch odder sönswi ze maache, su dat Lück met Shprooch_Ußßjaave, Braille, un met nur Tex em Brauser oohne Bellder, em Räähn shtonn künnte. Dooht Ühr Zeush eets enß oohne Lengk speischere, un saat dä [[{{MediaWiki:Grouppage-sysop}}|Wikki_Köbesse]], -wann Ühr Probbleme hatt. Do weed_Üch jehollfe weede. - -Jetz kanns De met Dingem Brauser singem „Zeröck“-Knopp wigger maache, wo De fürher woohß.', - 'captcha-addurl-whitelist' => ' #
-# Dä Opbou es:
-# * Alles fun enem #-Zeiche bes an et Engk fun ene Reih es ene Kommentaa för de Minsche
-# * Jede Reih met jet dren es en Stöck regular Expression, wat Domains en URL treffe kann
-  #
', - 'right-skipcaptcha' => 'De Opforderung fum Kaptscha överjonn', -); - -/** Kirghiz (Кыргызча) - * @author Chorobek - */ -$messages['ky'] = array( - 'captcha-edit' => 'Бул баракты оңдош үчүн бул жөнөкөй эсепти чыгарып, жообун көзөнөккө жазыңыз ([[Special:Captcha/help|more info]]):', - 'captcha-desc' => 'Сырсөздү жандыруудан жана керексиз маалыматтардан (спам) коргонуу максатында CAPTCHA ыкмасы колдонулат', -); - -/** Latin (Latina) - * @author UV - */ -$messages['la'] = array( - 'captcha-edit' => 'Ad hanc paginam recensendum, necesse est tibi solvere calculationem subter et responsum in capsam inscribere ([[Special:Captcha/help|Quidst illud?]]):', - 'captcha-addurl' => 'Emendatione tua insunt nexus externi; ut spam automaticum vitemus, necesse est tibi solvere calculationem subter et responsum in capsam inscribere ([[Special:Captcha/help|Quidst illud?]]):', - 'captcha-badlogin' => 'Ut vitemus ne tesserae frangantur, necesse est tibi solvere calculationem subter et responsum in capsam inscribere ([[Special:Captcha/help|Quidst illud?]]):', - 'captcha-createaccount' => 'Ut creationem rationum automaticam vitemus, necesse est tibi solvere calculationem subter et responsum in capsam inscribere ([[Special:Captcha/help|Quidst illud?]]):', - 'captcha-createaccount-fail' => 'Codex affirmationis aut non scriptus est aut male.', - 'captcha-create' => 'Ad paginam creandum, necesse est tibi solvere calculationem subter et responsum in capsam inscribere ([[Special:Captcha/help|Quidst illud?]]):', - 'captchahelp-title' => 'Captcha auxilium', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Les Meloures - * @author Robby - */ -$messages['lb'] = array( - 'captcha-edit' => "Fir dës Säit z'änneren, léist w.e.g. dës Rechenaufgab a gitt d'Resultat an d'Këscht ënnendrënner an ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-desc' => 'Stellt Captcha-Techniken zur Verfügung fir géint Spam an Errode vu Passwierder ze schützen', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "An Ärer Ännerung sinn nei extern Linken. -Fir dës Wiki virun automatiséiertem Spam ze schütze froe mir Iech fir déi folgend einfach Additioun ze léisen an d'Resultat an d'Feld ënnen anzedroen fir Är Ännerung ze späicheren ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-badlogin' => "Fir dës Wiki géint automatescht Hacke vu Passwierder ze schützen, léist w.e.g. déi einfach Additioun hei ënnendrënner an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-createaccount' => "Fir dës Wiki géint d'automatescht Uleeë vu Benotzerkonten ze schützen, léist w.e.g. déi einfach Additioun hei ënnendrënner, an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-createaccount-fail' => 'Falschen oder kee Confirmatiouns-Code.', - 'captcha-create' => "Fir eng Nei Säit unzeleeën, léist w.e.g. déi einfach Additioun hei ënnendrënner an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-sendemail' => "Fir dës Wiki géint automatescht Spammen ze schützen, léist w.e.g. déi einfach Additioun hei ënnendrënner an tippt d'Äntwert an d'Këscht ([[Special:Captcha/help|méi Informatiounen]]):", - 'captcha-sendemail-fail' => 'Falschen oder kee Confirmatiouns-Code.', - 'captcha-disabledinapi' => 'Dës Aktioun brauch e Captcha, dofir ka se net mat enger API gemaach ginn.', - 'captchahelp-title' => 'Captcha-Hëllef', - 'captchahelp-cookies-needed' => 'Dir musst Cookieën an ärem Browser erlaben fir dat dëst fonktionéiert.', - 'captchahelp-text' => "Websäiten, déi et jiddwerengem erlaben Ännerunge virzehuelen, sou wéi op dëser Wiki, ginn dacks vu sougenannte Spammer mëssbraucht, déi automatiséiert hir Linken op vill Internetsäite setzen. Esou Spam-Linke kënne wuel geläscht ginn, mä se sinn trotzdem eng grouss Plo. - -Heiandsdo, besonnesch wann nei Internet-Linken op eng Säit derbäigesat ginn, weist dës Wiki Iech e Bild mat faarwegem oder verzerrtem Text a freet Iech fir déi gewise Wierder anzetipppen. Well dëst eng Aufgab ass déi schwéier ze automatiséieren ass, erlaabt dëst, datt Mënschen hir Ännerunge kënnen agi wärend déi meescht Spammer an aner Roboter-Attacke kënnen ofgewiert ginn. - -Leider kann dat zu Schwierigkeete féiere fir Persounen déi net esou gutt gesinn oder déi text-baséiert oder sprooch-baséiert Browser benotzen. -Zu dësem Zäitpunkt hu mir leider keng audio-Alternativ zu eiser Verfügung. -Kontaktéiert w.e.g. [[{{MediaWiki:Grouppage-sysop}}|een Administrateur]] fir Hëllef wann dëst iech onerwaarter Wäis vu legitimen Editen ofhält. - -Dréckt op den 'Zréck' Knäppche vun ärem Browser fir an d'Beaarbechtungsfënster zréckzekommen.", - 'captcha-addurl-whitelist' => ' #
-#  Syntax:
-#  * Alles vun engem #-Zeechen u bis zum Enn vun där Zeil ass eng Bemierkung
-#  * All Zeil déi net eidel ass, ass ee Regex-Fragment, dat nëmme mat Hosten bannent URLë fonctionnéiert
-   #
', - 'right-skipcaptcha' => 'Aktiounen déi eng Captcha-Aktioun verlaangen ausféieren, ouni dës maachen ze mussen', -); - -/** Limburgish (Limburgs) - * @author Matthias - * @author Ooswesthoesbes - */ -$messages['li'] = array( - 'captcha-edit' => "Geer wil dees pazjena bewerke. Veur estebleef 't antjwaord op de óngerstäönde einvawdife som in 't inveurvenster in ([[Special:Captcha/help|mieë informatie]]):", - 'captcha-desc' => "Bied CAPTCHA-technieke óm besjörming te beje taenge spam en 't raoje van wachweurd.", - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Uw bewerking bevat nieuwe externe links (URL's). Voer ter bescherming tegen geautomatiseerde spam alstublieft het antwoord op de onderstaande eenvoudige som in in het invoerveld ([[Special:Captcha/help|meer informatie]]):", - 'captcha-badlogin' => 'Los alstublieft de onderstaande eenvoudige som op en voer het antwoord in het invoervenster in ter bescherming tegen het automatisch kraken van wachtwoorden ([[Special:Captcha/help|meer informatie]]):', - 'captcha-createaccount' => 'Voer ter bescherming tegen geautomatiseerde spam het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[Special:Captcha/help|meer informatie]]):', - 'captcha-createaccount-fail' => 'De bevestigingscode ontbreekt of is onjuist.', - 'captcha-create' => 'U wilt een nieuwe pagina aanmaken. Voer alstublieft het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[Special:Captcha/help|meer informatie]]):', - 'captcha-sendemail' => "Veur ter besjerming taege geautomatiseerde spam 't antjwaord op de ongerstaonde einvawdige som in 't inveurvinster in ([[Special:Captcha/help|mier informatie]]):", - 'captcha-sendemail-fail' => 'De bevestigingscode ontbrèk of is ónjuus.', - 'captcha-disabledinapi' => "Veur dees actie is 'n captcha neudig die neet aafgehanjeldj kin waere via de API.", - 'captchahelp-title' => 'Captcha-hölp', - 'captchahelp-cookies-needed' => 'Ge dient in uw browser cookies ingeschakeld te hebbe om dit te laote werke.', - 'captchahelp-text' => "Websites die vrie te bewèrke zeen, wie deze wiki, waere döks misbroek door spammers die d'r met hun programma's automatisch links op zetten naar vele websites. Hoewel deze externe links weer verwijderd kunnen worden, leveren ze wel veel hinder en administratief werk op. - -Soms, en in het bijzonder bij het toevoegen van externe links op pagina's, toont de wiki u een afbeelding met gekleurde of vervormde tekst en wordt u gevraagd de getoonde tekst in te voeren. Omdat dit proces lastig te automatiseren is, zijn vrijwel alleen mensen in staat dit proces succesvol te doorlopen en worden hiermee spammers en andere geautomatiseerde aanvallen geweerd. - -Helaas levert deze bevestiging voor gebruikers met een visuele handicap of een tekst- of spraakgebaseerde browser problemen op. Op het moment is er geen alternatief met geluid beschikbaar. Vraag alstublieft assistentie van de [[{{MediaWiki:Grouppage-sysop}}|sitebeheerders]] als dit proces u verhindert een nuttige bijdrage te leveren. - -Klik óppe 'trök'-knoep in uw browser om terug te gaan naar het tekstbewerkingsscherm.", - 'captcha-addurl-whitelist' => ' #
-# De syntaxis is as volgt:
-#  * Alle tekst vanaaf \'t karakter "#" tot het einde van de regels wordt gezien als opmerking
-#  * Iedere niet-lege regel is een fragment van een reguliere uitdrukking die alleen van toepassing is op hosts binnen URL\'s
-  #
', - 'right-skipcaptcha' => 'Captchahandelinge oetveure zonder captcha te hove oplosse', -); - -/** Lao (ລາວ) */ -$messages['lo'] = array( - 'captcha-edit' => 'ການດັດແກ້ ຂອງ ທ່ານ ມີລິ້ງູຄ໌ພາຍນອກ. ເພື່ອ ເປັນການຊ່ອຍປ້ອງກັນ ສະແປມອັດຕະໂນມັດ, ກະລຸນາແກ້ເລກບວກ ງ່າຍໆຂ້າງລຸ່ມນີ້ ແລ້ວ ພິມຄຳຕອບໃສ່ໃນ ກັບ ([[Special:Captcha/help|more info]]):', - 'captcha-addurl' => 'ການດັດແກ້ຂອງທ່ານ ມີ ການກາງລິ້ງຄ໌ຫາພາຍນອກ. ເພື່ອເປັນການຊ່ອຍປ້ອງກັນ ສະແປມອັດຕະໂນມັດ ກະລຸນາ ແກ້ເລກບວກງ່າຍໆຂ້າງລຸ່ມນີ້ ແລ້ວ ພິມຜົນບວກ ໃສ່ ກັບ ([[Special:Captcha/help|ຂໍ້ມູນເພີ່ມເຕີມ]]):', - 'captcha-createaccount' => 'ເພື່ອປ້ອງກັນ ການສ້າງບັນຊີແບບອັດຕະໂນມັດ, ກະລຸນາ ແກ້ເລກບວກງ່າຍໆ ຂ້າງລຸ່ມ ແລ້ວ ພິມຄຳຕອບໃສ່ ກັບ ([[Special:Captcha/help|more info]]):', - 'captcha-createaccount-fail' => 'ບໍ່ຖືກ ຫຼື ບໍ່ມີລະຫັດຢືນຢັນ.', - 'captcha-create' => 'ກະລຸນາ ແກ້ເລກບວກງ່າຍໆລຸ່ມນີ້ ແລະ ພິມຜົນບວກໃສ່ໃນກັບ ເພື່ອ ສ້າງໜ້ານີ້ ([[Special:Captcha/help|ຂໍ້ມູນເພີ່ມເຕີມ]]):', -); - -/** Lithuanian (lietuvių) - * @author Eitvys200 - * @author Garas - * @author Homo - * @author Matasg - */ -$messages['lt'] = array( - 'captcha-edit' => 'Kad redaguotumėte šį straipsnį, apskaičiuokite šią paprastą sumą ir įveskite atsakymą į laukelį ([[Special:Captcha/help|daugiau informacijos]]):', - 'captcha-label' => 'CAPTCHA', - 'captcha-createaccount-fail' => 'Blogas arba nerastas patvirtinimo kodas.', - 'captchahelp-title' => 'CAPTCHA pagalba', - 'captchahelp-cookies-needed' => 'Jums reikia būti įjungus sausainėlius savo naršyklėje kad tai veiktu', -); - -/** Latvian (latviešu) - * @author BrokenArrow - * @author Marozols - * @author Yyy - */ -$messages['lv'] = array( - 'captcha-edit' => 'Lai izmainītu šo lapu, atrisini šo vienādojumu un iegūto skaitli ieraksti šajā lodziņā:
([[Special:Captcha/help|Kāpēc tā?]])', - 'captcha-addurl' => 'Tavas izmaiņas ietver jaunu URL saiti. Lai pasargātos no automātiskas mēstuļošanas, Tev ir jāieraksta te redzamā vienādojuma rezultāts:
([[Special:Captcha/help|Kāpēc tā?]])', - 'captcha-badlogin' => 'Lai pasargātos no automātiskiem paroļu lauzējiem, lūdzu aprēķini šīs izteiksmes vērtību un rezultātu ieraksti apakšā esošajā lodziņā ([[Special:Captcha/help|papildus informācija]]):', - 'captcha-createaccount' => 'Lai pasargātos no automātiskas mēstuļošanas, Tev reģistrējoties ir jāieraksta šī vienādojuma rezultāts:
([[Special:Captcha/help|Kāpēc tā?]])', - 'captcha-createaccount-fail' => 'Nepareizs apstiprinājuma kods vai arī tas nav ievadīts.', - 'captcha-create' => 'Lai izveidotu šo lapu, atrisini šo vienādojumu un rezulātu ieraksti šajā lodziņā:
([[Special:Captcha/help|Kāpēc tā?]])', - 'captchahelp-cookies-needed' => "Lai šis darbotos, pārlūkprogrammā jābūt iespējotām (''enabled'') sīkdatnēm (''cookies'').", - 'captchahelp-text' => "Interneta lapas, kurās iespējams pievienot tekstu, kā šajā wiki, bieži cieš no mēstuļotājiem, kuri izmanto automatizētus līdzekļus, lai pievienotu savus saites daudzās jo daudzās interneta lapās. -Kaut arī šīs saites var viegli dzēst, tomēr tās ir nozīmīgs traucēklis. - -Reizēm, jo īpaši pievienojot jaunas interneta saites, wiki programmatūra var parādīt Tev attēlu, kurā ir krāsains vai sagrozīts teksts. Šis teksts ir jāpārraksta un to ir ļoti grūti izdarīt automātiski, tā apgrūtinot lielāko daļu mēstuļotāju, savukārt gandrīz visi parastie lietotāji to var izdarīt bez grūtībām. - -Diemžēl tas var apgrūtināt lietotājus, kuriem ir redzes traucējumi vai kuri izmanto teksta pārlūkus vai dzirdes pārlūkus. Šobrīd nav pieejama audio alternatīva, bet sazinies ar [[{{MediaWiki:Grouppage-sysop}}|wiki administratoriem]], ja tas liedz Tev veikt labi domātus papildinājumus. - -Spied pārlūka pogu \"Atpakaļ\" (''Back''), lai atgrieztos iepriekšējā lapā.", -); - -/** Malagasy (Malagasy) - * @author Jagwar - */ -$messages['mg'] = array( - 'right-skipcaptcha' => 'Manao tao mampisy ny captcha fa tsy mila mameno azy', -); - -/** Macedonian (македонски) - * @author Bjankuloski06 - * @author Brest - */ -$messages['mk'] = array( - 'captcha-edit' => 'За да ја уредите оваа страница потребно е да го најдете решението на едноставната задача поставена подолу и одговорот да го внесете во соодветното поле за одговор([[Special:Captcha/help|повеќе информации]]):', - 'captcha-desc' => 'Овозможува техники од CAPTCHA за заштита од спам и погодување на лозинки', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Вашето уредување содржи нови надворешни врски. -За да ни помогнете да се заштитиме од автоматизиран спам, би ве замолиле да ја решите простата задача подолу и да го внесете резултатот во полето за да можете да го зачувате уредувањето ([[Special:Captcha/help|повеќе инфо]]):', - 'captcha-badlogin' => 'За да ни помогнете да се заштитиме од автоматизирано пробивање на лозинки, би ве замолиле да ја решите простата задача подолу и внесете резултатот во полето ([[Special:Captcha/help|повеќе информации]]):', - 'captcha-createaccount' => 'За да ни помогнете да се заштитиме од автоматизирано создавање на сметки, би ве замолиле да ја решите простата задача подолу и да го внесете резултатот во полето ([[Special:Captcha/help|повеќе инфо]]):', - 'captcha-createaccount-fail' => 'Потврдниот код е неточен или недостасува.', - 'captcha-create' => 'За да ја создадете страницата, прво решете ја простата задача подолу и впишете го решението во полето ([[Special:Captcha/help|повеќе инфо]]):', - 'captcha-sendemail' => 'За да се заштитиме од автоматизирано спамирање, би сакале да ве замолиме да ја решите простата задача подолу и да го внесете резултатот во полето ([[Special:Captcha/help|повеќе информации]]):', - 'captcha-sendemail-fail' => 'Потврдниот код е неточен или недостасува.', - 'captcha-disabledinapi' => 'Ова дејство бара captcha, така што не може да се изврши преку API.', - 'captchahelp-title' => 'Помош со Captcha', - 'captchahelp-cookies-needed' => 'Треба да имате овозможено колачиња за да може ова да работи.', - 'captchahelp-text' => 'Мрежните места кои прифаќаат учество на јавноста, како ова вики, честопати страдаат од спамери кои користат автоматизирани алатки за да ги додаваат нивните врски на голем број мережни страници. Иако врските на спамерот може да се отстранат, тие значително ја пореметуваат нашата работа. - -Понекогаш, особено кога додава нови врски на страница, викито може да ви прикаже обоен или извитоперен текст и да ви побара да ги впишете прикажаните зборови. -Бидејќи ова е задача која е тешко да се автоматизира, им овозможува вистинските корисници да придонесуваат, а им попречува на спамерите и другите роботски напаѓачи. - -Нажалост ова може да е проблем за корисници со лош вид, или оние кои користат прелистувачи на основа на текст или гласовни наредби. -Во моментов немаме аудио-алтернатива за ова. -Контактирајте ги [[{{MediaWiki:Grouppage-sysop}}|администраторите на страната]] за помош доколку ова неочекувано ве спречува во правењето на искрени придонеси. - -Кликнете на копчето „назад“ во вашиот прелисувач за да се вратите на уредувањето на страницата.', - 'captcha-addurl-whitelist' => ' #
-# Опис на синтаксата:
-#  * Сето она што стои по знакот „#“, па до крајот на редот е коментар
-#  * Секој непразен ред се смета за фрагмент од регуларен израз кој одговара само на имиња во URL адреси
-  #
', - 'right-skipcaptcha' => 'Изведување на акции кои повикуваат captcha без да одат преку captcha системот', -); - -/** Malayalam (മലയാളം) - * @author Praveenp - * @author Shijualex - */ -$messages['ml'] = array( - 'captcha-edit' => 'ഈ താൾ തിരുത്തുവാൻ, ദയവായി താഴെ കൊടുത്തിരിക്കുന്ന ലഘു ഗണിത ക്രിയ ചെയ്ത് അതിന്റെ ഉത്തരം താഴെയുള്ള പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'captcha-desc' => 'പാഴെഴുത്ത് ഉൾപ്പെടുത്തലിനും രഹസ്യവാക്ക് ഊഹിക്കലിനുമെതിരെ സംരക്ഷണം തരുന്ന കാപ്ച സംവിധാനം നൽകുന്നു', - 'captcha-label' => 'കാപ്ച', - 'captcha-addurl' => 'താങ്കളുടെ തിരുത്തലിൽ പുറം കണ്ണികൾ ഉൾപ്പെട്ടിരിക്കുന്നു. -യാന്ത്രികമായി പാഴെഴുത്തുൾപ്പെടുത്തുന്നതിൽ നിന്നും വിക്കി സം‌രക്ഷിക്കുന്നതിന്റെ ഭാഗമായി, ദയവായി താഴെ കൊടുത്തിരിക്കുന്ന ലഘു ഗണിത ക്രിയ ചെയ്ത് അതിന്റെ ഉത്തരം താഴെയുള്ള പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'captcha-badlogin' => 'യാന്ത്രികമായി രഹസ്യവാക്ക് പൊളിക്കുന്നതിൽ നിന്നും വിക്കി സംരക്ഷിക്കുന്നതിന്റെ ഭാഗമായി, ദയവായി താഴെ കൊടുത്തിരിക്കുന്ന ലഘു ഗണിത ക്രിയ ചെയ്ത്, ഉത്തരം താഴെയുള്ള പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'captcha-createaccount' => 'യാന്ത്രികമായി അംഗത്വം സൃഷ്ടിക്കുന്നതിൽ നിന്നും വിക്കി സം‌രക്ഷിക്കുന്നതിന്റെ ഭാഗമായി, ദയവായി താഴെ കൊടുത്തിരിക്കുന്ന ലഘു ഗണിത ക്രിയ ചെയ്ത് അതിന്റെ ഉത്തരം താഴെയുള്ള പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'captcha-createaccount-fail' => 'തെറ്റായതോ ലഭ്യമല്ലാത്തതോ ആയ സ്ഥിരീകരണ കോഡ്.', - 'captcha-create' => 'ഈ താൾ സൃഷ്ടിക്കുവാൻ, ദയവായി താഴെ കൊടുത്തിരിക്കുന്ന കൂട്ടൽ ക്രിയയുടെ ഉത്തരം താഴെയുള്ള പെട്ടിയിൽ എഴുതുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'captcha-sendemail' => 'യാന്ത്രികമായ പാഴെഴുത്ത് ഉൾപ്പെടുത്തുന്നതിൽ നിന്നും വിക്കി സംരക്ഷിക്കുന്നതിന്റെ ഭാഗമായി, ദയവായി താഴെ കൊടുത്തിരിക്കുന്ന ലഘു ഗണിത ക്രിയ ചെയ്ത്, ഉത്തരം പെട്ടിയിൽ എഴുതുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'captcha-sendemail-fail' => 'തെറ്റായതോ ലഭ്യമല്ലാത്തതോ ആയ സ്ഥിരീകരണ കോഡ്.', - 'captcha-disabledinapi' => 'ഈ പ്രവൃത്തി പൂർണ്ണമാകാൻ കാപ്ച ആവശ്യമാണ്, അതുകൊണ്ടിത് എ.പി.ഐ. ഉപയോഗിച്ച് ചെയ്യാൻ കഴിയില്ല.', - 'captchahelp-title' => 'കാപ്ച്ച സഹായം', - 'captchahelp-cookies-needed' => 'ഇതു പ്രവർത്തിക്കണമെങ്കിൽ താങ്കളുടെ ബ്രൗസറിൽ കുക്കികൾ സജ്ജീകരിച്ചിരിക്കണം.', - 'captchahelp-text' => "ഈ വിക്കിപോലെ പൊതുജനങ്ങളിൽ നിന്നും പ്രസിദ്ധപ്പെടുത്തലുകൾ സ്വീകരിക്കുന്ന വെബ്‌‌സൈറ്റുകൾ, സ്വയം പ്രവർത്തിക്കുന്ന ഉപകരണങ്ങൾ ഉപയോഗിച്ച് കണ്ണികളും മറ്റും പ്രസിദ്ധപ്പെടുത്തുന്ന സ്പാമർമാർ സാധാരണ ദുരുപയോഗം ചെയ്യാറുണ്ട്. -ഇത്തരത്തിലുള്ള സ്പാം കണ്ണികൾ നീക്കംചെയ്യപ്പെട്ടുപോകുമെങ്കിലും, അവ ശരിക്കും ശല്യമാണ്. - -ചിലപ്പോൾ, പ്രത്യേകിച്ച് ഒരു വെബ് കണ്ണി താളിൽ കൂട്ടിച്ചേർക്കുമ്പോൾ, നിറങ്ങൾ ചേർത്തതോ വികലമാക്കിയതോ ആയ എഴുത്തുകൾ താങ്കളെ കാണിച്ച് അവ താങ്കളോട് ടെപ്പ് ചെയ്യാൻ വിക്കി ആവശ്യപ്പെടാം. -ഇത് മനുഷ്യസഹായമില്ലാതെ ചെയ്യാൻ ബുദ്ധിമുട്ടാണ്, അതുകൊണ്ട് ശരിക്കും മനുഷ്യരായിട്ടുള്ളവർക്ക് അവരുടെ പ്രസിദ്ധപ്പെടുത്തലുകൾ ചേർക്കാനും അതേസമയം ബഹുഭൂരിപക്ഷം സ്പാമർമാരേയും യന്ത്രങ്ങളുപയോഗിച്ച് ആക്രമിക്കുന്നവരേയും തടയാനും കഴിയുന്നതാണ്. - -ദൗർഭാഗ്യകരമെന്നു പറയട്ടെ ഇത് ചിലപ്പോൾ ദൃഷ്ടിവൈകല്യം കൊണ്ടോ മറ്റോ എഴുത്തുകൾ മാത്രമനുവദിക്കുന്ന ബ്രൗസറുകൾ ഉപയോഗിക്കുന്നവർ, ശബ്ദം കേട്ട് മനസ്സിലാക്കുന്നവർ തുടങ്ങിയവർക്ക് ബുദ്ധിമുട്ടായേക്കാം. -ഇപ്പോൾ ഞങ്ങൾക്ക് ഇതിനു പകരം ശബ്ദം നൽകുന്ന സംവിധാനമില്ല. - -ഇത് ന്യായമായ പ്രസിദ്ധപ്പെടുത്തലുകൾ ഇടുന്നതിൽ നിന്നും അപ്രതീക്ഷിതമായി താങ്കളെ തടയുന്നുവെങ്കിൽ ദയവായി [[{{MediaWiki:Grouppage-sysop}}|സൈറ്റിന്റെ കാര്യനിർവാഹകരെ]] ബന്ധപ്പെടുക. - -ബ്രൗസറിലെ 'ബാക്ക്' ബട്ടൺ ഞെക്കിയാൽ താങ്കൾക്ക് താൾ തിരുത്തുവാനുള്ള സംവിധാനത്തിലേയ്ക്ക് മടങ്ങിപ്പോകാവുന്നതാണ്.", - 'captcha-addurl-whitelist' => ' #
-# സിന്റാക്സ് താഴെ കാണുന്ന പ്രകാരമാണ്‌:
-#  * "#" എന്ന അക്ഷരത്തിൽ തുടങ്ങുന്ന എല്ലാ വരികളും കുറിപ്പുകളായിരിക്കും
-#  * ശൂന്യമല്ലാത്ത എല്ലാ വരികളും യു.ആർ.എല്ലിനു അകത്തെ ഹോസ്റ്റുകളുമായി മാത്രം ഒത്തുനോക്കുന്ന റെജെക്സ് ഘടകങ്ങളായിരിക്കും
-  #
', - 'right-skipcaptcha' => 'കാപ്ച ഉപയോഗിക്കേണ്ട പ്രവൃത്തികൾ കാപ്ചയിലൂടെ കടന്നു പോകാതെ തന്നെ ചെയ്യാൻ കഴിയുക', -); - -/** Mongolian (монгол) - * @author Chinneeb - */ -$messages['mn'] = array( - 'captcha-createaccount' => 'Автоматаар хэрэглэгчийн бүртгэл үүсгэхээс сэргийлэхийн тулд дараах хялбар нийлбэрийг бодож хайрцагт хариуг нь оруулна уу -([[Special:Captcha/help|дэлгэрэнгүй мэдээлэл]]):', - 'captcha-createaccount-fail' => 'Баталгаажуулах код алдаатай, эсвэл байхгүй байна.', - 'captchahelp-title' => 'Captcha-н талаар тусламж', - 'captchahelp-cookies-needed' => 'Үүнийг ажиллуулахын тулд та вэб хөтөчийнхөө күүкиг идэвхижүүлэх хэрэгтэй.', - 'captchahelp-text' => 'Энэ вики шиг хүссэн хүн болгон засварлах боломжтой вэбсайтуудад спаммерууд янз бүрийн сайтын холбоосыг автоматаар олноор нь оруулдаг. -Эдгээр спам холбоосуудыг устгах боломжтой ч маш их төвөг учирдаг. - -Заримдаа, ялангуяа шинэ вэб холбоосууд оруулж байх үед, вики нь өнгөт буюу мушгирсан бичиг гаргаж таныг энэ бичгийг шивж оруул гэдэг. -Энэ үйлдлийг автоматаар хийх нь хэцүү учраас жинхэнэ хүмүүс өөрсдийн засваруудыг оруулах боломж олгодог ч спаммерүүд болоод автомат халдлага үйлдэгчдийг зогсоож байдаг. - -Харамсалтай нь хараа муутай буюу бичигт эсвэл ярианд тулгуурласан вэб хөтөч ашигладаг хэрэглэгчдэд хүндрэл учирна. -Одоогийн байдлаар дуун сонголт алга байна. -Таньд бодит засвар хийхэд хүндрэл учирч байвал [[{{MediaWiki:Grouppage-sysop}}|сайтын администраторуудаас]] тусламж авч холбогдоно уу. - -Хуудасны засварлагч руу буцахын тулд вэб хөтөчийнхөө "буцаах" товч дээр дарна уу.', -); - -/** Marathi (मराठी) - * @author Kaustubh - * @author Mahitgar - * @author V.narsikar - */ -$messages['mr'] = array( - 'captcha-edit' => 'हे पान संपादित करण्यासाठी, खाली दिलेले सोपे गणित सोडवून त्याचे उत्तर दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'captcha-desc' => 'उत्पात आणि परवलीच्या शब्दांच्या चोरी पासून सूरक्षीत ठेवणाऱ्या ओळखपटवा-पद्धती CAPTCHA techniques पुरवते.', - 'captcha-addurl' => 'तुमच्या संपादनात नवीन बाह्यदुवे आहेत. आपोआप होणार्‍या स्पॅम पासून वाचण्यासाठी, खाली दिलेले सोपे गणित सोडवून त्याचे उत्तर दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'captcha-badlogin' => 'आपोआप होणार्‍या परवलीच्या शब्दाच्या चोरीपासून वाचण्यासाठी, खाली दिलेले सोपे गणित सोडवून त्याचे उत्तर दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'captcha-createaccount' => 'आपोआप होणार्‍या सदस्य नोंदणीपासून वाचण्यासाठी, खाली दिलेले सोपे गणित सोडवून त्याचे उत्तर दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'captcha-createaccount-fail' => 'चुकीचा अथवा रिकामा सहमती कोड', - 'captcha-create' => 'हे पान तयार करण्यासाठी, खाली दिलेले सोपे गणित सोडवून त्याचे उत्तर दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'captcha-sendemail' => 'आपोआप होणार्‍या उत्पातापासून वाचण्यासाठी, खाली दिलेले सोपे गणित सोडवून त्याचे उत्तर दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'captcha-sendemail-fail' => 'चुकीचा अथवा रिकामा सहमती कोड', - 'captcha-disabledinapi' => 'या क्रियेसाठी कॅप्चा हवी.API मार्फत हे शक्य नाही.', - 'captchahelp-title' => 'कॅप्टचा साहाय्य', - 'captchahelp-cookies-needed' => 'हे काम करण्यासाठी तुम्ही कूकीज (cookies) एनेबल केलेल्या असणे गरजेचे आहे.', - 'captchahelp-text' => "ज्या संकेतस्थळांवर जसे की हा विकि, सर्वसामान्य लोकांकडून संपादने करण्याची परवानगी असते, तिथे आपोआप होणारी स्वत:च्या संकेतस्थळांचे दुवे देणारी उत्पात संपादने (Spam) कायम होत असतात. -अशी संपादने जरी काढता आली तरी ती एक डोकेदुखी होऊ शकते. - -काहीवेळा, जेव्हा एखाद्या पानावर नवीन बाह्यदुवा देताना, विकि तुम्हाला एक चित्र दाखवून त्यांतील शब्द भरण्यास सांगू शकतो. -हे काम संगणकाकरवी करून घेण्यास अवघड असल्याने, फक्त खरी माणसेच संपादने करू शकतील व स्पॅमर्सना आळा बसू शकेल. - -पण खेदाची गोष्ट अशी की ह्यामुळे अर्धांध व्यक्ती तसेच ज्या व्यक्ती फक्त मजकूर दाखविणारा न्याहाळक वापरतात, अशांना असुविधा होऊ शकते. -सध्या आमच्याकडे आवाज ऐकण्याची सुविधा नाही. -कृपया [[{{MediaWiki:Grouppage-sysop}}|संस्थळ प्रचालकांशी]] या बाबतीत संपर्क करावा. - -पृष्ठ संपादनाकडे परत जाण्यासाठी आपल्या ब्राउझरची ’Back' ही कळ दाबा.", - 'captcha-addurl-whitelist' => ' #
-# रुपरेषा खालीलप्रमाणे:
-#  * "#" ने सुरु होणारे व ओळीच्या शेवटपर्यंत जाणारे वाक्य सूचना (Comment) आहे.
-#  * प्रत्येक रिकामी नसलेली ओळ ही regex fragment आहे जी फक्त URLमधील होस्टसच्या जोड्या लावेल
-  #
', - 'right-skipcaptcha' => 'कॅपचा मध्ये न जाता कॅपचाचा वापर करणार्‍या क्रिया करा', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - * @author Aurora - * @author Aviator - */ -$messages['ms'] = array( - 'captcha-edit' => 'Untuk menyunting laman ini, sila selesaikan kira-kira di bawah dan masukkan jawapannya dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'captcha-desc' => 'Menyediakan teknik CAPTCHA untuk melindungi daripada spam dan teka kata laluan', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Suntingan anda mengandungi pautan luar baru. -Untuk melindungi wiki daripada spam automatik, anda diminta supaya menyelesaikan kira-kira di bawah dan memasukkan jawapannya dalam kotak yang disediakan untuk menyimpan suntingan anda ([[Special:Captcha/help|maklumat lanjut]]):', - 'captcha-badlogin' => 'Untuk melindungi wiki daripada kegiatan meneka kata laluan secara automatik, anda diminta supaya menyelesaikan kira-kira di bawah dan masukkan jawapannya dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'captcha-createaccount' => 'Untuk melindungi wiki daripada pembukaan akaun secara automatik, anda diminta supaya menyelesaikan kira-kira di bawah dan masukkan jawapannya dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'captcha-createaccount-fail' => 'Kod pengesahan tidak betul atau tidak ada.', - 'captcha-create' => 'Untuk mencipta laman tersebut, sila selesaikan kira-kira di bawah dan masukkan jawapannya dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'captcha-sendemail' => 'Untuk melindungi wiki daripada spam automatik, anda diminta supaya menyelesaikan kira-kira di bawah dan masukkan jawapannya dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'captcha-sendemail-fail' => 'Kod pengesahan tidak betul atau tidak ada.', - 'captcha-disabledinapi' => 'Tindakan ini memerlukan captcha, maka ia tidak boleh dilakukan melalui API.', - 'captchahelp-title' => 'Bantuan CAPTCHA', - 'captchahelp-cookies-needed' => "Sila aktifkan ''cookies'' pada pelayar web anda.", - 'captchahelp-text' => "Tapak web yang menerima sumbangan daripada orang awam, seperti wiki ini, sering disalahgunakan oleh penghantar spam yang menggunakan alatan automatik untuk mengirim pautan-pautan mereka di merata web. -Walaupun pautan ini boleh dibuang, ia amat mengganggu. - -Kadangkala, terutamanya apabila menambah pautan baharu pada sesebuah laman, wiki ini akan memaparkan suatu imej yang mengandungi teks yang berwarna atau samar-samar dan meminta supaya anda menaip perkataan yang ditunjukkan. -Oleh sebab tugas tersebut sukar dilakukan secara automatik, ia membolehkan manusia sebenar mengirim seperti biasa, manakala penghantar spam dan penyerang robot terhalang. - -Malangnya perkara ini boleh menyukarkan pengguna yang mengalami masalah penglihatan atau sedang menggunakan pelayar web teks atau tuturan. Pada masa ini kami tidak mempunyai alternatif audio. -Sila hubungi [[{{MediaWiki:Grouppage-sysop}}|pentadbir tapak]] untuk mendapatkan bantuan sekiranya perkara ini menghalang anda daripada membuat sumbangan yang sah. - -Sila tekan butang 'back' di pelayar web anda untuk kembali ke laman suntingan.", - 'captcha-addurl-whitelist' => ' #
-# Sintaks:
-#  * Aksara "#" sampai akhir baris diabaikan
-#  * Ungkapan nalar dibaca daripada setiap baris dan dipadankan dengan nama hos sahaja
-  #
', - 'right-skipcaptcha' => 'Melepasi pemeriksaan CAPTCHA', -); - -/** Maltese (Malti) - * @author Chrisportelli - */ -$messages['mt'] = array( - 'captcha-edit' => "Sabiex timmodifika din il-paġna, jekk jogħġbok solvi din is-somma sempliċi t'hawn taħt u daħħal ir-risposta fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):", - 'captcha-desc' => "Tipprovidi tekniki tal-CAPTCHA sabiex tipproteġi kontra spam u l-għarfien ta' passwords", - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Il-modifika tiegħek tinkludi ħoloq esterni ġodda. -Sabiex tipproteġi kontra spam awtomatiku, jekk jogħġbok solvi din is-somma sempliċi t'hawn taħt u daħħal ir-risposta fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):", - 'captcha-badlogin' => "Bħala prekawzjoni kontra l-infurzar awtomatiku tal-password, jekk jogħġbok solvi din is-somma sempliċi t'hawn taħt u daħħal ir-risposta fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):", - 'captcha-createaccount' => "Bħala miżura ta' prekawzjoni kontra l-ħolqien awtomatiku tal-kontijiet, jekk jogħġbok solvi din is-somma sempliċi t'hawn taħt u daħħal ir-risposta fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):", - 'captcha-createaccount-fail' => "Kodiċi ta' konferma ħażin jew nieqes.", - 'captcha-create' => "Sabiex toħloq din il-paġna, jekk jogħġbok solvi din is-somma sempliċi t'hawn taħt u daħħal ir-risposta fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):", - 'captcha-sendemail' => "Bħala prekawzjoni kontra l-''ispam'' awtomatiku, jekk jogħġbok solvi din is-somma sempliċi t'hawn taħt u daħħal ir-risposta fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):", - 'captcha-sendemail-fail' => "Kodiċi ta' konferma ħażin jew nieqes.", - 'captcha-disabledinapi' => 'Din l-azzjoni għandha bżonn il-captcha, għalhekk ma tistax issir permezz tal-API.', - 'captchahelp-title' => "X'inhi l-captcha?", - 'captchahelp-cookies-needed' => "Irid ikollok il-''cookies'' attivati sabiex tkompli", - 'captcha-addurl-whitelist' => " #
-# Is-sintassi hi din li jmiss:
-#   * Kull ħaġa wara l-karattru \"#\" huwa kumment, sat-tmiem tal-linja
-#   * Kull linja li mhijiex vojta huma frammeti ta' espressjonijiet regolari (''regex'') li japplikaw biss għall-isem tal-ospitu fil-URLs
- #
", - 'right-skipcaptcha' => "Jagħmel l-azzjonijiet li jattivaw il-CAPTCHA mingħajr m'għandu bżonn jgħaddi mill-CAPTCHA", -); - -/** Nahuatl (Nāhuatl) - * @author Fluence - */ -$messages['nah'] = array( - 'captchahelp-title' => 'Captchatechcopa tēpalēhuiliztli', -); - -/** Min Nan Chinese (Bân-lâm-gú) */ -$messages['nan'] = array( - 'captcha-createaccount' => 'Ūi beh ī-hông lâng iōng ke-si chū-tōng chù-chheh koh tah kóng-kò, chhiáⁿ lí kā chhut-hiān tī ang-á lāi-bīn ê jī phah 1 piàn (thang chèng-bêng lí m̄ sī ki-khì-lâng):
-([[Special:Captcha/help|Che sī siáⁿ-hòe?]])', - 'captcha-createaccount-fail' => 'Khak-jīn-bé chhò-gō· iah-sī làu-kau.', -); - -/** Norwegian Bokmål (norsk (bokmål)‎) - * @author Audun - * @author Danmichaelo - * @author Laaknor - * @author Nghtwlkr - */ -$messages['nb'] = array( - 'captcha-edit' => 'Skriv inn summen nedenfor i boksen for å kunne redigere denne siden ([[Special:Captcha/help|mer informasjon]]):', - 'captcha-desc' => 'Gir tilgang til CAPTCHA-teknikker for å beskytte mot søppl og passordgjetting', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Din redigering inneholder nye eksterne lenker. Løs det enkle regnestykket i boksen nedenfor for å hjelpe oss å beskytte oss mot automatisk spam ([[Special:Captcha/help|mer informasjon]]):', - 'captcha-badlogin' => 'Løs det enkle regnestykket i boksen nedenfor for å hjelpe oss å beskytte oss mot automatisk passordtyveri ([[Special:Captcha/help|mer informasjon]]):', - 'captcha-createaccount' => 'Løs det enkle regnestykket i boksen nedenfor for å hjelpe oss å beskytte oss mot automatisk kontoopprettelse ([[Special:Captcha/help|mer informasjon]]):', - 'captcha-createaccount-fail' => 'Feil eller manglende bekreftelseskode.', - 'captcha-create' => 'Løs det enkle regnestykket i boksen nedenfor for å opprette siden ([[Special:Captcha/help|mer informasjon]]):', - 'captcha-sendemail' => 'Løs det enkle regnestykket i boksen nedenfor for å hjelpe oss å beskytte oss mot automatisk spamming ([[Special:Captcha/help|mer informasjon]]):', - 'captcha-sendemail-fail' => 'Ukorrekt eller manglende bekreftelseskode.', - 'captcha-disabledinapi' => 'Denne handlinger krever en captcha, så den kan ikke bli gjort gjennom APIet.', - 'captchahelp-title' => 'Hjelp med Captcha', - 'captchahelp-cookies-needed' => 'Du må slå på informasjonskapsler for at dette skal fungere.', - 'captchahelp-text' => "Internettsider som kan redigeres av alle, som denne wikien, blir ofte misbrukt av spammere som bruker roboter for å poste massive antall lenker. Selv om slike spamlenker kan fjernes er de til stor irritasjon. - -Noen ganger, særlig hvis du vil legge til nye internettlenker til en side, kan wikien vise deg et bilde av en farge eller ujevn tekst og be deg skrive inn ordene som vises. Siden det er vanskelig å automatisere denne oppgaven, vil funksjonen slippe de fleste virkelige mennesker igjennom, men stoppe spammere. - -Dessverre finnes det i øyeblikket ikke noe audioalternativ for brukere med begrenset syn som som bruker tekst- eller talebaserte nettlesere. Vennligst kontakt [[{{MediaWiki:Grouppage-sysop}}|administratorene]] hvis denne funksjonen forhindrer deg i å foreta legitime endringer. - -Trykk på 'tilbake'-knappen for å komme tilbake til redigeringssiden.", - 'captcha-addurl-whitelist' => ' #
-# Syntaksen er som følger:
-#  * Alle linjer som begynner med «#» er kommentarer
-#  * Alle linjer som ikke er blanke er fragmenter av regulære uttrykk som sjekker verter i URL-er
-  #
', - 'right-skipcaptcha' => 'Utføre handlinger som normalt krever «captcha»-bekreftelse uten å bruke «captcha»', -); - -/** Low German (Plattdüütsch) - * @author Slomox - */ -$messages['nds'] = array( - 'captcha-edit' => 'Disse Siet to ännern, musst du disse lütte Rekenopgaav lösen un dat Resultat in dat Feld ingeven ([[Special:Captcha/help|mehr dorto]]):', - 'captcha-desc' => 'Eenfach Captcha', - 'captcha-addurl' => 'In dien Ännern sünd ne’e Weblenken in. -As Schutz gegen automaatsch Spam, löös disse lüttje Rekenopgaav un geev dat Resultat in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', - 'captcha-badlogin' => 'As Schutz gegen Passwoord-Knackers, löös disse lüttje Rekenopgaav un geev dat Resultat in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', - 'captcha-createaccount' => 'Dat hier nich Brukers automaatsch anleggt warrt, musst du disse lütte Rekenopgaav lösen ([[Special:Captcha/help|mehr dorto]]):', - 'captcha-createaccount-fail' => 'Kood to’n Bestätigen is verkehrt oder fehlt.', - 'captcha-create' => 'De Sied nee optostellen, löös disse lüttje Rekenopgaav un geev dat Resultat in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', - 'captchahelp-title' => 'Help to Captchas', - 'captchahelp-cookies-needed' => 'Dien Browser mutt Cookies ünnerstütten un aktiveert hebben, dat dat geiht.', - 'captchahelp-text' => 'Websteden, de Bidrääg vun elkereen tolaten doot, so as dit Wiki, hebbt faken mit Spammers to doon, de en Computer-Programm bruukt, dat se jümmer Text oder Warf op mööglichst veel Sieden ünnerbringt. -Ok wenn dat gau wedder rutnahmen warrt, stöört dat doch de Arbeid op dat Wiki. - -Af un to, besünners wenn du Lenken op Websteden in Sieden inföögst, wiest di de Software en Bild mit bunte un verdreihte Bookstaven un fraagt di, dat du de Bookstaven in dat Textfeld ingiffst. -En Computer-Programm kann disse Bookstaven normalerwies nich lesen, aver de mehrsten Minschen köönt dat. Dormit sünd de Spammers vun de Sied utslaten. - -Dat kann aver ok angahn, dat nu ok Lüüd, de nich so good sehn köönt oder villicht Text- oder Vörlees-Browsers bruukt, mit disse Biller nich torecht kaamt. -Opstunns gifft dat noch keen Audio-Alternativ för de Biller. Wenn du mit de Biller nich torechtkummst, denn schriev man an de Administraters vun de sied un beed jem üm Help. - -Mit den „Trüch“-Knopp vun dien Browser kummst du trüch na dat Ännerfinster.', - 'captcha-addurl-whitelist' => ' #
-# Op disse Siet staht de Websteden, bi de en Bruker,
-# de nich anmellt is un en ne’en Lenk in de Siet infögen deit,
-# keen Captcha utfüllen mutt.
-#
-# Syntax is disse:
-#  * Allens vun en „#“-Teken bet na’t Enn vun de Reeg is en Kommentar
-#  * All de annern Regen, de nich leddig sünd, warrt as regulären Utdruck bekeken,
-#    de för Delen vun de Domään steiht.
-
-  #
', - 'right-skipcaptcha' => 'Överspringen vun Captchas', -); - -/** Nedersaksisch (Nedersaksisch) - * @author Servien - */ -$messages['nds-nl'] = array( - 'captcha-edit' => "Um disse zied te bewarken, mu'j eerst t antwoord op disse eenvoudige somme invullen ([[Special:Captcha/help|meer informasie]]):", - 'captcha-desc' => 'Biejt CAPTCHA-technieken um bescharming te biejen tegen moekpost en t raojen van wachtwoorden', - 'captcha-addurl' => 'Joew bewarking bevat nieje uutgaonde verwiezingen. -Voer ter de bescharming tegen ongewunste reklame de somme in die hieronder steet:
-([[Special:Captcha/help|Hulpe?]])', - 'captcha-badlogin' => 'Los disse eenvoudige rekensomme op en voer t antwoord in bie t invoervienster in ter bescharming tegen t automaties kraken van wachtwoorden ([[Special:Captcha/help|meer informasie]]):', - 'captcha-createaccount' => 'Voer ter bescharming tegen automatiese ongewunste reklame t antwoord op disse eenvoudige rekensomme in bie invoervienster ([[Special:Captcha/help|meer informatie]]):', - 'captcha-createaccount-fail' => 'Verkeerde of ontbrekende bevestigingskode.', - 'captcha-create' => 'Je bin n nieje zied an t maken. -Voer t antwoord van disse eenvoudige rekensomme in bie t invoervienster -([[Special:Captcha/help|meer informasie]]).', - 'captchahelp-title' => 'Lettertoetshulpe', - 'captchahelp-cookies-needed' => 'Je mutten scheumbestaanden (cookies) an hebben staon um disse funksie te gebruken.', - 'captchahelp-text' => "Websteeën waor iederene an kan biedragen, zo as disse {{SITENAME}}-wiki, wörden vake misbruukt deurdat der ongewunste verwiezingen op ezet wörden. Op disse wiki kunnen zokken bewarkingen makkelik weerummezet wörden, mer t nimp wel tied in beslag die aanders gebruukt kan wörden. - -Soms a'j nieje verwiezingen bie n zied derop zetten, wö'j evreugen um iets over te tikken of in te vullen. Dit zörgt derveur dat der gien ongewunste verwiezingen eplaotst wörden, umdat dit allinnig deur meensen edaon kan wörden en niet deur botgebrukers. - -Spietig genog levert disse bevestiging veur gebrukers mit n visuele beparking of n tekst- of spraakebaseerden webkieker problemen op. -Op t moment is der gien alternatief mit geluud beschikbaor. -Vraag um hulpe van de [[{{MediaWiki:Grouppage-sysop}}|websteebeheerders]] as dit proses joe in de weg steet n nuttige biedrage te leveren. - -(Klik op de knoppe 'terug' in joew webkieker, um weerumme te gaon naor t tekstbewarkingscharm.)", - 'captcha-addurl-whitelist' => ' #
-# De syntaxis is as volgt:
-#  * Alle tekste vanaof t karakter "#" tot t einde van de regels wörden ezien as opmarking
-#  * Alle regels die niet leeg bin, wörden ezien as n reguliere uutdrokking die veur delen van de domein staon.
-  #
', -); - -/** Dutch (Nederlands) - * @author SPQRobin - * @author Siebrand - */ -$messages['nl'] = array( - 'captcha-edit' => 'U wilt deze pagina bewerken. -Voer het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[Special:Captcha/help|meer informatie]]):', - 'captcha-desc' => 'Biedt CAPTCHA-technieken om bescherming te bieden tegen spam en het raden van wachtwoorden', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Uw bewerking bevat nieuwe externe verwijzingen (URL's). -Voer ter bescherming tegen geautomatiseerde spam het antwoord op de onderstaande eenvoudige som in in het invoerveld om uw bewerking op te slaan ([[Special:Captcha/help|meer informatie]]):", - 'captcha-badlogin' => 'Los de onderstaande eenvoudige som op en voer het antwoord in het invoervenster in ter bescherming tegen het automatisch kraken van wachtwoorden ([[Special:Captcha/help|meer informatie]]):', - 'captcha-createaccount' => 'Voer ter bescherming tegen het geautomatiseerd gebruikers aanmaken, het antwoord op de onderstaande eenvoudige som in in het invoervenster ([[Special:Captcha/help|meer informatie]]):', - 'captcha-createaccount-fail' => 'De bevestigingscode ontbreekt of is onjuist.', - 'captcha-create' => 'U wilt een nieuwe pagina aanmaken. -Voer het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[Special:Captcha/help|meer informatie]]):', - 'captcha-sendemail' => 'Voer ter bescherming tegen geautomatiseerde spam het antwoord op de onderstaande eenvoudige som in het invoervenster in ([[Special:Captcha/help|meer informatie]]):', - 'captcha-sendemail-fail' => 'De bevestigingscode ontbreekt of is onjuist.', - 'captcha-disabledinapi' => 'Voor deze handeling is een captcha nodig die niet afgehandeld kan worden via de API.', - 'captchahelp-title' => 'Captcha-hulppagina', - 'captchahelp-cookies-needed' => 'U dient in uw browser cookies ingeschakeld te hebben om dit te laten werken.', - 'captchahelp-text' => "Websites die vrij te bewerken zijn, zoals deze wiki, worden vaak misbruikt door spammers die er met hun programma's automatisch verwijzigen op zetten naar vele websites. -Hoewel deze externe verwijzingen weer verwijderd kunnen worden, leveren ze wel veel hinder en administratief werk op. - -Soms, en in het bijzonder bij het toevoegen van externe verwijzingen op pagina's, ziet u een afbeelding met gekleurde of vervormde tekst en wordt u gevraagd de weergegeven tekst in te voeren. -Omdat dit proces lastig te automatiseren is, zijn vrijwel alleen mensen in staat dit proces succesvol te doorlopen en worden hiermee spammers en andere geautomatiseerde aanvallen geweerd. - -Helaas levert deze bevestiging voor gebruikers met een visuele handicap of een tekst- of spraakgebaseerde browser problemen op. -Op het moment is er geen alternatief met geluid beschikbaar. -Vraag assistentie van de [[{{MediaWiki:Grouppage-sysop}}|sitebeheerders]] als dit proces u verhindert een nuttige bijdrage te leveren. - -Klik op de knop 'terug' in uw browser om terug te gaan naar het tekstbewerkingsscherm.", - 'captcha-addurl-whitelist' => ' #
-# De syntaxis is als volgt:
-#   * Alle tekst vanaf het teken "#" tot het einde van de regels wordt gezien als opmerking
-#   * Iedere niet-lege regel is een fragment van een reguliere expressie die alleen van toepassing is op hosts binnen URL\'s
- #
', - 'right-skipcaptcha' => 'Captchahandelingen uitvoeren zonder captcha te hoeven oplossen', -); - -/** Nederlands (informeel)‎ (Nederlands (informeel)‎) - * @author Siebrand - */ -$messages['nl-informal'] = array( - 'captcha-addurl' => "Je bewerking bevat nieuwe externe verwijzingen (URL's). -Voer ter bescherming tegen geautomatiseerde spam het antwoord op de onderstaande eenvoudige som in in het invoerveld ([[Special:Captcha/help|meer informatie]]):", - 'captchahelp-cookies-needed' => 'Je moet in je browser cookies ingeschakeld te hebben om dit te laten werken.', - 'captchahelp-text' => "Websites die vrij te bewerken zijn, zoals deze wiki, worden vaak misbruikt door spammers die er met hun programma's automatisch verwijzigen op zetten naar vele websites. -Hoewel deze externe verwijzingen weer verwijderd kunnen worden, leveren ze wel veel hinder en administratief werk op. - -Soms, en in het bijzonder bij het toevoegen van externe verwijzingen op pagina's, zie je een afbeelding met gekleurde of vervormde tekst en wordt je gevraagd de weergegeven tekst in te voeren. -Omdat dit proces lastig te automatiseren is, zijn vrijwel alleen mensen in staat dit proces succesvol te doorlopen en worden hiermee spammers en andere geautomatiseerde aanvallen geweerd. - -Helaas levert deze bevestiging voor gebruikers met een visuele handicap of een tekst- of spraakgebaseerde browser problemen op. -Op het moment is er geen alternatief met geluid beschikbaar. -Vraag assistentie van de [[{{MediaWiki:Grouppage-sysop}}|sitebeheerders]] als dit proces je verhindert een nuttige bijdrage te leveren. - -Klik op de knop 'terug' in je browser om terug te gaan naar het tekstbewerkingsscherm.", -); - -/** Norwegian Nynorsk (norsk (nynorsk)‎) - * @author Eirik - * @author Frokor - * @author Harald Khan - * @author Nghtwlkr - * @author Njardarlogar - */ -$messages['nn'] = array( - 'captcha-edit' => 'For å endre denne sida, ver venleg og løys det enkle reknestykket nedanfor og skriv svaret i ruta ([[Special:Captcha/help|meir informasjon]]):', - 'captcha-desc' => 'Enkel implementering av captcha-system.', - 'captcha-addurl' => 'Endringa di inkluderer nye lenkjer; som eit vern mot automatisert reklame (spam) er du nøydd til skrive inn orda i dette bildet:
([[Special:Captcha/help|Kva er dette?]])', - 'captcha-badlogin' => 'For å sikra oss mot automatisk passordtjuveri, ver venleg og skriv inn svaret på det enkle reknestykket i boksen nedanfor ([[Special:Captcha/help|meir informasjon]]):', - 'captcha-createaccount' => 'For å verne Wikipedia mot reklame (spam) må du skrive inn orda i biletet for å registrere ein konto.
([[Special:Captcha/help|Kva er dette?]])', - 'captcha-createaccount-fail' => 'Feil eller manglande godkjenningskode.', - 'captcha-create' => 'For å opprette denne sida, ver venleg og løys det enkle reknestykket nedanfor og skriv svaret i ruta ([[Special:Captcha/help|Kva er dette?]]):', - 'captchahelp-title' => 'Captcha-hjelp', - 'captchahelp-cookies-needed' => 'Du må ha informasjonskapslar aktivert i nettlesaren din for at dette skal verke.', - 'captchahelp-text' => 'Internettsider som kan verte endra av alle, som denne wikien, vert ofte misbrukte av reklameinnleggjarar (spammarar) som nyttar bottar til å poste mange lenkjer om gongen. -Sjølv om slike reklamelenkjer kan verte fjerna er dei til stor irritasjon. - -Nokre gonger, særleg viss du vil leggje til nye internettlenkjer til ei side, kan wikien vise deg eit bilete av ein farga eller ujamn tekst og be deg skrive inn orda som vert viste. -Sidan det er vanskeleg å automatisere denne oppgåva, vil funksjonen sleppe dei fleste verkelege menneska gjennom, men stoppe reklamerobotar. - -Diverre finst det i augeblikket ikkje noko lydalternativ for brukarar med nedsett syn som brukar tekst- eller talebaserte nettlesarar. -Ver venleg å kontakte [[{{MediaWiki:Grouppage-sysop}}|administratorane]] viss denne funksjonen hindrar deg i å gjere skikkelege endringar. -Trykk på «attende»-knappen for å kome tilbake til endringssida.', - 'captcha-addurl-whitelist' => ' #
-# Syntaksen er slik:
-#  * Alt frå teiknet «#» til enden av lina er ein kommentar
-#  * Alle liner som ikkje er tomme er fragment av regulære uttrykk som sjekkar vertar i URL-ar
- #
', - 'right-skipcaptcha' => 'Utføre handlingar som normalt krever «captcha»-stadfesting utan å bruke «captcha»', -); - -/** Occitan (occitan) - * @author Cedric31 - */ -$messages['oc'] = array( - 'captcha-edit' => "Per modificar aquesta pagina, vos cal efectuar lo calcul çaijós e n'inscriure lo resultat dins lo camp ([[Special:Captcha/help|Mai d’entresenhas]]) :", - 'captcha-desc' => 'Implementacion captcha simpla', - 'captcha-addurl' => "Vòstra modificacion inclutz de ligams URL novèla ; per empachar las connexions automatizadas, vos cal picar los mots que s’afichan dins l’imatge que seguís :
([[Special:Captcha/help|Qu'es aquò?]])", - 'captcha-badlogin' => "Per ensajar de contornar las temptativas de cracatge de senhals automatizadas per de robòts, recopiatz lo tèxte çaijós dins la bóstia de tèxte plaçada al dejós d'aqueste. ([[Special:Captcha/help|Mai d’entresenhas]])", - 'captcha-createaccount' => 'Coma proteccion contra las creacions de compte abusivas, entratz lo resultat de l’addicion dins la bóstia çaijós:
-([[Special:Captcha/help|mai d’entresenhas]])', - 'captcha-createaccount-fail' => 'Còde de confirmacion mancant o erronèu.', - 'captcha-create' => "Per modificar la pagina, vos cal de resòldre l'operacion çaijós e n'inscriure lo resultat dins lo camp ([[Special:Captcha/help|Mai d'infòs]]) :", - 'captchahelp-title' => 'Ajuda suls Captcha', - 'captchahelp-cookies-needed' => "Vos cal aver los cookies activats dins vòstre navigador per qu'aquò foncione.", - 'captchahelp-text' => "Los sites webs qu'accèptan de contribucions del public, coma aqueste wiki, sovent son atacats per de spammers qu'utilizan d'espleches automatizats per plaçar de ligams nombroses cap a de sites. -Quitament se son de bon suprimir, demòran una noisença significativa. - -De còps, particularament quora apondètz de ligams extèrnes dins una pagina, lo wiki vos pòt mostrar un imatge amb un tèxte coloriat, desformat o torçut e vos demandar de picar los mots indicats. -Aquesta tasca es complicada d'automatizar, çò que permet de diferenciar un uman real d'un logicial automatic malvolent. - -Malurosament, aquesta solucion pòt geinar d'utilizaires malvesents o qu'utilizan un navigador textual o vocal. -Dispausam pas d’alternativa àudio pel moment. -Contactatz [[{{MediaWiki:Grouppage-sysop}}|los administrators del site]] se aquò vos empacha d'un biais imprevist de postar de contribucions legitimas. - -Clicatz sul boton « Precedent » de vòstre navigador per tornar a la pagina de modificacion.", - 'captcha-addurl-whitelist' => '#
 # La sintaxi es la seguenta: # * Tot caractèr seguissent "#" fins a la fin de la linha serà interpretat coma un comentari # * Tota linha non voida es un còde regex que serà utilizat unicament a l\'interior dels ligams hypertext. #
', - 'right-skipcaptcha' => "Acomplís lo desenclavament de las accions de captcha sens dever passar per l'intermediari aqueste darrièr", -); - -/** Oriya (ଓଡ଼ିଆ) - * @author Psubhashish - * @author Shisir 1945 - */ -$messages['or'] = array( - 'captcha-edit' => 'ଏହି ପୃଷ୍ଠାଟିକୁ ବଦଳାଇବା ନିମନ୍ତେ, ତଳେ ଥିବା ସହଜ ଅଙ୍କଟିର ସମାଧାନ କରନ୍ତୁ ଓ ଘରଟିରେ ଫଳାଫଳ ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ଜାଣନ୍ତୁ]]):', - 'captcha-desc' => 'CAPTCHA କାରିଗରି ଉପାୟରେ ସ୍ପାମ ଓ ପାସବାର୍ଡ଼ ରକ୍ଷା କରିଥାଏ ।', - 'captcha-label' => 'କାପ୍‌ଚା', - 'captcha-addurl' => 'ଆପଣଙ୍କ ସମ୍ପାଦନାରେ ନୂଆ ବାହାର ଲିଙ୍କ ରହିଛି । -ଆପେଆପେ ହେଉଥିବା ସ୍ପାମର ପ୍ରତିରୋଧ କରିବା ନିମନ୍ତେ ତଳେ ଥିବା ଗଣିତର ସମାଧାନ କରନ୍ତୁ ଓ ତଳେ ଥିବା ଘରେ ଉତ୍ତର ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ବିବରଣୀ]]):', - 'captcha-badlogin' => 'ଆପେଆପେ ହେଉଥିବା ପାସବାର୍ଡ଼ ଚୋରାଇବାକୁ ପ୍ରତିରୋଧ କରିବା ନିମନ୍ତେ ତଳେ ଥିବା ସରଳ ଗଣିତର ସମାଧାନ କରନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ସୂଚନା]]):', - 'captcha-createaccount' => 'ଆପେଆପେ ହେଉଥିବା ଖାତା ଖୋଲିବାକୁ ପ୍ରତିରୋଧ କରିବା ନିମନ୍ତେ ତଳେ ଥିବା ସରଳ ଗଣିତର ସମାଧାନ କରି ଉତ୍ତର ଘରେ ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ସୂଚନା]]):', - 'captcha-createaccount-fail' => 'ନିଶ୍ଚିତ କରିବା କୋଡ଼ଟି ଭୁଲ ଅଛି ବା ମୂଳରୁ ନାହିଁ ।', - 'captcha-create' => 'ଏହି ପୃଷ୍ଠାଟିକୁ ତିଆରିବା ନିମନ୍ତେ, ତଳେ ଥିବା ସହଜ ଅଙ୍କଟିର ସମାଧାନ କରନ୍ତୁ ଓ ଘରଟିରେ ଫଳାଫଳ ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ଜାଣନ୍ତୁ]]):', - 'captcha-sendemail' => 'ଆପେଆପେ ହେଉଥିବା ସ୍ପାମକୁ ପ୍ରତିରୋଧ କରିବା ନିମନ୍ତେ ତଳେ ଥିବା ସରଳ ଗଣିତର ସମାଧାନ କରି ତଳେ ଥିବା ଉତ୍ତର ବାକ୍ସରେ ଉତ୍ତର ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ସୂଚନା]]):', - 'captcha-sendemail-fail' => 'ନିଶ୍ଚିତ କରିବା କୋଡ଼ଟି ଭୁଲ ଅଛି ବା ମୂଳରୁ ନାହିଁ ।', - 'captcha-disabledinapi' => 'ଏହି କାମଟି ପାଇଁ ଏକ କ୍ୟାପଚା ଦରକାର, ଏହା API ଦେଇ କେଭେହେଁ ହୋଇପାରିବ ନାହିଁ ।', - 'captchahelp-title' => 'CAPTCHA ସହଯୋଗ', - 'captchahelp-cookies-needed' => 'ଏହି କାମତି କରିବା ପାଇଁ ଆପଣଙ୍କ ବ୍ରାଉଜରରେ କୁକି ସଚଳ କରିବାକୁ ପଡ଼ିବ ।', - 'captchahelp-text' => "ଏହି ଉଇକି ପରି ଜନସାଧାରଣଙ୍କ ଠାରୁ ଲେଖା ଗ୍ରହଣ କରୁଥିବା ସାଇଟ ସବୁରେ ବହୁବାର ସ୍ପାମମାନେ ଆପେଆପେ ନିଜ ନିଜର ଉପକରଣ ମାଧ୍ୟମରେ ଅଦରକାରୀ ଲିଙ୍କମାନ ଦେଇଥାନ୍ତି । -ଯଦିଓ ସ୍ପାମ ଲିଙ୍କ ସବୁ ହଟାଇଦିଆଯାଇ ପାରିବ ସେସବୁ ବହୁ ଅସୁବିଧା ତିଆରି କରିଥାଏ । - -ବେଳେବେଳେ, ବିଶେଷ କରି ଏକ ପୃଷ୍ଠାରେ ନୂଆ ୱେବ ଲିଙ୍କ ଦେଲାବେଳେ ଉଇକିଟି ଆପଣଙ୍କୁ ଏକ ରଙ୍ଗିନ ବା ଭଙ୍ଗାରୁଜା ଲେଖା ଦେଖାଇ ଆପଣଙ୍କୁ ତାହାକୁ ଟାଇପ କରିବାକୁ କହିଥାଏ । -ଯେହେତୁ ଏହି କାମକୁ ମଣିଷ ବିନା ଆପେଆପେ କରିବା ସମ୍ଭବପର ନୁହେଁ, ଏହି ବାସ୍ତବ ମଣିଷମାନଙ୍କୁ ଲେଖିବାରେ ସହଯୋଗ କରିଥାଏ ଓ ସ୍ପାମର ଓ ବାକି ରୋବଟ ଆକ୍ରମଣକୁ ପ୍ରତିହତ କରିପାରେ । - -ଅପରାପକ୍ଷେ ଏହା ସୀମିତ ଦୃଷ୍ଟିଥିବା ବା ଲେଖା କିମ୍ବା କଥା କୁହ ବ୍ରାଉଜର ବ୍ୟବହାର କରୁଥିବା ସଭ୍ୟମାନଙ୍କୁ ଅସୁବିଧାରେ ପକାଇଥାଏ । -ଅଧୁନା ଏଠାରେ ଧ୍ୱନିଚଳିତ ବିକଳ୍ପଟିଏ ଦେଇନାହୁଁ । -ଆପଣଙ୍କୁ ଉପଯୁକ୍ତ ଲେଖା ଦେବାରେ ସହଯୋଗ କରିବା ନିମନ୍ତେ ଦୟାକରି [[{{MediaWiki:Grouppage-sysop}}|ସାଇଟ ପରିଛା]]ମାନଙ୍କୁ ଯୋହଗାଯୋଗ କରନ୍ତୁ । - -ଆପଣଙ୍କ ବ୍ରାଉଜରରେ ଥିବା 'back' ଚିପି ପୃଷ୍ଠା ସମ୍ପାଦକକୁ ଲେଉଟିଯାନ୍ତୁ ।", - 'captcha-addurl-whitelist' => ' #
-# ତଳେ ସିଣ୍ଟାକ୍ସଟି ଦିଆଗଲା:
-#   * ଧାଡ଼ିର ଶେଷରେ "#" ଚିହ୍ନ ଦିଆଥିବା ସବୁକିଛି ଏକ ମତାମତ
-#   * ପ୍ରତିଟି ଅଣ-ଖାଲି ଧାଡ଼ି ଏକ regex ଖଣ୍ଡ ଯାହା କେବଳ URL ବାହାରେ ଥିବା ହୋଷ୍ଟ ମାନଙ୍କ ସଙ୍ଗେ ମେଲ ଖାଇଥାଏ
- #
', - 'right-skipcaptcha' => 'CAPTCHA ଭିତରେ ନଯାଇ CAPTCHA ଦେଇ ସଞ୍ଚାଳିତ କାମ କରିବେ', -); - -/** Pampanga (Kapampangan) */ -$messages['pam'] = array( - 'captcha-createaccount' => 'Bang ala na kabud laltong account, pakipakibatan me ing papacuenta ra king lalam at ibili me ing pakibat ketang cahun ([[Special:Captcha/help|more info]]):', - 'captcha-createaccount-fail' => 'E ustu o ala yu ing confirmation code.', - 'captchahelp-text' => "Maralas, mayayabusu la reng karinan king Aptas (websites) kareng spammer a gagamit automatic a paralan ba rong ipasquil kareng dakal a karinan deng karelang suglung. Lipat ning malyari lang ilako deti, maragul la muring sakit buntuk. - -Neng kayi, lalu na neng mangibiling karagdagang suglung king metung a bulung, mapalyaring magpalto yang larawan ning sulat a maki kule o anting medisporma ing wiki, at pakisabi nang i-type me itang makasulat. Uling e malagwang gawang automatic ing dapat a iti, paintulutan nong magpasquil deng keraklan kareng tau, kabang sasabatan no reng keraklan kareng spammer at lulub a robot. - -Makalungkut mu pin at magkasakit la uli na niti deng gagamit a mapula mata o maki paglibut ( browser) a makabasi king sulat (text-based) o king siwala (speech-based). Ala keng alternatibu o kayaliling pakiramdaman king salukuyan. Nung malyari, pasaup ko sana ketang manibala king kekayung karinan (site administrator) nung magkasakit kayung magpasquil ulin na niti. - -Mangaylangan kang manyalanging cookie king kekang paglibut (browser) para king obrang iti. - -Timid me ing 'back' button king kekang browser bang mibalik ketang panaliling bulung (page editor).", -); - -/** Deitsch (Deitsch) - * @author Xqt - */ -$messages['pdc'] = array( - 'captchahelp-title' => 'Captcha-Hilf', -); - -/** Polish (polski) - * @author BeginaFelicysym - * @author Derbeth - * @author Leinad - * @author Sp5uhe - */ -$messages['pl'] = array( - 'captcha-edit' => 'Możesz edytować tę stronę, jednak najpierw musisz rozwiązać poniższe proste działanie matematyczne i wpisać wynik do pola tekstowego ([[Special:Captcha/help|pomoc]]):', - 'captcha-desc' => 'Dodaje CAPTCHA – zabezpieczenie przed spamującymi automatami oraz odgadywaniem haseł', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Dodałeś nowe linki zewnętrzne. Ze względu na ochronę przed zautomatyzowanym spamem musisz wykonać proste działanie matematyczne i wpisać wynik w pole obok ([[Special:Captcha/help|więcej informacji]]):', - 'captcha-badlogin' => 'Zabezpieczenie przed automatycznym łamaniem hasełm, wpisz w pole poniżej wynik prostego działania matematycznego ([[Special:Captcha/help|pomoc]]):', - 'captcha-createaccount' => 'Zabezpieczenie przed automatycznym tworzeniem konta - wpisz w pole poniżej wynik prostego działania matematycznego ([[Special:Captcha/help|pomoc]]):', - 'captcha-createaccount-fail' => 'Nieprawidłowy kod lub brak kodu potwierdzającego.', - 'captcha-create' => 'Aby utworzyć stronę wykonaj proste działanie i wpisz wynik w pole tekstowe ([[Special:Captcha/help|pomoc]]):', - 'captcha-sendemail' => 'Zabezpieczenie przed automatycznym spamem, wpisz w pole poniżej wynik prostego dodawania ([[Special:Captcha/help|więcej informacji]]):', - 'captcha-sendemail-fail' => 'Nieprawidłowy lub brak kodu potwierdzającego.', - 'captcha-disabledinapi' => 'Ta czynność wymaga potwierdzenia capcha i z tego względu nie może być przeprowadzona z użyciem API.', - 'captchahelp-title' => 'Pomoc dla ochrony antyspamowej', - 'captchahelp-cookies-needed' => 'Musisz mieć włączone w przeglądarce ciasteczka (cookies), aby ta opcja działała.', - 'captchahelp-text' => 'Strony internetowe akceptujące edycje dokonywane przez każdego, tak jak ta wiki, są często atakowane przez spamerów, którzy używają automatycznych narzędzi, aby dodawać linki prowadzące do ich stron. -Chociaż te linki mogą zostać usunięte, jest to uciążliwe. - -Czasami, zwłaszcza przy dodawaniu nowych linków do strony albo przy rejestracji, wiki może pokazać obrazek z kolorowym lub zniekształconym tekstem i poprosić Cię o przepisanie zamieszczonego na nim wyrazu. -Ponieważ są to zadania trudne do zautomatyzowania, takie zabezpieczenia umożliwia ludziom dokonywania edycji, jednocześnie skutecznie powstrzymując większość spamerów i inne automatyczne ataki. - -Niestety, może być to niewygodne dla użytkowników z wadą wzroku lub używających przeglądarek tekstowych lub głosowych. -Obecnie nie mamy alternatywnego rozwiązania audio. -Skontaktuj się z [[{{MediaWiki:Grouppage-sysop}}|administratorami strony]] by uzyskać pomoc, jeśli nie możesz z tego powodu dokonywać uprawnionych edycji. - -Wciśnij przycisk „wstecz” w przeglądarce by powrócić do edycji strony.', - 'captcha-addurl-whitelist' => ' #
-# Składnia jest następująca:
-#   * Linie zaczynające się od znaku „#” są komentarzami
-#   * Każda linia, która nie jest pusta, jest wyrażeniem regularnym, które ma pasować do adresu serwera (fragmentu URL)
-  #
', - 'right-skipcaptcha' => 'Dostęp do czynności zabezpieczonych pytaniem o treść obrazka lub rozwiązanie zadania, z pominięciem zabezpieczenia', -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Bèrto 'd Sèra - * @author Dragonòt - */ -$messages['pms'] = array( - 'captcha-edit' => "Për fe-ie dle modìfiche ansima a st'artìcol-sì, për piasì ch'a fasa ël total ambelessì sota -e ch'a buta l'arzulta ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", - 'captcha-desc' => "A dà dle técniche CAPTCHA për protege contra la rumenta e ij tentativ d'andviné la ciav", - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Soa modìfica a la gionta dj'anliure esterne. Për giutene a vardesse da la reclam aotomatisà, për piasì ch'a fasa ël total ambelessì sota e ch'a buta l'arzultà ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", - 'captcha-badlogin' => "Për giutene a vardesse da 'nt ij programa ch'a fan ciav fàosse n'aotomàtich, për piasì ch'a fasa ël total ambelessì sota e ch'a buta l'arzultà ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", - 'captcha-createaccount' => "Për giutene a vardesse da ij programa ch'a deurbo dij cont n'aotomàtich, për piasì ch'a fasa ël total ambelessì sota -e ch'a buta l'arzultà ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", - 'captcha-createaccount-fail' => "Ël còdes ëd verìfica ò ch'a manca d'autut ò ch'a l'é pa bon.", - 'captcha-create' => "Për creé d'amblé sta pàgina-sì, për piasì ch'a fasa ël total ambelessì sota e ch'a buta l'arzultà
-ant ël quadrèt ([[Special:Captcha/help|për savejne dë pì]]):", - 'captcha-sendemail' => "Për giuté a protegi contra la rumenta automàtica, për piasì ch'a fasa l'adission sempia sì-sota e ch'a buta l'arspòsta ant la casela ([[Special:Captcha/help|për savèjne ëd pi]]):", - 'captcha-sendemail-fail' => "Ël còdes ëd verìfica ò ch'a manca d'autut ò ch'a l'é pa bon.", - 'captcha-disabledinapi' => "St'assion-sì a ciama na captcha, parèj a peul pa esse fàita con na API.", - 'captchahelp-title' => 'Còs é-lo mai ës captcha?', - 'captchahelp-cookies-needed' => "Për podej dovré sossì a l'ha da manca che sò navigator (browser) a pija ij cookies.", - 'captchahelp-text' => "Soèns a-i riva che ij sit dla Ragnà che la gent a peul dovré për ëscrive chèich-còs, coma sta wiki-sì, a resto ambërlifà ëd reclam da màchine che a carìo soa ròba dadsà e dadlà n'aotomàtich. Për tant che sta reclam un a peula peuj gavela, a resta sempe un gran fastudi. - -Dle vire, dzortut quand un a caria dj'anliure esterne neuve ansime a na pàgina, la wiki a peul ësmon-je na figurin-a con dël test colora ò pura tut ëstòrt e ciameje d'arbate lòn ch'a-i é scrit andrinta. Da già ch'a l'é grama scrive un programa ch'a lo fasa, a ven che la pì gran part dla gent a-i la fa a scrive, ma la ói part dle màchine a-i la fa pa. - -Për maleur sossì a peul fastudié j'uetnt ch'a ës-ciàiro nen tant bin, col ch'a dòvro dij navigator mach a test ò pura dij navigator vocaj. Për adess i l'oma nen n'altërnativa disponibila ch'a fasa lese ël test a vos. Për piasì, ch'a contata j'[[{{MediaWiki:Grouppage-sysop}}|aministrator dël sit]] se sossì a dovèissa mai nen lasseje carié dël test ch'a sia legitim (visadì, nen dla reclam). - -Ch'a-i bata ansima al boton 'andré' ant sò navigator për torné andré a l'editor dla pàgina.", - 'captcha-addurl-whitelist' => " #
-# La sintassi a l'é costa:
-#  * tut lòn ch'a-i ven dapress a un caràter \"#\" (fin-a a la fin dla riga) a l'é mach ëd coment
-#  * minca riga nen veujda a l'é un frament d'espression regolar ch'as dòvra për identifiché j'adrësse dle màchine servente ant j'anliure
-  #
", - 'right-skipcaptcha' => "A fà j'assion che a ativo la captcha sensa avèj da passé da la captcha", -); - -/** Western Punjabi (پنجابی) - * @author Khalid Mahmood - */ -$messages['pnb'] = array( - 'captcha-edit' => 'اس صفحے نوں تبدیل کرن واسطے، مہربانی کر کے اے سادہ جۓ سوال نوں حل کر کے ڈبے چ جواب لکھ دیو ([[Special:Captcha/help|مزید جانکاری]]):', - 'captcha-desc' => 'کیپچا ول سپام تے کنجی اندازے توں بچن لئی دیندا اے۔', - 'captcha-addurl' => 'تواڈی تبدیلی چ نویں بارلے جوڑ نیں۔ -اس صفحے نوں تبدیل کرن واسطے، مہربانی کر کے اے سادہ جۓ سوال نوں حل کر کے ڈبے چ جواب لکھ دیو ([[Special:Captcha/help|مزید جانکاری]]):', - 'captcha-badlogin' => 'اپنے آپ کنجی توڑن دے خلاف مدد واسطے، مہربانی کر کے اے سادہ جۓ سوال نوں حل کر کے ڈبے چ جواب لکھ دیو ([[Special:Captcha/help|مزید جانکاری]]):', - 'captcha-createaccount' => 'اپنے آپ غلط نویں کھاتے بنان نوں روکن واسطے، مہربانی کر کے اے سادہ جۓ سوال نوں حل کر کے ڈبے چ جواب لکھ دیو ([[Special:Captcha/help|مزید جانکاری]]):', - 'captcha-createaccount-fail' => 'غلط کنفرمیشن کوڈ۔', - 'captcha-create' => 'اس صفحے نوں بنان واسطے، مہربانی کر کے اے سادہ جۓ سوال نوں حل کر کے ڈبے چ جواب لکھ دیو ([[Special:Captcha/help|مزید جانکاری]]):', - 'captcha-sendemail' => 'اپنے آپ غلط مال آن نوں روکن واسطے، مہربانی کر کے اے سادہ جۓ سوال نوں حل کر کے ڈبے چ جواب لکھ دیو ([[Special:Captcha/help|مزید جانکاری]]):', - 'captcha-sendemail-fail' => 'غلط یا چھوٹے کنفرمیشن کوڈ', - 'captcha-disabledinapi' => 'ایس کم لئی کیپچا چائیدا اے، ایس لئی ایہ اے پی آئی نال نئیں چل سکدا۔', - 'captchahelp-title' => 'کیپچا مدد', - 'captchahelp-cookies-needed' => 'توانوں اپنے براؤزر چ ککیاں چلانیاں پین گیاں ایس نوں چلان لئی۔', - 'captchahelp-text' => 'ویب سائیٹاں جیہڑیاں لوکاں کولوں ڈاک لیندیاں نیں جیویں ایہ وکی، ایناں تے خراب ڈاک پیجن والے ہلے بولدے ریندے نیں تے کئی سائیٹاں دے جوڑ جوڑدے ریندے نیں۔ ایہ سپام جوڑ ہٹاۓ جاسکدے نیں پر ایہ اک رپھڑ تے ہے نیں۔ - -کدے کدے، خاص طور تے کسے صفے نال نویں ویب جوڑ جوڑدیاں ہویاں، وکی توانوں اک رنگ والی یا خراب لکھت دسدا اے تے توانوں پچھدا اے جے ٹائپ ہویا بول لکھو۔ -اے کم ایسا اے جیہڑا چلانا اوکھا اے، اے چوکھے سارے لوکاں نوں اپنی ڈاک پیجن دیوے گا تے سپامراں نوں روک دیوے گا، - -بدقسمستی نال اے تھوڑی سوچ رکھن والے ورتنوالیاں یا لکھت ورتن والے یا گل بات والے براؤزر نوں چنگا ناں لگے۔ -ایس ویلے ساڈے کول ایدے تھاں تے ورتیا جان والا آڈیو نئیں۔ مہربانی کرکے [[{{MediaWiki:Grouppage-sysop}}|site administrators]] نال ملو مدد لئی اگ ایہ اچانک تواڈی ٹھیک ڈاک نوں روکدا اے۔ -بیک بٹن نوں دباؤ اپنے براؤزر چ صفہ لکھاری تک اپڑن لئی۔', - 'captcha-addurl-whitelist' => ' #
-# Syntax is as follows:
-#   * Everything from a "#" character to the end of the line is a comment
-#   * Every non-blank line is a regex fragment which will only match hosts inside URLs
- #
', - 'right-skipcaptcha' => 'کیپچا ٹورن والے کم کیپچا چوں گۓ بنا کرو۔', -); - -/** Pashto (پښتو) - * @author Ahmed-Najib-Biabani-Ibrahimkhel - */ -$messages['ps'] = array( - 'captcha-create' => 'ددې لپاره چې نوی ليکنه ترسره کړی، لطفاً د همدغه ساده شمېرو ځواب په ورکړ شوي چوکاټ کې وليکی ([[Special:Captcha/help|نور مالومات]]):', - 'captchahelp-title' => 'CAPTCHA لارښود', - 'captchahelp-cookies-needed' => 'ددې کړنې د ترسره کېدلو لپاره تاسو ته پکار ده چې د خپل کتنمل (browser) کوکيز (cookies) چارن کړی.', - 'captchahelp-text' => "هغه وېبځايونه چې د ټولو وګړو پر لور د ليکنو د ليکلو لپاره پرانيستي دي، لکه همدا ويکي، ډېر ځل د سپمرګرو لخوا چې اتوماتيک اوزارونه د خپلو د تړنو او وېبپاڼو د خبرتياو په خپرولو کې کاروي، په ناوړه توګه کارېږي. تر هغه وخت پورې چې همدا سپمونه او هماغه تړنې راموندل کېږي او ليرې کېږي، نو تر هغه وخته پورې همدا سپمونه ډېر سرخوږی جوړوي. - -په ځانګړي توګه په يوه مخ کې د يوه وېبځي د تړنې د ورګډولو په وخت کې به ويکي يو ډول ګډوډ رنګين متن ښکاره کړي او له کارن نه به د هماغه متن د ټاپلو غوښتنه شوې وي. - -څرنګه چې جوته ده چې اصلي وګړي کولی شي چې په دې کار کې بريالي شي، خو دې ته ناورته سپامګر ماشينونه او روبوټونه دا ډول کار په خپلکاره توګه نه شي ترسره کولی او پدې توګه د سپامګرو او روبوټونو د غورځنګ مخ نيول کېږي. - -بدبختانه چې دا کار د کارنانو لپاره ستونزه جوړولای شي او هغه څوک چې د سترګو نظر يې کمزوری دی او يا هم د متن پر بنسټ او يا هم د غږ پر بنسټ جوړ شوي کتنملونه کاروي نه شي کولی په آسانۍ سره خپلې سمونې او خپرونې ترسره کړي. - -دم مهال موږ د داسې متنونو غږيز انډول نه لرو. - -که چېرته دا کار تاسې له سمونو او ليکنو خپرولو پاتې راولي نو لطفاً د مرستې لپاره د [[{{MediaWiki:Grouppage-sysop}}|پازوالانو]] سره اړيکه ټينګه کړۍ. - -په خپل کتنمل کې د 'شاکېدلو' تڼۍ کېښکاږۍ چې بېرته پخواني مخ ته وګرځۍ.", -); - -/** Portuguese (português) - * @author 555 - * @author Hamilton Abreu - * @author Malafaya - */ -$messages['pt'] = array( - 'captcha-edit' => 'Para editar esta página, por favor, resolva a soma simples apresentada abaixo e introduza a resposta na caixa ([[Special:Captcha/help|mais informações]]):', - 'captcha-desc' => 'Fornece técnicas CAPTCHA para protecção contra spam e tentativas de adivinhar a palavra-chave', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "A sua edição introduziu links externos novos. -Como prevenção contra sistemas automatizados de inserção de ''spam'', resolva a soma simples apresentada abaixo e introduza a resposta na caixa ([[Special:Captcha/help|mais informações]]):", - 'captcha-badlogin' => 'Como prevenção com sistemas automatizados de descoberta de palavras-chave, resolva a soma simples apresentada abaixo e introduza a resposta na caixa ([[Special:Captcha/help|mais informações]]):', - 'captcha-createaccount' => 'Como prevenção contra sistemas automatizados de criação de contas, resolva a soma simples apresentada abaixo e introduza a resposta na caixa ([[Special:Captcha/help|mais informações]]):', - 'captcha-createaccount-fail' => 'Código incorreto ou não preenchido.', - 'captcha-create' => 'Para criar a página, resolva a soma simples apresentada abaixo e introduza a resposta na caixa ([[Special:Captcha/help|mais informações]]):', - 'captcha-sendemail' => "Como prevenção contra sistemas automatizados de inserção de ''spam'', resolva a soma simples apresentada abaixo e introduza a resposta na caixa ([[Special:Captcha/help|mais informações]]):", - 'captcha-sendemail-fail' => 'Código de confirmação incorrecto ou não preenchido.', - 'captcha-disabledinapi' => 'Esta operação necessita de captcha, por isso não pode ser realizada através da API.', - 'captchahelp-title' => 'Ajuda sobre o CAPTCHA', - 'captchahelp-cookies-needed' => "É necessário possibilitar o uso de ''cookies'' no seu browser para que o ''captcha'' funcione.", - 'captchahelp-text' => "Sites na internet abertos a edição pública, como é o caso desta wiki, são frequentemente abusados por ''spammers'' que utilizam ferramentas automatizadas para inserção em massa de links, em muitos sites. -Embora esses links possam ser removidos, representam um incómodo significativo. - -Por vezes, especialmente quando introduzir links externos novos numa página, a wiki apresentará a imagem de um texto colorido ou distorcido e pedirá que escreva o texto apresentado. -Porque a interpretação do texto apresentado nas imagens é uma tarefa difícil de automatizar, este pedido feito pela wiki permite que a maioria das pessoas façam as suas edições, ao mesmo tempo que inibe edições feitas por ''spammers'' e outros mecanismos automatizados. - -Infelizmente, esta funcionalidade pode revelar-se um inconveniente para utilizadores com limitações visuais ou que utilizam browsers baseados em texto ou voz. -Neste momento, não temos disponível uma alternativa em áudio. -Por favor, contacte os [[{{MediaWiki:Grouppage-sysop}}|administradores]] para assistência, caso a funcionalidade esteja a impedi-lo de fazer edições legítimas. - -Clique o botão 'voltar' do seu browser para voltar à página de edição.", - 'captcha-addurl-whitelist' => ' #
-# A sintaxe é a seguinte:
-#  * Tudo desde um símbolo de cardinal (#) até ao fim da linha é um comentário
-#  * Qualquer linha que não esteja em branco é um fragmento de expressão regular (regex) que será comparado com o servidor das URLs
- #
', - 'right-skipcaptcha' => 'Executar operações desencadeadoras do CAPTCHA sem ter que passar pelo CAPTCHA', -); - -/** Brazilian Portuguese (português do Brasil) - * @author Eduardo.mps - * @author Giro720 - * @author Jesielt - */ -$messages['pt-br'] = array( - 'captcha-edit' => 'Para editar esta página será necessário que você resolva a simples soma abaixo e entre com a resposta no respectivo campo ([[Special:Captcha/help|o que é isto?]])', - 'captcha-desc' => 'Fornece técnicas captcha para proteção contra spam e tentativas de obtenção de senhas', - 'captcha-addurl' => 'Sua edição inclui novas ligações externas. -Para prevenção contra sistemas automatizados que inserem spam, será necessário que você resolva a simples soma abaixo e entre com a resposta no respectivo campo ([[Special:Captcha/help|o que é isto?]])', - 'captcha-badlogin' => 'Como prevenção contra sistemas automatizados de pesquisa e descoberta de senhas, será necessário que você resolva a simples soma abaixo e entre com a resposta no respectivo campo ([[Special:Captcha/help|o que é isto?]])', - 'captcha-createaccount' => 'Como prevenção contra sistemas automatizados de criação de contas, por favor resolva a simples soma abaixo e entre com a resposta no respectivo campo ([[Special:Captcha/help|O que é isto?]]):', - 'captcha-createaccount-fail' => 'Código de confirmação incorreto ou não preenchido.', - 'captcha-create' => 'Para criar a página, por favor resolva a simples soma abaixo e entre com a resposta no respectivo campo ([[Special:Captcha/help|o que é isto?]])', - 'captcha-sendemail' => "Para ajudar a prevenir o ''spam'' automatizado, por favor, resolva a soma simples apresentada abaixo e introduza a resposta na caixa ([[Special:Captcha/help|mais informações]]):", - 'captcha-sendemail-fail' => 'Código de confirmação incorreto ou não preenchido.', - 'captcha-disabledinapi' => 'Esta operação necessita de captcha, por isso não pode ser realizada através da API.', - 'captchahelp-title' => 'Ajuda com o Captcha', - 'captchahelp-cookies-needed' => 'Você precisa ter cookies habilitados em seu navegador para que possa funcionar', - 'captchahelp-text' => "Sites abertos a inserções públicas, como é o caso desta wiki, são vulneráveis a spammers que utilizam ferramentas automatizadas para inserir seus links em diversos locais. -Remover tais ligações posteriormente pode ser um incômodo significativo. - -Algumas vezes, especialmente ao adicionar novas ligações externas a uma página, o wiki exibirá uma imagem com um texto colorido ou distorcido e pedirá que você introduza as palavras exibidas. -Uma vez que essa é uma tarefa um tanto difícil de ser automatizada, ela possibilita que a maioria dos humanos faça as suas inserções ao mesmo tempo que inibe as que forem feitas por spammers e mecanismos automatizados. - -Infelizmente, isso pode ser um inconveniente para usuários com limitações visuais ou que naveguem através de mecanismos baseados em texto ou baseados em voz. -No momento, não está disponível uma alternativa em áudio. -Por favor, contate os [[{{MediaWiki:Grouppage-sysop}}|administradores do sítio]] em casos que seja necessária a assistência de alguém para que você possa fazer as suas inserções legítimas. - -Pressione o botão 'voltar' de seu navegador para retornar à página de edição.", - 'captcha-addurl-whitelist' => ' #
-# A sintaxe é a que se segue:
-#  * Tudo desde o caractere "#" até ao fim da linha é um comentário
-#  * Qualquer linha não vazia é um fragmento de regex que irá apenas verificar o servidor dentro das URLs
-  #
', - 'right-skipcaptcha' => 'Executar ações disparadoras de captcha sem ter que passar pelo captcha', -); - -/** Quechua (Runa Simi) - * @author AlimanRuna - */ -$messages['qu'] = array( - 'captchahelp-title' => 'Captcha nisqamanta yanapay', -); - -/** Romanian (română) - * @author BrokenArrow - * @author Firilacroco - * @author KlaudiuMihaila - * @author Mihai - * @author Minisarm - */ -$messages['ro'] = array( - 'captcha-edit' => 'Editarea include legături externe noi. Pentru a evita spam-ul automat, vă rugăm să rezolvați adunarea de mai jos și introduceți rezultatul în căsuță ([[Special:Captcha/help|detalii]]):', - 'captcha-desc' => 'Oferă implementare de tip CAPTCHA împotriva spamului și încercărilor de aflare a parolelor', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Modificarea dumneavoastră include legături externe noi. -Pentru a proteja wikiul împotriva spamului automat, vă rugăm să rezolvați adunarea de mai jos și introduceți rezultatul în căsuță pentru a salva modificarea ([[Special:Captcha/help|detalii]]):', - 'captcha-badlogin' => 'Ca măsură de protecție împotriva spargerii de parole, vă rugăm să rezolvați adunarea de mai jos și introduceți rezultatul în căsuță ([[Special:Captcha/help|detalii]]):', - 'captcha-createaccount' => 'Pentru a evita crearea automată de conturi, vă rugăm să rezolvați adunarea de mai jos și introduceți rezultatul în căsuță ([[Special:Captcha/help|detalii]]):', - 'captcha-createaccount-fail' => 'Cod de confirmare incorect sau lipsă.', - 'captcha-create' => 'Editarea include legături externe noi. Pentru a evita spam-ul automat, vă rugăm să rezolvați adunarea de mai jos și introduceți rezultatul în căsuță ([[Special:Captcha/help|detalii]]):', - 'captcha-sendemail' => 'Pentru a proteja wikiul împotriva roboților de spam, vă rugăm să rezolvați operația simplă de mai jos și să introduceți răspunsul în căsuță ([[Special:Captcha/help|mai multe detalii]]):', - 'captcha-sendemail-fail' => 'Codul de confirmare lipsește sau este incorect.', - 'captcha-disabledinapi' => 'Această acțiune necesită rezolvarea unui captcha, deci nu poate fi efectuată prin API.', - 'captchahelp-title' => 'Despre „Captcha”', - 'captchahelp-cookies-needed' => 'Trebuie ca browserul dumneavoastră să accepte cookie-uri pentru ca aceasta să funcționeze.', - 'captchahelp-text' => 'Siturile web care acceptă contribuții din partea publicului, precum acest wiki, sunt de obicei victime ale persoanelor care folosesc unelte automate pentru a introduce legături către multe alte situri. -Deși aceste legături de spam pot fi îndepărtate, acest lucru reprezintă o bătaie de cap semnificativă. - -Uneori, mai ales la adăugarea de noi legături web într-o pagină, situl wiki vă poate arăta o imagine cu un text colorat sau distorsionat și veți fi rugat să introduceți cuvintele indicate. -Întrucât rezolvarea acestei cerințe este dificil de automatizat, ea permite majorității persoanelor reale să-și trimită contribuțiile și va opri majoritatea atacatorilor. - -Din nefericire, această metodă îi poate deranja pe utilizatorii cu probleme vizuale sau care folosesc navigatoare bazate pe text sau sunet. În acest moment nu avem o alternativă audio disponibilă. -În cazul în care această practică vă împiedică în mod neașteptat să faceți contribuții legitime, vă rugăm să contactați [[{{MediaWiki:Grouppage-sysop}}|administratorii sitului]]. - -Apăsați butonul „Înapoi” al navigatorului pentru a vă reîntoarce la pagina de editare.', - 'captcha-addurl-whitelist' => ' #
-# Sintaxa este așa cum urmează:
-#   * Toate liniile care încep cu „#” sunt considerate comentarii
-#   * Toate liniile care nu sunt goale sunt fragmente RegEx care vor găsi doar gazda din interiorul URL-urilor
- #
', - 'right-skipcaptcha' => 'Efectuează acțiuni care necesită completarea unui cod CAPTCHA fără a fi nevoie să facă acest lucru', -); - -/** tarandíne (tarandíne) - * @author Joetaras - * @author Reder - */ -$messages['roa-tara'] = array( - 'captcha-edit' => "Pe cangià sta pàgene, pe piacere fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):", - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "'U cangiamende tue inglude de le collegaminde esterne. -Pe aiutà a proteggere condre a 'u spam automateche, pe piacere respunne a 'a domande ca combare sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", - 'captcha-badlogin' => "Pe aiutà a proteggere da le futteminde de passuord automateche, pe piacere fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):", - 'captcha-createaccount-fail' => 'Codece de conferme non corrette o mangande.', - 'captcha-create' => "Pe ccrejà sta pàgene, pe piacere fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):", - 'captcha-sendemail' => "Pe aiutà a proteggere da 'a munnezze automateche, pe piacere fa sta somma facile facile aqquà sotte e mitte 'a resposte jndr'à sckatele ([[Special:Captcha/help|maggiore 'mbormaziune]]):", - 'captcha-sendemail-fail' => 'Codece de conferme non corrette o mangande.', - 'captcha-disabledinapi' => "St'azione ave abbesogne de 'nu captcha, accussì non g'è possibbele eseguirle cu le API.", - 'captchahelp-title' => 'Aijute pu captcha', - 'captchahelp-cookies-needed' => "Tu è abbesogne de avè le cookie abbilitate jndr'à 'u browser tune pe sta fatìe.", - 'captcha-addurl-whitelist' => " #
-# 'A sindasse jè a cumme segue:
-#   * Ogneccose da 'nu carattere \"#\" 'mbonde a fine d'a linèe jè 'nu commende
-#   * Ogne linèe chiene jè 'nu frammende de regex 'u quale addà sulamende combrondarse cu le host jndr'à l'URL
- #
", -); - -/** Russian (русский) - * @author Ahonc - * @author Aleksandrit - * @author Amire80 - * @author Ignatus - * @author Kalan - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'captcha-edit' => 'Чтобы отредактировать эту страницу, пожалуйста, решите простой пример и введите ответ в текстовое поле ([[Special:Captcha/help|подробнее]]):', - 'captcha-desc' => 'Предоставляет методы CAPTCHA для защиты от спама и подбора пароля', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Вы добавляете новые ссылки на внешние сайты. -В целях защиты от автоматического спама необходимо произвести следующее простое вычисление и записать ответ в поле рядом, чтобы правка была сохранена ([[Special:Captcha/help|подробнее]]):', - 'captcha-badlogin' => 'В целях защиты от автоматического взлома пароля, пожалуйста, выполните следующее простое арифметическое действие и введите ответ в текстовое поле ниже ([[Special:Captcha/help|подробнее]]):', - 'captcha-createaccount' => 'Для защиты от автоматической спам-регистрации необходимо выполнить следующее простое вычисление и записать ответ в поле рядом ([[Special:Captcha/help|подробнее]]):', - 'captcha-createaccount-fail' => 'Контрольная комбинация неверна или не введена.', - 'captcha-create' => 'Чтобы создать страницу, решите простой пример и введите ответ в текстовое поле ([[Special:Captcha/help|что это?]]):', - 'captcha-sendemail' => 'В целях защиты от автоматического спама, пожалуйста, вычислите приведённое простое выражение и введите ответ ([[Special:Captcha/help| подробнее]]):', - 'captcha-sendemail-fail' => 'Код подтверждения неправильный или отсутствует.', - 'captcha-disabledinapi' => 'Это действие требует проверки CAPTCHA, и поэтому не может быть выполнено через API.', - 'captchahelp-title' => 'Справка о CAPTCHA', - 'captchahelp-cookies-needed' => 'Вам нужно включить куки в браузере, чтобы эта функция заработала.', - 'captchahelp-text' => 'Веб-сайты, позволяющие добавлять и изменять своё содержимое, в том числе эта вики, часто становятся целью спамеров, использующих программы для автоматического добавления ссылок на сайты. -Хотя такие ссылки могут быть впоследствии удалены, они являются существенной помехой. - -При некоторых действиях — например, при добавлении на страницу новой веб-ссылки — вы можете увидеть специальную картинку с цветным или искажённым текстом, и вам будет предложено ввести этот искажённый текст. -Так как распознавание искажённого текста является сложной задачей для программ, то большинство спамерских и вандальных программ не могут с ней справиться, в то время как люди справляются легко. - -К сожалению, подобная защита может причинить неудобства людям с ограничениями по зрению или тем, кто использует текстовые или читающие браузеры. -В настоящее время у нас нет звуковой альтернативы данной проверке. -Пожалуйста, обратитесь за помощью к [[{{MediaWiki:Grouppage-sysop}}|администраторам]], если подобная проверка мешает вам добросовестно работать с сайтом. - -Нажмите кнопку «Назад» в вашем браузере, чтобы вернуться к редактированию.', - 'captcha-addurl-whitelist' => ' #
-# Описание синтаксиса:
-#  * Всё, начиная с символа "#" и до конца строки считается комментарием
-#  * Каждая непустая строка считается фрагментом регулярного выражения соответствующего имени узла в URL
-  #
', - 'right-skipcaptcha' => 'выполнение требующих CAPTCHA-проверки действий без прохождения CAPTCHA', -); - -/** Rusyn (русиньскый) - * @author Gazeb - */ -$messages['rue'] = array( - 'captcha-edit' => 'Жебысьте могли едітовати тоту сторінку, мусите вырїшыти наступну просту суму і написати резултат. ([[Special:Captcha/help|Што тото значіть?]])', - 'captcha-desc' => 'Забезпечує техніку CAPTCHA про охрану перед спамом і гаданём гесел', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Ваше едітованя обсягує новы одказы формов URL; про охорону перед автоматічным спамом мусите вырїшыти наступну просту суму і написати резултат. ([[Special:Captcha/help|Што тото значіть?]])', - 'captcha-badlogin' => 'В рамках охороны перед автоматічныма пробами угаднути гесло мусите вырїшыти наступну просту суму і написати резултат. ([[Special:Captcha/help|Што тото значіть?]]):', - 'captcha-createaccount' => 'В рамках охороны перед автоматічныма створёванями конт мусите про выконаня реґістрації вырїшыти наступну просту суму і написати резултат. ([[Special:Captcha/help|Што тото значіть?]]):', - 'captcha-createaccount-fail' => 'Хыблячій ці неправилный код підтверджіня.', - 'captcha-create' => 'Жебысьте могли створити тоту сторінку, мусите вырїшыти наступну просту суму і написати резултат. ([[Special:Captcha/help|Што тото значіть?]])', - 'captcha-sendemail' => 'В рамках охороны перед автоматічным спамом мусите вырїшыти наступну просту суму і написати резултат. ([[Special:Captcha/help|Што тото значіть?]]):', - 'captcha-sendemail-fail' => 'Хыблячій ці неправилный код підтверджіня.', - 'captcha-disabledinapi' => 'Тота операція потребує сповнїня CAPTCHA, также ся не дасть выконати средством API.', - 'captchahelp-title' => 'Поміч про CAPTCHA', - 'captchahelp-cookies-needed' => 'Абы то фунґовало, мусите мати у своїм переглядачу запнуты кукі.', - 'captchahelp-text' => 'Вебовы сторінкы, до котрых можуть приспівати їх навщівници (як наприклад тота вікі), суть часто цілём спамерів, котры за помочі автоматічных інштрументів вкладають свої одказы на велике множество сторінок. І наперек тому, же тот спам ся дасть одстранити, представлює неприємне отровованя. - -Даколи, окремо почас придаваня новых вебовых одказів, вам може вікі указати образок фаребного ці поскручаного тексту і пожадати вас о описаня зображеных знаків. Кідьже таку задачу не годен легко автоматізовати, реалны люде можуть дале приспівати, але векшыну спамерів і іншых роботічных атакерів тото заставить. - -На жаль тото може представляти неприємный проблем про хоснователїв постиженых зраково ці голосовы чітачкы. В сучасній добі не маєме алтернатівни звукову верзію. Просиме, контактуйте [[{{MediaWiki:Grouppage-sysop}}|адміністратора сервера]], кідь вам то боронить в хосновным вкладї і треба вам поміч. - -Про навернутя на попередню сторінку стиснийте у своїм переглядачі клапку „назад“.', - 'captcha-addurl-whitelist' => ' #
-# Сінтаксіс є наслїдня:
-#  * Вшытко од знаку „#“ до кінце рядка є коментарь
-#  * Каждый непорожнїй рядок є фраґмент реґуларного выразу, котры ся аплікує лем на назву госта в URL
- #
', - 'right-skipcaptcha' => 'Выконованя дїй споєных з CAPTCHA без потребы їх рїшіня', -); - -/** Sanskrit (संस्कृतम्) - * @author Shubha - */ -$messages['sa'] = array( - 'captcha-edit' => 'इदं पृष्ठं सम्पादयितुं कृपया अधः दत्तायाः गणितसमस्यायाः उत्तरं कोष्टके लिख्यताम् ([[Special:Captcha/help|अधिकविवरणाय]]):', - 'captcha-desc' => 'अनिष्टसन्देशानां कूटशब्दस्य ऊहनं च निवारयितुं क्याप्चा(CAPTCHA)तन्त्रांशः उपलभ्यते', - 'captcha-label' => 'क्याप्चा(CAPTCHA)तन्त्रांशः', - 'captcha-addurl' => 'भवतः सम्पादने नूतनबाह्यानुबन्धाः अन्तर्भूताः । -स्वचालितानिष्टसन्देशेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः दत्तायाः गणितसमस्यायाः उत्तरं मञ्जूषायां लिखतु -([[Special:Captcha/help|more info]]) :', - 'captcha-badlogin' => 'स्वचालिताभ्यः कूटशब्दभेदनेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः दत्तायाः गणितसमस्यायाः उत्तरं मञ्जूषायां लिखतु -([[Special:Captcha/help|more info]]) :', - 'captcha-createaccount' => 'स्वचालिताभ्यः लेखासर्जनेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः दत्तायाः गणितसमस्यायाः उत्तरं मञ्जूषायां लिखतु -([[Special:Captcha/help|more info]]) :', - 'captcha-createaccount-fail' => 'दृढीकरणकूटशब्दः दोषयुक्तः अथवा नष्टः ।', - 'captcha-create' => 'इदं पृष्ठं स्रष्टुं, कृपया अधः दत्तायाः गणितसमस्यायाः उत्तरं कोष्टके लिख्यताम् ([[Special:Captcha/help|अधिकविवरणाय]]):', - 'captcha-sendemail' => 'स्वचालिताभ्यः अनिष्टसन्देशेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः दत्तायाः गणितसमस्यायाः उत्तरं मञ्जूषायां लिखतु -([[Special:Captcha/help|more info]]) :', - 'captcha-sendemail-fail' => 'दृढीकरणकूटशब्दः दोषयुक्तः अथवा नष्टः ।', - 'captcha-disabledinapi' => 'अस्य कार्यस्य निमित्तं क्याप्चातन्त्रांशः अपेक्षितः, अतः इदम् ए पि ऐ द्वारा कर्तुं न शक्यते ।', - 'captchahelp-title' => 'क्याप्चासाहाय्यम्', - 'captchahelp-cookies-needed' => 'अस्य कार्यस्य सम्पादनाय भवतां विचरके कुकीस् इत्येतत् सक्रियं स्यात् ।', - 'captchahelp-text' => "वीकिसदृशानि जालक्षेत्राणि यत्र सार्वजनिकानां लेखाः अङ्गीक्रियन्ते तानि स्वचालितोपकरणैः बहुक्षेत्रेभ्यः सम्पर्कप्रेषकैः अनिष्टसन्देशप्रेषकैः निन्द्यन्ते । -एते अनिष्टसन्देशाः निष्कासयितुं शक्याः, तथापि इदं कार्यं शिरोवेदनायै । -कदाचित्, पृष्ठाय नूतनजालानुबन्धानां योजनावसरे, वीक्या वर्णयुक्तचित्रम् अव्यवस्थितं पाठं वा दर्शयित्वा शब्दलेखनाय सूचयेत् । -इदं कार्यं स्वचालितरूपेण कर्तुं न शक्यते, मानवैः एव करणीयम् इत्यतः अनिष्टसन्देशप्रेषकाः यन्त्रचालितकार्याणि अवरुद्धानि भवन्ति । -दुरदृष्टवशात् एतेन परिमितसंस्करणयुक्तानां योजकानां क्लेशः भवेत् अथवा पाठाधारितानां भाषणाधारितानां जालगवेषकप्रयोक्तॄणामपि कष्टाय भवेत् । -सम्प्रति श्रव्यविकल्पः अस्मत्सविधे न उपलभ्यते । -योग्यलेखानाम् उत्पूरणे अनिरीक्षितक्लेशाः यदि भवन्ति तर्हि साहाय्यार्थम् एतेषां साहाय्यं प्राप्नुवन्तु [[{{MediaWiki:Grouppage-sysop}}|क्षेत्रनिर्वाहकाः]] । -पृष्ठसम्पादकं प्रति गमनाय भवतः जालगवेषके 'पूर्वतनम्' इत्येतं पिञ्जं नुदतु ।", - 'captcha-addurl-whitelist' => ' #
-# अस्य प्रारूपम् एवमस्ति:
-#  * "#" इत्यनेन आरभ्यमाणाः सर्वाः टिप्पण्यः ।
-#  * सर्वा पङ्क्तिः regex fragment विद्यते याः सार्वसङ्केते विद्यमानैः होस्ट्-नामकैः सह संयोजयति
-   #
', - 'right-skipcaptcha' => 'क्याप्चातन्त्रांशस्य प्रवेशं विना क्याप्चा-उद्दीपककार्याणि क्रियन्ताम्', -); - -/** Sakha (саха тыла) - * @author HalanTul - */ -$messages['sah'] = array( - 'captcha-edit' => 'Сирэйи уларытыаххын баҕардаххына, манна баар примеры суоттаа уонна эппиэтин аналлаах сиргэ суруй ([[Special:Captcha/help|сиһилии]]):', - 'captcha-desc' => 'CAPTCHA көмөтүнэн спаамтан уонна киирии тылы уорууттан көмүскэли хааччыйар', - 'captcha-addurl' => 'Тас саайка ыйынньык туруорбуккун; -спаамтан көмүскэнэр соруктаах суолу толор - ойууга баар буукубалары хатылаа:
-([[Special:Captcha/help|Сиһилии]])', - 'captcha-badlogin' => 'Киирии тылы аптамаат алдьаппатын туһугар оҥоһуллубут харыстыыр дьайыыны толор, манна баар примеры суоттаа уонна эппиэтин анал сиргэ суруй ([[Special:Captcha/help|сиһилии]]):', - 'captcha-createaccount' => 'Бэлиэтэнэргэр аптамаатынан алдьатыыттан (спаамтан) харыстыыр соруктаах дьайыыны оҥор, ойууга көстөр буукубалары анал сиргэ киллэр:
-([[Special:Captcha/help|Сиһилии]])', - 'captcha-createaccount-fail' => 'Бигэргэтии куода суох эбэтэр атын.', - 'captcha-create' => 'Сирэйи оҥорорго бу примеры суоттаа ([[Special:Captcha/help|сиһилии]]):', - 'captcha-sendemail' => 'Аптамаат спаамтан көмүскэнэр туһугар, бука диэн, бу дьайыыны суоттаа уонна эппиэтин суруй ([[Special:Captcha/help|сиһилии]]):', - 'captcha-sendemail-fail' => 'Бигэргэтии куода суох эбэтэр атын.', - 'captcha-disabledinapi' => 'Бу дьайыы CAPTCHA нөҥүө эрэ оҥоһуллар, онон API нөҥүө толоруллубат.', - 'captchahelp-title' => 'Captcha көмөтө', - 'captchahelp-cookies-needed' => 'Бу дьайыы үлэлиирин курдук браузергар куукины холбоо.', - 'captchahelp-text' => 'Биһиги саайпыт курдук иһинээҕитин уларытары көҥүллүүр саайтарга сороҕор спам ыытар программалар аптамаатынан бэйэлэрин ыйынньыктарын угаллар. -Оннук аптамаатынан эбиллибит ыйынньыктары суох оҥорор кыах баар эрээри, ол биллэн турар син биир мэһэйдэри үөскэтэр. - -Ол иһин сороҕор, холобур саҥа ыйынньыгы эбэргэ, программа өҥнөөх эбэтэр хаанньары барбыт тиэкистээх ойууну көрдөрөн, ол тиэкиһи анал түннүккэ хатылатыан сөп. -Маннык көрдөһүүнү аптамаат кыайан толорбот, оттон киһи чэпчэкитик толорор. - -Ол гынан баран маннык көмүскэл сорох дьоҥҥо (көрбөт эбэтэр ааҕар браузердары туһанар дьоҥҥо) моһоллору үөскэтиэн сөп. -Билигин бу моһолу суох оҥорор кыах суох. -Оннук мэһэй таҕыстаҕына бука диэн баалама, биир эмит [[{{MediaWiki:Grouppage-sysop}}|дьаһабылга (администраатарга)]] этээр, көмөлөһүө. - -Көннөрүүгэ төттөрү тиийэргэ браузерыҥ «Назад» тимэҕин баттаа.', - 'captcha-addurl-whitelist' => ' #
-# Синтаксиһын быһаарыыта:
-#  * "#" бэлиэттэн строка бүтүөр дылы барыта хос быһаарыы курдук ааҕыллар
-#  * Хас биирдии кураанах буолбатах строка URL сорҕотун курдук ааҕыллар
-  #
', - 'right-skipcaptcha' => 'CAPTCHA-бэрэбиэркэни ааһыахтаах дьайыылары CAPTCHA-та суох толоруу', -); - -/** Sicilian (sicilianu) - * @author Melos - * @author Santu - */ -$messages['scn'] = array( - 'captcha-edit' => 'Pi mudificaru la pàggina è nicissàriu arisòrviri lu sèmprici càlculu prisintati di sècutu e nziriri lu risurtatu nnâ casedda -([[Special:Captcha/help|chiossai nfurmazzioni]]):', - 'captcha-desc' => 'Sèmprici mplimintazzioni di na Captcha', - 'captcha-addurl' => "La mudìfica addumannata junci novi lijami di fora a la pàggina; pi pricauzzioni contr'a lu nzirimentu autumàticu di spam, è nicissarii arisòrviri lu sèmprici càlculu prisintatu di sècutu e nziriri lu risurtatu nnâ casedda ([[Special:Captcha/help|chiossai nfurmazzioni]]):", - 'captcha-badlogin' => "Pi pricauzzioni contr'a li tintativi di furzatura autumàtica dâ password, è nicussàriu arisòrviri lu sèmprici càlculu prusuntatu di sècutu e nziriri lu risurtatu nnâ casedda ([[Special:Captcha/help|chiossai nfurmazzioni]]):", - 'captcha-createaccount' => "Pi pricauzzioni contr'a li tintativi di criazzioni autumàtica di l'account, pi riggistràrisi è nicissàriu arisòrviri lu sèmprici càlculu prisintatu di sècutu e nziriri lu risurtatu nnâ casedda ([[Special:Captcha/help|chiossai nfurmazzioni]]):", - 'captcha-createaccount-fail' => 'Còdici di virìfica sbagghiatu o ca manca.', - 'captcha-create' => 'Pi criari la pàggina è nicissàriu arisòrviri lu sèmprici càlculu prisintatu di sècutu e nziriri lu risurtatu nnâ casedda:
-([[Special:Captcha/help|chiossai nfurmazzioni]]):', - 'captchahelp-title' => "Chi cos'è lu captcha?", - 'captchahelp-cookies-needed' => 'È nicissàriu abbilitari li cookie supra lu browser pi jiri avanti', - 'captchahelp-text' => "Ô spissu accàpita ca li siti Web ca accunzèntunu missaggi pùbbrichi, comu a stu wiki, sù pigghiati di mira di spammer ca ùsanu strumenti autumàtichi pi nziriri lijami pubbricitari ammeri assai nùmmira di siti. Macari ca li lijami ca non sunnu disiati si ponnu livari, sta cosa è, nti ogni casu, na granni camurrìa. - -Nni tanti casi, p'asèmpiu quannu si voli jùnciri novi lijami Web nti na pàggina, lu software wiki pò ammustrari na mmàggini cu nu testu nicu acculuratu e/o difurmatu addumannannu di scrivìrilu nni na finistredda. Siccomu si tratta di na cosa difficili di fari pi nu computer, stu miccanìsimu pirmetti a (quasi tutti) l'utenti riali di cumplitari lu nzirimentu disiatu, mpidennu la trasuta a li chiossai di li spammer e di l'àutri attacchi autumatizzati. - -Pi sfurtuna, stu strataggemma pò mèttiri 'n difficultati a l'utenti ca hannu prubremi di vista o a chiddi ca ùsanu browser testuali o basati supr'a la sìntesi vucali. Purtroppu aoggi non ci sunnu àutri miccanìsimi abbasati supr'a missaggi sunori; si sti pruciduri mpidìsciunu lu nzirimentu di nfurmazzioni ca si pènzanu ca sù liggìttimi, siti prigati di cuntattari [[{{MediaWiki:Grouppage-sysop}}|l'amministraturi dû situ]] e addumannàrini l'assistenza. - -Fari clic supra ô buttuni 'back' dû browser pi turnari a la pàggina di mudìfica.", - 'captcha-addurl-whitelist' => " #
-# La sintassi è chista:
-#  * Tuttu chiddu ca veni doppu nu caràtttrt \"#\" è nu cummentu, nzinu a la fini di la riga
-#  * Tutti li righi npn vacanti sunnu frammenti di sprissioni riulari ca s'àpplicanu a lu sulu nomu di l'host ntê URL
-  #
", - 'right-skipcaptcha' => "Fà l'azzioni ca attivàssiru lu captcha senza passari pi lu captcha", -); - -/** Scots (Scots) - * @author OchAyeTheNoo - */ -$messages['sco'] = array( - 'captcha-edit' => 'Tae edit this airticle, please dae the eisy sum ablo an put the answer in the box ([[Special:Captcha/help|mair info]])', -); - -/** Sinhala (සිංහල) - * @author Budhajeewa - * @author Singhalawap - * @author නන්දිමිතුරු - * @author පසිඳු කාවින්ද - */ -$messages['si'] = array( - 'captcha-edit' => 'මෙම පිටුව සංස්කරණය කිරීමට, කරුණාකර පහත දැක්වෙන සරල එකතුකිරීම විසඳා පිලිතුර කොටුවේ ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩි විස්තර]]):', - 'captcha-desc' => 'ස්පෑම් සහ මුරපද-අනුමාන වලන් ආරක්ෂාව සදහා කැප්චා තාක්ෂණය සපයනු ලැබේ', - 'captcha-label' => 'කැප්චා', - 'captcha-addurl' => 'ඔබගේ සංස්කරණයෙහි නව බාහිර සබැඳියන් අඩංගුයි. -ස්වයංක්‍රීය අයාචිත තැපෑලෙන් ආරක්ෂා වනු වස්, පහත සරල ගණිත ගැටළුව විසඳා පිළිතුර කොටුවෙහි ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩිමනත් තොරතුරු]]):', - 'captcha-badlogin' => 'ස්වයංක්‍රීය මුරපද බිඳීම වලක්වනු වස්, පහත සරල ගණිත ගැටළුව විසඳා පිළිතුර කොටුවෙහි ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩිමනත් තොරතුරු]]):', - 'captcha-createaccount' => 'ස්වයංක්‍රීය ගිණුම් තැනීමෙන් ආරක්ෂා කිරීමට උදවු කරනු වස්, කරුණාකර පහත දැක්වෙන සරල එකතුකිරීම විසඳා පිලිතුර කොටුවේ ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩි විස්තර]]):', - 'captcha-createaccount-fail' => 'තහවුරුකිරීමේ කේතය එක්කෝ සාවද්‍යයි නැතිනම් සො‍යාගත නොහැක.', - 'captcha-create' => 'මෙම පිටුව තැනීමට, කරුණාකර පහත දැක්වෙන සරල එකතුකිරීම විසඳා පිලිතුර කොටුවේ ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩි විස්තර]]):', - 'captcha-sendemail' => 'ස්‍වයංක්‍රීය ස්පෑම්කරණයන්ගෙන් වැලකීමට, කරුණාකර පහත දැක්වෙන සරල එකතුකිරීම විසඳා පිලිතුර කොටුවේ ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩි විස්තර]]):', - 'captcha-sendemail-fail' => 'තහවුරුකෙරුම් කේතය සොයාගත නොහැකි හෝ වැරදිය.', - 'captcha-disabledinapi' => 'මෙම ක්‍රියාවට කැප්චාවක් අවැසි නිසා එය API හරහා කළ නොහැක.', - 'captchahelp-title' => 'Captcha උදවු', - 'captchahelp-cookies-needed' => 'මෙය ක්‍රියාත්මක වීමට නම් ඔබ විසින් ඔබගේ බ්‍රවුසරයෙහි කුකීස් සක්‍රිය කොට තිබිය යුතුය.', - 'captchahelp-text' => 'මහජනයාගේ පළකෙරුම් පිළිගන්නා මෙවන් විකි වැනි අඩවි තමන්ගේ අඩවියන් වෙත සබැඳි ඇතුලත් කිරීමට ස්‍වයංක්‍රීය මෙවලම් භාවිතා කරන ස්පෑම්කරුවන්ගේ අයතා භාවිතයට ගොදුරු වේ. මෙම සබැඳියන් ඉවත් කළ හැකි වුවද, ඒවා ඉතාමත් කරදරකාරීය. - -ඇතැම් විට, විශේෂයෙන්ම පිටුවකට සබැඳියක් එක් කරනා විට, විකිය විසින් ඔබට වර්ණිත හෝ විකෘතිත පෙළක් පෙන්වා එහි සඳහන් වදන් යතුරුලියන ලෙස ඔබෙන් ඉල්ලනු ඇති. -එය ස්‍වයංකෙරුමට අසීරු ක්‍රියාවක් බැවින් එය මගින් සැබෑ මිනිසුන්ට ලිපි ලියුමට ඉඩ දෙන අතරම බොහෝමයක් ස්පෑම්කරුවන් හා ස්‍වයංක්‍රීය පහරදීම් වලක්වනු ඇති. - -නමුත් අවාසනාවකට මෙය නිසා දෘෂ්ඨි දෝෂ සහිත හෝ පෙළ-පාදක හෝ කථන-පාදක වෙබ් පිරික්සක භාවිතා කරන පරිශීලකයන් අපහසුතාවට පත් වනු ඇත. -මේ වන විට අප සතුව ශ්‍රව්‍ය විකල්පයක් නොමැත. - -මෙය නිසා ඔබට ලිපි ලිවීම දැඩි ලෙස කරදරකාරී වී ඇත්නම් කරුණාකර සහය සඳහා [[{{MediaWiki:Grouppage-sysop}}|අඩවි පරිපාලකයන්]] සම්බන්ධ කරගන්න. - -පිටු සකසනයට ආපසු යාම සඳහා ඔබේ වෙබ් පිරික්සකයේ "පසුපසට" බොත්තම තද කරන්න.', - 'captcha-addurl-whitelist' => '#
-# වාග් රීතිය පහත පරිදි වේ:
-#   * "#" අක්ෂරයක සිට පේළියක අග දක්වා සියල්ල පරිකථනයක් වේ
-#   * සෑම නො-හිස්  පේළියක්ම, කලාප ලිපිනයන් (URL) තුල සත්කාරකයන් පමණක් ගලපන නිත්ප්‍රකා (නිත්‍ය ප්‍රකාශන) ඛණ්ඩයක් වේ
- #
', - 'right-skipcaptcha' => 'captcha පරික්ෂා කීරීම සිදුකිරීමෙන් වැලකෙමින් captcha පූරනකාරක ක්‍රියාවලීන් සිදුකරන්න', -); - -/** Slovak (slovenčina) - * @author Helix84 - */ -$messages['sk'] = array( - 'captcha-edit' => 'Aby ste mohli upravovať túto stránku, vyriešte prosím tento jednoduchý súčet a napíšte výsledok do poľa ([[Special:Captcha/help|viac informácií]]):', - 'captcha-desc' => 'Poskytuje techniky captcha na ochranu pred spamom a hádaním hesla', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Vaša úprava obsahuje nové externé odkazy. Ako pomoc pri ochrane pred automatickým spamom vyriešte prosím tento jednoduchý súčet a zadajte výsledok do poľa ([[Special:Captcha/help|viac informácií]]):', - 'captcha-badlogin' => 'Ako ochranu proti automatizovanému lámaniu hesiel, prosím vyriešte nasledujúci súčet a zadajte ho do poľa pre odpoveď ([[Special:Captcha/help|viac informácií]]):', - 'captcha-createaccount' => 'Kvôli ochrane proti automatizovanému spamu je potrebné napísať slová zobrazené na tomto obrázku, až potom bude vytvorený nový účet: -
([[Special:Captcha/help|Čo je toto?]])', - 'captcha-createaccount-fail' => 'Nesprávny alebo chýbajúci potvrdzovací kód.', - 'captcha-create' => 'Aby ste mohli vytvoriť túto stránku, vyriešte prosím tento jednoduchý súčet a napíšte výsledok do poľa ([[Special:Captcha/help|viac informácií]]):', - 'captcha-sendemail' => 'Ako pomoc pri ochrane pred automatickým spamom, prosím, vyriešite nasledujúci jednoduchý súčet a napíšte odpoveď do poľa ([[Special:Captcha/help|ďalšie informácie]]):', - 'captcha-sendemail-fail' => 'Nesprávny alebo chýbajúci potvrdzovací kód.', - 'captcha-disabledinapi' => 'Táto operácia vyžaduje captcha, preto nemôže byť vykonaná prostredníctvom rozhrania API.', - 'captchahelp-title' => 'Pomocník ku captcha', - 'captchahelp-cookies-needed' => 'Aby toto fungovalo, budete si musieť v prehliadači zapnúť koláčiky (cookies).', - 'captchahelp-text' => 'Webstránky prijímajúce príspevky od verejnosti ako táto wiki sú často cieľom zneužitia spammermi, ktorí používajú automatizované nástroje na to, aby svoje odkazy umiestnili na množstvo stránok. Hoci je možné tieto odkazy odstrániť, zbytočne to zaťažuje používateľov. - -Niekedy, obzvlášť keď pridávate webové odkazy k článkom, wiki vám môže zobraziť obrázok so zafarbeným alebo pokriveným textom a požiadať vás o prepísanie zobrazených slov. Keďže takúto úlohu je ťažké zautomatizovať a umožní skutočným ľuďom poslať svoje príspevky, zastaví to väčšinu spammerov a iných robotických útočníkov. - -Nanešťastie, môže to byť prekážkou pre používateľov so zrakovým postihnutím alebo tých, ktorí používajú textové alebo hovoriace prehliadače. Momentálne nemáme dostupnú audio zvukovú alternatívu. Kontaktujte prosím [[{{MediaWiki:Grouppage-sysop}}|správcov stránok]] ak vám to neočakávane komplikuje umiestňovanie oprávnených príspevkov. - -Stlačením tlačidla „späť“ vo vašom prehliadači sa vrátite do editora stránky.', - 'captcha-addurl-whitelist' => ' #
-# Syntax je nasledovná:
-#   * Všetko od znaku „#“ do konca riadka je komentár
-#   * Každý neprázdny riadok je fragment regulárneho výrazu, ktorého zhody budú iba stroje v rámci URL
-  #
', - 'right-skipcaptcha' => 'Vykonávať činnosti spúšťajúce captcha bez toho, aby bolo potrebné vyriešiť captcha', -); - -/** Slovenian (slovenščina) - * @author BrokenArrow - * @author Dbc334 - */ -$messages['sl'] = array( - 'captcha-edit' => 'Če želite urejati stran, prosimo izračunajte preprost seštevek spodaj in odgovor vpišite v polje ([[Special:Captcha/help|več informacij]]):', - 'captcha-desc' => 'Nudi pristope CAPTCHA za zaščito proti smetju in ugibanju gesel', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Vaše urejanje vključuje nove zunanje povezave. -Zaradi zaščite pred samodejno navlako boste morali vpisati besede, ki se pojavijo v okencu ([[Special:Captcha/help|več informacij]]):', - 'captcha-badlogin' => 'Zaradi zaščite pred samodejnim ugotavljanjem gesel prosimo, da rešite preprost seštevek spodaj in vnesete odgovor v okence ([[Special:Captcha/help|več informacij]]):', - 'captcha-createaccount' => 'Zaradi zaščite pred samodejnim ustvarjanjem računov prosimo, da spodaj rešite preprost seštevek in vnesete odgovor v okence ([[Special:Captcha/help|več informacij]]):', - 'captcha-createaccount-fail' => 'Napačna ali manjkajoča potrditvena koda.', - 'captcha-create' => 'Če želite ustvariti stran, prosimo izračunajte preprost seštevek spodaj in odgovor vpišite v polje ([[Special:Captcha/help|več informacij]]):', - 'captcha-sendemail' => 'Zaradi zaščite pred samodejnim smetenjem, prosimo rešite preprost seštevek spodaj in vnesite odgovor v okence ([[Special:Captcha/help|več informacij]]):', - 'captcha-sendemail-fail' => 'Napačna ali manjkajoča potrditvena koda.', - 'captcha-disabledinapi' => 'To dejanje zahteva preverjanje captcha, zato ga ni mogoče izvesti preko API.', - 'captchahelp-title' => 'Pomoč za captcha', - 'captchahelp-cookies-needed' => 'Če želite, da to deluje, boste morali v svojem brskalniku omogočiti piškotke.', - 'captchahelp-text' => 'Spletne strani, ki omogočajo objavljanje širši javnosti, kot na primer ta wiki, pogosto zlorabljajo spamerji, ki za objavo svojih povezav na mnoge strani uporabljajo avtomatizirana orodja. -Čeprav je neželene povezave mogoče odstraniti, so precejšnja nadloga. - -Včasih, zlasti pri dodajanju novih spletnih povezav na stran, vam bo wiki morda prikazal sliko obarvanega ali popačenega besedila in zahteval vpis prikazanih besed. -Ker je to opravilo težko avtomatizirati, bo s tem večini ljudi objavljanje dovoljeno, spamerji in drugi robotski napadalci pa bodo ustavljeni. - -Žal lahko to povzroči nevšečnosti uporabnikom s slabim vidom in tistim, ki uporabljajo besedilne ali govorne brskalnike. -Glasovna možnost trenutno še ni na razpolago. -Če vam to nepričakovano preprečuje legitimno objavo, prosimo, da se obrnete na [[{{MediaWiki:Grouppage-sysop}}|administratorje spletišča]]. - -Za vrnitev v urejevalnik izberite gumb »nazaj« v vašem brskalniku.', - 'captcha-addurl-whitelist' => ' #
-# Skladnja je sledeča:
-#   * Vse od znaka »#« do konca vrstice je pripomba
-#   * Vsaka neprazna vrstica je delec regularnega izraza, ki se bo ujemal samo z gostitelji v URL-jih
- #
', - 'right-skipcaptcha' => 'Izvaja dejanja, ki sprožijo preverjanje captcha, brez da bi moral opraviti preverjanje', -); - -/** Albanian (shqip) - * @author BrokenArrow - * @author Dori - * @author Mikullovci11 - * @author Olsi - */ -$messages['sq'] = array( - 'captcha-edit' => 'Për të redaktuar këtë faqe ju lutem zgjidhni shumën e mëposhtme dhe vendosni përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-desc' => 'Siguron teknika CAPTCHA për të mbrojtur kundër spam', - 'captcha-addurl' => 'Redaktimi juaj ka lidhje URL të reja dhe si mbrojtje kundër abuzimeve automatike duhet të shtypni çfarë shfaqet tek figura e mëposhtme:
([[Special:Captcha|Çfarë është kjo?]])', - 'captcha-badlogin' => 'Për tu mbrojtur nga metoda automatike të gjetjes së fjalëkalimeve ju kërkojmë të gjeni zgjidhni shumën e mëposhtme dhe të vendosni përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-createaccount' => 'Për mbrojtje kundër regjistrimeve automatike duhet të zgjidhni ekuacionin e mëposhtëm para se të hapni llogarinë:
([[Special:Captcha|Çfarë është kjo?]])', - 'captcha-createaccount-fail' => 'Mesazhi që duhej shtypur mungon ose nuk është shtypur siç duhet.', - 'captcha-create' => 'Për të krijuar këtë faqe ju lutem zgjidhni shumën e mëposhtme dhe vendosni përgjigjen në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-sendemail' => 'Për të ndihmuar në mbrojtjen kundër spamit të automatizuar, ju lutemi zgjidhni këtë më poshtë dhe shkruani përgjigjen në kuti -([[Special:Captcha/help|më shumë informacion]]):', - 'captcha-sendemail-fail' => 'Mungon kodi i konfirmimit ose është i pasaktë.', - 'captcha-disabledinapi' => 'Ky veprim kërkon një captcha, kështu që nuk mund të kryhet nëpërmjet API.', - 'captchahelp-title' => 'Ndihmë rreth sistemit "Captcha"', - 'captchahelp-cookies-needed' => 'Duhet të pranoni "biskota" nga shfletuesi juaj për këtë veprim.', - 'captchahelp-text' => 'Faqet e rrjetit që pranojnë shkrime nga publiku, siç është edhe kjo wiki, shpesh abuzohen nga njerëz që duan të përfitojnë duke reklamuar ose promovuar lidhjet e tyre. Këto lloj abuzimesh mund të hiqen kollaj por janë një bezdi dhe shpenzim kohe i papranueshëm. - -Ndonjëherë, sidomos kur po hapni një llogari të re apo kur po shtoni lidhje të reja nëpërmjet redaktimit tuaj, sistemi mund t\'ju shfaqi një figurë që përmban fjalë me gërma ose numra të shtrembruara ose me ngjyra të ndryshme të cilat ju duhet të shtypni para se të mund të kryeni veprimin në fjalë. Kjo bëhet pasi është shumë e vështirë për një robot ose mjet automatik të kryejë të njëjtën punë. Kështu mund të dallohet nëse jeni me të vërtetë një njeri apo një robot. Ky lloj sistemi s\'mund të ndalojë tërë abuzimet por ndalon një pjesë të mirë të tyre, sidomos ato që janë automatike dhe të shumta në numër. - -Fatkeqësisht ky lloj sistemi mund të bezdisi përdoruesit me pamje të kufizuar ose ata që përdorin mjete teksti ose shfletues leximi me zë. Tani për tani nuk kemi mundësi për të ofruar një sistem me zë në vend të figurave. Ju lutem lidhuni me [[{{MediaWiki:Grouppage-sysop}}|administruesit]] nëse ky sistem po ju ndalon të jepni kontribute të vlefshme. - -Shtypni butonin "prapa" ("back") të shfletuesit tuaj për tu kthyer tek faqja e mëparshme.', - 'captcha-addurl-whitelist' => ' #
-# Sintaksa është si më poshtë:
-#  * Çdo gjë nga simboli "#" deri në fund të rreshtit është koment
-#  * Çdo rresht jo-bosh është një pjesë regex që duhet t\'i përputhet emrat të shërbyesve brenda një URL-i
-  #
', - 'right-skipcaptcha' => 'Kryen veprime CAPTCHA-triggering pa pasur nevojë të shkojë nëpërmjet CAPTCHA', -); - -/** Serbian (Cyrillic script) (српски (ћирилица)‎) - * @author Millosh - * @author Rancher - */ -$messages['sr-ec'] = array( - 'captcha-edit' => 'За измену ове стране, реши једноставан збри испод и унеси одговор у кутију ([[Special:Captcha/help|детаљније]]):', - 'captcha-desc' => 'Пружа заштиту против непожељних порука у виду потврдног кода', - 'captcha-addurl' => 'Ваша измена садржи нове спољашње везе. -У циљу заштите од непожељних порука, решите просту рачуницу испод и унесите одговор у поље ([[Special:Captcha/help|више информација]]):', - 'captcha-badlogin' => 'У циљу заштите од пробијања лозинки, решите просту рачуницу испод и унесите одговор у поље ([[Special:Captcha/help|више информација]]):', - 'captcha-createaccount' => 'У циљу заштите од самоотварања налога, решите просту рачуницу испод и унесите одговор у поље ([[Special:Captcha/help|више информација]]):', - 'captcha-createaccount-fail' => 'Неправилан или непостојећи код за потврду.', - 'captcha-create' => 'Да бисте направили страницу, решите просту рачуницу испод и унесите одговор у поље ([[Special:Captcha/help|више информација]]):', - 'captcha-sendemail' => 'У циљу заштите од слања непожељних порука, решите просту рачуницу испод и унесите одговор у поље ([[Special:Captcha/help|више информација]]):', - 'captcha-sendemail-fail' => 'Неправилан или непостојећи код за потврду.', - 'captchahelp-title' => 'Помоћ око потврдног кôда', - 'captchahelp-cookies-needed' => 'Потребно је да омогућите колачиће да би ово радило.', - 'right-skipcaptcha' => 'прескакање радњи које захтевају унос потврдног кода', -); - -/** Serbian (Latin script) (srpski (latinica)‎) - * @author Michaello - */ -$messages['sr-el'] = array( - 'captcha-edit' => 'Za izmenu ove strane, reši jednostavan zbri ispod i unesi odgovor u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'captcha-desc' => 'Pruža zaštitu protiv nepoželjnih poruka u vidu potvrdnog koda', - 'captcha-addurl' => 'Tvoja izmena uključuje nove spoljašnje veze. U cilju zaštite protiv automatskog spama, reši jednostavan zbir ispod i upiši odgovor u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'captcha-badlogin' => 'U cilju zaštite od automatske provale u lozinku, reši jednostavan zbir ispod i unesi odgovor u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'captcha-createaccount' => 'U cilju zaštite od automatskog stvaranja naloga, reši jednostavan zbir dole i unesi ga u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'captcha-createaccount-fail' => 'Nepravilan ili nepostojeći kod za potvrdu.', - 'captcha-create' => 'Za stvaranje strane reši jednostavan zbir dole i unesi ga u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'captcha-sendemail-fail' => 'Nepravilan ili nepostojeći kod za potvrdu.', - 'captchahelp-title' => 'pomoć za kapču', - 'captchahelp-cookies-needed' => 'Da bi ovo uradio, neophodno je da su ti kolačići omogućeni u brauzeru.', - 'right-skipcaptcha' => 'Izvedi akcije kapče bez potrebe da se prođe kroz kapču.', -); - -/** Seeltersk (Seeltersk) - * @author Pyt - */ -$messages['stq'] = array( - 'captcha-edit' => 'Tou Beoarbaidenge fon ju Siede löös ätterfoulgjende Reekenapgoawe un dräch dät Resultoat in dät Fäild hierunner ien [[Special:Captcha/help|(Froagen of Probleme?)]]:', - 'captcha-desc' => 'Eenfache Captcha-Implementierenge', - 'captcha-addurl' => 'Dien Beoarbaidenge änthaalt näie externe Ferbiendengen. -Toun Skuts foar automatisierde Spammenge löös ju ätterfoulgjende Reekenapgoawe un dräch dät Resultoat in dät Fäild hierunner ien. -Klik dan fonnäien ap „Siede spiekerje“ [[Special:Captcha/help|(Froagen of Probleme?)]].', - 'captcha-badlogin' => 'Toun Skuts foar ne Kompromittierenge fon dien Benutserkonto löös ju ätterfoulgjende Reekenapgoawe un dräch dät Resultoat in dät Fäild hierunner ien [[Special:Captcha/help|(Froagen of Probleme?)]].', - 'captcha-createaccount' => 'Toun Skuts foar automatisierden Anloage fon Benutserkonten löös ju ätterfoulgjende Reekenapgoawe un dräch dät Resultoat in dät Fäild hierunner ien [[Special:Captcha/help|(Froagen of Probleme?)]].', - 'captcha-createaccount-fail' => 'Falske of failjende Bestäätigengscode.', - 'captcha-create' => 'Uum disse Siede tou moakjen, löös ju ätterfoulgjende Reekenapgoawe ap un dräch dät Resultoat in dät Fäild hier unner ien [[Special:Captcha/help|(Froagen of Probleme?)]].', - 'captchahelp-title' => 'Captcha-Hälpe', - 'captchahelp-cookies-needed' => "'''Wichtige Waiwiesenge:''' Der mouten Cookies in dän Browser ferlööwed weese.", - 'captchahelp-text' => "Internetsteeden, do der foar Biedraage fon praktisk älkuneen eepen sunt - so as dät {{SITENAME}}-Wiki — wäide oafte fon Spammere misbruukt, do hiere Ferbiendengen automatisk ap fuul Websieden platzierje. Disse Spam-Ferbiendengen konnen wier wächhoald wäide, man jo sunt n groot Ferträit. - -In fuul Falle, besunners bie dät Bietouföigjen fon näie Webferbiendengen tou ne Siede, kon dät foarkuume, dät dit Wiki ne Bielde mäd n faawigen un fertroalden Text anwiest un deertou apfoardert, do anwiesde Woude ientoutippen. Deer sun Apgoawe man stuur automatisk ouhonneld wäide kon, wäide deertruch do maaste Spammere, do der mäd automatiske Reewen oarbaidje, stopped, wierjuun moanskelke Benutsere hieren Biedraach ouseende konnen. - -Spietelk genouch kon dät tou Meelasje foar Persoone fiere, do der minner goud sjo konnen of text- of sproakbasierde Browsere ferweende. Apstuuns hääbe wie neen Audio-Alternative ferföigboar. -Kontaktier do [[{{MediaWiki:Grouppage-sysop}}|Site-Administratore]] foar Hälpe, wan dit jou Moite rakt bie dät Hoochleeden fon Biedraage. - -Klik ap dän 'Tourääch'-Knoop in jou Browser uum ätter dän Sieden-Editor touräächtougungen.", - 'captcha-addurl-whitelist' => ' #
-#  Syntax:
-#   * Alles fon n #-Teeken bit tou dän Eend fon ju Riege is n Kommentoar
-#   * Älke nit-loose Riege is n Regex-Fragment, dät juunuur den Hostnoome fon ne URL wröiged wäd
-  #
', - 'right-skipcaptcha' => 'Uurspringen fon ju Captcha-Iengoawe', -); - -/** Sundanese (Basa Sunda) - * @author Irwangatot - * @author Kandar - */ -$messages['su'] = array( - 'captcha-edit' => 'Pikeun ngédit artikel ieu, mangga eusian itungan di handap ([[Special:Captcha/help|émbaran lengkep]]):', - 'captcha-desc' => 'Implementasi basajan captcha', - 'captcha-addurl' => 'Éditan anjeun ngawengku tumbu kaluar anyar. -Pikeun nyegah spam, mangga eusian itungan di handap ieu -([[Special:Captcha/help|émbaran lengkep]]):', - 'captcha-createaccount' => 'Pikeun nyegah dijieunna rekening sacara otomatis, mangga eusian itungan di handap ieu ([[Special:Captcha/help|émbaran lengkep]]):', - 'captcha-createaccount-fail' => 'Sandi konfirmasina salah atawa can dieusian.', - 'captcha-create' => 'Pikeun nyieun kacana, mangga eusian itungan di handap ieu ([[Special:Captcha/help|émbaran lengkep]]):', - 'captchahelp-title' => 'Pitulung Captcha', - 'captchahelp-text' => "Ramatloka nu nampa tulisan ti masarakat umum kawas ieu wiki mindeng diganggu ku spammer nu maké pakakas otomatis pikeun midangkeun tumbu-tumbuna ka loba loka. Najan tumbu spam ieu bisa dihapus, ari loba-loba teuing mah matak nyapékeun. - -Sometimes, especially when adding new web links to a page, the wiki may show you an image of colored or distorted text and ask you to type the words shown. Since this is a task that's hard to automate, it will allow most real humans to make their posts while stopping most spammers and other robotic attackers. - -Unfortunately this may inconvenience users with limited vision or using text-based or speech-based browsers. At the moment we do not have an audio alternative available. Please contact the site administrators for assistance if this is unexpectedly preventing you from making legitimate posts. - -You will need to have cookies enabled in your browser for this to work. - -Hit the 'back' button in your browser to return to the page editor.", - 'right-skipcaptcha' => 'Ngalakonan pamicu captcha tanpa ngaliwatan Captcha', -); - -/** Swedish (svenska) - * @author Ainali - * @author Boivie - * @author Lejonel - * @author M.M.S. - * @author MagnusA - * @author Martinwiss - * @author Per - */ -$messages['sv'] = array( - 'captcha-edit' => 'För att redigera den här sidan måste du först skriva svaret på följande -räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-desc' => 'Ger CAPTCHA tekniker för att skydda mot skräppost och lösenordsgissning', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Din ändring innebär nya externa länkar i texten. För att skydda wikin mot automatisk spam måste du skriva svaret på följande räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-badlogin' => 'För att skydda mot wikin mot försök att knäcka lösenord på automatisk väg, måste du skriva svaret på följande räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-createaccount' => 'För att skydda wikin mot automatiskt skapade användarkonton, måste du skriva svaret på följande räkneuppgift i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-createaccount-fail' => 'Bekräftelsekoden är felaktig eller saknas.', - 'captcha-create' => 'För att skapa den här sidan måste du skriva svaret på följande räkneuppgift -i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-sendemail' => 'För att skydda wikin mot automatiska skräpinlägg, ber vi dig att lösa den enkla matematiska ekvationen här nedanför och skriva in svaret i rutan ([[Special:Captcha/help|mer information]]):', - 'captcha-sendemail-fail' => 'Felaktig eller saknad bekräftelsekod.', - 'captcha-disabledinapi' => 'Denna åtgärd kräver en captcha, så den kan inte utföras genom APIet.', - 'captchahelp-title' => 'Captchahjälp', - 'captchahelp-cookies-needed' => 'Du måste ha cookies aktiverade i din webbläsare för att det här ska fungera.', - 'captchahelp-text' => 'Webbplatser som tillåter inlägg från allmänheten, som den här wikin gör, kan missbrukas av spammare som använder ofta automatiserade verktyg för att lägga till länkar på många webbsajter. -Även om dessa spamlänkar kan tas bort så är de till stort besvär. - -Ibland, speciellt då du lägger till nya externa länkar på en sida, visar wikin en bild på en färgad eller förvriden text och ber dig skriva texten som visas. -Eftersom den uppgiften är svår att automatisera, låter den de flesta riktiga människor göra sina redigeringar medan spammare och andra robotattacker stoppas. - -Tyvärr kan det här orsaka problem för användare med nedsatt syn eller som använder text- eller talbaserade webbläsare. -För tillfället finns inga ljudbaserade alternativ tillgängliga. -Kontakta [[{{MediaWiki:Grouppage-sysop}}|webbplatsens administratörer]] för hjälp om det här hindrar dig från att göra legitima ändringar. - -Tryck på bakåtknappen i din webbläsare för att gå tillbaks till sidredigeringsläget.', - 'captcha-addurl-whitelist' => ' #
-# Syntaxen är följande:
-#   * Allting från ett "#" till slutet av en rad är en kommentar
-#   * Varje icketom rad är ett reguljärt uttryck som matchar domänen i en URL
- #
', - 'right-skipcaptcha' => 'Utföra handlingar som normalt kräver "captcha"-bekräftning utan att använda "captcha"', -); - -/** Swahili (Kiswahili) - * @author Stephenwanjau - */ -$messages['sw'] = array( - 'captcha-label' => 'CAPTCHA', - 'captchahelp-title' => 'Usaidizi wa CAPTCHA', -); - -/** Tamil (தமிழ்) - * @author Balajijagadesh - * @author Karthi.dr - * @author Shanmugamp7 - * @author செல்வா - * @author மதனாஹரன் - */ -$messages['ta'] = array( - 'captcha-edit' => 'இப்பக்கத்தைத் தொகுப்பதற்குத் தயவு செய்து கீழேயுள்ள எளிய கூட்டலைத் தீர்த்துப் பெட்டியினுள் விடையை உள்ளிடவும் ([[Special:Captcha/help|கூடிய தகவல்]]):', - 'captcha-label' => 'காப்ச்சா', - 'captcha-addurl' => 'உங்கள் தொகுப்பானது புதிய வெளியிணைப்புகளைக் கொண்டுள்ளது. -தானியங்கு எரிதத்திலிருந்து பாதுகாக்க உதவுவதற்காகத் தயவு செய்து கீழேயுள்ள எளிய கூட்டலைத் தீர்த்துப் பெட்டியில் விடையை உள்ளிடவும் ([[Special:Captcha/help|கூடிய தகவல்]]):', - 'captcha-badlogin' => 'தானியங்கு கடவுச் சொல் உடைத்தலிலிருந்து பாதுகாக்க உதவுவதற்காகத் தயவு செய்து கீழேயுள்ள எளிய கூட்டலைத் தீர்த்துப் பெட்டியினுள் விடையை உள்ளிடவும் ([[Special:Captcha/help|கூடிய தகவல்]]):', - 'captcha-createaccount' => 'தானியங்கு கணக்கு உருவாக்கத்திலிருந்து பாதுகாக்க உதவுவதற்காகத் தயவு செய்து கீழேயுள்ள எளிய கூட்டலைத் தீர்த்து விடையைப் பெட்டியினுள் உள்ளிடவும் ([[Special:Captcha/help|கூடிய தகவல்]]):', - 'captcha-createaccount-fail' => 'தவறான அல்லது குறையுடைய உறுதிப்படுத்தல் குறியீடு.', - 'captcha-create' => 'பக்கத்தை உருவாக்குவதற்குத் தயவு செய்து கீழேயுள்ள எளிய கூட்டலைத் தீர்த்துப் பெட்டியினுள் விடையை உள்ளிடவும் ([[Special:Captcha/help|கூடிய தகவல்]]):', - 'captcha-sendemail-fail' => 'தவறான அல்லது குறையுடைய உறுதிப்படுத்தல் குறியீடு.', - 'captcha-disabledinapi' => 'இச்செயற்பாட்டிற்கு காப்சா (நெளியெழுத்து) தேவை, ஆகவே இதனை ஏபிஐ (API) வழியாக செய்ய முடியாது.', - 'captchahelp-title' => 'CAPTCHA உதவி', - 'captchahelp-cookies-needed' => 'உங்கள் உலாவியில் நினைவிகளைச் செயல்படுத்தினால் தான் இது வேலை செய்யும்.', - 'captchahelp-text' => 'பொதுமக்கள் பங்களிப்பைப் பெறும் இது போன்ற இணையத்தளங்கள் பல நேரங்களில் விசமிகளால் தவறாகப் பயன்படுத்தப்படுகின்றன. விசமிகள் தானியங்கி மூலம் தங்கள் இணைப்புகளைப் பதிவேற்றுகின்றனர். இவற்றை நீக்க முடியுமென்றாலும் இது ஒரு முக்கியமான தொல்லையே. - -எனவே, சில நேரங்களில் விக்கியில் புதிய இணைய இணைப்பை நீங்கள் சேர்க்கும் போது உங்களுக்குக் காட்டப்படும் சற்று கோணலான அல்லது பல்வண்ண எண்ணெழுத்துப் படத்தை நீங்கள் சரியாகத் தட்டச்சு செய்ய வேண்டியிருக்கும். - -பார்வைக் குறைபாடு உடையோர், முதியோர் மற்றும் வெறும் வார்த்தைகள் அல்லது ஒலி அடிப்படையிலான உலாவிகளைப் பயன்படுத்துவோருக்கு இது துரதிஷ்டவசமாகத் தொல்லையளிக்கக் கூடும். - -இச்சமயத்தில் எழுத்துகளுக்கான ஒலி மாற்று எங்களிடம் இல்லை. உங்களுக்கு ஏதேனும் உதவி தேவைப்பட்டால் [[{{MediaWiki:Grouppage-sysop}}|site administrators]] ஐத் தொடர்பு கொள்ளவும். - -தொகுத்தல் பக்கத்திற்குச் செல்ல உங்கள் உலாவியில் “பின்செல்” பொத்தானை அழுத்தவும்.', -); - -/** Telugu (తెలుగు) - * @author Chaduvari - * @author Kiranmayee - * @author Mpradeep - * @author Veeven - */ -$messages['te'] = array( - 'captcha-edit' => 'ఈ పేజీని సరిదిద్దడానికి, కింది ఇచ్చిన చిన్న లెక్కని చేసి జవాబుని పక్కనున్న పెట్టెలో టైపు చెయ్యండి ([[ప్రత్యేక:Captcha/help|మరింత సమాచారం]]):', - 'captcha-desc' => 'సరళమైన అమకవేప అమలు', - 'captcha-addurl' => 'మీ దిద్దుబాటులో కొత్త బయటి లింకులు ఉన్నాయి. ఆటోమేటెడ్ స్పాము నుండి రక్షించేందుకు గాను, కింద ఇచ్చిన లెక్క యొక్క జవాబును ఇక్కడున్న పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):', - 'captcha-badlogin' => 'పాసువోర్డును బాట్ల ద్వారా తెలుసుకోకుండా ఉండేందుకు, కింద ఇచ్చిన లెక్క యొక్క జవాబును ఇక్కడున్న పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):', - 'captcha-createaccount' => 'బాట్ల ద్వారా ఖాతాలను సృష్టించకుండా నిరోధించటానికి, కింద ఇచ్చిన లెక్క యొక్క జవాబును ఇక్కడున్న పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):', - 'captcha-createaccount-fail' => 'దృవీకరించుకోవడానికి విలువ ఇవ్వలేదు లేదా దానిని తప్పుగా ఇచ్చారు.', - 'captcha-create' => 'కొత్తపేజీని సృష్టించడానికి, కింద ఇచ్చిన లెక్క యొక్క జవాబును ఇక్కడున్న పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):', - 'captchahelp-title' => 'ఆమకవేప సహాయం', - 'captchahelp-cookies-needed' => 'ఇది పని చెయ్యాలంటే మీ బ్రౌజరులో కూకీలు సశక్తమై ఉండాలి.', - 'captchahelp-text' => 'ప్రజలనుండి రచనలను స్వీకరించే ఈ వికీ వంటి వెబ్‌సైట్లు, ఆటోమాటిక్ ప్రోగ్రాములతో తమ స్వంత లింకులను చేర్చే స్పాము ముష్కరుల దాడులకు గురవడం తరచూ జరుగుతూ ఉంటుంది. ఆ లింకులను తీసేయడం పెద్ద విషయం కాకపోయినప్పటికీ, అవి తలనెప్పి అనేది మాత్రం నిజం. - -కొన్నిసార్లు, ముఖ్యంగా ఏదైనా పేజీ నుండి బయటకు లింకులు ఇచ్చేటపుడు, వంకర్లు తిరిగిపోయి ఉన్న పదాల బొమ్మను చూపించి ఆ పదాన్ని టైపు చెయ్యమని వికీ మిమ్మల్ని అడగవచ్చు. దీన్ని ఆటోమాటిక్ టూల్సుతో చెయ్యడం చాలా కష్టం కాబట్టి, స్పాము జిత్తులు చెల్లవు; మనుష్యులు మాత్రం మామూలుగానే చెయ్యగలరు. - -దురదృష్టవశాత్తూ, చూపు సరిగా లేనివారికి, టెక్స్టు బ్రౌజర్లు మాత్రమే వాడేవారికి ఇది అసౌకర్యం కలిగిస్తుంది. ప్రస్తుతానికి శబ్దం వినిపించే వెసులుబాటు మాకు లేదు. మీరు రచనలు చెయ్యకుండా ఇది అడ్డుపడుతుంటే, సహాయం కోసం సైటు నిర్వాహకుణ్ణి సంప్రదించండి. -మీరు చెసే విలువయిన, సమ్మతమయిన వ్యాస మార్పులు భద్రపరచటము కుదరకపొతె, దయచేసి [[{{MediaWiki:Grouppage-sysop}}|సైటు నిర్వహణాధికారి]]కి లేఖ రాయండి. - -మీ బ్రౌజర్లోని బ్యాక్(back) మీటను నొక్కి ఇంతకు ముందరి పేజీకి వెళ్ళండి.', - 'captcha-addurl-whitelist' => ' #
-# ఇక్కడ రాయాల్సిన విధానం ఇదీ:
-#  * "#" అనే అక్షరం నుండి ఆ పంక్తి చివరివరకూ వ్యాఖ్యానం
-#  * ఖాళీగా లేని ప్రతీ పంక్తీ ఒక regex భాగము, ఇది పేజీలో ఉన్న URLల్ల యొక్క హోస్టుతో మాత్రమే సరిచూడబడుతుంది
-  #
', - 'right-skipcaptcha' => 'ఆమకవేప ద్వారా పోకుండానే దాని ట్రిగ్గరు చర్యలను అమలు చెయ్యి', -); - -/** Tajik (Cyrillic script) (тоҷикӣ) - * @author Ibrahim - */ -$messages['tg-cyrl'] = array( - 'captcha-edit' => 'Барои вироиши ин мақола, лутфан ҳосили ҷамъи зеринро ҳисоб кунед ва натиҷаро дар ҷаъба ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'captcha-desc' => 'Татбиқи соддаи CAPTCHA', - 'captcha-addurl' => 'Вироиши шумо пайвандҳои ҷадиди хориҷиро дар бар мегирад. Барои кӯмак ба пешгири аз ирсоли худкори ҳаразномаҳо, лутфан ҳосили ҷамъи зеринро ҳисоб кунед ва натиҷаро дар ҷаъба ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'captcha-badlogin' => 'Барои кӯмак ба пешгири аз шикастани калимаи убур, лутфан ҳосили ҷамъи зеринро ҳисоб кунед ва натиҷаро дар ҷаъба ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'captcha-createaccount' => 'Барои кӯмак ба пешгири аз эҷоди худкори ҳисоби корбарӣ, лутфан ҳосили ҷамъи зеринро ҳисоб кунед ва натиҷаро дар ҷаъба ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'captcha-createaccount-fail' => 'Коди таъйид нодуруст ё гумшуда.', - 'captcha-create' => 'Барои эҷоди саҳифа, лутфан ҳосили ҷамъи зеринро ҳисоб кунед ва натиҷаро дар ҷаъба ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'captchahelp-title' => 'Роҳнамои Captcha', - 'captchahelp-cookies-needed' => 'Барои кор кардани он, шумо бояд кукиҳои мурургаратонро фаъол кунед.', - 'captchahelp-text' => "Сомонаҳое, ки имкони тағйир тавассути ҳамагон дар онҳо вуҷуд дорад, монанди ин вики, гоҳ ё ногоҳ тавассути ҳаразнигориҳое, ки тавассути абзорҳои худкор пайванди худро дар чандин сомонаҳо мефиристанд, мавриди сӯъистифода қарор мегиранд. - -Дар пораи аз маворид, ба вижа замоне, ки як пайванди интернетии ҷадид ба саҳифа изофа мешавад, вики метавонад, як тасвир аз ҳуруфи рангӣ ё матни бенурро ба шумо нишон бидиҳад ва аз шумо ворид кардани калимаи нишондодашударо пурсон мешавад. Ба хотири ин ки анҷоми ин кор ба шакли худкор душвор аст, ин амал ба аксари инсонҳое иҷозат медиҳад, ки ба ирсоли матолиб бипардозанд, дар ҳоле ки бештар роботҳои ҳамлакунанда ва ҳаразнигорҳоро мутавақиф мекунад. - -Мутассифона ин равиш мумкин аст, корбароне, ки қувваи босираашон суст ё аз мурургарҳои матнӣ ё овозӣ истифода мекунанд, дучори маҳдудиятҳое бикунад. Дар ҳоли ҳозир ҳеҷ чойгузини савтӣ барои ин равиш мавҷуд нест. Чунончи ин масъала шуморо дучори маҳдудияте дур аз интизор дар ирсоли навиштаҳои миҷоз мекунад, бо мудирони сомона оиди кӯмак тамос бигиред. - -Дар муругаратон тугмаи 'бозгашт'-ро бо пахш кардан ба саҳифаи вироишгар баргардед.", - 'captcha-addurl-whitelist' => ' #
-# Қоида ба ин шакл аст:
-#  * Ҳама чиз аз "#" то охири сатр як тавзеҳ ба назар гирифта мешавад
-#  * Ҳар сатре, ки холӣ набошад як қитъа дар назар гирифта мешавад, ки фақат бо номи мизбони интернетӣ санҷида мешавад
-  #
', -); - -/** Tajik (Latin script) (tojikī) - * @author Liangent - */ -$messages['tg-latn'] = array( - 'captcha-edit' => "Baroi viroişi in maqola, lutfan hosili çam'i zerinro hisob kuned va natiçaro dar ça'ba vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):", - 'captcha-desc' => 'Tatbiqi soddai CAPTCHA', - 'captcha-addurl' => "Viroişi şumo pajvandhoi çadidi xoriçiro dar bar megirad. Baroi kūmak ba peşgiri az irsoli xudkori haraznomaho, lutfan hosili çam'i zerinro hisob kuned va natiçaro dar ça'ba vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):", - 'captcha-badlogin' => "Baroi kūmak ba peşgiri az şikastani kalimai ubur, lutfan hosili çam'i zerinro hisob kuned va natiçaro dar ça'ba vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):", - 'captcha-createaccount' => "Baroi kūmak ba peşgiri az eçodi xudkori hisobi korbarī, lutfan hosili çam'i zerinro hisob kuned va natiçaro dar ça'ba vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):", - 'captcha-createaccount-fail' => "Kodi ta'jid nodurust jo gumşuda.", - 'captcha-create' => "Baroi eçodi sahifa, lutfan hosili çam'i zerinro hisob kuned va natiçaro dar ça'ba vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):", - 'captchahelp-title' => 'Rohnamoi Captcha', - 'captchahelp-cookies-needed' => "Baroi kor kardani on, şumo bojad kukihoi mururgaratonro fa'ol kuned.", - 'captchahelp-text' => "Somonahoe, ki imkoni taƣjir tavassuti hamagon dar onho vuçud dorad, monandi in viki, goh jo nogoh tavassuti haraznigorihoe, ki tavassuti abzorhoi xudkor pajvandi xudro dar candin somonaho mefiristand, mavridi sū'istifoda qaror megirand. - -Dar porai az mavorid, ba viƶa zamone, ki jak pajvandi internetiji çadid ba sahifa izofa meşavad, viki metavonad, jak tasvir az hurufi rangī jo matni benurro ba şumo nişon bidihad va az şumo vorid kardani kalimai nişondodaşudaro purson meşavad. Ba xotiri in ki ançomi in kor ba şakli xudkor duşvor ast, in amal ba aksari insonhoe içozat medihad, ki ba irsoli matolib bipardozand, dar hole ki beştar robothoi hamlakunanda va haraznigorhoro mutavaqif mekunad. - -Mutassifona in raviş mumkin ast, korbarone, ki quvvai bosiraaşon sust jo az mururgarhoi matnī jo ovozī istifoda mekunand, ducori mahdudijathoe bikunad. Dar holi hozir heç cojguzini savtī baroi in raviş mavçud nest. Cunonci in mas'ala şumoro ducori mahdudijate dur az intizor dar irsoli naviştahoi miçoz mekunad, bo mudironi somona oidi kūmak tamos bigired. - -Dar murugaraton tugmai 'bozgaşt'-ro bo paxş kardan ba sahifai viroişgar bargarded.", - 'captcha-addurl-whitelist' => ' #
-# Qoida ba in şakl ast:
-#  * Hama ciz az "#" to oxiri satr jak tavzeh ba nazar girifta meşavad
-#  * Har satre, ki xolī naboşad jak qit\'a dar nazar girifta meşavad, ki faqat bo nomi mizboni internetī sançida meşavad
-  #
', -); - -/** Thai (ไทย) - * @author Passawuth - */ -$messages['th'] = array( - 'captcha-edit' => 'เพื่อที่จะแก้ไขหน้านี้ กรุณาตอบโจทย์ปัญหาทางคณิตศาสตร์ข้างล่าง และใส่คำตอบลงในกล่อง ([[Special:Captcha/help|รายละเอียดเพิ่มเติม]]) :', - 'captcha-addurl' => 'การแก้ไขของคุณมีลิงก์็ไปยังเว็บไซต์ภายนอกด้วย -เพื่อที่จะป้องกันสแปม กรุณาแก้โจทย์ด้านล่าง และพิมพ์คำตอบลงในกล่อง ([[Special:Captcha/help|รายละเอียด]]):', - 'captcha-badlogin' => 'กรุณาแก้โจทย์ด้านล่าง และพิมพ์คำตอบลงในกล่อง เพื่อที่จะป้องกันกา่รแอบแฮครหัสผ่านโดยผู้ไม่หวังดี ([[Special:Captcha/help|รายละเอียด]]):', - 'captcha-createaccount' => 'กรุณาแก้โจทย์ด้านล่าง และพิมพ์คำตอบลงในกล่อง เพื่อที่จะป้องกันการสร้างบัญชีผู้ใช้โดยผู้ไม่หวังดี ([[Special:Captcha/help|รายละเอียด]]):', - 'captcha-createaccount-fail' => 'โค้ดสำหรับการยืนยันยังไม่ได้ใส่หรือผิด', - 'captcha-create' => 'กรุณาแก้โจทย์ด้านล่าง และพิมพ์คำตอบลงในกล่อง เพื่อที่จะสร้างหน้า -([[Special:Captcha/help|รายละเอียด]]):', - 'captchahelp-title' => 'เกี่ยวกับแคปต์ชา', - 'captchahelp-cookies-needed' => 'คุณต้องอนุญาตคุกกี้บนเว็บบราวเซอร์ของคุณ เพื่อที่คุณจะสามารถล็อกอินได้', -); - -/** Turkmen (Türkmençe) - * @author Hanberke - */ -$messages['tk'] = array( - 'captcha-edit' => 'Bu sahypany redaktirlemek üçin, aşakdaky meselni çözüň we jogaby gutynyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', - 'captcha-desc' => 'Ýönekeý captcha ama aşyrylyşy', - 'captcha-addurl' => 'Özgerdişiňizde täze daşarky çykgytlar bar. -Awtomatik spamdan goranmak üçin, aşakdaky ýönekeý soraga jogap beriň we jogaby gutynyň içine ýazyň ([[Special:Captcha/help|giňişleýin maglumat]]):', - 'captcha-badlogin' => 'Awtomat parol döwmeklikden goranmaga kömekleşmek üçin, aşakdaky meseläni çözüň we jogaby gutynyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', - 'captcha-createaccount' => 'Awtomat hasap döredilmeginden goranmaga kömekleşmek üçin, aşakdaky meseläni çözüň we jogaby gutynyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', - 'captcha-createaccount-fail' => 'Nädogry ýa-da kem tassyklama kody.', - 'captcha-create' => 'Sahypany döretmek üçin, aşakdaky meseläni çözüň we jogaby gutynyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', - 'captcha-sendemail' => 'Awtomat spamdan goranmaga kömekleşmek üçin, aşakdaky meseläni çözüň we jogaby gutynyň içine ýazyň ([[Special:Captcha/help|giňişleýin maglumat]]):', - 'captcha-sendemail-fail' => 'Nädogry ýa-da kem tassyklama kody.', - 'captcha-disabledinapi' => 'Bu iş captcha talap edýär, şonuň üçin hem ony API bilen berjaý edip bolmaýar.', - 'captchahelp-title' => 'Captcha ýardamy', - 'captchahelp-cookies-needed' => 'Munuň işlemegi üçin brauzeriňiziň kukileri kabul etmegi gerek.', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'captcha-edit' => 'Para magawaan ng pagbabago ang pahinang ito, pakisagot lamang ang payak na pagtutuos na nasa ibaba at ipasok ang sagot sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'captcha-desc' => 'Nagbibigay ng mga pamamaraan ng CAPTCHA upang maisanggalang laban sa mga basurang e-liham at panghuhula ng hudyat', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => "Kasama sa mga pagbabagong ginawa mo ang bagong panlabas na mga kawing. -Upang makatulong sa pagsasanggalang laban sa mga kusang dumarating na \"manlulusob\" (''spam''), pakisagot ang payak na pagtutuos sa ibaba at ipasok ang sagot sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):", - 'captcha-badlogin' => 'Upang makatulong sa pagsasanggalang laban sa mga kusang paglutas ng hudyat, pakisagot lamang payak na pagtutuos na nasa ibaba at ipasok ang sagot sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'captcha-createaccount' => 'Upang makatulong sa pagsasanggalang laban sa kusang paglikha ng kuwenta, pakisagot ang payak na pagtutuos na nasa ibaba at ipasok ang sagot sa loob ng kahon ([[Special:Captcha/help|masa marami pang kabatiran]]):', - 'captcha-createaccount-fail' => 'Hindi tama o nawawalang kodigo ng pagpapatotoo.', - 'captcha-create' => 'Upang malikha ang pahina, pakisagot lamang ang payak na pagtutuos na nasa ibaba at ipasok ang sagot sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'captcha-sendemail' => 'Upang makatulong sa pagsasanggalang laban sa mga kusang pagsalakay ng ispam, pakisagot ang payak na pagtutuos na nasa ibaba at ipasok ang sagot sa loob ng kahong ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'captcha-sendemail-fail' => 'Hindi tama o nawawalang kodigo ng pagpapatotoo.', - 'captcha-disabledinapi' => 'Ang aksyon na ito ay nangangailangan ng isang captcha, kaya hindi ito maaring gawin sa pamamagitan ng API.', - 'captchahelp-title' => "Tulong na pangpagsusuring ''captcha''", - 'captchahelp-cookies-needed' => "Kinakailangan mong magkaroon ng mga gumaganang mga \"otap\" (''cookies'') sa loob ng pantingin-tingin (''browser'') mo upang maisagawa ito.", - 'captchahelp-text' => "Ang mga websayt na tumatanggap ng mga pagpapaskil mula sa madla, katulad ng wiking ito, ay kalimitang inaabuso ng mga tagapagpadala ng mga manlulusob na gumagamit ng kusang mga kagamitan upang makapagpaskil ng kanilang mga kawing sa maraming mga sityo. -Bagaman maaaring matanggal ang mga kawing na pangmanlulusob na ito, isa silang malaking abala. - -Kung minsan, lalo na kapag nagdaragdag ng bagong mga kawing na pangweb sa isang pahina, maaaring magpakita sa iyo ang wiki ng isang larawan ng may kulay o may masamang hubog na teksto at hihilingin kang magmakinilya ng ipinapakitang mga salita. -Dahil sa isa itong gawaing mahirap na gawing kusa, napapahintulutan nito ang halos lahat ng mga tunay na tao upang magawa ang kanilang mga pagpapaskil habang pinipigil ang karamihan sa mga nagpapadala ng mga ispam' at iba pang mala-robot na mga manlulusob. - -Sa kasawiang palad maaaring hindi makaginhawa ito sa mga tagagamit na may malabong paningin o gumagamit ng pangteksto o pangpagsasalitang mga pantingin-tingin. -Sa ngayon wala pa kaming pamalit na isang pangpandinig. -Makipag-ugnayan lamang sa [[{{MediaWiki:Grouppage-sysop}}|mga tagapangasiwa ng sityo]] para humingi ng tulong kapag hindi inaasahang mapigilan ka sa pagsasagawa ng mga tunay na pagpapaskil. - -Pindutin ang pindutang 'bumalik' sa iyong pantingin-tingin upang makabalik sa pahinang pampatnugot.", - 'captcha-addurl-whitelist' => " #
-# Ang palaugnayan ay ayon sa mga sumusunod:
-#  * Lahat ng bagay mula sa isang \"#\" na panitik hanggang sa wakas ng isang guhit/hanay ay isang puna (kumento)
-#  * Bawat hindi/walang patlang na guhit/hanay ay isang piraso ng karaniwang pagsasaad (''regex'') na tutugma lamang sa mga tagapagpasinaya sa loob ng mga URL
-  #
", - 'right-skipcaptcha' => "Gawin ang mga galaw na nakapagsasanhi ng pagsusuring ''captcha'' na hindi kinakailangang dumaan sa ''captcha''", -); - -/** Turkish (Türkçe) - * @author Emperyan - * @author Joseph - * @author Runningfridgesrule - */ -$messages['tr'] = array( - 'captcha-edit' => 'Bu sayfayı değiştirebilmek için lütfen aşağıdaki basit soruyu yanıtlayın ve yanıtı kutunun içine yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'captcha-desc' => 'Spam ve parola tahminine karşı korunmak için "Güvenlik Kodu" (CAPTCHA) tekniği sağlar.', - 'captcha-label' => 'Güvenlik Kodu', - 'captcha-addurl' => 'Değişikliğiniz yeni dış bağlantılar içeriyor. -Otomatik spamdan korunmak için lütfen aşağıdaki basit soruyu yanıtlayın ve yanıtı kutunun içine yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'captcha-badlogin' => 'Otomatik parola çözülmesine karşı korunmak için, lütfen aşağıdaki basit soruyu yanıtlayın ve kutunın içinde yanıtı yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'captcha-createaccount' => 'Otomatik hesap oluşturmaya karşı korunmak için, lütfen aşağıdaki basit soruyu yanıtlayın ve kutunın içinde yanıtı yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'captcha-createaccount-fail' => 'Hatalı ya da eksik onay kodu.', - 'captcha-create' => 'Bu sayfayı oluşturmak için, lütfen aşağıdaki basit soruyu yanıtlayın ve kutunun içinde yanıtı yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'captcha-sendemail' => 'Otomatik spamlara karşı korunmaya yardımcı olmak için, lütfen aşağıdaki basit işlemi çözün ve yanıtı kutuya yazın ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'captcha-sendemail-fail' => 'Hatalı ya da eksik onay kodu.', - 'captcha-disabledinapi' => 'Bu eylem güvenlik kodu gerektiriyor, dolayısıyla API aracılığıyla yapılamaz.', - 'captchahelp-title' => 'Güvenlik kodu yardımı', - 'captchahelp-cookies-needed' => 'Bunun çalışabilmesi için tarayıcınızın çerezleri etkinleştirilmelidir.', - 'captchahelp-text' => "Bu viki gibi dışarıdan katılıma izin veren internet siteleri, pek çok siteye bağlantılar yaratan otomatik araçlarını çalıştıran spamcıların saldırılarına sıklıkla maruz kalırlar. Bu spam nitelikli bağlantılar silinebilir, fakat bu temizlik önemli bir sıkıntı oluşturacaktır. - -Bazen, özellikle bir başka internet sitesine bağlantı eklerken, bozulmuş ve renklendirilmiş harflerden oluşan bir resim gösterilebilir ve sizden bu harfleri kutucuğa girmenizi istenir. Bu, otomatizasyonu oldukça zor bir iş olduğu için, gerçek insanlar bu işlemi yerine getirebilirken, spam yapmaya yarayan araçlar bunu yapmakta zorlanacaklardır. - -Ne var ki bu durum, görme sorunları yaşayan kişiler ve salt yazı-tabanlı ya da salt ses tabanlı internet tarayıcı programları kullanan kimseler için rahatsızlık yaratmaktadır. Ne yazık ki, şu an için sesli bir alternatifimiz bulunmamaktadır. Eğer bu, sizin geçerli gönderiler yapmanıza beklenmedik bir şekilde engel oluyorsa, lütfen destek için [[{{MediaWiki:Grouppage-sysop}}|site yöneticileriyle]] irtibata geçin. - -Sayfa düzenleyiciye dönmek için tarayıcınızın 'geri' tuşuna basınız.", - 'captcha-addurl-whitelist' => ' #
-# Sözdizimi aşağıdaki gibidir:
-#  * "#" karakterinden satır sonuna kadar her şey yorumdur
-#  * Her boş olmayan satır, URL\'ler içinde sadece host ile eşleşen regex parçalarıdır
-  #
', - 'right-skipcaptcha' => 'Güvenlik kodu ile tetiklenen hareketleri, güvenlik kodunu geçme zorunluluğu olmadan yap', -); - -/** Ukrainian (українська) - * @author Ahonc - * @author Alex Khimich - * @author NickK - * @author Olvin - * @author Riwnodennyk - * @author Тест - */ -$messages['uk'] = array( - 'captcha-edit' => 'Щоб відредагувати цю сторінку, будь ласка, виконайте просту арифметичну дію і введіть відповідь у текстове поле ([[Special:Captcha/help|докладніше]]):', - 'captcha-desc' => 'Забезпечує методи CAPTCHA для захисту від спаму і підбору пароля', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Ви додали посилання на зовнішній сайт. -Із метою захисту від автоматичного спаму, будь ласка, виконайте просту арифметичну дію і введіть відповідь у текстове поле ([[Special:Captcha/help|докладніше]]):', - 'captcha-badlogin' => 'Із метою захисту від автоматичного злому пароля, будь ласка, виконайте просту арифметичну дію і введіть відповідь у текстове поле ([[Special:Captcha/help|докладніше]]):', - 'captcha-createaccount' => 'Із метою захисту від автоматичного створення облікового запису, будь ласка, виконайте просту арифметичну дію і введіть відповідь у текстове поле ([[Special:Captcha/help|докладніше]]):', - 'captcha-createaccount-fail' => 'Неправильний або відсутній код підтвердження.', - 'captcha-create' => 'Щоб створити сторінку, будь ласка, виконайте просту арифметичну дію і введіть відповідь у текстове поле ([[Special:Captcha/help|докладніше]]):', - 'captcha-sendemail' => 'З метою захисту від автоматичного спаму, дайте відповідь на простий математичний приклад і введіть відповідь ([[Special:Captcha/help|деталі]]):', - 'captcha-sendemail-fail' => 'Неправильний або відсутній код підтвердження.', - 'captcha-disabledinapi' => 'Ця дія потребує перевірки CAPTCHA, тому не може бути здійснена за допомогою API.', - 'captchahelp-title' => 'Довідка про CAPTCHA', - 'captchahelp-cookies-needed' => 'Вам потрібно ввімкнути куки у браузері, щоб ця функція запрацювала.', - 'captchahelp-text' => 'Веб-сайти, що дозволяють додавати або змінювати свій вміст, у тому числі вікі, часто стають ціллю спамерів, які використовують програми для автоматичного додавання посилань. -Хоча такі посилання і можуть бути вилучені, вони є істотною вадою. - -Іноді, наприклад при додаванні на сторінку нового веб-посилання, вікі може показати вам картинку з кольоровим або спотвореним текстом і запропонувати ввести текст, який ви бачите. -Оскільки подібну задачу важко автоматизувати, це дає можливість більшості людей робити свої зміни, в той час як більшість спамерських і вандальних програм не можуть цього зробити. - -На жаль, подібний захист може спричинити незручності для людей із вадами зору. Зараз у нас нема звукової альтернативи для такої перевірки. Будь ласка, зверніться по допомогу до [[{{MediaWiki:Grouppage-sysop}}|адміністраторів]], якщо подібна перевірка заважає вам добросовісно працювати з сайтом. - -Натисніть кнопку «Назад» у вашому браузері, щоб повернутися до редагування.', - 'captcha-addurl-whitelist' => '#
-# Опис синтаксису:
-#  * Все, що починається з символу "#" до кінця рядка, вважається коментарем
-#  * Кожний непорожній рядок вважається фрагментом регулярного виразу відповідної назви вузла в URL
-   #
', - 'right-skipcaptcha' => 'Виконання дій, що вимагають CAPTCHA-перевірки, без проходження CAPTCHA', -); - -/** vèneto (vèneto) - * @author Candalua - */ -$messages['vec'] = array( - 'captcha-edit' => 'Par modificar la pagina te ghè da risòlvar sto senplice calcolo presentà de seguito e inserir el risultato ne la casela -([[Special:Captcha/help|magiori informazion]]):', - 'captcha-desc' => 'Senplice inplementazion de un Captcha', - 'captcha-addurl' => "La modifica richiesta la zonta dei colegamenti foresti novi a la pagina; come misura precauzional contro l'inserimento automatico de spam, te ghè da risòlvar sto senplice calcolo presentà de seguito e inserir el risultato ne la casela ([[Special:Captcha/help|magiori informazion]]):", - 'captcha-badlogin' => 'Come misura precauzional contro i tentativi de forzatura automatica de la password, te ghè da risòlvar sto senplice calcolo presentà de seguito e inserir el risultato ne la casela ([[Special:Captcha/help|magiori informazion]]):', - 'captcha-createaccount' => 'Come misura precauzional contro i tentativi de creazion automatica dei account, par registrarse te ghè da risòlvar sto senplice calcolo presentà de seguito e inserir el risultato ne la casela ([[Special:Captcha/help|magiori informazion]]):', - 'captcha-createaccount-fail' => 'Codice de verifica sbaglià o mancante.', - 'captcha-create' => 'Per crear la pagina te ghè da risòlvar sto senplice calcolo presentà de seguito e inserir el risultato ne la casela ([[Special:Captcha/help|magiori informazion]]):', - 'captcha-sendemail' => 'Come misura precauzional contro i tentativi de forzatura automatica de la password, te ghè da risòlvar sto senplice calcolo e inserir el risultato ne la casela ([[Special:Captcha/help|magiori informazion]]):', - 'captcha-sendemail-fail' => 'Codice de verifica sbaglià o mancante.', - 'captcha-disabledinapi' => 'Sta azion la richiede un captcha, quindi no se pole farla tramite API.', - 'captchahelp-title' => "Coss'èlo sto captcha?", - 'captchahelp-cookies-needed' => 'Te ghè da verghe i cookies abilità sul to browser par proseguir.', - 'captchahelp-text' => "Sucéde spesso che i siti web che i acèta messagi publici, come sta wiki, i sia tolti de mira da spammer che dòpara strumenti automatici par inserir colegamenti publicitari verso un gran nùmaro de siti. Anca se i colegamenti insiderài i se pol cavar, se trata comunque de na secadura mìa da póco. - -In çerti casi, par esenpio quando se çerca de zontar novi colegamenti web in te na pagina, el software wiki el pol mostrar na imagine con un breve testo colorà e/o distorto, domandàndoghe a l'utente de riscrìvarlo drento na casela fata aposta. Sicome i computer no i xe mìa boni de replicar a la perfezion sta azion, sto mecanismo el ghe consente a (quasi tuti) i utenti reali de conpletar l'inserimento che i volea, inpedéndoghe l'acesso a la magior parte dei spammer e dei altri atachi automatizà. - -Sfortunatamente, ste misure de sicureza le pole métar in dificoltà i utenti che gà problemi de vista o quei che dòpara browser testuali o basà su la sintesi vocale. Purtropo al momento no xe disponibile nissun mecanismo alternativo basà su messagio audio; se ste procedure le inpedisse l'inserimento de informazion che se ritien legìtime, se prega de contatar i [[{{MediaWiki:Grouppage-sysop}}|aministradori del sito]] e domandarghe assistensa. - -Struca el boton \"Indrìo\" del to browser par tornar a la pagina de modifica.", - 'captcha-addurl-whitelist' => ' #
-# La sintassi la xe la seguente:
-#  * Tuto quel che segue un caràtere "#" el xe un comento, fin a la fine de la riga
-#  * Tute le righe mìa vode le xe framenti de espressioni regolari che se àplica al solo nome de l\'host ne le URL
-   #
', - 'right-skipcaptcha' => 'Esegui le funsion de triggering del captcha sensa passar par el captcha', -); - -/** Vietnamese (Tiếng Việt) - * @author Minh Nguyen - * @author Vinhtantran - */ -$messages['vi'] = array( - 'captcha-edit' => 'Để sửa đổi trang này, xin hãy giải phép cộng đơn giản dưới đây và gõ câu trả lời vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-desc' => 'Chống spam và sự đoán mật khẩu dùng CAPTCHA', - 'captcha-label' => 'CAPTCHA', - 'captcha-addurl' => 'Sửa đổi của bạn có chứa các liên kết ra bên ngoài. Để tránh spam tự động trong wiki, xin bạn vui lòng giải phép toán đơn giản ở dưới và nhập kết quả vào ô để lưu giữ các sửa đổi của bạn ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-badlogin' => 'Để tránh vụ tự động bẻ mật khẩu của người dùng wiki, xin bạn vui lòng giải phép cộng đơn giản ở dưới và nhập kết quả vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-createaccount' => 'Để tránh vụ tự động mở tài khoản trong wiki, xin bạn vui lòng giải phép cộng đơn giản ở dưới và nhập kết quả vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-createaccount-fail' => 'Thiếu mã xác nhận hoặc mã xác nhận sai.', - 'captcha-create' => 'Để tạo mới trang, xin hãy giải phép cộng đơn giản ở dưới và gõ -câu trả lời vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-sendemail' => 'Để xác nhận rằng bạn không phải là tay spam, xin bạn vui lòng giải phép cộng đơn giản ở dưới và nhập kết quả vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'captcha-sendemail-fail' => 'Mã xác nhận không chính xác hoặc chưa được cung cấp.', - 'captcha-disabledinapi' => 'Tác vụ này đòi người dùng giải CAPTCHA trước tiên, nên không thể thực hiện nó qua API.', - 'captchahelp-title' => 'Trợ giúp Captcha', - 'captchahelp-cookies-needed' => 'Bạn cần phải bật cookie trong trình duyệt để chức năng này hoạt động được.', - 'captchahelp-text' => 'Những website cho phép bất kỳ ai cũng có thể gửi thông tin, như wiki này, thường bị các tay spam dùng công cụ tự động để gửi các liên kết của họ tới rất nhiều trang. -Tuy chúng ta có thể xóa các liên kết này khỏi trang, chúng vẫn gây nhiều phiền toái. - -Đôi khi, nhất là khi bạn bổ sung liên kết mới vào trang, wiki có thể hiển thị một hình có chữ dạng màu mè và méo mó rồi yêu cầu bạn gõ lại các chữ trong hình này. -Do các phần mềm tự động khó đọc những hình này, nên mọi người bình thường có thể tiếp tục gửi thông tin, mà vẫn chặn được các spam và robot phá hoại. - -Tuy vậy, tính năng này có thể bất tiện đối với những độc giả có thị giác yếu hay đang sử dụng trình duyệt bằng văn bản thuần hay trình duyệt bằng tiếng nói. -Hiện tại chúng tôi chưa có chức năng phát âm thay thế. -Xin hãy liên lạc với [[{{MediaWiki:Grouppage-sysop}}|người quản trị trang web]] để được trợ giúp nếu điều này vô tình ngăn cản bạn đóng góp nội dung tốt. - -Nhấn chuột vào nút “Back” của trình duyệt để trở lại trang soạn thảo.', - 'captcha-addurl-whitelist' => ' #
-# Cú pháp như sau:
-#   * Mọi thứ bắt đầu bằng ký tự “#” là lời chú thích
-#   * Mọi hàng không trắng là một đoạn biểu thức chính quy (regex) sẽ chỉ được so trùng với tên máy chủ trong URL
-  #
', - 'right-skipcaptcha' => 'Tự động bỏ qua các hình CAPTCHA', -); - -/** Volapük (Volapük) - * @author Malafaya - * @author Smeira - */ -$messages['vo'] = array( - 'captcha-edit' => 'Ad redakön yegedi at, dunolös, begö! saedami dono e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'captcha-addurl' => 'Redakam olik keninükon yümis plödik nulik. Ad jelön siti ta peneds itjäfidik, dunolös, begö! saedami sököl, e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'captcha-badlogin' => 'Ad jelön siti ta daget itjäfidik letavödas, dunolös, begö! saedami sököl e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'captcha-createaccount' => 'Ad jelön siti ta kalijafam itjäfidik, dunolös, begö! saedami sököl e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'captcha-createaccount-fail' => 'Kot fümükama paneveräton u paseleton.', - 'captcha-create' => 'Ad jafön padi, dunolös saedami balugik dono e penolös saedoti in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'captchahelp-title' => 'Yuf ela Captcha', - 'captchahelp-cookies-needed' => 'Nedol mögükön „kekilis“ bevüresodanaföme olik ad dunön atosi.', - 'captcha-addurl-whitelist' => ' #
-# Süntag binon sökölos:
-#  * Valikos de malat: „#“ jü fin liena binon küpet
-#  * Lien no vägik alik binon brekot: „regex“, kel poleigodon te ko vöds ninü els URLs
-  #
', -); - -/** Walloon (walon) - * @author BrokenArrow - * @author Srtxg - */ -$messages['wa'] = array( - 'captcha-edit' => "Po candjî cisse pådje ci, vos dvoz fé l' carcul simpe chal pa dzo eyet scrire li rzultat dins l' boesse ([[Special:Captcha/help|pus di racsegnes]]):", - 'captcha-desc' => "Fornixh des tecnikes di waerantixhaedje pa passete d' acertinaedje (''captcha'') siconte les spams et les sayes d' advinaedje di screts.", - 'captcha-addurl' => "Dins vos candjmints i gn a des dfoûtrinnès hårdêyes (URL). -Po s' mete a houte des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula dinez l' rizultat di ç' carcul simpe ci ([[Special:Captcha/help|pus di racsegnes]]):", - 'captcha-badlogin' => "Po s' mete a houte des des robots ki sayèt d' adviner les screts, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula dinez l' rizultat di ç' carcul simpe ci ([[Special:Captcha/help|pus di racsegnes]]):", - 'captcha-createaccount' => "Po s' mete a houte des des robots k' ahivèt des contes otomaticmint, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula dinez l' rizultat di ç' carcul simpe ci ([[Special:Captcha/help|pus di racsegnes]]):", - 'captcha-createaccount-fail' => "Li côde d' acertinaedje est incorek ou mancant.", - 'captcha-create' => "Por vos poleur ahiver l' pådje, metoz dins l' boesse li rzultat do carcul simpe chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'captcha-sendemail' => "Po s' mete a houte des des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula dinez l' rizultat di ç' carcul simpe ci ([[Special:Captcha/help|pus di racsegnes]]):", - 'captcha-sendemail-fail' => "Côde d' acertinaedje ki manke ou nén corek.", - 'captcha-disabledinapi' => "Cisse accion a mezåjhe d' aveuri ene passete d' acertinaedje (captcha), ça fwait ki ça n' pout nén esse fwait åd triviè d' l' API.", - 'captchahelp-title' => "Aidance passete d' acertinaedje", - 'captchahelp-cookies-needed' => "Vos dvoz aveur les coûkes en alaedje so vosse betchteu waibe po k' ça rote.", - 'captchahelp-text' => "Les waibes k' acceptèt des messaedjes do publik, come ci wiki chal, sont sovint eployîs pa des må-fjhants spameus, po pleur mete, avou des usteyes otomatikes, des loyéns di rclame viè les sites da zels. -Bén seur, on pout todi les disfacer al mwin, mins c' est on soyant ovraedje. - -Adon, pa côps, copurade cwand vos radjoutez des hårdêyes a ene pådje, ou å moumint d' ahiver on novea conte sol wiki, on eployrè ene passete d' acertinaedje, dj' ô bén k' on vos mostere ene imådje avou on tecse kitoirdou eyet vs dimander di taper les mots so l' imådje. Come li ricnoxhance di ç' tecse la est målåjheye a fé otomaticmint pa on robot, çoula permete di leyî les vraiyès djins fé leus candjmints tot arestant l' plupårt des spameus et des sfwaitès atakes pa robot. - -Målureuzmint çoula apoite eto des målåjhminces po les cis k' ont des problinmes po vey, ou k' eployèt des betchteus e môde tecse ou båzés sol vwès. Pol moumint, nos n' avans nén ene alternative odio. -S' i vs plait contactez les [[{{MediaWiki:Grouppage-sysop}}|manaedjeus do site]] po d' l' aidance si çoula vos espaitche di fé vos candjmints ledjitimes. - -Clitchîz sol boton «En erî» di vosse betchteu waibe po rivni al pådje di dvant.", - 'captcha-addurl-whitelist' => " #
-# Li sintacse est come çouci :
-#  * Tot caractere a pårti d' on «#» disk' al fén del roye c' est on comintaire.
-#  * Tote roye nén vude est on boket d' erîlêye ratourneure (regexp) po loukî a des corespondances avou les nos d' lodjoe dins les hårdêyes.
-  #
", - 'right-skipcaptcha' => "Pou fé les accions k' enondèt normålmint ene passete d' acertinaedje (captcha) sins k' ele ni soeye enondêye", -); - -/** Yiddish (ייִדיש) - * @author פוילישער - */ -$messages['yi'] = array( - 'captcha-addurl' => 'אײַער רעדאַקטירונג אַנטהאַלט נײַע דרויסנדיקע לינקען. -צו שיצן די וויקי קעגן אויטאמזירטן ספאַם, בעטן מיר אײַך צו לייזן די פשוטע סומע אונטן און קלאַפט אײַן דעם ענטפֿער אינעם קעסטל כדי אויפצוהיטן אײַער רעדאקטירונג. ([[Special:Captcha/help|נאך אינפֿארמאַציע]]):', - 'captcha-badlogin' => 'צו שיצן די וויקי קעגן אויטאמאַטישן ברעכן פאַסווערטער, בעטן מיר אײַך צו לייזן די פשוטע סומע אונטן און קלאַפט אײַן דעם ענטפֿער אינעם קעסטל כדי אויפצוהיטן אײַער רעדאקטירונג. ([[Special:Captcha/help|נאך אינפֿארמאַציע]]):', - 'captcha-createaccount' => 'צו שיצן די וויקי קעגן אויטאמאַטישע שאַפֿן קאנטעס, בעטן מיר אײַך צו לייזן די פשוטע סומע אונטן און אריינקלאַפן דעם ענטפֿער אינעם קעסטל כדי אויפצוהיטן אײַער רעדאקטירונג. ([[Special:Captcha/help|נאך אינפֿארמאַציע]]):', - 'captcha-createaccount-fail' => 'גרײַזיקער אָדער פֿעלנדיקער באַשטעטיק־קאָד', - 'captchahelp-title' => 'CAPTCHA הילף', -); - -/** Yoruba (Yorùbá) - * @author Demmy - */ -$messages['yo'] = array( - 'captchahelp-title' => 'Ìrànwọ́ Captcha', - 'captchahelp-cookies-needed' => 'Ẹ gbọ́jọ̀ gba cookies láyé nínú agbétàkùn yín kí èyí ó tó ṣiṣẹ́.', -); - -/** Cantonese (粵語) */ -$messages['yue'] = array( - 'captcha-edit' => '要編輯呢一篇文,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-desc' => '簡單嘅 captcha 實行', - 'captcha-addurl' => '你編輯嘅內容裏面有新嘅URL連結;為咗避免受到自動垃圾程式的侵擾,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-badlogin' => '為咗防止程式自動破解密碼,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-createaccount' => '為咗防止程式自動註冊,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-createaccount-fail' => '驗證碼錯誤或者唔見咗。', - 'captcha-create' => '要開呢一版,請答出一個簡單嘅加數和,跟住響個盒度打入 ([[Special:Captcha/help|更多資料]]):', - 'captchahelp-title' => 'Captcha 幫助', - 'captchahelp-cookies-needed' => '你需要開咗響瀏覽器度嘅cookies先至可以用呢樣嘢。', - 'captchahelp-text' => '就好似呢個wiki咁,對公眾開放編輯嘅網站係會經常受到垃圾連結騷擾。嗰啲人利用自動化垃圾程序將佢哋嘅連結張貼到好多網站。雖然呢啲連結可以被清除,但係呢啲嘢確實令人十分之討厭。 - -有時,特別係當響一頁添加新嘅網頁連結嗰陣,呢個網站會畀你睇一幅有顏色的或者有變形文字嘅圖像,跟住要你輸入所顯示嘅文字。因為咁係難以自動完成嘅一項任務,它將允許人保存佢哋嘅編輯,同時亦阻止大多數發送垃圾郵件者同其它機械人嘅攻擊。 - -令人遺憾嘅係,咁會令到視力唔好嘅人,或者利用基於文本或者基於聲音嘅瀏覽器用戶感到不便。而目前我哋仲未能夠提供音頻嘅選擇。如果咁樣咁啱阻止到你進行正常嘅編輯,請同管理員聯繫以獲得幫助。 - -撳一下響瀏覽器度嘅「後退」掣返去你之前所編輯緊嘅頁面。', - 'captcha-addurl-whitelist' => ' #
-# 語法好似下面噉:
-#   * 所有由 "#" 字元之後嘅嘢到行尾係註解
-#   * 所有非空白行係一個regex部份,只係會同裏面嘅URL主機相符
- #
', - 'right-skipcaptcha' => '執行captcha引發嘅動作時唔需要經過captcha', -); - -/** Simplified Chinese (中文(简体)‎) - * @author Bencmq - * @author Hzy980512 - * @author Liangent - * @author PhiLiP - * @author Xiaomingyan - */ -$messages['zh-hans'] = array( - 'captcha-edit' => '要编辑这篇文章,请答出一个简单的加法,然後在框内输入 ([[Special:Captcha/help|更多资料]]):', - 'captcha-desc' => '通过验证码技术来阻止垃圾邮件和密码猜解', - 'captcha-label' => '验证码', - 'captcha-addurl' => '你编辑的内容中含有一个新的外部链接;为了免受自动垃圾程序的侵扰,请答出一个简单的加法,然后在框内输入([[Special:Captcha/help|更多信息]]):', - 'captcha-badlogin' => '为了防止程式自动破解密码,请答出一个简单的加法,然後在框内输入 ([[Special:Captcha/help|更多资料]]):', - 'captcha-createaccount' => '为了防止程式自动注册,请答出一个简单的加法,然後在框内输入 ([[Special:Captcha/help|更多资料]]):', - 'captcha-createaccount-fail' => '验证码错误或丢失。', - 'captcha-create' => '要创建页面,请答出一个简单的加法,然後在框内输入 ([[Special:Captcha/help|更多资料]]):', - 'captcha-sendemail' => '为了防止程式进行破坏,请答出一个简单的计算,然后在框内输入 ([[Special:Captcha/help|更多资料]]):', - 'captcha-sendemail-fail' => '验证码错误或丢失。', - 'captcha-disabledinapi' => '这个要求需要经过验证码验证,故无法透过API使用。', - 'captchahelp-title' => '验证码说明', - 'captchahelp-cookies-needed' => '您需要开启浏览器上的cookies方可使用这个工具。', - 'captchahelp-text' => '像本站一样,对公众开放编辑的网站经常被垃圾连结骚扰。那些人使用自动化垃圾程序将他们的连结张贴到很多网站。虽然这些连结可以被清除,但是这些东西确实令人十分讨厌。 - -有时,特别是当给一个页面添加新的网页链接时,本站会让你看一幅有颜色的或者有变形文字的图像,并且要你输入所显示的文字。因为这是难以自动完成的一项任务,它将允许人保存他们的编辑,同时阻止大多数发送垃圾邮件者和其他机器人的攻击。 - -令人遗憾是,这会使得视力不好的人,或者使用基於文本或者基於声音的浏览器的用户感到不便。而目前我们还没有提供的音频的选择。如果这正好阻止你进行正常的编辑,请和[[{{MediaWiki:Grouppage-sysop}}|站点管理员]]联系获得帮助。 - -点击浏览器中的“后退”按钮返回你所编辑的页面。', - 'captcha-addurl-whitelist' => ' #
-# 语法像下面这样:
-#   * 所有在 "#" 字符后的内容全部是注释
-#   * 所有非空白行是一个正则表达式,只会对URL中的内容进行匹配
- #
', - 'right-skipcaptcha' => '进行触发验证操作时无需验证', -); - -/** Traditional Chinese (中文(繁體)‎) - * @author Horacewai2 - * @author Hydra - * @author Liangent - * @author Mark85296341 - * @author Waihorace - */ -$messages['zh-hant'] = array( - 'captcha-edit' => '要編輯這篇文章,請答出一個簡單的加法,然後在框內輸入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-desc' => '通過驗證碼技術來阻止垃圾郵件和密碼猜解', - 'captcha-label' => '驗證碼', - 'captcha-addurl' => '你編輯的內容中含有一個新的URL連結;為了免受自動垃圾程式的侵擾,請答出一個簡單的加法,然後在框內輸入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-badlogin' => '為了防止程式自動破解密碼,請答出一個簡單的加法,然後在框內輸入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-createaccount' => '為了防止程式自動註冊,請答出一個簡單的加法,然後在框內輸入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-createaccount-fail' => '驗證碼錯誤或遺失。', - 'captcha-create' => '要建立頁面,請答出一個簡單的加法,然後在框內輸入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-sendemail' => '為了防止程式進行破壞,請答出一個簡單的計算,然後在框內輸入 ([[Special:Captcha/help|更多資料]]):', - 'captcha-sendemail-fail' => '驗證碼錯誤或遺失。', - 'captcha-disabledinapi' => '這個要求需要經過Captcha驗證,故無法透過API使用。', - 'captchahelp-title' => 'Captcha 說明', - 'captchahelp-cookies-needed' => '您需要開啟瀏覽器上的cookies方可使用這個工具。', - 'captchahelp-text' => '像本站一樣,對公眾開放編輯的網站經常被垃圾連結騷擾。那些人使用自動化垃圾程式將他們的連結張貼到很多網站。雖然這些連結可以被清除,但是這些東西確實令人十分討厭。 - -有時,特別是當給一個頁面添加新的網頁連結時,本站會讓你看一幅有顏色的或者有變形文字的圖像,並且要你輸入所顯示的文字。因為這是難以自動完成的一項任務,它將允許人儲存他們的編輯,同時阻止大多數發送垃圾郵件者和其他機器人的攻擊。 - -令人遺憾是,這會使得視力不好的人,或者使用基於文字或者基於聲音的瀏覽器的使用者感到不便。而目前我們還沒有提供的音訊的選擇。如果這正好阻止你進行正常的編輯,請和[[{{MediaWiki:Grouppage-sysop}}|站點管理員]]聯繫取得幫助。 - -點擊瀏覽器中的「後退」按鈕返回你所編輯的頁面。', - 'captcha-addurl-whitelist' => ' #
-# 語法像下面這樣:
-#   * 所有由 "#" 字元之後嘅字元至行尾是註解
-#   * 所有非空白行是一個regex部份,只是跟在裡面的URL主機相符
- #
', - 'right-skipcaptcha' => '執行captcha引發的動作時不需要經過captcha', -); - diff --git a/documentacion/extensions/ConfirmEdit/ConfirmEdit.php b/documentacion/extensions/ConfirmEdit/ConfirmEdit.php deleted file mode 100644 index 87a48e0..0000000 --- a/documentacion/extensions/ConfirmEdit/ConfirmEdit.php +++ /dev/null @@ -1,216 +0,0 @@ - - * http://www.mediawiki.org/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup Extensions - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - exit; -} - -$wgExtensionFunctions[] = 'confirmEditSetup'; -$wgExtensionCredits['antispam'][] = array( - 'path' => __FILE__, - 'name' => 'ConfirmEdit', - 'author' => array( 'Brion Vibber', '...' ), - 'url' => 'https://www.mediawiki.org/wiki/Extension:ConfirmEdit', - 'version' => '1.1', - 'descriptionmsg' => 'captcha-desc', -); - -/** - * The 'skipcaptcha' permission key can be given out to - * let known-good users perform triggering actions without - * having to go through the captcha. - * - * By default, sysops and registered bot accounts will be - * able to skip, while others have to go through it. - */ -$wgGroupPermissions['*' ]['skipcaptcha'] = false; -$wgGroupPermissions['user' ]['skipcaptcha'] = false; -$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false; -$wgGroupPermissions['bot' ]['skipcaptcha'] = true; // registered bots -$wgGroupPermissions['sysop' ]['skipcaptcha'] = true; -$wgAvailableRights[] = 'skipcaptcha'; - -/** - * List of IP ranges to allow to skip the captcha, similar to the group setting: - * "$wgGroupPermission[...]['skipcaptcha'] = true" - * - * Specific IP addresses or CIDR-style ranges may be used, - * for instance: - * $wgCaptchaWhitelistIP = array('192.168.1.0/24', '10.1.0.0/16'); - */ -$wgCaptchaWhitelistIP = false; - -$wgCaptcha = null; -$wgCaptchaClass = 'SimpleCaptcha'; - -/** - * Actions which can trigger a captcha - * - * If the 'edit' trigger is on, *every* edit will trigger the captcha. - * This may be useful for protecting against vandalbot attacks. - * - * If using the default 'addurl' trigger, the captcha will trigger on - * edits that include URLs that aren't in the current version of the page. - * This should catch automated linkspammers without annoying people when - * they make more typical edits. - * - * The captcha code should not use $wgCaptchaTriggers, but CaptchaTriggers() - * which also takes into account per namespace triggering. - */ -$wgCaptchaTriggers = array(); -$wgCaptchaTriggers['edit'] = false; // Would check on every edit -$wgCaptchaTriggers['create'] = false; // Check on page creation. -$wgCaptchaTriggers['sendemail'] = false; // Special:Emailuser -$wgCaptchaTriggers['addurl'] = true; // Check on edits that add URLs -$wgCaptchaTriggers['createaccount'] = true; // Special:Userlogin&type=signup -$wgCaptchaTriggers['badlogin'] = true; // Special:Userlogin after failure - -/** - * You may wish to apply special rules for captcha triggering on some namespaces. - * $wgCaptchaTriggersOnNamespace[][] forces an always on / - * always off configuration with that trigger for the given namespace. - * Leave unset to use the global options ($wgCaptchaTriggers). - * - * Shall not be used with 'createaccount' (it is not checked). - */ -$wgCaptchaTriggersOnNamespace = array(); - -# Example: -# $wgCaptchaTriggersOnNamespace[NS_TALK]['create'] = false; //Allow creation of talk pages without captchas. -# $wgCaptchaTriggersOnNamespace[NS_PROJECT]['edit'] = true; //Show captcha whenever editing Project pages. - -/** - * Indicate how to store per-session data required to match up the - * internal captcha data with the editor. - * - * 'CaptchaSessionStore' uses PHP's session storage, which is cookie-based - * and may fail for anons with cookies disabled. - * - * 'CaptchaCacheStore' uses $wgMemc, which avoids the cookie dependency - * but may be fragile depending on cache configuration. - */ -$wgCaptchaStorageClass = 'CaptchaSessionStore'; - -/** - * Number of seconds a captcha session should last in the data cache - * before expiring when managing through CaptchaCacheStore class. - * - * Default is a half hour. - */ -$wgCaptchaSessionExpiration = 30 * 60; - -/** - * Number of seconds after a bad login that a captcha will be shown to - * that client on the login form to slow down password-guessing bots. - * - * Has no effect if 'badlogin' is disabled in $wgCaptchaTriggers or - * if there is not a caching engine enabled. - * - * Default is five minutes. - */ -$wgCaptchaBadLoginExpiration = 5 * 60; - -/** - * Allow users who have confirmed their e-mail addresses to post - * URL links without being harassed by the captcha. - */ -$ceAllowConfirmedEmail = false; - -/** - * Number of bad login attempts before triggering the captcha. 0 means the - * captcha is presented on the first login. - */ -$wgCaptchaBadLoginAttempts = 3; - -/** - * Regex to whitelist URLs to known-good sites... - * For instance: - * $wgCaptchaWhitelist = '#^https?://([a-z0-9-]+\\.)?(wikimedia|wikipedia)\.org/#i'; - * Local admins can define a whitelist under [[MediaWiki:captcha-addurl-whitelist]] - */ -$wgCaptchaWhitelist = false; - -/** - * Additional regexes to check for. Use full regexes; can match things - * other than URLs such as junk edits. - * - * If the new version matches one and the old version doesn't, - * toss up the captcha screen. - * - * @fixme Add a message for local admins to add items as well. - */ -$wgCaptchaRegexes = array(); - -/** Register special page */ -$wgSpecialPages['Captcha'] = 'CaptchaSpecialPage'; - -$wgConfirmEditIP = __DIR__; -$wgExtensionMessagesFiles['ConfirmEdit'] = "$wgConfirmEditIP/ConfirmEdit.i18n.php"; -$wgExtensionMessagesFiles['ConfirmEditAlias'] = "$wgConfirmEditIP/ConfirmEdit.alias.php"; - -$wgHooks['EditFilterMerged'][] = 'ConfirmEditHooks::confirmEditMerged'; -$wgHooks['UserCreateForm'][] = 'ConfirmEditHooks::injectUserCreate'; -$wgHooks['AbortNewAccount'][] = 'ConfirmEditHooks::confirmUserCreate'; -$wgHooks['LoginAuthenticateAudit'][] = 'ConfirmEditHooks::triggerUserLogin'; -$wgHooks['UserLoginForm'][] = 'ConfirmEditHooks::injectUserLogin'; -$wgHooks['AbortLogin'][] = 'ConfirmEditHooks::confirmUserLogin'; -$wgHooks['EmailUserForm'][] = 'ConfirmEditHooks::injectEmailUser'; -$wgHooks['EmailUser'][] = 'ConfirmEditHooks::confirmEmailUser'; -# Register API hook -$wgHooks['APIEditBeforeSave'][] = 'ConfirmEditHooks::confirmEditAPI'; -$wgHooks['APIGetAllowedParams'][] = 'ConfirmEditHooks::APIGetAllowedParams'; -$wgHooks['APIGetParamDescription'][] = 'ConfirmEditHooks::APIGetParamDescription'; - -$wgAutoloadClasses['ConfirmEditHooks'] = "$wgConfirmEditIP/ConfirmEditHooks.php"; -$wgAutoloadClasses['SimpleCaptcha'] = "$wgConfirmEditIP/Captcha.php"; -$wgAutoloadClasses['CaptchaStore'] = "$wgConfirmEditIP/CaptchaStore.php"; -$wgAutoloadClasses['CaptchaSessionStore'] = "$wgConfirmEditIP/CaptchaStore.php"; -$wgAutoloadClasses['CaptchaCacheStore'] = "$wgConfirmEditIP/CaptchaStore.php"; -$wgAutoloadClasses['CaptchaSpecialPage'] = "$wgConfirmEditIP/ConfirmEditHooks.php"; -$wgAutoloadClasses['HTMLCaptchaField'] = "$wgConfirmEditIP/HTMLCaptchaField.php"; - -/** - * Set up $wgWhitelistRead - */ -function confirmEditSetup() { - global $wgGroupPermissions, $wgCaptchaTriggers; - if ( !$wgGroupPermissions['*']['read'] && $wgCaptchaTriggers['badlogin'] ) { - // We need to ensure that the captcha interface is accessible - // so that unauthenticated users can actually get in after a - // mistaken password typing. - global $wgWhitelistRead; - $image = SpecialPage::getTitleFor( 'Captcha', 'image' ); - $help = SpecialPage::getTitleFor( 'Captcha', 'help' ); - $wgWhitelistRead[] = $image->getPrefixedText(); - $wgWhitelistRead[] = $help->getPrefixedText(); - } -} diff --git a/documentacion/extensions/ConfirmEdit/ConfirmEditHooks.php b/documentacion/extensions/ConfirmEdit/ConfirmEditHooks.php deleted file mode 100644 index 66e5199..0000000 --- a/documentacion/extensions/ConfirmEdit/ConfirmEditHooks.php +++ /dev/null @@ -1,87 +0,0 @@ -confirmEditMerged( $editPage, $newtext ); - } - - static function confirmEditAPI( $editPage, $newtext, &$resultArr ) { - return self::getInstance()->confirmEditAPI( $editPage, $newtext, $resultArr ); - } - - static function injectUserCreate( &$template ) { - return self::getInstance()->injectUserCreate( $template ); - } - - static function confirmUserCreate( $u, &$message ) { - return self::getInstance()->confirmUserCreate( $u, $message ); - } - - static function triggerUserLogin( $user, $password, $retval ) { - return self::getInstance()->triggerUserLogin( $user, $password, $retval ); - } - - static function injectUserLogin( &$template ) { - return self::getInstance()->injectUserLogin( $template ); - } - - static function confirmUserLogin( $u, $pass, &$retval ) { - return self::getInstance()->confirmUserLogin( $u, $pass, $retval ); - } - - static function injectEmailUser( &$form ) { - return self::getInstance()->injectEmailUser( $form ); - } - - static function confirmEmailUser( $from, $to, $subject, $text, &$error ) { - return self::getInstance()->confirmEmailUser( $from, $to, $subject, $text, $error ); - } - - public static function APIGetAllowedParams( &$module, &$params ) { - return self::getInstance()->APIGetAllowedParams( $module, $params ); - } - - public static function APIGetParamDescription( &$module, &$desc ) { - return self::getInstance()->APIGetParamDescription( $module, $desc ); - } -} - -class CaptchaSpecialPage extends UnlistedSpecialPage { - public function __construct() { - parent::__construct( 'Captcha' ); - } - - function execute( $par ) { - $this->setHeaders(); - - $instance = ConfirmEditHooks::getInstance(); - - switch( $par ) { - case "image": - if ( method_exists( $instance, 'showImage' ) ) { - return $instance->showImage(); - } - case "help": - default: - return $instance->showHelp(); - } - } -} diff --git a/documentacion/extensions/ConfirmEdit/FancyCaptcha.class.php b/documentacion/extensions/ConfirmEdit/FancyCaptcha.class.php deleted file mode 100644 index f559f0f..0000000 --- a/documentacion/extensions/ConfirmEdit/FancyCaptcha.class.php +++ /dev/null @@ -1,369 +0,0 @@ -get( $wgCaptchaFileBackend ); - } else { - static $backend = null; - if ( !$backend ) { - $backend = new FSFileBackend( array( - 'name' => 'captcha-backend', - 'lockManager' => 'nullLockManager', - 'containerPaths' => array( 'captcha-render' => $wgCaptchaDirectory ), - 'fileMode' => 777 - ) ); - } - return $backend; - } - } - - /** - * @return integer Estimate of the number of captchas files - */ - public function estimateCaptchaCount() { - global $wgCaptchaDirectoryLevels; - - $factor = 1; - $sampleDir = $this->getBackend()->getRootStoragePath() . '/captcha-render'; - if ( $wgCaptchaDirectoryLevels >= 1 ) { // 1/16 sample if 16 shards - $sampleDir .= '/' . dechex( mt_rand( 0, 15 ) ); - $factor = 16; - } - if ( $wgCaptchaDirectoryLevels >= 3 ) { // 1/256 sample if 4096 shards - $sampleDir .= '/' . dechex( mt_rand( 0, 15 ) ); - $factor = 256; - } - - $count = 0; - foreach ( $this->getBackend()->getFileList( array( 'dir' => $sampleDir ) ) as $file ) { - ++$count; - } - - return ( $count * $factor ); - } - - /** - * Check if the submitted form matches the captcha session data provided - * by the plugin when the form was generated. - * - * @param string $answer - * @param array $info - * @return bool - */ - function keyMatch( $answer, $info ) { - global $wgCaptchaSecret; - - $digest = $wgCaptchaSecret . $info['salt'] . $answer . $wgCaptchaSecret . $info['salt']; - $answerHash = substr( md5( $digest ), 0, 16 ); - - if ( $answerHash == $info['hash'] ) { - wfDebug( "FancyCaptcha: answer hash matches expected {$info['hash']}\n" ); - return true; - } else { - wfDebug( "FancyCaptcha: answer hashes to $answerHash, expected {$info['hash']}\n" ); - return false; - } - } - - function addCaptchaAPI( &$resultArr ) { - $info = $this->pickImage(); - if ( !$info ) { - $resultArr['captcha']['error'] = 'Out of images'; - return; - } - $index = $this->storeCaptcha( $info ); - $title = SpecialPage::getTitleFor( 'Captcha', 'image' ); - $resultArr['captcha']['type'] = 'image'; - $resultArr['captcha']['mime'] = 'image/png'; - $resultArr['captcha']['id'] = $index; - $resultArr['captcha']['url'] = $title->getLocalUrl( 'wpCaptchaId=' . urlencode( $index ) ); - } - - /** - * Insert the captcha prompt into the edit form. - */ - function getForm() { - $info = $this->pickImage(); - if ( !$info ) { - throw new MWException( "Ran out of captcha images" ); - } - - // Generate a random key for use of this captcha image in this session. - // This is needed so multiple edits in separate tabs or windows can - // go through without extra pain. - $index = $this->storeCaptcha( $info ); - - wfDebug( "Captcha id $index using hash ${info['hash']}, salt ${info['salt']}.\n" ); - - $title = SpecialPage::getTitleFor( 'Captcha', 'image' ); - - return "

" . - Html::element( 'img', array( - 'src' => $title->getLocalUrl( 'wpCaptchaId=' . urlencode( $index ) ), - 'width' => $info['width'], - 'height' => $info['height'], - 'alt' => '' ) ) . - "

\n" . - Html::element( 'input', array( - 'type' => 'hidden', - 'name' => 'wpCaptchaId', - 'id' => 'wpCaptchaId', - 'value' => $index ) ) . - '

' . - Html::element( 'label', array( - 'for' => 'wpCaptchaWord', - ), parent::getMessage( 'label' ) . wfMessage( 'colon-separator' )->text() ) . - Html::element( 'input', array( - 'name' => 'wpCaptchaWord', - 'id' => 'wpCaptchaWord', - 'type' => 'text', - 'autocorrect' => 'off', - 'autocapitalize' => 'off', - 'required' => 'required', - 'tabindex' => 1 ) ) . // tab in before the edit textarea - "

\n"; - } - - /** - * Select a previously generated captcha image from the queue. - * @return mixed tuple of (salt key, text hash) or false if no image to find - */ - protected function pickImage() { - global $wgCaptchaDirectoryLevels; - - $lockouts = 0; // number of times another process claimed a file before this one - $baseDir = $this->getBackend()->getRootStoragePath() . '/captcha-render'; - return $this->pickImageDir( $baseDir, $wgCaptchaDirectoryLevels, $lockouts ); - } - - /** - * @param $directory string - * @param $levels integer - * @param $lockouts integer - * @return Array|bool - */ - protected function pickImageDir( $directory, $levels, &$lockouts ) { - global $wgMemc; - - if ( $levels <= 0 ) { // $directory has regular files - return $this->pickImageFromDir( $directory, $lockouts ); - } - - $backend = $this->getBackend(); - - $key = "fancycaptcha:dirlist:{$backend->getWikiId()}:" . sha1( $directory ); - $dirs = $wgMemc->get( $key ); // check cache - if ( !is_array( $dirs ) ) { // cache miss - $dirs = array(); // subdirs actually present... - foreach ( $backend->getTopDirectoryList( array( 'dir' => $directory ) ) as $entry ) { - if ( ctype_xdigit( $entry ) && strlen( $entry ) == 1 ) { - $dirs[] = $entry; - } - } - wfDebug( "Cache miss for $directory subdirectory listing.\n" ); - $wgMemc->set( $key, $dirs, 86400 ); - } - - if ( !count( $dirs ) ) { - // Remove this directory if empty so callers don't keep looking here - $backend->clean( array( 'dir' => $directory ) ); - return false; // none found - } - - $place = mt_rand( 0, count( $dirs ) - 1 ); // pick a random subdir - // In case all dirs are not filled, cycle through next digits... - for ( $j = 0; $j < count( $dirs ); $j++ ) { - $char = $dirs[( $place + $j ) % count( $dirs )]; - $info = $this->pickImageDir( "$directory/$char", $levels - 1, $lockouts ); - if ( $info ) { - return $info; // found a captcha - } else { - wfDebug( "Could not find captcha in $directory.\n" ); - $wgMemc->delete( $key ); // files changed on disk? - } - } - - return false; // didn't find any images in this directory... empty? - } - - /** - * @param $directory string - * @param $lockouts integer - * @return Array|bool - */ - protected function pickImageFromDir( $directory, &$lockouts ) { - global $wgMemc; - - $backend = $this->getBackend(); - - $key = "fancycaptcha:filelist:{$backend->getWikiId()}:" . sha1( $directory ); - $files = $wgMemc->get( $key ); // check cache - if ( !is_array( $files ) ) { // cache miss - $files = array(); // captcha files - foreach ( $backend->getTopFileList( array( 'dir' => $directory ) ) as $entry ) { - $files[] = $entry; - if ( count( $files ) >= 500 ) { // sanity - wfDebug( 'Skipping some captchas; $wgCaptchaDirectoryLevels set too low?.' ); - break; - } - } - $wgMemc->set( $key, $files, 86400 ); - wfDebug( "Cache miss for $directory captcha listing.\n" ); - } - - if ( !count( $files ) ) { - // Remove this directory if empty so callers don't keep looking here - $backend->clean( array( 'dir' => $directory ) ); - return false; - } - - $info = $this->pickImageFromList( $directory, $files, $lockouts ); - if ( !$info ) { - wfDebug( "Could not find captcha in $directory.\n" ); - $wgMemc->delete( $key ); // files changed on disk? - } - - return $info; - } - - /** - * @param $directory string - * @param $files array - * @param $lockouts integer - * @return boolean - */ - protected function pickImageFromList( $directory, array $files, &$lockouts ) { - global $wgMemc, $wgCaptchaDeleteOnSolve; - - if ( !count( $files ) ) { - return false; // none found - } - - $backend = $this->getBackend(); - $place = mt_rand( 0, count( $files ) - 1 ); // pick a random file - $misses = 0; // number of files in listing that don't actually exist - for ( $j = 0; $j < count( $files ); $j++ ) { - $entry = $files[( $place + $j ) % count( $files )]; - if ( preg_match( '/^image_([0-9a-f]+)_([0-9a-f]+)\\.png$/', $entry, $matches ) ) { - if ( $wgCaptchaDeleteOnSolve ) { // captcha will be deleted when solved - $key = "fancycaptcha:filelock:{$backend->getWikiId()}:" . sha1( $entry ); - // Try to claim this captcha for 10 minutes (for the user to solve)... - if ( ++$lockouts <= 10 && !$wgMemc->add( $key, '1', 600 ) ) { - continue; // could not acquire (skip it to avoid race conditions) - } - } - $fsFile = $backend->getLocalReference( array( 'src' => "$directory/$entry" ) ); - if ( !$fsFile || !$fsFile->exists() ) { - if ( ++$misses >= 5 ) { // too many files in the listing don't exist - break; // listing cache too stale? break out so it will be cleared - } - continue; // try next file - } - $size = getimagesize( $fsFile->getPath() ); - return array( - 'salt' => $matches[1], - 'hash' => $matches[2], - 'width' => $size[0], - 'height' => $size[1], - 'viewed' => false, - ); - } - } - - return false; // none found - } - - function showImage() { - global $wgOut; - - $wgOut->disable(); - - $info = $this->retrieveCaptcha(); - if ( $info ) { - $timestamp = new MWTimestamp(); - $info['viewed'] = $timestamp->getTimestamp(); - $this->storeCaptcha( $info ); - - $salt = $info['salt']; - $hash = $info['hash']; - - return $this->getBackend()->streamFile( array( - 'src' => $this->imagePath( $salt, $hash ), - 'headers' => array( "Cache-Control: private, s-maxage=0, max-age=3600" ) - ) )->isOK(); - } - - wfHttpError( 500, 'Internal Error', 'Requested bogus captcha image' ); - return false; - } - - /** - * @param $salt string - * @param $hash string - * @return string - */ - public function imagePath( $salt, $hash ) { - global $wgCaptchaDirectoryLevels; - - $file = $this->getBackend()->getRootStoragePath() . '/captcha-render/'; - for ( $i = 0; $i < $wgCaptchaDirectoryLevels; $i++ ) { - $file .= $hash{ $i } . '/'; - } - $file .= "image_{$salt}_{$hash}.png"; - - return $file; - } - - /** - * @param $basename string - * @return Array (salt, hash) - * @throws MWException - */ - public function hashFromImageName( $basename ) { - if ( preg_match( '/^image_([0-9a-f]+)_([0-9a-f]+)\\.png$/', $basename, $matches ) ) { - return array( $matches[1], $matches[2] ); - } else { - throw new MWException( "Invalid filename '$basename'.\n" ); - } - } - - /** - * Show a message asking the user to enter a captcha on edit - * The result will be treated as wiki text - * - * @param $action string Action being performed - * @return string - */ - function getMessage( $action ) { - $name = 'fancycaptcha-' . $action; - $text = wfMessage( $name )->text(); - # Obtain a more tailored message, if possible, otherwise, fall back to - # the default for edits - return wfMessage( $name, $text )->isDisabled() ? - wfMessage( 'fancycaptcha-edit' )->text() : $text; - } - - /** - * Delete a solved captcha image, if $wgCaptchaDeleteOnSolve is true. - */ - function passCaptcha() { - global $wgCaptchaDeleteOnSolve; - - $info = $this->retrieveCaptcha(); // get the captcha info before it gets deleted - $pass = parent::passCaptcha(); - - if ( $pass && $wgCaptchaDeleteOnSolve ) { - $this->getBackend()->quickDelete( array( - 'src' => $this->imagePath( $info['salt'], $info['hash'] ) - ) ); - } - - return $pass; - } -} diff --git a/documentacion/extensions/ConfirmEdit/FancyCaptcha.i18n.php b/documentacion/extensions/ConfirmEdit/FancyCaptcha.i18n.php deleted file mode 100644 index b6f45f2..0000000 --- a/documentacion/extensions/ConfirmEdit/FancyCaptcha.i18n.php +++ /dev/null @@ -1,1601 +0,0 @@ - 'Fancy CAPTCHA generator for Confirm Edit', - 'fancycaptcha-addurl' => 'Your edit includes new external links. -To help protect against automated spam, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-badlogin' => 'To help protect against automated password cracking, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-createaccount' => 'To help protect against automated account creation, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-create' => 'To create the page, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-edit' => 'To edit this page, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-sendemail' => 'To help protect against automated spamming, please enter the words that appear below in the box ([[Special:Captcha/help|more info]]):', -); - -/** Message documentation (Message documentation) - * @author Fryed-peach - * @author Hamilton Abreu - * @author Purodha - */ -$messages['qqq'] = array( - 'fancycaptcha-desc' => '{{desc}}', - 'fancycaptcha-addurl' => 'See also -*{{msg-mw|captcha-addurl}} -*{{msg-mw|Questycaptcha-addurl}}', - 'fancycaptcha-badlogin' => 'See also -*{{msg-mw|captcha-badlogin}} -*{{msg-mw|Questycaptcha-badlogin}}', - 'fancycaptcha-createaccount' => 'See also -*{{msg-mw|captcha-createaccount}} -*{{msg-mw|Questycaptcha-createaccount}}', - 'fancycaptcha-create' => 'See also -*{{msg-mw|Captcha-create}} -*{{msg-mw|Questycaptcha-create}}', - 'fancycaptcha-edit' => 'See also -*{{msg-mw|Captcha-edit}} -*{{msg-mw|Questycaptcha-edit}}', -); - -/** Gheg Albanian (Gegë) - * @author Mdupont - */ -$messages['aln'] = array( - 'fancycaptcha-addurl' => 'Your redakto përfshin të jashtme lidhje të reja. Për të ndihmuar në mbrojtjen kundër spam automatizuar, ju lutem shkruani fjalët që shfaqen poshtë në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'fancycaptcha-badlogin' => 'Për të ndihmuar në mbrojtjen kundër fjalëkalimin automatizuar plasaritje, ju lutem shkruani fjalët që shfaqen poshtë në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'fancycaptcha-createaccount' => 'Për të ndihmuar në mbrojtjen kundër krijimit llogari e automatizuar, ju lutem shkruani fjalët që shfaqen poshtë në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'fancycaptcha-create' => 'Për të krijuar një faqe, ju lutem shkruani fjalët që shfaqen poshtë në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'fancycaptcha-edit' => 'Për të redaktuar këtë faqe, ju lutem shkruani fjalët që shfaqen poshtë në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'fancycaptcha-sendemail' => 'Për të ndihmuar në mbrojtjen kundër spamming automatizuar, ju lutem shkruani fjalët që shfaqen poshtë në kuti ([[Special:Captcha/help|më shumë informacion]]):', -); - -/** Amharic (አማርኛ) - * @author Codex Sinaiticus - */ -$messages['am'] = array( - 'fancycaptcha-createaccount' => 'ያልተፈለገ የመኪናነት አባልነት ለመከላከል፥ አባል ለመሆን በዚህ ምስል የታዩት እንግሊዝኛ ቃላት ወይም ቁጥር መልስ በትክክል መጻፍ ግዴታ ነው። ([[Special:Captcha/help|ይህ ምንድነው?]]) (To help protect against automated spam, you must type in the words or correct number answer exactly as seen beneath here before registering your account:)
', -); - -/** Aragonese (aragonés) - * @author Juanpabl - */ -$messages['an'] = array( - 'fancycaptcha-desc' => 'Chenerador chocant de CAPTCHAs ta Confirmar Edicions.', - 'fancycaptcha-addurl' => "Ha encluyito vinclos esternos en a suya edición. Ta aduyar a protecher contra o spam automatico, escriba por favor as parolas que amaneixen en a caixa d'o cobaixo ([[Special:Captcha/help|más información]]):", - 'fancycaptcha-badlogin' => "Ta aduyar-nos en a protección contra o trenque automatico de claus d'acceso, escriba por favor as parolas que amaneixen en a caixa d'o cobaixo ([[Special:Captcha/help|más información]]):", - 'fancycaptcha-createaccount' => 'Ta aduyar a protecher contra a creyación automatica de cuentas, escriba por favor en o quatrón as parolas que amaneixen debaixo ([[Special:Captcha/help|más información]]):', - 'fancycaptcha-create' => "Ta creyar a pachina, escriba por favor as parolas que amaneixen en a caixa d'o cobaixo -([[Special:Captcha/help|más información]]):", - 'fancycaptcha-edit' => "Ta editar ista pachina, escriba por favor as parolas que amaneixen en a caixa d'o cobaixo -([[Special:Captcha/help|más información]]):", - 'fancycaptcha-sendemail' => 'Ta protecher-nos contra o spam automatizau por favor escriba as parolas que amaneixen en o siguient quadro ([[Special:Captcha/help|mas información]]):', -); - -/** Arabic (العربية) - * @author Aiman titi - * @author Meno25 - */ -$messages['ar'] = array( - 'fancycaptcha-desc' => 'مولد فانسي كابتشا لConfirm Edit', - 'fancycaptcha-addurl' => 'تعديلك يتضمن وصلات خارجية جديدة. -للحماية من السبام الأوتوماتيكي، من فضلك أدخل الكلمات التي تظهر بالأسفل في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'fancycaptcha-badlogin' => 'للمساعدة في الحماية ضد سرقة كلمات السر، من فضلك أدخل الكلمات التي تظهر بالأسفل في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'fancycaptcha-createaccount' => 'للمساعدة في منع إنشاء حسابات بطريقة أوتوماتيكية، قم من فضلك بإدخال الكلمات التي تظهر أدناه في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'fancycaptcha-create' => 'لإنشاء الصفحة، من فضلك أدخل الكلمات التي تظهر بالأسفل في الصندوق -([[Special:Captcha/help|مزيد من المعلومات]]):', - 'fancycaptcha-edit' => 'لتعديل هذه الصفحة، من فضلك أدخل الكلمات التي تظهر بالأسفل في الصندوق -([[Special:Captcha/help|مزيد من المعلومات]]):', - 'fancycaptcha-sendemail' => 'للمساعدة في منع إنشاء حسابات بطريقة أوتوماتيكية، قم من فضلك بإدخال الكلمات التي تظهر أدناه في الصندوق ([[Special:Captcha/help|مزيد من المعلومات]]):', -); - -/** Egyptian Spoken Arabic (مصرى) - * @author Meno25 - * @author Ramsis II - */ -$messages['arz'] = array( - 'fancycaptcha-addurl' => 'تعديلك فيه لينكات خارجية جديدة -علشان تساعد فى الحماية من السبام الاوتوماتيكى، لو سمحت تكتب الكلمات اللى باينة تحت فى الصندوء ([[Special:Captcha/help|معلومات زيادة]]):', - 'fancycaptcha-badlogin' => 'علشان تساعد فى الحماية من السرقة الاتوماتيكية للباسورد، لو سمحت تدخل الكلمات اللى باينة تحت فى الصندوء ([[Special:Captcha/help|معلومات زيادة]]):', - 'fancycaptcha-createaccount' => 'علشان تساعد فى الحماية من الفتح الاوتوماتيكى للحسابات،لو سمحت تدخل الكلمات اللى باينة تحت فى الصندوء ([[Special:Captcha/help|معلومات زيادة]]):', - 'fancycaptcha-create' => 'علشان تبتدى صفحة جديدة، لو سمحت تدخل الكلمات اللى ظاهرة تحت فى الصندوق -([[Special:Captcha/help|معلومات زيادة]]):', - 'fancycaptcha-edit' => 'علشان تعدل فى الصفحة دى،لو سمحت تكتب الكلمات اللى باينة تحت فى الصندوء ([[Special:Captcha/help|معلومات زيادة]]):', -); - -/** Assamese (অসমীয়া) - * @author Chaipau - * @author Gitartha.bordoloi - * @author Rajuonline - */ -$messages['as'] = array( - 'fancycaptcha-addurl' => 'আপোনাৰ সম্পাদনাত বাহ্যিক সংযোগ আছে। -স্বয়ংক্ৰীয় সম্পাদনাৰ পৰা হাত সাৰিবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):', - 'fancycaptcha-badlogin' => 'স্বয়ংক্ৰীয় গুপ্তশব্দ চুৰিৰ পৰা হাত সাৰিবলৈ, -তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):', - 'fancycaptcha-createaccount' => 'স্বয়ংক্ৰীয় নতুন সদস্যভুক্তিৰ পৰা হাত সাৰিবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):', - 'fancycaptcha-create' => 'পৃষ্ঠাটো বনাবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):', - 'fancycaptcha-edit' => 'এই পৃষ্ঠাটো সম্পাদনা কৰিবলৈ, তলত দেখিবলৈ পোৱা শব্দটো বাকচৰ ভিতৰত লিখক। ([[Special:Captcha/help|অধিক তথ্য]]):', - 'fancycaptcha-sendemail' => 'স্বয়ংক্ৰিয় স্পেমিঙৰ পৰা বাচিবলৈ অনুগ্ৰহ কৰি তলৰ বাকছটোৰ তলত ওলোৱা আখৰকেইটা লিখক ([[Special:Captcha/help|অধিক তথ্য]]):', -); - -/** Asturian (asturianu) - * @author Esbardu - * @author Xuacu - */ -$messages['ast'] = array( - 'fancycaptcha-addurl' => "La to edición inclúi nuevos enllaces esternos. P'aidar a protexer escontra'l spam automatizáu, por favor escribi nel caxellu les pallabres qu'apaecen embaxo ([[Special:Captcha/help|más información]]):", - 'fancycaptcha-badlogin' => "P'aidar a protexer escontra'l descifráu automáticu de claves, por favor escribi nel caxellu les pallabres qu'apaecen embaxo ([[Special:Captcha/help|más información]]):", - 'fancycaptcha-createaccount' => "P'aidar a protexer escontra la creación automática de cuentes, por favor escribi nel caxellu les pallabres qu'apaecen embaxo ([[Special:Captcha/help|más información]]):", - 'fancycaptcha-create' => "Pa crear la páxina, por favor escribi nel caxellu les pallabres qu'apaecen embaxo ([[Special:Captcha/help|más información]]):", - 'fancycaptcha-edit' => "Pa editar la páxina, por favor escribi nel caxellu les pallabres qu'apaecen embaxo ([[Special:Captcha/help|más información]]):", - 'fancycaptcha-sendemail' => "P'aidar a protexer escontra'l corréu puxarra automáticu, por favor escribi nel caxellu les pallabres qu'apaecen embaxo ([[Special:Captcha/help|más información]]):", -); - -/** Bashkir (башҡортса) - * @author Assele - */ -$messages['ba'] = array( - 'fancycaptcha-addurl' => 'Һеҙҙең текстығыҙҙа яңы тышҡы һылтанмалар бар. -Автоматик спамдан һаҡлау маҡсатында, зинһар, күрһәтелгән һүҙҙәрҙе түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'fancycaptcha-badlogin' => 'Паролде автоматик ватыуҙан һаҡлау маҡсатында, зинһар, күрһәтелгән һүҙҙәрҙе түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'fancycaptcha-createaccount' => 'Иҫәп яҙмаларын автоматик булдырыуҙан һаҡлау маҡсатында, зинһар, күрһәтелгән һүҙҙәрҙе түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'fancycaptcha-create' => 'Яңы бит булдырыу өсөн, зинһар, күрһәтелгән һүҙҙәрҙе түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'fancycaptcha-edit' => 'Был битте мөхәррирләү өсөн, зинһар, күрһәтелгән һүҙҙәрҙе түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'fancycaptcha-sendemail' => 'Автоматик спамдан һаҡлау маҡсатында, зинһар, күрһәтелгән һүҙҙәрҙе түбәндәге юлға керетегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', -); - -/** Southern Balochi (بلوچی مکرانی) - * @author Mostafadaneshvar - */ -$messages['bcc'] = array( - 'fancycaptcha-addurl' => '‎بست', - 'fancycaptcha-badlogin' => 'په کمک په محافظت چه اتوماتیکی پروشگ کلمه رمز، لطفا کلماتی که ته جهلگی جعبه ظاهر انت واردش کنیت ([[Special:Captcha/help|گیشترین اطلاعات]]):', - 'fancycaptcha-createaccount' => 'په کمک په محافظت چه اتوماتیکی شرکتن حساب، لطفا کلماتی که ته جهلگی جعبه ظاهر انت واردش کنیت ([[Special:Captcha/help|گیشترین اطلاعات]]):', - 'fancycaptcha-create' => 'په شرکتن صفحه، لطفا کلماتی که ته جهلگی جعبه ظاهراند واردش کنیت ([[Special:Captcha/help|گیشتر اطلاعات]]):', - 'fancycaptcha-edit' => 'په اصلاح کتن ای صفحه، لطفا کلماتی که ته جهلگی جعبه ظاهراند واردش کنیت ([[Special:Captcha/help|گیشتر اطلاعات]]):', -); - -/** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎) - * @author EugeneZelenko - * @author Jim-by - * @author Red Winged Duck - */ -$messages['be-tarask'] = array( - 'fancycaptcha-addurl' => 'Вашае рэдагаваньне ўтрымлівае новыя вонкавыя спасылкі. -У мэтах абароны ад спаму, калі ласка, увядзіце словы, якія паказаныя ў выяве ([[Special:Captcha/help|болей інфармацыі]]):', - 'fancycaptcha-badlogin' => 'У мэтах абароны ад аўтаматычнага злому пароляў, калі ласка, увядзіце словы, якія паказаныя ў выяве ([[Special:Captcha/help|болей інфармацыі]]):', - 'fancycaptcha-createaccount' => 'У мэтах абароны ад аўтаматычнага стварэньня рахункаў, калі ласка, увядзіце словы, якія паказаныя ў выяве ([[Special:Captcha/help|болей інфармацыі]]):', - 'fancycaptcha-create' => 'Для стварэньня старонкі, калі ласка, увядзіце словы, якія паказаныя ў выяве ([[Special:Captcha/help|болей інфармацыі]]):', - 'fancycaptcha-edit' => 'Для рэдагаваньня гэтай старонкі, калі ласка, увядзіце словы, якія паказаныя ў выяве ([[Special:Captcha/help|болей інфармацыі]]):', - 'fancycaptcha-sendemail' => 'У мэтах абароны супраць аўтаматычнага спаму, калі ласка, увядзіце словы паказаныя ніжэй у полі ([[Special:Captcha/help|дадатковая інфармацыя]]):', -); - -/** Bulgarian (български) - * @author Borislav - * @author DCLXVI - */ -$messages['bg'] = array( - 'fancycaptcha-addurl' => 'Текущата редакция включва нови външни препратки. Като защита от автоматизиран спам, системата изисква от потребителите да въведат думите, показани по-долу в текстовата кутия ([[Special:Captcha/help|повече информация]]):', - 'fancycaptcha-badlogin' => 'Като защита срещу опити за налучкване на паролата ви, моля, въведете буквите, които виждате на картинката ([[Special:Captcha/help|повече информация]]):', - 'fancycaptcha-createaccount' => 'Системата за защита от автоматично създаване на потребителски сметки изисква да въведете това, което виждате в кутията по-долу ([[Special:Captcha/help|повече информация]]):', - 'fancycaptcha-create' => 'За създаване на страницата е необходимо да се въведат думите от картинката в полето по-долу ([[Special:Captcha/help|повече информация]]):', - 'fancycaptcha-edit' => 'За редактиране на страницата е необходимо да се въведат думите от картинката в полето по-долу ([[Special:Captcha/help|повече информация]]):', - 'fancycaptcha-sendemail' => 'Като защита срещу автоматизиран спам, въведете в кутията думите, които са показани по-долу ([[Special:Captcha/help|повече информация]]):', -); - -/** Bengali (বাংলা) - * @author Nasir8891 - * @author Zaheen - */ -$messages['bn'] = array( - 'fancycaptcha-addurl' => 'আপনার সম্পাদনাটিতে নতুন বহিঃসংযোগ আছে। স্বয়ংক্রিয় স্প্যামের বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'fancycaptcha-badlogin' => 'স্বয়ংক্রিয় শব্দচাবি ক্র্যাকিং-এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'fancycaptcha-createaccount' => 'স্বয়ংক্রিয় অ্যাকাউন্ট সৃষ্টির বিরুদ্ধে সুরক্ষার জন্য অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'fancycaptcha-create' => 'পাতাটি সৃষ্টি করতে চাইলে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', - 'fancycaptcha-edit' => 'পাতাটি সম্পাদনা করতে চাইলে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান -([[Special:Captcha/help|আরও তথ্য]]):', - 'fancycaptcha-sendemail' => 'স্বয়ংক্রিয় স্প্যামিং এর বিরুদ্ধে সুরক্ষার খাতিরে অনুগ্রহ করে নিচের বাক্সে দেখানো শব্দগুলি প্রবেশ করান ([[Special:Captcha/help|আরও তথ্য]]):', -); - -/** Breton (brezhoneg) - * @author Fulup - */ -$messages['br'] = array( - 'fancycaptcha-addurl' => "Liammoù diavaez nevez zo bet degaset ganeoc'h. Evit stourm a-enep d'ar strob emgefre, skrivit ar gerioù a zeu war wel er voest a-is ([[Special:Captcha/help|gouzout hiroc'h]]):", - 'fancycaptcha-badlogin' => "A-benn talañ ouzh ar preizhañ kontoù dre c'herioù-tremen emgefre, skrivit er vaezienn ar gerioù merket dindan ([[Special:Captcha/help|Petra eo se?]]):", - 'fancycaptcha-createaccount' => "Evit stourm a-enep d'ar c'hontoù krouet ent emgefre, skrivit ar gerioù -a zeu war wel er voest a-is ([[Special:Captcha/help|gouzout hiroc'h]]):", - 'fancycaptcha-create' => "Liammoù diavaez nevez zo bet degaset ganeoc'h. Evit stourm a-enep d'ar strob emgefre, skrivit ar gerioù a zeu war wel er voest a-is ([[Special:Captcha/help|gouzout hiroc'h]]):", - 'fancycaptcha-edit' => "Liammoù diavaez nevez zo bet degaset ganeoc'h. Evit stourm a-enep d'ar strob emgefre, skrivit ar gerioù a zeu war wel er voest a-is ([[Special:Captcha/help|gouzout hiroc'h]]):", - 'fancycaptcha-sendemail' => "Evit hor skoazellañ da zizarbenn ar strob emgefre, adskrivit ar gerioù a welit er voest dindan ([[Special:Captcha/help|gouzout hiroc'h]]):", -); - -/** Bosnian (bosanski) - * @author CERminator - */ -$messages['bs'] = array( - 'fancycaptcha-addurl' => 'Vaša izmjena uključuje nove vanjske linkove. -Da bi se zaštitili od automatskog spama, molimo da unesete riječi koje su prikazane u kutiji ([[Special:Captcha/help|više informacija]]):', - 'fancycaptcha-badlogin' => 'Da bi pomogli u sprječavanju protiv automatskog probijanja šifre, molimo Vas da unesete riječi koje su prikazane ispod u kutiji ([[Special:Captcha/help|više informacija]]):', - 'fancycaptcha-createaccount' => 'Da bi pomogli u sprječavanju automatskog pravljenja računa, molimo Vas da unesete riječi koje su prikazane u kutiji ispod ([[Special:Captcha/help|više informacija]]):', - 'fancycaptcha-create' => 'Da bi ste napravili stranicu, molimo Vas unesite riječi koje su prikazane u kutiji ispod ([[Special:Captcha/help|više informacija]]):', - 'fancycaptcha-edit' => 'Da bi ste uređivali ovu stranicu, molimo Vas unesite riječi koje su prikazane u kutiji ispod ([[Special:Captcha/help|više informacija]]):', - 'fancycaptcha-sendemail' => 'Da bi pomogli u sprječavanju protiv automatskog spamovanja, molimo Vas da unesete riječi koje su prikazane ispod u kutiji ([[Special:Captcha/help|više informacija]]):', -); - -/** Catalan (català) - * @author Davidpar - * @author SMP - * @author Ssola - */ -$messages['ca'] = array( - 'fancycaptcha-addurl' => "La vostra modificació inclou nous enllaços externs. Com a protecció contra la propaganda automatitzada heu d'escriure en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):", - 'fancycaptcha-badlogin' => "Com a protecció contra l'obtenció automatitzada de contrasenyes cal que escriviu en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):", - 'fancycaptcha-createaccount' => 'Com a protecció contra la creació automatitzada de nous comptes cal que escriviu en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):', - 'fancycaptcha-create' => "Per a poder crear la pàgina heu d'escriure en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):", - 'fancycaptcha-edit' => "Per a poder modificar la pàgina heu d'escriure en la caixa les paraules que apareixen a continuació ([[Special:Captcha/help|més informació]]):", - 'fancycaptcha-sendemail' => 'Per ajudar a protegir contra el correu brossa automatitzat, si us plau, introduïu les paraules que apareixen a sota la caixa ([[Special:Captcha/help|més informació]]):', -); - -/** Min Dong Chinese (Mìng-dĕ̤ng-ngṳ̄) */ -$messages['cdo'] = array( - 'fancycaptcha-badlogin' => 'Ôi-lāu huòng-cī tiàng-sê̤ṳ cê̤ṳ-dông puái-gāi mĭk-mā, chiāng nṳ̄ sṳ̆-ĭk â-dā̤ bēng-bēng diē-lié gì sṳ̀ ([[Special:Captcha/help|gáing sâ̤ séng-sék]]):', -); - -/** Sorani Kurdish (کوردی) - * @author Asoxor - */ -$messages['ckb'] = array( - 'fancycaptcha-createaccount' => 'بۆ یارمەتیدانی بەرگری لە دروستکردنی خۆکاری ھەژمار، تکایە ئەو وشانە لە خوارەوەدا دیارن لە بۆکسەکەدا بنووسە ([[Special:Captcha/help|زانیاریی زۆرتر]]):', -); - -/** Czech (česky) - * @author Mormegil - */ -$messages['cs'] = array( - 'fancycaptcha-desc' => 'Pokročilý generátor captcha pro rozšíření „Confirm Edit“', - 'fancycaptcha-addurl' => 'Vaše editace obsahuje nové odkazy formou URL; v zájmu ochrany před automatickým spamováním musíte opsat text z následujícího obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', - 'fancycaptcha-badlogin' => 'V rámci ochrany proti automatickým pokusům uhodnout heslo musíte opsat text z následujícího obrázku. ([[Special:Captcha/help|Co tohle znamená?]])', - 'fancycaptcha-createaccount' => 'V rámci ochrany před automatickým zakládáním účtů musíte pro provedení registrace opsat text z následujícího obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', - 'fancycaptcha-create' => 'Abyste mohli založit stránku, musíte opsat text z následujícího obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', - 'fancycaptcha-edit' => 'Abyste mohli editovat tuto stránku, musíte opsat text z následujícího obrázku: ([[Special:Captcha/help|Co tohle znamená?]])', - 'fancycaptcha-sendemail' => 'V rámci ochrany proti automatickému spamování musíte opsat níže zobrazená slova ([[Special:Captcha/help|více informací]]):', -); - -/** Church Slavic (словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ) - * @author ОйЛ - */ -$messages['cu'] = array( - 'fancycaptcha-createaccount' => 'блюдєниꙗ дѣл҄ьма на аѵтоматьно мѣстоꙁиданиѥ · авлѥнъ слова обраꙁъ нижьшиѥмь окънѣ напиши ⁙ ([[Special:Captcha/help|испльнѧщѧ вѣсти]]) :', -); - -/** Welsh (Cymraeg) - * @author Lloffiwr - */ -$messages['cy'] = array( - 'fancycaptcha-addurl' => "Mae eich golygiad yn cynnwys cyswllt allanol newydd. -Er mwyn ceisio rhwystro peiriannau spam, byddwch gystal â theipio'r geiriau a welwch isod yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'fancycaptcha-badlogin' => "Er mwyn ceisio rhwystro peiriannau datrys cyfrineiriau, byddwch gystal â theipio'r geiriau a welwch isod yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'fancycaptcha-createaccount' => "Er mwyn ceisio rhwystro peiriannau creu cyfrifon, byddwch gystal â theipio'r geiriau a welwch isod yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'fancycaptcha-create' => "Er mwyn creu'r dudalen, byddwch gystal â theipio'r geiriau a welwch isod yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'fancycaptcha-edit' => "Er mwyn gallu golygu'r dudalen hon, byddwch gystal â theipio'r geiriau a welwch isod yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", - 'fancycaptcha-sendemail' => "Er mwyn cyfrannu at ddiogelu rhag sbamio awtomatig, byddwch gystal â gwneud y swm isod ac ysgrifennu'r ateb yn y blwch ([[Special:Captcha/help|rhagor o wybodaeth]]):", -); - -/** Danish (dansk) - * @author Peter Alberti - */ -$messages['da'] = array( - 'fancycaptcha-addurl' => 'Din ændring tilføjer nye eksterne henvisninger. For at beskytte mod automatiseret spam, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-badlogin' => 'For at beskytte mod automatiske forsøg på at gætte kodeord, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-createaccount' => 'For at beskytte mod automatisk oprettelse af brugernavne, der bruges til spam, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-create' => 'For at oprette en ny side, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-edit' => 'For at redigere denne side, indtast da venligst ordene, der står i feltet nedenfor ([[Special:Captcha/help|mere information]]):', -); - -/** German (Deutsch) - * @author Metalhead64 - * @author Raimond Spekking - * @author Umherirrender - */ -$messages['de'] = array( - 'fancycaptcha-desc' => 'Fancy-CAPTCHA-Generator für die Erweiterung „Confirm Edit“', - 'fancycaptcha-addurl' => 'Deine Bearbeitung enthält neue externe Links. -Zum Schutz vor automatisiertem Spamming gib das folgende Wort in das Feld unten ein. Klicke dann erneut auf „Seite speichern“ ([[Special:Captcha/help|Fragen oder Probleme?]]).', - 'fancycaptcha-badlogin' => 'Zum Schutz vor einer Kompromittierung deines Benutzerkontos gib das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]]:', - 'fancycaptcha-createaccount' => 'Zum Schutz vor automatisierter Anlage von Benutzerkonten gib bitte das folgende Wort in das Feld unten ein ([[Special:Captcha/help|Fragen oder Probleme?]]):', - 'fancycaptcha-create' => 'Zur Erstellung der Seite gib das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'fancycaptcha-edit' => 'Zur Bearbeitung der Seite gib das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'fancycaptcha-sendemail' => 'Um gegen automatischen Spam vorzugehen, gib bitte die Wörter unten in das Feld ein ([[Special:Captcha/help|mehr Informationen]]):', -); - -/** German (formal address) (Deutsch (Sie-Form)‎) - * @author Imre - * @author MichaelFrey - * @author Umherirrender - */ -$messages['de-formal'] = array( - 'fancycaptcha-addurl' => 'Ihre Bearbeitung enthält neue externe Links. -Zum Schutz vor automatisiertem Spamming geben Sie das folgende Wort in das Feld unten ein. Klicken Sie dann erneut auf „Seite speichern“ ([[Special:Captcha/help|Fragen oder Probleme?]]).', - 'fancycaptcha-badlogin' => 'Zum Schutz vor einer Kompromittierung Ihres Benutzerkontos geben Sie bitte das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Haben Sie Fragen oder Probleme?)]]:', - 'fancycaptcha-createaccount' => 'Zum Schutz vor automatisierter Anlage von Benutzerkonten geben Sie bitte das folgende Wort in das Feld unten ein ([[Special:Captcha/help|Fragen oder Probleme?]]):', - 'fancycaptcha-create' => 'Zur Erstellung der Seite geben Sie das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'fancycaptcha-edit' => 'Zur Bearbeitung der Seite geben Sie das folgende Wort in das Feld unten ein [[Special:Captcha/help|(Fragen oder Probleme?)]].', - 'fancycaptcha-sendemail' => 'Um gegen automatischen Spam vorzugehen, geben Sie bitte die Wörter unten in das Feld ein ([[Special:Captcha/help|mehr Informationen]]):', -); - -/** Zazaki (Zazaki) - * @author Xoser - */ -$messages['diq'] = array( - 'fancycaptcha-addurl' => 'Vurnayîşanê tu de linkanê harîcîyê newe esto. -Qe otomatik spamî ra pawitîş, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', - 'fancycaptcha-badlogin' => 'Qe otomatik parola crack kerdişî ra pawitîş, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', - 'fancycaptcha-createaccount' => 'Qe otomatik hesab viraştişî ra pawitîş, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', - 'fancycaptcha-create' => 'Qe pel viraştîşî, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', - 'fancycaptcha-edit' => 'Qe pel vurnayîşî, ma rica keno çekuyanê ke qutiya cor de înan binuse ([[Special:Captcha/help|enformasyonê bînî]]):', - 'fancycaptcha-sendemail' => 'Qe spamê otomayoni ra pawitîşi, ma rica keno çekuyanê ke qutiya cor de înan binuse -([[Special:Captcha/help|enformasyonê bînî]]):', -); - -/** Lower Sorbian (dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'fancycaptcha-addurl' => 'Twója změna wopśimujo nowe eksterne wótkaze. -Za šćit pśeśiwo awtomatiskemu spamowanjeju, zapódaj pšosym słowa, kótarež pokazuju se dołojce w kašćiku ([[Special:Captcha/help|dalšne informacije]]):', - 'fancycaptcha-badlogin' => 'Za šćit pśeśiwo awtomatiskemu wugódanjeju gronidła, zapódaj pšosym słowa, kótarež pokazuju se dołojce w kašćiku ([[Special:Captcha/help|dalšne informacije]]):', - 'fancycaptcha-createaccount' => 'Za šćit pśeśiwo awtomatiskemu załoženjeju kontow, zapódaj pšosym słowa, kótarež pokazuju se dołojce w kašćiku ([[Special:Captcha/help|dalšne informacije]]):', - 'fancycaptcha-create' => 'Aby bok napórał, zapódaj pšosym słowa, kótarež pokazuju se dołojce w kašćiku ([[Special:Captcha/help|dalšne informacije]]):', - 'fancycaptcha-edit' => 'Aby toś ten bok wobźěłał, zapódaj pšosym słowa, kótarež pokazuju se dołojce w kašćiku ([[Special:Captcha/help|dalšne informacije]]):', - 'fancycaptcha-sendemail' => 'Za šćit pśeśiwo awtomatiskemu spamowanjeju, zapódaj pšosym słowa, kótarež pokazuju se dołojce w kašćiku ([[Special:Captcha/help|dalšne informacije]]):', -); - -/** Greek (Ελληνικά) - * @author Badseed - * @author Consta - * @author Geraki - * @author Glavkos - * @author ZaDiak - */ -$messages['el'] = array( - 'fancycaptcha-addurl' => 'Η επεξεργασία σας περιλαμβάνει νέους εξωτερικούς σύνδεσμους. -Ως βοήθεια για την προστασία από αυτόματα spam, παρακαλούμε γράψτε τις λέξεις που εμφανίζονται παρακάτω στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'fancycaptcha-badlogin' => 'Ως βοήθεια για την προστασία από αυτόματα προγράμματα σπασίματος κωδικών, παρακαλούμε γράψτε τις λέξεις που εμφανίζονται παρακάτω στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'fancycaptcha-createaccount' => 'Για να βοηθήσετε στην προστασία κατά των αυτόματα δημιουργούμενων λογαριασμών, παρακαλούμε πληκτρολογήστε στο πλαίσιο τις λέξεις που εμφανίζονται πιο κάτω ([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'fancycaptcha-create' => 'Για να δημιουργήσετε αυτήν την σελίδα, παρακαλώ εισάγετε τις λέξεις που εμφανίζονται παρακάτω μέσα στο κουτί -([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'fancycaptcha-edit' => 'Για να επεξεργαστείτε αυτήν την σελίδα, παρακαλώ εισάγετε τις λέξεις που εμφανίζονται παρακάτω μέσα στο κουτί -([[Special:Captcha/help|περισσότερες πληροφορίες]]):', - 'fancycaptcha-sendemail' => 'Ως βοήθεια για την προστασία από αυτόματα προγράμματα σπασίματος κωδικών, παρακαλούμε γράψτε τις λέξεις που εμφανίζονται παρακάτω στο πλαίσιο ([[Special:Captcha/help|περισσότερες πληροφορίες]]):', -); - -/** Esperanto (Esperanto) - * @author Yekrats - */ -$messages['eo'] = array( - 'fancycaptcha-addurl' => 'Via redakto inkluzivas novajn eksterajn ligilojn. -Por preventi aŭtomatan spamon, bonvolu enigi la jenajn vortojn en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'fancycaptcha-badlogin' => 'Helpi protekti kontraŭ aŭtomata divenado de pasvortoj, bonvolu enigi la jenajn vortojn en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'fancycaptcha-createaccount' => 'Helpi protekti kontraŭ aŭtomata kreado de kontoj, bonvolu enigi la jenajn vortojn en la skatolo ([[Special:Captcha/help|plua informo]]):', - 'fancycaptcha-create' => 'Por krei la paĝon, bonvolu enigi la vortojn montritajn en la jena skatolo ([[Special:Captcha/help|plua informo]]):', - 'fancycaptcha-edit' => 'Por redakti ĉi tiun paĝon, bonvolu enigi la vortojn jenajn en la kesto ([[Special:Captcha/help|plua informo]]):', - 'fancycaptcha-sendemail' => 'Por helpi protekti kontraŭ aŭtomata spamado, bonvolu enigi la jenajn vortojn de la skatolo ([[Special:Captcha/help|plua informo]]):', -); - -/** Spanish (español) - * @author Icvav - * @author Pertile - * @author Sanbec - */ -$messages['es'] = array( - 'fancycaptcha-addurl' => 'Tu edición incluye nuevos enlaces externos. Para protegernos contra el spam automatizado, por favor introduce en el recuadro las palabras que aparecen debajo ([[Special:Captcha/help|más información]]):', - 'fancycaptcha-badlogin' => 'Para ayudarnos en la protección contra el descifrado automático de contraseñas, por favor, introduce las palabras que aparecen abajo en la caja ([[Special:Captcha/help|más información]]):', - 'fancycaptcha-createaccount' => 'Para evitar la creación automatizada de cuentas, introduce por favor en el recuadro las palabras que aparecen debajo ([[Special:Captcha/help|más información]]):', - 'fancycaptcha-create' => 'Para crear la página, por favor introduce en el recuadro las palabras que aparecen debajo ([[Special:Captcha/help|más información]]):', - 'fancycaptcha-edit' => 'Para editar esta página, por favor introduce en el recuadro las palabras que aparecen debajo ([[Special:Captcha/help|más información]]):', - 'fancycaptcha-sendemail' => 'Para protegernos contra el spam automatizado por favor ingrese las palabras que aparecen en el siguiente cuadro ([[Special:Captcha/help|más información]]):', -); - -/** Estonian (eesti) - * @author Pikne - */ -$messages['et'] = array( - 'fancycaptcha-desc' => 'Kirevate piltidega robotilõks, kinnitamaks muudatuste õigsust.', - 'fancycaptcha-addurl' => 'Sinu muudatus sisaldab uusi välislinke. -Palun sisesta allpool olevas kastis kuvatud sõnad. Abinõu on kaitseks automaadistatud rämpsmuudatuste eest ([[Special:Captcha/help|lisateave]]):', - 'fancycaptcha-badlogin' => 'Palun sisesta allpool olevas kastis kuvatud sõnad. Abinõu on kaitseks automaatsete parooliäraarvajate eest ([[Special:Captcha/help|lisateave]]):', - 'fancycaptcha-createaccount' => 'Palun sisesta allpool olevas kastis kuvatud sõnad. Abinõu on kaitseks kontode automaatse loomise eest ([[Special:Captcha/help|lisateave]]):', - 'fancycaptcha-create' => 'Lehekülje loomiseks sisesta palun allpool olevas kastis kuvatud sõnad ([[Special:Captcha/help|lisateave]]):', - 'fancycaptcha-edit' => 'Selle lehekülje muutmiseks sisesta palun allpool olevas kastis kuvatud sõnad ([[Special:Captcha/help|lisateave]]):', - 'fancycaptcha-sendemail' => 'Palun sisesta allpool olevas kastis kuvatud sõnad. Abinõu on kaitseks automaadistatud rämpsmuudatuste vastu ([[Special:Captcha/help|lisateave]]):', -); - -/** Basque (euskara) - * @author An13sa - */ -$messages['eu'] = array( - 'fancycaptcha-addurl' => 'Zure aldaketak kanpo lotura berriak ditu. Spam automatikoa saihestu ahal izateko, beheko koadroan ageri diren hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):', - 'fancycaptcha-badlogin' => 'Pasahitzen cracking automatikoa saihestu asmoz, beheko koadroan ageri diren hitzak idazteko eskatzen dizugu ([[Special:Captcha/help|informazio gehigarria]]):', - 'fancycaptcha-createaccount' => 'Erabiltzaile kontuak automatikoki sortzea saihestu asmoz, beheko koadroan ageri diren hitzak idazteko eskatzen dizugu ([[Special:Captcha/help|informazio gehigarria]]):', - 'fancycaptcha-create' => 'Orrialde sortu ahal izateko, beheko koadroan ageri hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):', - 'fancycaptcha-edit' => 'Orrialde hau aldatu ahal izateko, beheko koadroan ageri diren hitzak idatzi ([[Special:Captcha/help|informazio gehigarria]]):', - 'fancycaptcha-sendemail' => 'Zabor-posta automatizatuaz babesteko, idatzi azpiko kutxako hitzak ([[Special:Captcha/help|informazio gehiago]]):', -); - -/** Persian (فارسی) - * @author Ebraminio - * @author Huji - * @author Ladsgroup - * @author Meisam - * @author Wayiran - */ -$messages['fa'] = array( - 'fancycaptcha-addurl' => 'ویرایش شما حاوی پیوند به بیرون جدیدی است. -برای کمک به جلوگیری از هرزنگاری خودکار، لطفاً واژه‌ای را که در تصویر می‌بینید در جعبه وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'fancycaptcha-badlogin' => 'برای کمک به جلوگیری از سرقت خودکار کلمه عبور، لطفاً واژه‌ای را که در تصویر می‌بینید وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'fancycaptcha-createaccount' => 'برای کمک به جلوگیری از ایجاد خودکار حساب کاربری، لطفاً واژه‌ای را که در تصویر می‌بینید وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'fancycaptcha-create' => 'برای ایجاد این صفحه، لطفاً واژه‌ای را که در تصویر می‌بینید وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'fancycaptcha-edit' => 'برای ویرایش این صفحه، لطفاً واژه‌ای را که در تصویر می‌بینید وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', - 'fancycaptcha-sendemail' => 'برای کمک به محافظت در برابر هرزه‌نگاری خودکار، لطفاً واژه‌هایی را که در جعبهٔ زیر نمایش داده می‌شوند وارد کنید ([[Special:Captcha/help|اطلاعات بیشتر]]):', -); - -/** Finnish (suomi) - * @author Crt - * @author Nike - */ -$messages['fi'] = array( - 'fancycaptcha-addurl' => 'Muokkauksesi sisältää uusia linkkejä muille sivuille. Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):', - 'fancycaptcha-badlogin' => 'Automatisoidun salasanan murtamisen vaikeuttamiseksi kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):', - 'fancycaptcha-createaccount' => 'Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):', - 'fancycaptcha-create' => 'Muokkauksesi sisältää uusia linkkejä muille sivuille. Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):', - 'fancycaptcha-edit' => 'Muokkauksesi sisältää uusia linkkejä muille sivuille. Kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):', - 'fancycaptcha-sendemail' => 'Automatisoidun roskapostin lähettämisen vaikeuttamiseksi kirjoita kuvan sisältämät sanat alla olevaan tekstikenttään ([[Special:Captcha/help|lisätietoja]]):', -); - -/** Faroese (føroyskt) - * @author Spacebirdy - */ -$messages['fo'] = array( - 'fancycaptcha-addurl' => 'Sum ein vernd ímóti sjálvvirknum konto gerð, er neyðugt hjá tær at skriva inn tey orð, sum koma fyri á myndini fyri at stovna eina kontu:
([[Special:Captcha/help|Hvat er hetta?]])', - 'fancycaptcha-createaccount' => 'Sum ein vernd ímóti sjálvvirknum konto gerð, er neyðugt hjá tær at skriva inn tey orð, sum koma fyri á myndini fyri at stovna eina kontu:
([[Special:Captcha/help|Hvat er hetta?]]):', -); - -/** French (français) - * @author Crochet.david - * @author IAlex - * @author Sherbrooke - * @author Urhixidur - * @author Verdy p - */ -$messages['fr'] = array( - 'fancycaptcha-desc' => "Générateur d’images ''captcha'' anti-robots demandant une confirmation humaine des modifications.", - 'fancycaptcha-addurl' => 'Votre modification inclut de nouveaux liens externes. -Pour vérifier qu’il ne s’agit pas de pourriels automatisés, veuillez entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'fancycaptcha-badlogin' => 'Afin de nous aider à prévenir le cassage des mots de passe par des automates, veuillez entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'fancycaptcha-createaccount' => 'Afin de nous aider à lutter contre les créations automatiques de comptes, veuillez entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'fancycaptcha-create' => 'Pour créer la page, veuillez entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha|plus d’informations]]) :', - 'fancycaptcha-edit' => 'Pour modifier cette page, veuillez entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha|plus d’informations]]) :', - 'fancycaptcha-sendemail' => 'Afin de nous aider à prévenir le pollupostage automatisé, veuillez entrer les mots qui apparaissent dans la boîte ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', -); - -/** Franco-Provençal (arpetan) - * @author ChrisPtDe - */ -$messages['frp'] = array( - 'fancycaptcha-desc' => "G·ènèrator d’émâges ''captch·a'' anti-robots que demande una confirmacion d’homo des changements.", - 'fancycaptcha-addurl' => 'Voutron changement encllut de lims de defôr novéls. -Por nos édiér a combatre contre lo spame ôtomatisâ, volyéd buchiér los mots qu’aparèssont dens la bouèta ce-desot ([[Special:Captcha/help|més d’enformacions]]) :', - 'fancycaptcha-badlogin' => 'Por nos édiér a combatre contre lo cassâjo ôtomatisâ de contresegnos, volyéd buchiér los mots qu’aparèssont dedens la bouèta ce-desot ([[Special:Captcha/help|més d’enformacions]]) :', - 'fancycaptcha-createaccount' => 'Por nos édiér a combatre contre les crèacions ôtomatisâs de comptos, volyéd buchiér los mots qu’aparèssont dens la bouèta ce-desot ([[Special:Captcha/help|més d’enformacions]]) :', - 'fancycaptcha-create' => 'Por fâre ceta pâge, volyéd buchiér los mots qu’aparèssont dens la bouèta ce-desot ([[Special:Captcha/help|més d’enformacions]]) :', - 'fancycaptcha-edit' => 'Por changiér ceta pâge, volyéd buchiér los mots qu’aparèssont dens la bouèta ce-desot ([[Special:Captcha/help|més d’enformacions]]) :', - 'fancycaptcha-sendemail' => 'Por nos édiér a combatre contre lo spame ôtomatisâ, volyéd buchiér los mots qu’aparèssont dens la bouèta ce-desot ([[Special:Captcha/help|més d’enformacions]]) :', -); - -/** Western Frisian (Frysk) - * @author Snakesteuben - */ -$messages['fy'] = array( - 'fancycaptcha-badlogin' => 'As ekstra beskerming tsjin automatysk ûntsiferjen fan wachtwurden wurdt jo frege de ûndersteande letters oer te tikken. ([[Special:Captcha/help|mear ynformaasje]]).', -); - -/** Irish (Gaeilge) */ -$messages['ga'] = array( - 'fancycaptcha-createaccount' => 'Mar chosaint in éadan cuntais a chruthaítear go huathoibríoch, ionchuir na focail a thaispeántar san íomhá seo thíos:
([[Special:Captcha/help|tuilleadh eolais]])', -); - -/** Galician (galego) - * @author Toliño - * @author Xosé - */ -$messages['gl'] = array( - 'fancycaptcha-desc' => 'Xerador de imaxes CAPTCHA para Confirm Edit', - 'fancycaptcha-addurl' => 'A súa edición inclúe ligazóns externas novas. -Para contribuír na protección contra o spam automatizado, introduza as palabras que aparecen na caixa de embaixo ([[Special:Captcha/help|máis información]]):', - 'fancycaptcha-badlogin' => 'Para contribuír a que non se descubran os contrasinais por medios automáticos, introduza as palabras que aparecen na caixa ([[Special:Captcha/help|máis información]]):', - 'fancycaptcha-createaccount' => 'Para contribuír contra a creación automatizada de contas, introduza as palabras que aparecen na caixa ([[Special:Captcha/help|máis información]]):', - 'fancycaptcha-create' => 'Para crear a páxina, introduza as palabras que aparecen na caixa de embaixo ([[Special:Captcha/help|máis información]]):', - 'fancycaptcha-edit' => 'Para editar esta páxina, introduza as palabras que aparecen na caixa de embaixo ([[Special:Captcha/help|máis información]]):', - 'fancycaptcha-sendemail' => 'Para contribuír na protección contra o spam automatizado, introduza as palabras que aparecen na caixa ([[Special:Captcha/help|máis información]]):', -); - -/** Swiss German (Alemannisch) - * @author Als-Chlämens - * @author Als-Holder - * @author Melancholie - */ -$messages['gsw'] = array( - 'fancycaptcha-addurl' => 'In Dyynere Bearbeitig het s neiji externi Link. -Zum Schutz vor automatisiertem Spamming gib des Wort in s Fäld unten yy. Druck derno nomol uf „Syte spychere“. [[Special:Captcha/help|(Frogen oder Probläm?)]]', - 'fancycaptcha-badlogin' => 'Zum Schutz vor ere Kompromittierig vu Dyynm Benutzerkonto gib des Wort in s Fäld unten yy [[Special:Captcha/help|(Frogen oder Probläm?)]]:', - 'fancycaptcha-createaccount' => 'Zum Schutz vor ere automatisierte Aalag vu Benutzerkonte gib bitte des Wort in s Fäld unten yy ([[Special:Captcha/help|Frogen oder Probläm?]]):', - 'fancycaptcha-create' => 'Zum d Syten aalege gib des Wort in s Fäld unten yy. [[Special:Captcha/help|(Frogen oder Probläm?)]]', - 'fancycaptcha-edit' => 'Zum d Syte bearbeite gib des Wort in s Fäld unten yy. [[Special:Captcha/help|(Frogen oder Probläm?)]]', - 'fancycaptcha-sendemail' => 'As Schutz gege e automatischs Spamming, gib bitte des Wort in s Fäld unten yy ([[Special:Captcha/help|meh Informatione]]):', -); - -/** Gujarati (ગુજરાતી) - * @author Dsvyas - * @author Sushant savla - */ -$messages['gu'] = array( - 'fancycaptcha-addurl' => 'તમારા ફેરફારમાં નવી બાહ્ય કડીઓ શામિલ છે. -તમે કરેલા ફેરફારોમાં નવી બાહ્ય કડીઓ સામેલ છે. સ્વચાલિત સ્પેમ/સ્પામ(spam) થી બચવા માટે નીચે આપેલા સરળ દાખલાનો જવાબ તેની બાજુના ખાનામાં લખો -([[Special:Captcha/help|more info]]):', - 'fancycaptcha-badlogin' => 'આપોઆપ થતી ગુપ્તસંજ્ઞાની ચોરી (password cracking)થી બચાવવા માટે નીચે આપેલા શબ્દ તેની બાજુના ખાનામાં લખો ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-createaccount' => 'આપોઆપ નવા ખાતા ખુલતા રોકવા માટે નીચે દેખાતા શબ્દો ખાનામાં લખો ([[Special:Captcha/help|વધુ માહિતી]]):', - 'fancycaptcha-create' => 'પાનું બનાવવા માટે નીચે દેખાતા શબ્દો ખાનામાં ટાઈપ કરો ([[Special:Captcha/help|વધુ માહિતી]]):', - 'fancycaptcha-edit' => 'આ પાનામાં ફેરફાર કરવા માટે નીચે દેખાતા શબ્દો ખાનામાં ટાઈપ કરો ([[Special:Captcha/help|વધુ માહિતી]]):', - 'fancycaptcha-sendemail' => 'આપોઆપ થતી સ્પૅમીંગથી બચાવવા માટે નીચે આપેલા શબ્દ તેની બાજુના ખાનામાં લખો ([[Special:Captcha/help|more info]]):', -); - -/** Hebrew (עברית) - * @author Amire80 - * @author Rotem Liss - */ -$messages['he'] = array( - 'fancycaptcha-addurl' => 'עריכתכם כוללת קישורים חיצוניים חדשים. -כהגנה מפני ספאם אוטומטי, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'fancycaptcha-badlogin' => 'כהגנה מפני פריצת סיסמאות אוטומטית, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'fancycaptcha-createaccount' => 'כהגנה מפני יצירת חשבונות אוטומטית, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'fancycaptcha-create' => 'כדי ליצור את הדף, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'fancycaptcha-edit' => 'כדי לערוך את הדף, אנא הקלידו את המילים המופיעות להלן בתיבה ([[Special:Captcha/help|מידע נוסף]]):', - 'fancycaptcha-sendemail' => 'כדי לעזור להתגונן מפני שליחת זבל אוטומטית, אנא הכניסו את המילים שמופיעות בתיבה למטה ([[Special:Captcha/help|מידע נוסף]]):', -); - -/** Hindi (हिन्दी) - * @author Kaustubh - * @author Siddhartha Ghai - */ -$messages['hi'] = array( - 'fancycaptcha-addurl' => 'आपके सम्पादन में नई बाहरी कड़ियाँ हैं। -स्वचालित स्पॅम से बचाव में सहायता के लिये नीचे दिये हुए शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'fancycaptcha-badlogin' => 'स्वचालित कूटशब्द चोरी से बचाव में सहायता के लिये नीचे दिये हुए शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'fancycaptcha-createaccount' => 'स्वचालित सदस्य पंजीकरण से बचाव में सहायता के लिये नीचे दिये शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'fancycaptcha-create' => 'यह पृष्ठ बनाने के लिये कृपया नीचे दिये शब्द बक्से में लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', - 'fancycaptcha-edit' => 'यह पृष्ठ बदलने के लिये, नीचे दिखने वाले अक्षर टेक्स्ट बक्सेमें लिखें ([[Special:Captcha/help|अधिक जानकारी]]):', -); - -/** Croatian (hrvatski) - * @author SpeedyGonsales - */ -$messages['hr'] = array( - 'fancycaptcha-addurl' => 'Vaše uređivanje sadrži nove vanjske poveznice. Kao zaštitu od automatskog spama, -molimo unesite slova koja vidite na slici dolje: ([[Special:Captcha/help|Pomoć]])', - 'fancycaptcha-badlogin' => 'Da se spriječi automatiziranje pogađanja lozinki, molimo unesite -slova koja vidite na slici dolje:
([[Special:Captcha/help|Pomoć]])', - 'fancycaptcha-createaccount' => 'Kao zaštitu od automatskog otvaranja računa, pri otvaranju računa trebate -unijeti slova koja vidite na slici:
([[Special:Captcha/help|Pomoć]])', - 'fancycaptcha-create' => 'Da bi stvorili novu stranicu, molimo unesite -slova koja vidite na slici dolje:
([[Special:Captcha/help|Pomoć]])', - 'fancycaptcha-edit' => 'Da bi uređivali ovu stranicu, molimo unesite slova koja vidite na slici dolje:
([[Special:Captcha/help|Pomoć]])', - 'fancycaptcha-sendemail' => 'Da bi ste nam pomogli protiv automatskog spama, molimo unesite riječi koje su prikazane ispod u okvir ([[Special:Captcha/help|više informacija]]):', -); - -/** Upper Sorbian (hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'fancycaptcha-addurl' => 'W twojej změnje su nowe eksterne wotkazy. Jako škitna naprawa přećiwo awtomatiskemu spamej zapodaj prošu sćěhowace znamješka do kašćika ([[Special:Captcha/help|čehodla?]]).', - 'fancycaptcha-badlogin' => 'Jako škitna naprawa přećiwo awtomatiskemu zadobywanju do wužiwarskich kontow zapodaj prošu sćěhowace znamješka do kašćika ([[Special:Captcha/help|čehodla?]]):', - 'fancycaptcha-createaccount' => 'Jako škitna naprawa přećiwo awtomatiskemu wutworjenju wužiwarskich kontow zapodaj prošu sćěhowace znamješka do kašćika ([[Special:Captcha/help|čehodla?]]):', - 'fancycaptcha-create' => 'Zo by stronu wutworić móhł zapodaj prošu sćěhowace znamješka do kašćika ([[Special:Captcha/help|čehodla?]]):', - 'fancycaptcha-edit' => 'Zo by stronu wobdźěłować móhł zapodaj prošu sćěhowace znamješka do kašćika ([[Special:Captcha/help|čehodla?]]):', - 'fancycaptcha-sendemail' => 'Za škit přećiwo awtomatiskemu spamowanju, zapodaj prošu słowa, kotrež so deleka w kašćiku jewi ([[Special:Captcha/help|dalše informacije]]):', -); - -/** Hungarian (magyar) - * @author Adam78 - * @author Dorgan - * @author Glanthor Reviol - */ -$messages['hu'] = array( - 'fancycaptcha-addurl' => 'A szerkesztésed új külső hivatkozásokat tartalmaz. Az automatizált spamek megelőzése miatt kérjük, hogy add meg a lenti keretben olvasható szavakat ([[Special:Captcha/help|további segítség]]):', - 'fancycaptcha-badlogin' => 'Hogy az automatizált jelszópróbálkozásokat megelőzzük, kérjük, hogy add meg a lenti keretben olvasható szavakat ([[Special:Captcha/help|további segítség]]):', - 'fancycaptcha-createaccount' => 'A felhasználói fiókok automatizált létrehozásának elkerülésére, kérlek, írd be az alább megjelenő szót a szövegdobozba ([[Special:Captcha/help|segítség]]):', - 'fancycaptcha-create' => 'A lap létrehozásához kérjük, hogy add meg a lenti keretben olvasható szavakat ([[Special:Captcha/help|további segítség]]):', - 'fancycaptcha-edit' => 'A szerkesztésed új külső linkeket tartalmaz. A spam-robotok elleni védekezés elősegítésére kérlek írd be az alább megjelenő szót a szövegdobozba ([[Special:Captcha/help|segítség]]):', - 'fancycaptcha-sendemail' => 'Hogy segíts az automatikus spammelés elleni védekezésben, kérünk írd be az alábbi szavakat a szövegdobozba ([[Special:Captcha/help|segítség]]):', -); - -/** Interlingua (interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'fancycaptcha-addurl' => 'Tu modification include nove ligamines externe. -Como protection contra le spam automatic, per favor entra le parolas que appare infra in le quadro ([[Special:Captcha/help|plus info]]):', - 'fancycaptcha-badlogin' => 'Como protection contra le piratage automatic de contrasignos, per favor entra le parolas que appare infra in le quadro ([[Special:Captcha/help|plus info]]):', - 'fancycaptcha-createaccount' => 'Como protection contra le creation automatic de contos, per favor entra le parolas que appare infra in le quadro ([[Special:Captcha/help|plus info]]):', - 'fancycaptcha-create' => 'Pro crear le pagina, per favor entra le parolas que appare infra in le quadro ([[Special:Captcha/help|plus info]]):', - 'fancycaptcha-edit' => 'Pro modificar iste pagina, per favor entra le parolas que appare infra in le quadro ([[Special:Captcha/help|plus info]]):', - 'fancycaptcha-sendemail' => 'Pro adjutar nos in le protection contra le spam automatic, per favor entra le parolas que appare hic infra in le quadro ([[Special:Captcha/help|plus info]]):', -); - -/** Indonesian (Bahasa Indonesia) - * @author Bennylin - * @author IvanLanin - * @author Iwan Novirion - */ -$messages['id'] = array( - 'fancycaptcha-addurl' => 'Suntingan Anda mencantumkan pranala luar baru. Untuk pelindungan terhadap spam otomatis, harap masukkan kata di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'fancycaptcha-badlogin' => 'Sebagai pelindungan terhadap pemecah kata kunci otomatis, harap masukkan kata di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'fancycaptcha-createaccount' => 'Untuk pelindungan terhadap pembuatan akun otomatis, tolong masukkan kata di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'fancycaptcha-create' => 'Untuk membuat halaman, silahkan masukkan kata-kata yang muncul di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'fancycaptcha-edit' => 'Untuk menyunting halaman ini, silahkan masukkan kata-kata yang muncul di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', - 'fancycaptcha-sendemail' => 'Sebagai pelindungan terhadap spam otomatis, silahkan masukkan kata-kata yang muncul di bawah ini ke dalam kotak yang tersedia ([[Special:Captcha/help|info lengkap]]):', -); - -/** Iloko (Ilokano) - * @author Lam-ang - */ -$messages['ilo'] = array( - 'fancycaptcha-addurl' => 'Ti inurnos mo ket adda nagyan na a baro a panilpo ti ruar. -Tapno masalakniban kadagiti automatiko a spam, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'fancycaptcha-badlogin' => 'Tapno masalakniban kadagiti automatiko a pinagsulbar ti kontrasenias, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'fancycaptcha-createaccount' => 'Tapno makasalaknib kadagiti automatiko a pinagaramid ti pakabilangan, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'fancycaptcha-create' => 'Tapno makaaramid ti panid, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'fancycaptcha-edit' => 'Tapno makaurnos daytoy a panid, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'fancycaptcha-sendemail' => 'Tapno makasalaknib kadagiti automatiko a pinagspam, pangaasim nga ikabil ti balikas nga agparang dita baba a kahon. ([[Special:Captcha/help|adu pay a pakaammo]]):', -); - -/** Icelandic (íslenska) - * @author Snævar - */ -$messages['is'] = array( - 'fancycaptcha-addurl' => 'Breytingin þín inniheldur viðbætta ytri tengla. -Til þess að hjálpa okkur verjast sjálfvirku auglýsingarusli, vinsamlegast sláðu inn orðin sem birtast hér fyrir neðan í reitinn ([[Special:Captcha/help|frekari upplýsingar]]):', - 'fancycaptcha-badlogin' => 'Til þess að hjálpa okkur að verjast gegn sjálfvirkum leyniorðaárásum, vinsamlegast sláðu inn orðin sem birtast hér fyrir neðan í reitinn ([[Special:Captcha/help|frekari upplýsingar]]):', - 'fancycaptcha-createaccount' => 'Til þess að hjálpa okkur að verjast sjálfvirkri stofnun aðganga, vinsamlegast sláðu inn orðin sem birtast hér fyrir neðan í reitinn ([[Special:Captcha/help|frekari upplýsingar]]):', - 'fancycaptcha-create' => 'Til þess að búa til þessa síðu, vinsamlegast sláðu inn orðin sem birtast hér fyrir neðan í reitinn ([[Special:Captcha/help|frekari upplýsingar]]):', - 'fancycaptcha-edit' => 'Til þess að breyta þessari síðu, vinsamlegast sláðu inn orðin að neðan í reitinn ([[Special:Captcha/help|frekari upplýsingar]]):', - 'fancycaptcha-sendemail' => 'Til þess að hjálpa okkur að verjast sjálfvirkum auglýsingapósti, vinsamlegast sláðu inn orðin hér fyrir neðan í reitinn ([[Special:Captcha/help|frekari upplýsinngar]]):', -); - -/** Italian (italiano) - * @author Beta16 - * @author BrokenArrow - * @author Darth Kule - */ -$messages['it'] = array( - 'fancycaptcha-addurl' => "La modifica richiesta aggiunge dei collegamenti esterni alla pagina; come misura precauzionale contro l'inserimento automatico di spam, si prega di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):", - 'fancycaptcha-badlogin' => 'Come misura precauzionale contro i tentativi di forzatura automatica della password, si prega di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):', - 'fancycaptcha-createaccount' => 'Come misura precauzionale contro i tentativi di creazione automatica degli account, si prega di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):', - 'fancycaptcha-create' => 'Per creare la pagina si prega di inserire nella casella sottostante le parole che compaiono nella casella di seguito ([[Special:Captcha/help|come funziona?]]):', - 'fancycaptcha-edit' => 'Per modificare questa pagina si prega di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):', - 'fancycaptcha-sendemail' => 'Come misura precauzionale nei confronti dei messaggi di spam automatici, si prega di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):', -); - -/** Japanese (日本語) - * @author Aotake - * @author Fryed-peach - * @author Marine-Blue - * @author Shirayuki - */ -$messages['ja'] = array( - 'fancycaptcha-desc' => 'Confirm Edit 用の装飾的な CAPTCHA ジェネレーター', - 'fancycaptcha-addurl' => 'あなたは新しい外部リンクを追加しようとしています。 -自動でのスパム攻撃を防ぐため、下記の確認用の文字列を欄に入力してください ([[Special:Captcha/help|詳細]]):', - 'fancycaptcha-badlogin' => '自動でのパスワードクラック攻撃を防ぐため、下記の確認用の文字列を欄に入力してください ([[Special:Captcha/help|詳細]]):', - 'fancycaptcha-createaccount' => 'アカウントの自動登録を防ぐため、下記の確認用の文字列を欄に入力してください ([[Special:Captcha/help|詳細]]):', - 'fancycaptcha-create' => 'ページを新規作成するには、下記の確認用の文字列を欄に入力してください ([[Special:Captcha/help|詳細]]):', - 'fancycaptcha-edit' => 'このページを編集するには、下記の確認用の文字列を欄に入力してください ([[Special:Captcha/help|詳細]]):', - 'fancycaptcha-sendemail' => '自動でのスパム攻撃を防ぐため、下記の確認用の文字列を欄に入力してください ([[Special:Captcha/help|詳細]]):', -); - -/** Jutish (jysk) - * @author Huslåke - */ -$messages['jut'] = array( - 'fancycaptcha-addurl' => 'Din ændring tilføjer nye eksterne henvisninger. For at beskytte mod automatiseret spam, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-badlogin' => 'For at beskytte mod automatiske forsøg på at gætte kodeord, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-createaccount' => 'For at beskytte mod automatisk oprettelse af brugernavne, der bruges til spam, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-create' => 'For at oprette en ny side, skal du indtaste ordet som vises nedenfor i feltet under det. ([[Special:Captcha/help|mere information]]):', - 'fancycaptcha-edit' => 'or at redigere denne side -([[Special:Captcha/help|more info]]):', -); - -/** Javanese (Basa Jawa) - * @author Meursault2004 - */ -$messages['jv'] = array( - 'fancycaptcha-addurl' => 'Suntingan panjenengan iku ngandhut pranala jaba anyar. Kanggo pangreksan marang spam otomatis, mangga lebokna tembung sing kapacak ing ngisor iki ing kothak sing wis cumepak ([[Special:Captcha/help|info jangkep]]):', - 'fancycaptcha-badlogin' => 'Kanggo ngréwangi pangreksan marang parengkahan kunci sandhi otomatis, mangga lebokna tembung sing kapacak ing ngisor iki ing kothak sing wis cumepak ([[Special:Captcha/help|info jangkep]]):', - 'fancycaptcha-createaccount' => 'Minangka pangreksan marang rékening (akun) sing digawé otomatis, tulung lebokna tembung sing kapacak ing ngisor iki ing kothak sing wis cumepak ([[Special:Captcha/help|info jangkep]]):', - 'fancycaptcha-create' => 'Suntingan panjenengan ngandhut pranala jaba anyar. Kanggo nggawé kaca iki, mangga isèkna tembung-tembung sing ana ing kothak iki ([[Special:Captcha/help|info jangkep]]):', - 'fancycaptcha-edit' => 'Suntingan panjenengan ngandhut pranala jaba anyar. Kanggo nyunting kaca iki, mangga isèkna tembung-tembung sing ana ing kothak iki ([[Special:Captcha/help|info jangkep]]):', -); - -/** Georgian (ქართული) - * @author David1010 - * @author ITshnik - */ -$messages['ka'] = array( - 'fancycaptcha-addurl' => 'თქვენი ცვლილება შეიცავს ახალ გარე ბმულებს. -ავტომატური სპამინგისგან თავდაცვის მიზნით, გთხოვთ, შეიყვანოთ ქვემოთ მოცემული სიტყვები ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'fancycaptcha-badlogin' => 'პაროლების ავტომატური გატეხვისგან თავდაცვის მიზნით, გთხოვთ, შეიყვანოთ ქვემოთ მოცემული სიტყვები ყუთში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', - 'fancycaptcha-createaccount' => 'ანგარიშების ავტომატური რეგისტრაციისაგან თავდაცვის მიზნით, გთხოვთ, შეიყვანოთ ნაჩვენები სიმბოლოები ტექსტურ ველში ([[Special:Captcha/help|დეტალურად]]):', - 'fancycaptcha-create' => 'გვერდის შესაქმნელად, გთხოვთ, შეიყვანეთ ასოები, რომლებიც ნაჩვენებია ქვედა სურათზე ([[Special:Captcha/help|დეტალურად…]]):', - 'fancycaptcha-edit' => 'გვერდის რედაქტირებისათვის, გთხოვთ, შეიყვანეთ ასოები, რომლებიც ნაჩვენებია ქვედა სურათზე ([[Special:Captcha/help|დეტალურად…]]):', - 'fancycaptcha-sendemail' => 'ავტომატური სპამისაგან თავდაცვის მიზნით, გთხოვთ, შეიყვანოთ ქვევით ნაჩვენები სიტყვა ტექსტურ ველში ([[Special:Captcha/help|მეტი ინფორმაცია]]):', -); - -/** Kara-Kalpak (Qaraqalpaqsha) - * @author Atabek - */ -$messages['kaa'] = array( - 'fancycaptcha-createaccount' => "Jan'a akkauntlardın' avtomatik jaratılıwının' aldın alıw ushın, to'mendegi -ko'rsetilgen so'zlerdi kiritin'([[{{ns:special}}:Captcha/help|ko'birek mag'lıwmat]]):", -); - -/** Kazakh (Arabic script) (قازاقشا (تٴوتە)‏) */ -$messages['kk-arab'] = array( - 'fancycaptcha-addurl' => 'تٷزەتۋٸڭٸزدە جاڭا سىرتقى سٸلتەمەلەر بار ەكەن. ٶزدٸك تٷردە «سپام» جاسالۋىنان قورعانۋ ٷشٸن, -تٶمەندەگٸ كٶرسەتٸلگەن سٶزدەردٸ اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'fancycaptcha-badlogin' => 'قۇپييا سٶزدٸ ٶزدٸكتٸ بۇزدىرۋدان قورعانۋ ٷشٸن, تٶمەندەگٸ -كٶرسەتٸلگەن سٶزدەردٸ اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'fancycaptcha-createaccount' => 'جاڭا تٸركەلگٸ ٶزدٸكتٸ جاسالۋىنان قورعانۋ ٷشٸن, تٶمەندەگٸ -كٶرسەتٸلگەن سٶزدەردٸ اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'fancycaptcha-create' => 'تٷزەتۋٸڭٸزدە جاڭا سىرتقى سٸلتەمەلەر بار ەكەن. ٶزدٸك تٷردە «سپام» جاسالۋىنان قورعانۋ ٷشٸن, -تٶمەندەگٸ كٶرسەتٸلگەن سٶزدەردٸ اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', - 'fancycaptcha-edit' => 'تٷزەتۋٸڭٸزدە جاڭا سىرتقى سٸلتەمەلەر بار ەكەن. ٶزدٸك تٷردە «سپام» جاسالۋىنان قورعانۋ ٷشٸن, -تٶمەندەگٸ كٶرسەتٸلگەن سٶزدەردٸ اۋماققا ەنگٸزٸڭٸز ([[{{ns:special}}:Captcha/help|كٶبٸرەك اقپارات]]):', -); - -/** Kazakh (Cyrillic script) (қазақша (кирил)‎) */ -$messages['kk-cyrl'] = array( - 'fancycaptcha-addurl' => 'Түзетуіңізде жаңа сыртқы сілтемелер бар екен. Өздік түрде «спам» жасалуынан қорғану үшін, -төмендегі көрсетілген сөздерді аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'fancycaptcha-badlogin' => 'Құпия сөзді өздікті бұздырудан қорғану үшін, төмендегі -көрсетілген сөздерді аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'fancycaptcha-createaccount' => 'Жаңа тіркелгі өздікті жасалуынан қорғану үшін, төмендегі -көрсетілген сөздерді аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'fancycaptcha-create' => 'Түзетуіңізде жаңа сыртқы сілтемелер бар екен. Өздік түрде «спам» жасалуынан қорғану үшін, -төмендегі көрсетілген сөздерді аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', - 'fancycaptcha-edit' => 'Түзетуіңізде жаңа сыртқы сілтемелер бар екен. Өздік түрде «спам» жасалуынан қорғану үшін, -төмендегі көрсетілген сөздерді аумаққа енгізіңіз ([[{{ns:special}}:Captcha/help|көбірек ақпарат]]):', -); - -/** Kazakh (Latin script) (qazaqşa (latın)‎) */ -$messages['kk-latn'] = array( - 'fancycaptcha-addurl' => 'Tüzetwiñizde jaña sırtqı siltemeler bar eken. Özdik türde «spam» jasalwınan qorğanw üşin, -tömendegi körsetilgen sözderdi awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'fancycaptcha-badlogin' => 'Qupïya sözdi özdikti buzdırwdan qorğanw üşin, tömendegi -körsetilgen sözderdi awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'fancycaptcha-createaccount' => 'Jaña tirkelgi özdikti jasalwınan qorğanw üşin, tömendegi -körsetilgen sözderdi awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'fancycaptcha-create' => 'Tüzetwiñizde jaña sırtqı siltemeler bar eken. Özdik türde «spam» jasalwınan qorğanw üşin, -tömendegi körsetilgen sözderdi awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', - 'fancycaptcha-edit' => 'Tüzetwiñizde jaña sırtqı siltemeler bar eken. Özdik türde «spam» jasalwınan qorğanw üşin, -tömendegi körsetilgen sözderdi awmaqqa engiziñiz ([[{{ns:special}}:Captcha/help|köbirek aqparat]]):', -); - -/** Khmer (ភាសាខ្មែរ) - * @author Thearith - * @author គីមស៊្រុន - */ -$messages['km'] = array( - 'fancycaptcha-addurl' => 'កំណែប្រែរបស់អ្នកមានតំណភ្ជាប់ខាងក្រៅ។ - -ដើម្បីការពារពីស្ប៉ាម(spam)ស្វ័យប្រវត្តិ សូមបញ្ជូលពាក្យខាងក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|ព័ត៌មានបន្ថែម]])៖', - 'fancycaptcha-badlogin' => 'ដើម្បីការពារការបំបែកពាក្យសំងាត់ដោយស្វ័យប្រវត្តិ សូមបញ្ជូលពាក្យខាងក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|ព័ត៌មានបន្ថែម]])៖', - 'fancycaptcha-createaccount' => 'ដើម្បីការពារការបង្កើតគណនីដោយស្វ័យប្រវត្តិ សូមបញ្ជូលពាក្យខាងក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|ព័ត៌មានបន្ថែម]])៖', - 'fancycaptcha-create' => 'ដើម្បីបង្កើតទំព័រនេះ សូមបញ្ជូលពាក្យខាងក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|ព័ត៌មានបន្ថែម]])៖', - 'fancycaptcha-edit' => 'ដើម្បីកែប្រែទំព័រនេះ សូមបញ្ជូលពាក្យខាងក្រោមទៅក្នុងប្រអប់ ([[Special:Captcha/help|ព័ត៌មានបន្ថែម]])៖', -); - -/** Korean (한국어) - * @author Kwj2772 - * @author ToePeu - * @author 아라 - */ -$messages['ko'] = array( - 'fancycaptcha-desc' => '편집 확인에 대한 공상 CAPTCHA(캡차) 생성기', - 'fancycaptcha-addurl' => '편집에 새로운 바깥 링크가 포함되어 있습니다. -자동화된 스팸을 막기 위해 아래 상자의 단어를 적어주세요 ([[Special:Captcha/help|더 많은 정보]]):', - 'fancycaptcha-badlogin' => '자동화된 비밀번호 깨기를 막기 위해서, 아래의 상자 안에 있는 낱말을 입력해주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'fancycaptcha-createaccount' => '자동화된 계정 만들기를 막기 위해서, 아래의 상자 안에 있는 낱말을 입력해주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'fancycaptcha-create' => '이 문서를 만드려면, 아래의 상자 안에 있는 낱말을 입력해주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'fancycaptcha-edit' => '이 문서를 편집하려면, 아래의 상자 안에 있는 낱말을 입력해주세요 ([[Special:Captcha/help|자세한 정보]]):', - 'fancycaptcha-sendemail' => '자동화된 스팸을 방지하기 위해, 아래의 상자 안에 있는 낱말을 입력해주세요 ([[Special:Captcha/help|자세한 정보]]):', -); - -/** Karachay-Balkar (къарачай-малкъар) - * @author Iltever - */ -$messages['krc'] = array( - 'fancycaptcha-createaccount' => 'Тергеу джазыуланы (аккаунтланы) автомат халда регистрация этиуню къоймаз ючюн, текстлик терезеде суратланнган символланы джазыгъыз ([[Special:Captcha/help|толуракъ]]):', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'fancycaptcha-desc' => 'Määt e nett Käptsche för dä Confirm Edit Projramm-Zohsatz', - 'fancycaptcha-addurl' => 'Do häß neu Lingks op frembde Websigge dobei jedonn. -Mer schöze uns Wiki jäje automatesche SPAM, dröm -don di Wööter en dat Käßje endraare. (Verklierung)', - 'fancycaptcha-badlogin' => 'Mer schöze Metmaacher en unsem Wiki jäje automatesche -Paßwoot-Knackerei, dröm don di Wööt onge en dat Käßje -endraare. (Verklierung)', - 'fancycaptcha-createaccount' => 'Mer schöze uns Wiki dojäje, dat mer en Masse automatesch -Metmaacher aanmeldt. Dröm beß esu joot un -don di Wööt onge en dat Käßje endraare. (Verklierung)', - 'fancycaptcha-create' => 'Öm di Sigg neu aanzelääje, don di Wööt onge en dat Käßje endraare. (Verklierung)', - 'fancycaptcha-edit' => 'Öm de Sigg ze ändere, don di Wööt onge en dat Käßje endraare. ([[Special:Captcha/help|Verklierung]])', - 'fancycaptcha-sendemail' => 'Öm et Wiki jääje automattesch enjedraare SPAM ze schötze, -bes esu joot, donn di Wööter enjävve, di en däm Käßje heh dronger shtonn. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', -); - -/** Kirghiz (Кыргызча) - * @author Chorobek - */ -$messages['ky'] = array( - 'fancycaptcha-sendemail' => 'Автоматташтырылган спамдан коргонууга жардам катары бул сөздөрдү төмөндөгү көзөнөккө киргизиңиз ([[Special:Captcha/help|more info]]):', -); - -/** Latin (Latina) - * @author SPQRobin - */ -$messages['la'] = array( - 'fancycaptcha-addurl' => 'Emendatione tua insunt nexus externi; ut spam automaticum vitemus, necesse est tibi in capsam inscribere verba quae sub capsa monstrantur ([[Special:Captcha/help|Quidst illud?]]):', - 'fancycaptcha-badlogin' => 'Ut vitemus ne tesserae frangantur, necesse est tibi in capsam inscribere verba quae sub capsa monstrantur ([[Special:Captcha/help|Quidst illud?]]):', - 'fancycaptcha-createaccount' => 'Ut creationem rationum automaticam vitemus, necesse est tibi in capsam inscribere verba quae sub capsa monstrantur ([[Special:Captcha/help|Quidst illud?]]):', - 'fancycaptcha-create' => 'Ad paginam creandum, necesse est tibi in capsam inscribere verba quae sub capsa monstrantur ([[Special:Captcha/help|Quidst illud?]]):', - 'fancycaptcha-edit' => 'Ad hanc paginam recensendum, necesse est tibi in capsam inscribere verba quae sub capsa monstrantur ([[Special:Captcha/help|Quidst illud?]]):', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Les Meloures - * @author Robby - */ -$messages['lb'] = array( - 'fancycaptcha-addurl' => 'An Ärer Ännerung sinn nei extern Linken. - -Fir ze hellëfen, géint automatiséierte Spam virzegoen, gitt w.e.g. déi Wierder an, déi an der Këscht ënnendrënner stinn ([[Special:Captcha/help|méi Informatiounen]]):', - 'fancycaptcha-badlogin' => "Fir ze hellëfe fir d'automatiséiert Hacke vu Passwierder méi schwéier ze maachen, gitt w.e.g. déi Wierder an, déi an der Këscht ënnendrënner stinn ([[Special:Captcha/help|méi Informatiounen]]):", - 'fancycaptcha-createaccount' => "Fir géint d'automatiséiert Opmaache vu Benotzerkonte virzegoen, gitt w.e.g. déi Wierder an, déi an der Këscht ënnedrënner stinn ([[Special:Captcha/help|méi Informatiounen]]):", - 'fancycaptcha-create' => 'Fir dës Säit unzeleeën, gitt w.e.g. déi Wierder an, déi an der Këscht ënnendrënner stinn ([[Special:Captcha/help|méi Informatiounen]]):', - 'fancycaptcha-edit' => "Fir dës Säit z'änneren, gitt w.e.g. déi Wierder an, déi an der Këscht ënnendrënner stinn ([[Special:Captcha/help|méi Informatiounen]]):", - 'fancycaptcha-sendemail' => 'Fir eis géint automatescht Spammen ze schützen, gitt w.e.g. déi Wierder déi an der Këscht ënnedrënner stinn an ([[Special:Captcha/help|méi Informatiounen]]):', -); - -/** Limburgish (Limburgs) - * @author Matthias - * @author Ooswesthoesbes - */ -$messages['li'] = array( - 'fancycaptcha-addurl' => 'Uw bewerking bevat nieuwe externe links. Voer alstublieft de woorden die -hieronder verschijnen in het invoerveld in als bescherming tegen automatische spam ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-badlogin' => 'Voer alstublieft de woorden die hieronder verschijnen in het invoerveld in als bescherming tegen het automatisch kraken van wachtwoorden ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-createaccount' => 'Voer alstublieft de woorden die hieronder verschijnen in het invoerveld in -ter bescherming tegen het automatisch aanmaken van gebruikers ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-create' => 'Uw bewerking bevat nieuwe externe links. Voer alstublieft de woorden die -hieronder verschijnen in het invoerveld in als bescherming tegen automatische spam ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-edit' => 'Uw bewerking bevat nieuwe externe links. Voer alstublieft de woorden die -hieronder verschijnen in het invoerveld in als bescherming tegen automatische spam ([[Special:Captcha/help|mie informatie]]):', - 'fancycaptcha-sendemail' => "Veur de weurd die hie onger versjienen in 't inveurvèldj in es besjerming taege geautometiseerde spam ([[Special:Captcha/help|mier info]]):", -); - -/** Lao (ລາວ) */ -$messages['lo'] = array( - 'fancycaptcha-addurl' => 'ການດັດແກ້ຂອງທ່ານ ມີລິ້ງຄ໌ພາຍນອກ. ເພື່ອປ້ອງກັນ ສະແປມອັດຕະໂນມັດ, ກະລຸນາ ພິມຄຳສັບຂ້າງລຸ່ມນີ້ ໃສ່ໃນກັບ ([[Special:Captcha/help|ຂໍ້ມູນເພີ່ມຕື່ມ]]):', - 'fancycaptcha-badlogin' => 'ເພື່ອຊ່ອຍປ້ອງກັນ ການສືບຄົ້ນຫາລະຫັດຜ່ານແບບອັດຕະໂນມັດ, ກະລຸນາ ພິມຄຳສັບ ຂ້າງລຸ່ມນີ້ ໃສ່ໃນກັບ ([[Special:Captcha/help|ຂໍ້ມູນເພີ່ມຕື່ມ]]):', - 'fancycaptcha-createaccount' => 'ເພື່ອປ້ອງກັນ ການສ້າງບັນຊີແບບອັດຕະໂນມດ, ກະລຸນາພິມ ຄຳສັບຂ້າງລຸ່ມນີ້​ ໃສ່ໃນກັບ ([[Special:Captcha/help|ຂໍ້ມູນເພິ່ມຕືມ]]):', - 'fancycaptcha-create' => 'ກະລຸນາ ພິມຄຳສັບຂ້າງລຸ່ມນີ້​ ໃສ່ໃນກັບ ເພື່ອສ້າງໜ້ານີ້ ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-edit' => 'ກະລຸນາ ພິມຄຳສັບຂ້າງລຸ່ມນີ້ ໃສ່ໃນກັບ ເພື່ອ ດັດແກ້ໜ້ານີ້ ([[Special:Captcha/help|ຂໍ້ມູນເພີ່ມຕື່ມ]]):', -); - -/** Macedonian (македонски) - * @author Bjankuloski06 - */ -$messages['mk'] = array( - 'fancycaptcha-desc' => 'Збогатен создавач CAPTCHA за потврда на уредувања', - 'fancycaptcha-addurl' => 'Вашето уредување вклучува нови надворешни врски. -Со цел да се заштитиме од автоматизиран спам, внесете ги зборовите на сликичката подолу ([[Special:Captcha/help|повеќе информации]]):', - 'fancycaptcha-badlogin' => 'Со цел да се заштитиме од автоматизирано пробивање на лозинки, внесете ги зборовите на сликичката подолу ([[Special:Captcha/help|повеќе информации]]):', - 'fancycaptcha-createaccount' => 'Со цел да се заштитиме од автоматизирано создавање на сметки, внесете ги зборовите на сликичката подолу ([[Special:Captcha/help|повеќе информации]]):', - 'fancycaptcha-create' => 'За да создадете страница, внесете ги зборовите на сликичката подолу ([[Special:Captcha/help|повеќе информации]]):', - 'fancycaptcha-edit' => 'За да ја уредите страницава, внесете ги зборовите на сликичката подолу ([[Special:Captcha/help|повеќе информации]]):', - 'fancycaptcha-sendemail' => 'За да се заштитиме од автоматизирано спамирање, препишете ги зборовите од сликичката во полето подолу ([[Special:Captcha/help|повеќе информации]]):', -); - -/** Malayalam (മലയാളം) - * @author Praveenp - * @author Shijualex - */ -$messages['ml'] = array( - 'fancycaptcha-addurl' => 'താങ്കളുടെ തിരുത്തലലിൽ പുറം കണ്ണികൾ ഉൾപ്പെട്ടിരിക്കുന്നു. -യാന്ത്രിക സ്പാമിനെതിരെയുള്ള സം‌രക്ഷണത്തിന്റെ ഭാഗമായി, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'fancycaptcha-badlogin' => 'രഹസ്യവാക്ക് യാന്ത്രികമായി പൊളിക്കുന്നത് തടയുന്നതിന്റെ ഭാഗമായി, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'fancycaptcha-createaccount' => 'അംഗത്വം യാന്ത്രികമായി സൃഷ്ടിക്കുന്നതു തടയുന്നതൊഴിവാക്കാനുള്ള സം‌രക്ഷണത്തിന്റെ ഭാഗമായി, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'fancycaptcha-create' => 'ഈ താൾ സൃഷ്ടിക്കുവാൻ താഴെയുള്ള പെട്ടിയിൽ കാണുന്ന വാക്കുകൾ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'fancycaptcha-edit' => 'ഈ താൾ തിരുത്തുവാൻ ദയവായി താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', - 'fancycaptcha-sendemail' => 'യാന്ത്രികമായ പാഴെഴുത്ത് ഉൾപ്പെടുത്തലിനുള്ള പ്രതിരോധമെന്ന നിലയിൽ, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പ് ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', -); - -/** Marathi (मराठी) - * @author Kaustubh - * @author Mahitgar - */ -$messages['mr'] = array( - 'fancycaptcha-addurl' => 'तुमच्या संपादनात नवीन बाह्य दुवे आहेत. -आपोआप होणार्‍या संपादनांपासून बचावासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'fancycaptcha-badlogin' => 'आपोआप होणार्‍या परवलीच्या शब्दाच्या चोरीपासून वाचण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'fancycaptcha-createaccount' => 'आपोआप होणार्‍या सदस्य नोंदणीपासून वाचण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'fancycaptcha-create' => 'हे पान तयार करण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'fancycaptcha-edit' => 'हे पान संपादित करण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', - 'fancycaptcha-sendemail' => 'आपोआप होणार्‍या उत्पातापासून वाचण्यासाठी, खाली दिसणारे शब्द दिलेल्या पृष्ठपेटी मध्ये लिहा ([[Special:Captcha/help|अधिक माहिती]]):', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - * @author Aviator - */ -$messages['ms'] = array( - 'fancycaptcha-addurl' => 'Suntingan anda mengandungi pautan luar baru. Untuk membanteras kegiatan spam automatik, anda diminta mengisi huruf-huruf berikut dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'fancycaptcha-badlogin' => 'Untuk membanteras kegiatan meneka kata laluan secara automatik, anda diminta mengisi huruf-huruf berikut dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'fancycaptcha-createaccount' => 'Untuk membanteras kegiatan pembukaan akaun secara automatik, anda diminta mengisi huruf-huruf berikut dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'fancycaptcha-create' => 'Untuk mencipta laman ini, anda diminta mengisi huruf-huruf berikut dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'fancycaptcha-edit' => 'Untuk menyunting laman ini, anda diminta mengisi huruf-huruf berikut dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', - 'fancycaptcha-sendemail' => 'Untuk membanteras kegiatan spam secara automatik, anda diminta mengisi huruf-huruf berikut dalam kotak yang disediakan ([[Special:Captcha/help|maklumat lanjut]]):', -); - -/** Maltese (Malti) - * @author Chrisportelli - */ -$messages['mt'] = array( - 'fancycaptcha-addurl' => "Il-modifika tiegħek tinkludi ħoloq esterni ġodda. -Sabiex tipproteġi kontra spam awtomatiku, jekk jogħġbok solvi din is-somma sempliċi t'hawn taħt u daħħal ir-risposta fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):", - 'fancycaptcha-badlogin' => 'Bħala prekawzjoni kontra l-infurzar awtomatiku tal-password, jekk jogħġbok daħħal il-kliem li jidhru hawn taħt fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):', - 'fancycaptcha-createaccount' => "Bħala miżura ta' prekawzjoni kontra l-ħolqien awtomatiku tal-kontijiet, jekk jogħġbok daħħal fil-kaxxa l-ittri li jidhru hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):", - 'fancycaptcha-create' => 'Sabiex toħloq din il-paġna, jekk jogħġbok daħħal il-kliem li jidhru hawn taħt fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):', - 'fancycaptcha-edit' => 'Sabiex timmodifika din il-paġna, jekk jogħġbok daħħal il-kliem li jidhru hawn taħt fil-kaxxa ([[Special:Captcha/help|aktar informazzjoni]]):', - 'fancycaptcha-sendemail' => 'Bħala prekawzjoni kontra l-ispam awtomatiku, jekk jogħġbok daħħal fil-kaxxa l-ittri li jidhru hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):', -); - -/** Norwegian Bokmål (norsk (bokmål)‎) - * @author Harald Khan - * @author Laaknor - * @author Njardarlogar - */ -$messages['nb'] = array( - 'fancycaptcha-desc' => 'CAPTCHA-generator for «Confirm Edit»', - 'fancycaptcha-addurl' => 'Din endring inkluderer nye eksterne lenker. For hjelpe oss å beskytte oss mot automatisk spam, vennligst skriv inn ordene som kommer opp i denne boksen ([[Special:Captcha/help|mer informasjon]]):', - 'fancycaptcha-badlogin' => 'Skriv inn ordene som dukker opp i boksen nedenfor for å hjelpe oss å beskytte oss mot passordtyveri ([[Special:Captcha/help|mer informasjon]]):', - 'fancycaptcha-createaccount' => 'Skriv inn ordene som dukker opp i boksen nedenfor for å hjelpe oss å beskytte oss mot automatisk kontoopprettelse ([[Special:Captcha/help|mer informasjon]]):', - 'fancycaptcha-create' => 'Skriv inn ordene som dukker opp i boksen nedenfor for å opprette siden ([[Special:Captcha/help|mer informasjon]]):', - 'fancycaptcha-edit' => 'For å endre denne siden, vennligst skriv inn ordene som dukker opp i boksen nedenfor ([[Special:Captcha/help|mer informasjon]]):', - 'fancycaptcha-sendemail' => 'For å beskytte mot automatisert spam så må du skrive ordene under inn i tekstboksen ([[Special:Captcha/help|mer informasjon]]):', -); - -/** Low German (Plattdüütsch) - * @author Slomox - */ -$messages['nds'] = array( - 'fancycaptcha-addurl' => 'In dien Ännern sünd ne’e Weblenken in. -As Schutz gegen automaatsch Spam, geev disse Bookstavenreeg in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', - 'fancycaptcha-badlogin' => 'As Schutz gegen Passwoord-Knackers, geev disse Bookstavenreeg in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', - 'fancycaptcha-createaccount' => 'As Schutz gegen dat automaatsch Opstellen vun ne’e Brukerkonten, geev disse Bookstavenreeg in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', - 'fancycaptcha-create' => 'Disse Sied nee optostellen, geev disse Bookstavenreeg in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', - 'fancycaptcha-edit' => 'Disse Sied to ännern, geev disse Bookstavenreeg in dat Feld ünnen in ([[Special:Captcha/help|mehr Infos]]).', -); - -/** Nedersaksisch (Nedersaksisch) - * @author Servien - */ -$messages['nds-nl'] = array( - 'fancycaptcha-addurl' => "Joew bewarking bevat uutgaonde verwiezingen. -Um dit projekt te bescharmen tegen ongewunst reklame, mö'j t woord dat hieronder steet invullen ([[Special:Captcha/help|hulpe]]):", - 'fancycaptcha-badlogin' => "Um disse webstee te beveiligen tegen t kraken van wachtwoorden, wö'j verzöcht um de woorden die'j hieronder zien in te vullen ([[Special:Captcha/help|hulpe]]):", - 'fancycaptcha-createaccount' => "Um disse wiki te bescharmen tegen t automaties anmaken van gebrukersprefielen mö'j t woord hieronder invullen ([[Special:Captcha/help|hulpe]]):", - 'fancycaptcha-create' => "Um n pagina an te maken, mö'j t woord dat hieronder steet invullen -([[Special:Captcha/help|hulpe]]):", - 'fancycaptcha-edit' => "Joew bewarking bevat nieje uutgaonde verwiezingen. Um disse wiki te bescharmen tegen ongewunste reklame mö'j de woorden hieronder invullen ([[Special:Captcha/help|hulpe]]):", - 'fancycaptcha-sendemail' => 'Voer de woorden die hieronder staon in t invoerveld in as bescharming tegen automatiese ongewunste reklame ([[Special:Captcha/help|meer informasie]]):', -); - -/** Dutch (Nederlands) - * @author Siebrand - */ -$messages['nl'] = array( - 'fancycaptcha-desc' => "Generator voor opgedirkte captcha's voor ConfirmEdit", - 'fancycaptcha-addurl' => 'Uw bewerking bevat nieuwe externe verwijzingen. -Voer de woorden die hieronder verschijnen in het invoerveld in als bescherming tegen automatische spam ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-badlogin' => 'Voer de woorden die hieronder verschijnen in het invoerveld in als bescherming tegen geautomatiseerde wachtwoordaanvallen ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-createaccount' => 'Voer de woorden die hieronder verschijnen in het invoerveld in ter bescherming tegen het geautomatiseerd aanmaken van gebruikers ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-create' => 'Voer de woorden die hieronder verschijnen in het invoerveld in om de pagina aan te maken ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-edit' => 'Voer de woorden die hieronder verschijnen in het invoerveld in om deze pagina te bewerken ([[Special:Captcha/help|meer informatie]]):', - 'fancycaptcha-sendemail' => 'Voer de woorden die hieronder verschijnen in het invoerveld in als bescherming tegen geautomatiseerde spam ([[Special:Captcha/help|meer informatie]]):', -); - -/** Nederlands (informeel)‎ (Nederlands (informeel)‎) - * @author Siebrand - */ -$messages['nl-informal'] = array( - 'fancycaptcha-addurl' => 'Je bewerking bevat nieuwe externe verwijzingen. -Voer de woorden die hieronder verschijnen in het invoerveld in als bescherming tegen automatische spam ([[Special:Captcha/help|meer informatie]]):', -); - -/** Norwegian Nynorsk (norsk (nynorsk)‎) - * @author Harald Khan - * @author Njardarlogar - */ -$messages['nn'] = array( - 'fancycaptcha-addurl' => 'Endringa di inneheld nye utlenkjer. -For å hjelpa oss med å unngå automatisert spam, ver venleg og skriv inn orda som kjem til syne i boksen under ([[Special:Captcha/help|meir informasjon]]):', - 'fancycaptcha-badlogin' => 'Skriv inn orda som kjem til syne i boksen nedanfor for å hjelpa oss med å unngå automatisert passordknekking ([[Special:Captcha/help|meir informasjon]]):', - 'fancycaptcha-createaccount' => 'Skriv inn orda som kjem til syne i boksen nedanfor for å hjelpa oss med å unngå automatisk kontooppretting ([[Special:Captcha/help|meir informasjon]]):', - 'fancycaptcha-create' => 'Skriv inn orda som kjem til syne i boksen nedanfor for å oppretta sida ([[Special:Captcha/help|meir informasjon]]):', - 'fancycaptcha-edit' => 'For å endra denne sida, ver venleg og skriv inn orda som kjem til syne i boksen nedanfor ([[Special:Captcha/help|meir informasjon]]):', -); - -/** Occitan (occitan) - * @author Cedric31 - */ -$messages['oc'] = array( - 'fancycaptcha-desc' => "Generador d’imatges ''captcha'' antirobòts que demandan una confirmacion umana de las modificacions.", - 'fancycaptcha-addurl' => "Vòstra modificacion inclutz de ligams extèrnes novèls. Per verificar que s’agisson pas de spams automatics, epicatz los mots qu'apareisson dins la bóstia çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :", - 'fancycaptcha-badlogin' => 'Per ajudar a vos protegir contra lo piratatge de compte per de senhals automatics, mercés de picar los mots que s’afichan dins aquesta bóstia ([[Special:Captcha/help|Ajuda]]) :', - 'fancycaptcha-createaccount' => 'Coma proteccion contra las creacions de compte abusivas, picatz los mots çaijós dins la bóstia ([[Special:Captcha/help|mai d’entresenhas]]) :', - 'fancycaptcha-create' => "Vòstra modificacion inclutz de ligams extèrnes novèls. Per verificar que s’agisson pas de spams automatics, picatz los mots qu'apareisson dins la bóstia çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :", - 'fancycaptcha-edit' => "Vòstra modificacion inclutz de ligams extèrnes novèls. Per verificar que s’agís pas de spam automatic, picatz los mots qu'apareisson dins la bóstia çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :", - 'fancycaptcha-sendemail' => "Per tal de nos ajudar a prevenir lo spam automatic, entratz los mots qu'apareisson dins la bóstia çaijós ([[Special:Captcha/help|mai d’informacions]]) :", -); - -/** Oriya (ଓଡ଼ିଆ) - * @author Psubhashish - */ -$messages['or'] = array( - 'fancycaptcha-addurl' => 'ଆପଣଙ୍କ ସମ୍ପାଦନାରେ ନୂଆ ବାହାର ଲିଙ୍କ ରହିଛି । -ଆପେଆପେ ହେଉଥିବା ସ୍ପାମର ପ୍ରତିରୋଧ କରିବା ନିମନ୍ତେ ଘର ତଳେ ଥିବା ଶବ୍ଦସବୁ ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ବିବରଣୀ]]):', - 'fancycaptcha-badlogin' => 'ଆପେଆପେ ହେଉଥିବା ପାସବାର୍ଡ଼ ଚୋରାଇବାକୁ ପ୍ରତିରୋଧ କରିବା ନିମନ୍ତେ ଦୟାକରି ଏହି ଘରଭିତରେ ଥିବା ଶବ୍ଦସବୁକୁ ତାହା ତଳେ ଥିବା ବାକ୍ସରେ ଟାଇପ କରନ୍ତୁ । ([[Special:Captcha/help|ଅଧିକ ସୂଚନା]]):', - 'fancycaptcha-createaccount' => 'ଆପେଆପେ ଖାତା ଖୋଲିବାକୁ ଅଟକାଇବା ପାଇଁ ଦୟାକରି ଏହି ଘରଭିତରେ ଥିବା ଶବ୍ଦସବୁକୁ ତାହା ତଳେ ଥିବା ବାକ୍ସରେ ଟାଇପ କରନ୍ତୁ । ([[Special:Captcha/help|ଅଧିକ ସୂଚନା]]):', - 'fancycaptcha-create' => 'ଏହି ପୃଷ୍ଠାଟିକୁ ତିଆରିବା ନିମନ୍ତେ, ଘର ତଳେ ଥିବା ଶବ୍ଦଟିକୁ ଏଠାରେ ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ଜାଣନ୍ତୁ]]):', - 'fancycaptcha-edit' => 'ଏହି ପୃଷ୍ଠାଟିକୁ ବଦଳାଇବା ନିମନ୍ତେ, ଘର ତଳେ ଥିବା ଶବ୍ଦଟିକୁ ଏଠାରେ ଦିଅନ୍ତୁ ([[Special:Captcha/help|ଅଧିକ ଜାଣନ୍ତୁ]]):', - 'fancycaptcha-sendemail' => 'ଆପେଆପେ ହେଉଥିବା ସ୍ପାମକୁ ରୋକିବା ନିମନ୍ତେ ଦୟାକରି ଏହି ଘରଭିତରେ ଥିବା ଶବ୍ଦସବୁକୁ ତାହା ତଳେ ଥିବା ବାକ୍ସରେ ଟାଇପ କରନ୍ତୁ । ([[Special:Captcha/help|ଅଧିକ ସୂଚନା]]):', -); - -/** Polish (polski) - * @author Sp5uhe - */ -$messages['pl'] = array( - 'fancycaptcha-desc' => 'Generator obrazka, którego odczytanie jest wymagane dla zatwierdzenia edycji.', - 'fancycaptcha-addurl' => 'Twoja edycja zawiera nowe linki zewnętrzne. Ze względu na ochronę przed zautomatyzowanym spamem prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', - 'fancycaptcha-badlogin' => 'Ze względu na zabezpieczenie przed automatycznym łamaniem haseł prosimy o wpisanie słów, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', - 'fancycaptcha-createaccount' => 'Ze względu na ochronę przed automatycznym spamem, aby się zarejestrować musisz wpisać słowo, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]])', - 'fancycaptcha-create' => 'Aby utworzyć tę stronę, wpisz słowa, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', - 'fancycaptcha-edit' => 'Aby edytować tę stronę, wpisz słowa, które widzisz poniżej, do pola tekstowego ([[Special:Captcha/help|pomoc]]):', - 'fancycaptcha-sendemail' => 'Zabezpieczenie przed automatycznie dodawanym spamem. Wprowadzić słowa widoczne w poniższym prostokącie ([[Special:Captcha/help|więcej informacji]]).', -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Bèrto 'd Sèra - */ -$messages['pms'] = array( - 'fancycaptcha-addurl' => "Soa modìfica a l'ha andrinta dj'anliure esterne neuve. -Për dene na man a vardesse da la reclam aotomatisà, për piasì, ch'a l'arbata le paròle ch'a s-ciàira ambelessì sota ([[Special:Captcha/help|për savejne dë pì]]):", - 'fancycaptcha-badlogin' => "Për dene na man a vardesse da ij programa ch'a fan ciav fàosse, për piasì, ch'a l'arbata le paròle ch'a s-ciàira ambelessì sota ([[Special:Captcha/help|për savejne dë pì]]):", - 'fancycaptcha-createaccount' => "Për dene na man a vardesse da ij programa ch'a deurbo cont neuv n'aotomàtich, për piasì, ch'a l'arbata le paròle ch'a s-ciàira ambelessì sota ([[Special:Captcha/help|për savejne dë pì]]):", - 'fancycaptcha-create' => "Për creé sta pàgina-i d'amblé, për piasì, ch'a l'arbata le paròle ch'a s-ciàira ambelessì sota ([[Special:Captcha/help|për savejne dë pì]]):", - 'fancycaptcha-edit' => "Për fe-ie dle modìfiche ansima a sta pàgina-sì, për piasì, ch'a l'arbata le paròle ch'a s-ciàira ambelessì sota ([[Special:Captcha/help|për savejne dë pì]]):", - 'fancycaptcha-sendemail' => "Për giuté a protegi contra la rumenta automàtica, për piasì ch'a anseriss le paròle che as vëddo sota ant la casela ([[Special:Captcha/help|për savèjne ëd pi]]):", -); - -/** Western Punjabi (پنجابی) - * @author Khalid Mahmood - */ -$messages['pnb'] = array( - 'fancycaptcha-addurl' => 'تواڈی تبدیلی چ نویں بارلے جوڑ نیں۔ -اس صفحے نوں تبدیل کرن واسطے، مہربانی کر کے ڈبے چ دتے گۓ شبداں نوں لکھو ([[Special:Captcha/help|مزید جانکاری]]):', - 'fancycaptcha-badlogin' => 'اپنے آپ کنجی توڑن دے خلاف مدد واسطے، مہربانی کر کے ڈبے چ دتے گۓ شبداں نوں لکھو ([[Special:Captcha/help|مزید جانکاری]]):', - 'fancycaptcha-createaccount' => 'اپنے آپ غلط نویں کھاتے بنان نوں روکن واسطے، مہربانی کر کے ڈبے چ دتے گۓ شبداں نوں لکھو ([[Special:Captcha/help|مزید جانکاری]]):', - 'fancycaptcha-create' => 'صفحہ بنان واسطے، مہربانی کر کے ڈبے چ دتے گۓ شبداں نوں لکھو ([[Special:Captcha/help|مزید جانکاری]]):', - 'fancycaptcha-edit' => 'اس صفحے تے تبدیلی کرن واسطے، مہربانی کر کے ڈبے چ دتے گۓ شبداں نوں لکھو ([[Special:Captcha/help|مزید جانکاری]]):', - 'fancycaptcha-sendemail' => 'اپنے آپ غلط مال آن نوں روکن واسطے، مہربانی کر کے ڈبے چ دتے گۓ شبداں نوں لکھو ([[Special:Captcha/help|مزید جانکاری]]):', -); - -/** Pashto (پښتو) - * @author Ahmed-Najib-Biabani-Ibrahimkhel - */ -$messages['ps'] = array( - 'fancycaptcha-create' => 'ددې مخ د جوړلو لپاره، لطفاً ورکړل شوي توري څنګه چې تاسو ته ښکاري هماغسې کټ مټ په لانديني چوکاټ کې وليکی ([[Special:Captcha/help|نور مالومات]]):', - 'fancycaptcha-edit' => 'ددې مخ د سمولو لپاره، لطفاً ورکړل شوي توري څنګه چې تاسې ته ښکاري هماغسې کټ مټ په لانديني چوکاټ کې وليکی ([[Special:Captcha/help|نور مالومات]]):', -); - -/** Portuguese (português) - * @author Hamilton Abreu - * @author Malafaya - */ -$messages['pt'] = array( - 'fancycaptcha-desc' => 'Gerador sofisticado de captcha para o Confirm Edit', - 'fancycaptcha-addurl' => "A sua edição introduziu links externos novos. -Para ajudar a prevenir o ''spam'' automatizado, por favor, introduza na caixa abaixo as palavras apresentadas ([[Special:Captcha/help|mais informações]]):", - 'fancycaptcha-badlogin' => 'Para ajudar a prevenir mecanismos automatizados de descoberta de palavras-chave, por favor, introduza na caixa abaixo as palavras apresentadas ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-createaccount' => 'Para ajudar a prevenir a criação de contas automatizada, por favor, introduza na caixa abaixo as palavras apresentadas ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-create' => 'Para criar a página, por favor, introduza na caixa abaixo as palavras apresentadas ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-edit' => 'Para editar esta página, por favor, introduza na caixa abaixo as palavras apresentadas ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-sendemail' => "Para ajudar a prevenir o ''spam'' automatizado, por favor, introduza na caixa as palavras que aparecem abaixo ([[Special:Captcha/help|mais informações]]):", -); - -/** Brazilian Portuguese (português do Brasil) - * @author Eduardo.mps - * @author Giro720 - */ -$messages['pt-br'] = array( - 'fancycaptcha-addurl' => "A sua edição inclui novas ligações externas. Como prevenção contra sistemas automatizados que inserem ''spam'', por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):", - 'fancycaptcha-badlogin' => 'Como prevenção contra formas automatizadas de descoberta de palavras-chave, por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-createaccount' => 'Como prevenção contra sistemas automatizados de criação de contas, por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-create' => 'Para criar a página, por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-edit' => 'Para editar esta página, por favor, introduza as palavras exibidas na seguinte caixa ([[Special:Captcha/help|mais informações]]):', - 'fancycaptcha-sendemail' => "Para ajudar a prevenir o ''spam'' automatizado, por favor, introduza na caixa as palavras que aparecem abaixo ([[Special:Captcha/help|mais informações]]):", -); - -/** Romansh (rumantsch) - * @author Kazu89 - */ -$messages['rm'] = array( - 'fancycaptcha-createaccount' => "Per impedir la creaziun automatica da contos d'utilisader, endatescha per plaschair ils bustabs che vegnan mussads sutvart ([[Special:Captcha/help|dapli infos]]):", -); - -/** Romanian (română) - * @author Firilacroco - * @author Mihai - * @author Minisarm - */ -$messages['ro'] = array( - 'fancycaptcha-addurl' => 'Modificarea dumneavoastră include legături externe noi. -Pentru a împiedica roboții de spam, vă rugăm să introduceți cuvintele care apar mai jos în căsuță ([[Special:Captcha/help|mai multe detalii]]):', - 'fancycaptcha-badlogin' => 'Pentru a împiedica spargerea automată a parolelor, vă rugăm să introduceți cuvintele care apar mai jos în căsuță ([[Special:Captcha/help|mai multe detalii]]):', - 'fancycaptcha-createaccount' => 'Pentru a împiedica crearea automată de conturi, vă rugăm să introduceți cuvintele care apar mai jos în căsuță ([[Special:Captcha/help|mai multe detalii]]):', - 'fancycaptcha-create' => 'Pentru a crea pagina, vă rugăm să introduceți în casetă cuvintele care apar mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'fancycaptcha-edit' => 'Pentru a modifica această pagină, vă rugăm să introduceți în casetă cuvintele care apar mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'fancycaptcha-sendemail' => 'Pentru a împiedica roboții de spam, vă rugăm să introduceți cuvintele care apar mai jos în căsuță ([[Special:Captcha/help|mai multe detalii]]):', -); - -/** tarandíne (tarandíne) - * @author Joetaras - */ -$messages['roa-tara'] = array( - 'fancycaptcha-addurl' => "'U cangiamende tue inglude de le collegaminde esterne. -Pe aiutà a proteggere condre a 'u spam automateche, pe piacere mitte le parole ca combare sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", - 'fancycaptcha-badlogin' => 'Pe aiutà a proteggere condre a futteminde automatece de password, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-createaccount' => 'Pe aiutà a proteggere condre a ccreazione automateche de cunde utinde, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-create' => 'Pe ccrejà sta pàgene, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-edit' => 'Pe cangià sta pàgene, pe piacere mitte le parole combare aqquà sotte ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-sendemail' => "Pe aiutà a proteggere condre a spam automatece, pe piacere mitte le parole ca combare aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", -); - -/** Russian (русский) - * @author Dim Grits - * @author Lockal - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'fancycaptcha-desc' => 'Необычный CAPTCHA-генератор для подтверждения редактирования', - 'fancycaptcha-addurl' => 'Ваша правка содержит новые внешние ссылки. В целях защиты от спама, пожалуйста, введите слова, показанные ниже в рамке ([[Special:Captcha/help|подробнее…]]):', - 'fancycaptcha-badlogin' => 'В целях защиты от автоматического взлома паролей, пожалуйста, введите в поле ввода буквы с изображения ([[Special:Captcha/help|подробнее]]):', - 'fancycaptcha-createaccount' => 'Для предотвращения автоматической регистрации учётных записей, пожалуйста, введите изображённые символы в текстовое поле ([[Special:Captcha/help|подробнее]]):', - 'fancycaptcha-create' => 'Для создания страницы, пожалуйста, введите буквы, которые видны на изображении ниже ([[Special:Captcha/help|подробнее…]]):', - 'fancycaptcha-edit' => 'Для редактирования страницы, пожалуйста, введите буквы, которые видны на изображении ниже ([[Special:Captcha/help|подробнее…]]):', - 'fancycaptcha-sendemail' => 'В целях защиты от автоматического спама, пожалуйста, введите показанные ниже слова ([[Special:Captcha/help|подробнее]]):', -); - -/** Rusyn (русиньскый) - * @author Gazeb - */ -$messages['rue'] = array( - 'fancycaptcha-addurl' => 'Ваше едітованя обсягує новы одказы формов URL; про охорону перед автоматічным спамом мусите описати текст з наступного образку. ([[Special:Captcha/help|Што тото значіть?]])', - 'fancycaptcha-badlogin' => 'В рамках охороны перед автоматічныма пробами угаднути гесло мусите описати текст з наступного образку. ([[Special:Captcha/help|Што тото значіть?]]):', - 'fancycaptcha-createaccount' => 'В рамках охороны перед автоматічныма створёванями конт мусите про выконаня реґістрації описати текст з наступного образку. ([[Special:Captcha/help|Што тото значіть?]]):', - 'fancycaptcha-create' => 'Жебы сьте могли створити сторінку, мусите описати текст з наступного образку:([[Special:Captcha/help|Што тото значіть?]])', - 'fancycaptcha-edit' => 'Жебы сьте могли едітовати тоту сторінку, мусите описати текст з наступного образку: ([[Special:Captcha/help|Што тото значіть?]])', - 'fancycaptcha-sendemail' => 'В рамках охороны перед автоматічным спамом мусите описати текст з наступного образку. ([[Special:Captcha/help|Што тото значіть?]]):', -); - -/** Sanskrit (संस्कृतम्) - * @author Shubha - */ -$messages['sa'] = array( - 'fancycaptcha-addurl' => 'भवतः सम्पादने नूतनबाह्यानुबन्धाः अन्तर्भूताः । -स्वचालितानिष्टसन्देशेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः मञ्जूषायां दृश्यमानानि पदानि लिखतु -([[Special:Captcha/help|more info]]) :', - 'fancycaptcha-badlogin' => 'स्वचालिताभ्यः कूटशब्दभेदनेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः मञ्जूषायां दृश्यमानानि पदानि लिखतु -([[Special:Captcha/help|more info]]) :', - 'fancycaptcha-createaccount' => 'स्वचालिताभ्यः लेखासर्जनेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः मञ्जूषायां दृश्यमानानि पदानि लिखतु -([[Special:Captcha/help|more info]]) :', - 'fancycaptcha-create' => 'पृष्ठस्य सर्जनाय, अधः मञ्जूषायां दृश्यमानानि पदानि लिखतु ([[Special:Captcha/help|more info]]):', - 'fancycaptcha-edit' => 'अस्य पृष्ठस्य सम्पादनाय, अधः मञ्जूषायां दृश्यमानानि पदानि लिखतु ([[Special:Captcha/help|अधिक जानकारी]]):', - 'fancycaptcha-sendemail' => 'स्वचालिताभ्यः अनिष्टसन्देशेभ्यः रक्षणस्य साहाय्यार्थं कृपया अधः मञ्जूषायां दृश्यमानानि पदानि लिखतु -([[Special:Captcha/help|more info]]) :', -); - -/** Sakha (саха тыла) - * @author HalanTul - */ -$messages['sah'] = array( - 'fancycaptcha-addurl' => 'Эн көннөрүүҥ тас ыйынньыктаах эбит. Спаамтан көмүскэнэр соруктаах дьайыыны оҥор, манна баар тыллары хатылаа ([[Special:Captcha/help|сиһилии…]]):', - 'fancycaptcha-badlogin' => 'Киирии тылы аптамаатынан алдьатыыттан көмүскэнэр дьайыыны оҥороргор көрдөһөбүт, манна ойууламмыт буукубалары хатылаа ([[Special:Captcha/help|сиһилии]]):', - 'fancycaptcha-createaccount' => 'Ааттары аптамаатынан бэлиэтиири суох оҥорор туһуттан бу дьайыыны оҥороргор көрдөһөбүт: ойууламмыт сурук бэлиэлэрин анал сиргэ киллэр ([[Special:Captcha/help|сиһилии]]):', - 'fancycaptcha-create' => 'Эн көннөрүүҥ тас ыйынньыктардаах эбит. Спаамтан көмүскэнэр туһуттан манна баар тыллары хатылыыргар көрдөһөбүт ([[Special:Captcha/help|сиһилии…]]):', - 'fancycaptcha-edit' => 'Эн көннөрүүҥ тас ыйынньыктардаах эбит. Спаамтан көмүскэнэр туһуттан манна баар тыллары хатылыыргар көрдөһөбүт ([[Special:Captcha/help|сиһилии…]]):', - 'fancycaptcha-sendemail' => 'Аптамаат спаамтан көмүскэнэр дьайыыны оҥороргор көрдөһөбүт, манна ойууламмыт тыллары хатылаа ([[Special:Captcha/help|сиһилии]]):', -); - -/** Sinhala (සිංහල) - * @author Singhalawap - * @author Thameera123 - * @author නන්දිමිතුරු - */ -$messages['si'] = array( - 'fancycaptcha-addurl' => 'ඔබගේ සංස්කරණයෙහි නව බාහිර සබැඳියන් අඩංගුයි. -ස්වයංක්‍රීය අයාචිත තැපෑලෙන් ආරක්ෂා වනු වස්, පහත පෙන්නුම් කෙරෙන වචන කොටුව තුල ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩිමනත් තොරතුරු]]):', - 'fancycaptcha-badlogin' => 'ස්වයංක්‍රීය මුරපද බිඳීම වලක්වනු වස්, පහත පෙන්නුම් කෙරෙන වචන කොටුව තුල ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩිමනත් තොරතුරු]]):', - 'fancycaptcha-createaccount' => 'ස්වයංක්‍රීයව ගිණුම් තැනීම වැලකුම‍ට සඳහා, පහත දැක්වෙන වචන CAPTCHA කොටුව තුල ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩිමනත් තොරතුරු]]):', - 'fancycaptcha-create' => 'පිටුව තනනු වස්, පහත පෙන්නුම් කෙරෙන වචන කොටුව තුල ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩිමනත් තොරතුරු]]):', - 'fancycaptcha-edit' => 'මෙම පිටුව සංස්කරණය කරනු වස්, පහත පෙන්නුම් කෙරෙන වචන කොටුව තුල ඇතුලත් කරන්න ([[Special:Captcha/help|වැඩිමනත් තොරතුරු]]):', - 'fancycaptcha-sendemail' => 'ස්වයංක්‍රීය ස්පෑම් කිරීම්වලින් ආරක්ෂා කිරීම සඳහා උදව් වීමට පහත කොටුවේ පෙන්වන වචන ඇතුළත් කරන්න ([[Special:Captcha/help|more info]]):', -); - -/** Slovak (slovenčina) - * @author Helix84 - */ -$messages['sk'] = array( - 'fancycaptcha-addurl' => 'Vaša úprava obsahuje nové URL odkazy; kvôli ochrane proti automatizovanému spamu je potrebné napísať slová zobrazené na tomto obrázku:
([[Special:Captcha/help|Čo je toto?]])', - 'fancycaptcha-badlogin' => 'Ako ochranu proti automatizovanému lámaniu hesiel, prosím zadajte slová z nasledujúceho obrázka do poľa pre odpoveď ([[Special:Captcha/help|viac informácií]]):', - 'fancycaptcha-createaccount' => 'Kvôli ochrane proti automatizovanému spamu je potrebné napísať slová zobrazené na tomto obrázku, až potom bude vytvorený nový účet:
([[Special:Captcha/help|Čo je toto?]])', - 'fancycaptcha-create' => 'Vaša úprava obsahuje nové URL odkazy; kvôli ochrane proti automatizovanému spamu je potrebné napísať slová zobrazené na tomto obrázku:
([[Special:Captcha/help|Čo je toto?]])', - 'fancycaptcha-edit' => 'Vaša úprava obsahuje nové URL odkazy; kvôli ochrane proti automatizovanému spamu je potrebné napísať slová zobrazené na tomto obrázku:
([[Special:Captcha/help|Čo je toto?]])', - 'fancycaptcha-sendemail' => 'Ako ochranu proti automatizovanému spamu, prosím zadajte slová z nasledujúceho obrázka do poľa pre odpoveď ([[Special:Captcha/help|ďalšie informácie]]):', -); - -/** Slovenian (slovenščina) - * @author Dbc334 - */ -$messages['sl'] = array( - 'fancycaptcha-addurl' => 'Vaše urejanje vključuje nove zunanje povezave. -Zaradi zaščite pred samodejnim smetjem prosimo, da vnesete spodnje besede v polje ([[Special:Captcha/help|več informacij]]):', - 'fancycaptcha-badlogin' => 'Zaradi zaščite pred samodejnim ugotavljanjem gesel prosimo, da vnesete spodnje besede v polje ([[Special:Captcha/help|več informacij]]):', - 'fancycaptcha-createaccount' => 'Zaradi zaščite pred samodejnim ustvarjanjem računov prosimo, da vnesete spodnje besede v polje ([[Special:Captcha/help|več informacij]]):', - 'fancycaptcha-create' => 'Če želite ustvariti stran, prosimo vnesite spodnje besede v polje ([[Special:Captcha/help|več informacij]]):', - 'fancycaptcha-edit' => 'Če želite urediti stran, prosimo vnesite spodnje besede v polje ([[Special:Captcha/help|več informacij]]):', - 'fancycaptcha-sendemail' => 'Zaradi zaščite pred samodejnim smetenjem prosimo, da vnesete spodnje besede v polje ([[Special:Captcha/help|več informacij]]):', -); - -/** Albanian (shqip) - * @author Dori - * @author Olsi - */ -$messages['sq'] = array( - 'fancycaptcha-addurl' => 'Redaktimi juaj ka lidhje URL të reja dhe si mbrojtje kundër abuzimeve automatike duhet të shtypni çfarë shfaqet tek figura e mëposhtme:
([[Special:Captcha|Çfarë është kjo?]])', - 'fancycaptcha-badlogin' => 'Për tu mbrojtur nga metoda automatike të gjetjes së fjalëkalimeve ju kërkojmë të vendosni fjalët e figurës në kuti ([[Special:Captcha/help|më shumë informacion]]):', - 'fancycaptcha-createaccount' => 'Për të mbrojtur kundër hapjeve të llogarive në mënyrë automatike ju lutem shtypni çfarë shfaqet tek figura e mëposhtme ([[Special:Captcha|Çfarë është kjo?]]):', - 'fancycaptcha-create' => 'Për të krijuar një faqe, ju lutem shtypni çfarë shfaqet tek figura e mëposhtme ([[Special:Captcha|Çfarë është kjo?]]):', - 'fancycaptcha-edit' => 'Për të redaktuar këtë faqe ju lutem shtypni çfarë shfaqet tek figura e mëposhtme ([[Special:Captcha|Çfarë është kjo?]]):', - 'fancycaptcha-sendemail' => "Për t'u mbrojtur nga metoda automatike e gjetjes së fjalëkalimeve ju kërkojmë të vendosni fjalët e figurës në kuti ([[Special:Captcha/help|më shumë informacion]]):", -); - -/** Serbian (Cyrillic script) (српски (ћирилица)‎) - * @author Millosh - * @author Rancher - * @author Жељко Тодоровић - * @author Михајло Анђелковић - */ -$messages['sr-ec'] = array( - 'fancycaptcha-desc' => 'Обогаћен стварач сликовног кода за потврду уређивања', - 'fancycaptcha-addurl' => 'Ваша измена садржи нове спољашње везе. -У циљу заштите од непожељних порука, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):', - 'fancycaptcha-badlogin' => 'У циљу заштите од пробијања лозинки, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):', - 'fancycaptcha-createaccount' => 'У циљу заштите од самоотварања налога, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):', - 'fancycaptcha-create' => 'Да бисте направили страницу, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):', - 'fancycaptcha-edit' => 'Да бисте уредили ову страницу, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):', - 'fancycaptcha-sendemail' => 'У циљу заштите од непожељних порука, унесите речи са слике у поље испод ([[Special:Captcha/help|више информација]]):', -); - -/** Serbian (Latin script) (srpski (latinica)‎) - * @author Michaello - * @author Жељко Тодоровић - */ -$messages['sr-el'] = array( - 'fancycaptcha-desc' => 'Obogaćen stvarač slikovnog koda za potvrdu uređivanja', - 'fancycaptcha-addurl' => 'Tvoja izmena uključuje nove spoljne veze. U cilju zaštite od automatskog spama, unesi reči koje se nalaze ispod u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'fancycaptcha-badlogin' => 'U cilju sprečavanja automatskog otkrivanja lozinki, unesi reči koje se nalaze ispod u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'fancycaptcha-createaccount' => 'U cilju zaštite od automatskog spama, unesi reči odozdo u kutiju ([[Special:Captcha/help|detaljnije]]):', - 'fancycaptcha-create' => 'Da bi se napravila stranica, potrebno je uneti reči koje se nalaze ispod kutije ([[Special:Captcha/help|detaljnije]]):', - 'fancycaptcha-edit' => 'Za izmenu ove strane unesi reči koje se nalaze ispod kutije ([[Special:Captcha/help|detaljnije]]):', - 'fancycaptcha-sendemail' => 'U cilju zaštite od automatskog spama, unesi reči odozdo u kutiju ([[Special:Captcha/help|detaljnije]]):', -); - -/** Seeltersk (Seeltersk) - * @author Pyt - */ -$messages['stq'] = array( - 'fancycaptcha-addurl' => 'Dien Beoarbaidenge änthaalt näie externe Ferbiendengen. -Tou Skuts foar automatisierde Spamminge reek dät foulgjende Woud in dät Fäild ien. -Klik dan fonnäien ap „Siede spiekerje“ [[Special:Captcha/help|(Froagen of Probleme?)]].', - 'fancycaptcha-badlogin' => 'Toun Skuts foar ne Kompromittierenge fon dien Benutserkonto reek dät foulgjende Woud in dät Fäild hierunner ien [[Special:Captcha/help|(Froagen of Probleme?)]]:', - 'fancycaptcha-createaccount' => 'Toun Skuts foar automatisierde Anloage fon Benutserkonten reek dät foulgjende Woud in dät Fäild hierunner ien [[Special:Captcha/help|(Froagen of Probleme?)]].', - 'fancycaptcha-create' => 'Tou dät Moakjen fon ju Siede reek dät foulgjende Woud in dät Fäild hierunner ien -[[Special:Captcha/help|(Froagen of Probleme?)]].', - 'fancycaptcha-edit' => 'Tou Beoarbaidenge fon disse Siede reek dät foulgjende Woud in dät Fäild hierunner ien -[[Special:Captcha/help|(Froagen of Probleme?)]].', -); - -/** Sundanese (Basa Sunda) - * @author Irwangatot - */ -$messages['su'] = array( - 'fancycaptcha-edit' => 'Éditan Anjeun ngeusikeun tumbu kaluar nu anyar. Pikeun panangtayungan ka spam otomatis, mangga asukkeun kecap di handapeun ieu ka kotak anu disadiakeun ([[Special:Captcha/help|salengkeupna]]):', -); - -/** Swedish (svenska) - * @author Ainali - */ -$messages['sv'] = array( - 'fancycaptcha-addurl' => 'Din ändring lägger till nya externa länkar i texten. För att skydda wikin mot -automatisk spam måste du skriva orden som visas härunder i rutan ([[Special:Captcha/help|mer information]]):', - 'fancycaptcha-badlogin' => 'För att skydda wikin mot automatiserad lösenordknäckning måste du skriva -orden som visas härunder i rutan ([[Special:Captcha/help|mer information]]):', - 'fancycaptcha-createaccount' => 'För att skydda wikin mot automatiskt skapade användarkonton måste du -skriva orden som visas härunder i rutan ([[Special:Captcha/help|mer information]]):', - 'fancycaptcha-create' => 'För att skapa den här sidan måste du först skriva orden som visas härunder i rutan -([[Special:Captcha/help|mer information]]):', - 'fancycaptcha-edit' => 'För att redigera den här sidan måste du först skriva orden som visas härunder i rutan -([[Special:Captcha/help|mer information]]):', - 'fancycaptcha-sendemail' => 'För att skydda wikin mot automatiserad lösenordknäckning måste du skriva -orden som visas härunder i rutan ([[Special:Captcha/help|mer information]]):', -); - -/** Tamil (தமிழ்) - * @author Shanmugamp7 - * @author மதனாஹரன் - */ -$messages['ta'] = array( - 'fancycaptcha-badlogin' => 'தானியங்கு கடவுச் சொல் உடைத்தலிலிருந்து பாதுகாக்க உதவுவதற்காகத் தயவு செய்து கீழேயுள்ள பெட்டியில் தோன்றும் சொற்களை உள்ளிடவும் ([[Special:Captcha/help|கூடிய தகவல்]]):', - 'fancycaptcha-createaccount' => 'தானியங்கியாக கணக்கு உருவாக்குவதிலிருந்து பாதுகாக்க உதவ, தயவுசெய்து கீழே தெரியும் வார்த்தைகளை பெட்டியில் உள்ளிடவும் ([[Special:Captcha/help|மேலும் விவரங்களுக்கு]]):', - 'fancycaptcha-create' => 'பக்கத்தை உருவாக்குவதற்காக, தயவு செய்து கீழே பெட்டியில் தோன்றுகின்ற சொற்களை உள்ளிடுங்கள் ([[Special:Captcha/help|கூடிய தகவல்]]):', - 'fancycaptcha-edit' => 'இப்பக்கத்தைத் தொகுப்பதற்குத் தயவு செய்து கீழேயுள்ள பெட்டியில் தோன்றும் சொற்களை உள்ளிடவும் ([[Special:Captcha/help|கூடிய தகவல்]]):', -); - -/** Telugu (తెలుగు) - * @author Mpradeep - */ -$messages['te'] = array( - 'fancycaptcha-addurl' => 'మీ దిద్దుబాటులో కొత్త బయటి లింకులున్నాయి. బాట్లద్వారా చేసే స్పాము నుండి రక్షణను ఏర్పరచేందుకు గాను, -కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సమాచారం]]):', - 'fancycaptcha-badlogin' => 'సంకేత పదాలను దొంగిలించే ఆటోమాటిక్ ప్రోగ్రాముల నుండి రక్షించేందుకు గాను, కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సమాచారం]]):', - 'fancycaptcha-createaccount' => 'ఆటోమాటిగ్గా ఖాతాలను సృష్టించడాన్ని నివారించేందుకు, కింద కనిపించే పదాలను -ఈ పెట్టెలో రాయండి ([[Special:Captcha/help|మరింత సహాయం]]):', - 'fancycaptcha-create' => 'కొత్త పేజీ సృష్టించేందుకు గాను, కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి -([[Special:Captcha/help|మరింత సమాచారం]]):', - 'fancycaptcha-edit' => 'ఈ పేజీలో దిద్దుబాటు చేసేందుకు, కింద కనిపించే బొమ్మలోని అక్షరాలను పెట్టెలో రాయండి -([[Special:Captcha/help|మరింత సమాచారం]]):', -); - -/** Tajik (Cyrillic script) (тоҷикӣ) - * @author Ibrahim - */ -$messages['tg-cyrl'] = array( - 'fancycaptcha-addurl' => 'Вироиши шумо пайвандҳои ҷадиди хориҷиро дар бар мегирад. Барои кӯмак ба пешгири аз ҳаразнигори худкор, лутфан вожаеро ки дар тасвир мебинед, ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'fancycaptcha-badlogin' => 'Барои кӯмак ба пешгири аз шикастани худкори калимаҳои убур, вожаеро ки дар тасвир мебинед, ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'fancycaptcha-createaccount' => 'Барои кӯмак аз эҷоди худкори ҳисоби корбарӣ, вожаеро ки дар тасвир мебинед, ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'fancycaptcha-create' => 'Барои эҷоди саҳифа, вожаеро ки дар тасвир мебинед, ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', - 'fancycaptcha-edit' => 'Барои вироиши ин саҳифа, вожаеро ки дар тасвир мебинед, ворид кунед ([[Special:Captcha/help|иттилооти бештар]]):', -); - -/** Tajik (Latin script) (tojikī) - * @author Liangent - */ -$messages['tg-latn'] = array( - 'fancycaptcha-addurl' => 'Viroişi şumo pajvandhoi çadidi xoriçiro dar bar megirad. Baroi kūmak ba peşgiri az haraznigori xudkor, lutfan voƶaero ki dar tasvir mebined, vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):', - 'fancycaptcha-badlogin' => 'Baroi kūmak ba peşgiri az şikastani xudkori kalimahoi ubur, voƶaero ki dar tasvir mebined, vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):', - 'fancycaptcha-createaccount' => 'Baroi kūmak az eçodi xudkori hisobi korbarī, voƶaero ki dar tasvir mebined, vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):', - 'fancycaptcha-create' => 'Baroi eçodi sahifa, voƶaero ki dar tasvir mebined, vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):', - 'fancycaptcha-edit' => 'Baroi viroişi in sahifa, voƶaero ki dar tasvir mebined, vorid kuned ([[Special:Captcha/help|ittilooti beştar]]):', -); - -/** Thai (ไทย) - * @author Harley Hartwell - */ -$messages['th'] = array( - 'fancycaptcha-addurl' => 'การแก้ไขของคุณมีการเพิ่มลิงก์ไปสู่เว็บไซต์อื่น เพื่อช่วยป้องกันการสแปมอัตโนมัติ กรุณาพิมพ์ข้อความที่คุณเห็นด้านล่างลงในกล่องที่กำหนดให้ ([[Special:Captcha/help|ข้อมูลเพิ่มเติม]])', - 'fancycaptcha-badlogin' => 'เพื่อป้องกันการแคร็กรหัสผ่านจากกระบวนการอัตโนมัติ กรุณาพิมพ์ข้อความที่คุณเห็นด้านล่างลงในกล่องที่กำหนดให้ ([[Special:Captcha/help|ข้อมูลเพิ่มเติม]])', - 'fancycaptcha-createaccount' => 'เพื่อป้องกันการสร้างบัญชีผู้ใช้ด้วยกระบวนการอัตโนมัติ กรุณาพิมพ์ข้อความที่คุณเห็นด้านล่างลงในกล่องที่กำหนดให้ ([[Special:Captcha/help|ข้อมูลเพิ่มเติม]])', - 'fancycaptcha-create' => 'เพื่อสร้างหน้านี้ กรุณาพิมพ์ข้อความที่คุณเห็นด้านล่างลงในกล่องที่กำหนดให้ ([[Special:Captcha/help|ข้อมูลเพิ่มเติม]])', - 'fancycaptcha-edit' => 'เพื่อแก้ไขหน้านี้ กรุณาพิมพ์ข้อความที่คุณเห็นด้านล่างลงในกล่องที่กำหนดให้ ([[Special:Captcha/help|ข้อมูลเพิ่มเติม]])', -); - -/** Turkmen (Türkmençe) - * @author Hanberke - */ -$messages['tk'] = array( - 'fancycaptcha-badlogin' => 'Awtomatik parol döwülmeginden goranmak üçin, aşakdaky sözleri gutunyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', - 'fancycaptcha-createaccount' => 'Hasaby awtomatik parol döwülmeginden goramak üçin, aşakdaky sözleri gutunyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', - 'fancycaptcha-create' => 'Sahypa döretmek üçin, aşakdaky sözleri gutunyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', - 'fancycaptcha-edit' => 'Bu sahypany redaktirlemek üçin, aşakdaky sözleri gutunyň içine ýazyň ([[Special:Captcha/help|jikme-jik]]):', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'fancycaptcha-desc' => 'Kaakit-akit na panlikha ng CAPTCHA para sa Pagtiyak ng Pagbago', - 'fancycaptcha-addurl' => "Kabilang sa ginawa mong pagbabago ang bagong panlabas na mga kawing. -Upang makatulong sa pagsasanggalang laban sa kusang pinapadalang mga \"manlulusob\" (''spam''), pakilagay lamang ang mga salitang lumitaw sa ibaba papasok sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):", - 'fancycaptcha-badlogin' => 'Upang makatulong sa pagsasanggalang laban sa mga kusang paglutas ng hudyat, pakilagay lamang ang mga salitang lumitaw sa ibaba patungo sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'fancycaptcha-createaccount' => 'Upang makatulong sa pagsasanggalang laban sa kusang paglikha ng kuwenta/akawnt, pakilagay lamang ang mga salitang lumitaw sa ibaba patungo sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'fancycaptcha-create' => 'Upang malikha ang pahina, pakilagay lamang ang mga salitang lumitaw sa ibaba patungo sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'fancycaptcha-edit' => 'Upang mabago ang pahinang ito, pakilagay lamang ang mga salitang lumitaw sa ibaba patungo sa loob ng kahon ([[Special:Captcha/help|mas marami pang kabatiran]]):', - 'fancycaptcha-sendemail' => 'Upang makatulong sa pagsasanggalang laban sa mga kusang pagsalakay ng ispam, pakilagay lamang ang mga salitang lumilitaw sa ibaba sa loob ng kahong ([[Special:Captcha/help|marami pang kabatiran]]):', -); - -/** Turkish (Türkçe) - * @author Emperyan - * @author Joseph - * @author Runningfridgesrule - */ -$messages['tr'] = array( - 'fancycaptcha-addurl' => 'Değişikliğiniz yeni dış bağlantılar içeriyor. -Otomatik spamdan korunmak için, lütfen aşağıdaki sözcükleri kutunun içine yazın ([[Special:Captcha/help|ayrıntılı bilgiler]]):', - 'fancycaptcha-badlogin' => 'Otomatik parola kırma yöntemine karşı korunmak için lütfen aşağıdaki sözcükleri kutunun içine yazınız ([[Special:Captcha/help|ayrıntılı bilgi]]):', - 'fancycaptcha-createaccount' => 'Otomatik hesap oluşturmaya karşı korumaya yardım etmek için, lütfen aşağıdaki kutuda görünen kelimeleri girin ([[Special:Captcha/help|daha fazla bilgi]]):', - 'fancycaptcha-create' => 'Sayfayı oluşturmak için, lütfen aşağıdaki kutuda görünen kelimeleri girin ([[Special:Captcha/help|daha fazla bilgi]]):', - 'fancycaptcha-edit' => 'Bu sayfayı değiştirmek için, lütfen aşağıdaki kutuda görünen kelimeleri girin ([[Special:Captcha/help|daha fazla bilgi]]):', - 'fancycaptcha-sendemail' => 'Otomatik spamlerden korunmaya yardımcı olmak için, lütfen aşağıda görünen sözcükleri kutuya yazın ([[Special:Captcha/help|daha fazla bilgi]]):', -); - -/** Ukrainian (українська) - * @author Ahonc - * @author Dim Grits - * @author Ytsukeng Fyvaprol - */ -$messages['uk'] = array( - 'fancycaptcha-desc' => 'Чудернацький CAPTCHA-генератор для підтвердження редагування', - 'fancycaptcha-addurl' => 'Ваше редагування містить нові зовнішні посилання. -Із метою захисту від спаму, будь ласка, введіть у текстове поле слова, зображені на картинці ([[Special:Captcha/help|докладніше]]):', - 'fancycaptcha-badlogin' => 'Із метою захисту від автоматичного злому пароля, будь ласка, введіть у текстове поле слова, зображені на картинці ([[Special:Captcha/help|докладніше]]):', - 'fancycaptcha-createaccount' => 'Із метою захисту від автоматичного створення облікових записів, будь ласка, введіть у текстове поле слова, зображені на картинці ([[Special:Captcha/help|докладніше]]):', - 'fancycaptcha-create' => 'Щоб створити сторінку, будь ласка, введіть у текстове поле слова, зображені на картинці: ([[Special:Captcha/help|докладніше]]):', - 'fancycaptcha-edit' => 'Щоб редагувати цю сторінку, будь ласка, введіть у текстове поле слова, зображені на картинці: ([[Special:Captcha/help|докладніше]]):', - 'fancycaptcha-sendemail' => 'Для захисту від автоматичного спаму, будь ласка, введіть слова, які показані нижче в полі ([[Special:Captcha/help|more info]]):', -); - -/** vèneto (vèneto) - * @author Candalua - */ -$messages['vec'] = array( - 'fancycaptcha-addurl' => 'La to modifica la include dei novi colegamenti esterni. -Par jutarne a conbàtar el spam, par piaser inserissi ne la casela le parole che vien fora qua soto ([[Special:Captcha/help|magiori informazion]]):', - 'fancycaptcha-badlogin' => 'Par precauzion contro i tentativi de forzatura automatica de le password, par piaser inserissi ne la casela le parole che vien fora qua soto ([[Special:Captcha/help|magiori informazion]]):', - 'fancycaptcha-createaccount' => 'Par jutarne a inpedir la creazion automatica dei account, par piaser inserissi ne la casela le parole che vien fora qua soto ([[Special:Captcha/help|magiori informazion]]):', - 'fancycaptcha-create' => 'Par crear la pagina, par piaser inserissi ne la casela le parole che vien fora qua soto ([[Special:Captcha/help|magiori informazion]]):', - 'fancycaptcha-edit' => 'Par modificar la pagina, par piaser inserissi ne la casela le parole che vien fora qua soto ([[Special:Captcha/help|magiori informazion]]):', - 'fancycaptcha-sendemail' => 'Par precauzion contro i tentativi de forzatura automatica de le password, par piaser inserissi ne la casela le parole che vien fora qua soto ([[Special:Captcha/help|magiori informazion]]):', -); - -/** Vietnamese (Tiếng Việt) - * @author Minh Nguyen - * @author Vinhtantran - */ -$messages['vi'] = array( - 'fancycaptcha-desc' => 'Trình sản xuất hình CAPTCHA đặc biệt cho ConfirmEdit', - 'fancycaptcha-addurl' => 'Sửa đổi của bạn có chứa các liên kết ngoài. Để giúp tránh spam tự động, xin hãy nhập những từ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'fancycaptcha-badlogin' => 'Để giúp tránh bẻ mật khẩu tự động, xin hãy nhập những từ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'fancycaptcha-createaccount' => 'Để giúp tránh tạo tài khoản tự động, xin hãy nhập những chữ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'fancycaptcha-create' => 'Để tạo trang, xin hãy nhập những chữ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'fancycaptcha-edit' => 'Để sửa trang này, xin hãy nhập những từ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):', - 'fancycaptcha-sendemail' => 'Để giúp chúng tôi chống lại spam tự động, xin hãy nhập những từ xuất hiện ở dưới vào ô ([[Special:Captcha/help|thông tin thêm]]):', -); - -/** Volapük (Volapük) - * @author Smeira - */ -$messages['vo'] = array( - 'fancycaptcha-addurl' => 'Redakam olik keninükon yümis plödik nulik. Ad jelön siti ta peneds itjäfidik, penolös vödis sököl in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'fancycaptcha-badlogin' => 'Ad jelön siti ta daget itjäfidik letavödas, penolös, begö! vödis dono pejonölis in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'fancycaptcha-createaccount' => 'Ad jelön siti ta kalijafam itjäfidik, penolös, begö! vödis dono pejonölis in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'fancycaptcha-create' => 'Ad jafön padi at, penolös, begö! vödis dono pejonöls in bokil ([[Special:Captcha/help|nüns pluik]]):', - 'fancycaptcha-edit' => 'Ad redakön padi at, penolös, begö! vödis dono pejonölis ini bokil ([[Special:Captcha/help|nüns pluik]]):', -); - -/** Võro (Võro) - * @author Võrok - */ -$messages['vro'] = array( - 'fancycaptcha-badlogin' => 'Salasõna automaatsõ vällänuhkmisõ vasta kirodaq pildi päält sõnaq alanolõvahe kasti -([[Special:Captcha/help|Abiteedüs]]):', -); - -/** Walloon (walon) - * @author Srtxg - */ -$messages['wa'] = array( - 'fancycaptcha-addurl' => "Dins vos candjmints i gn a des dfoûtrinnès hårdêyes (URL). -Po s' mete a houte des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tapez les mots k' aparexhèt chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'fancycaptcha-badlogin' => "Po s' mete a houte des des robots ki sayèt d' adviner les screts, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tapez les mots k' aperexhèt chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'fancycaptcha-createaccount' => "Po s' mete a houte des des robots k' ahivèt des contes otomaticmint, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tapez les mots k' aparexhèt chal pa dzi ([[Special:Captcha/help|pus di racsegnes]]):", - 'fancycaptcha-create' => "Por vos poleur ahiver l' pådje, vos dvoz taper les mots k' aparexhèt e l' boesse chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'fancycaptcha-edit' => "Po candjî cisse pådje ci, vos dvoz taper les mots k' aparexhèt e l' boesse chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'fancycaptcha-sendemail' => "Po s' mete a houte des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula tapez les mots k' aparexhèt chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", -); - -/** Yiddish (ייִדיש) - * @author פוילישער - */ -$messages['yi'] = array( - 'fancycaptcha-create' => 'צו שאַפֿן דעם בלאַט, זײַט אזוי גוט און קלאַפט אַרײַן די ווערטער וואָס זענען אינעם קעסטל אונטן ([[Special:Captcha/help|מער אינפֿארמאַציע]]):', - 'fancycaptcha-edit' => 'צו רעדאִקטירן דעם בלאַט, זײַט אזוי גוט און קלאַפט אַרײַן די ווערטער וואָס שטייען אינעם קעסטל אונטן ([[Special:Captcha/help|מער אינפֿארמאַציע]]):', -); - -/** Yoruba (Yorùbá) - * @author Demmy - */ -$messages['yo'] = array( - 'fancycaptcha-addurl' => 'Àwọn àtúnṣe yín ní àwọn ìjápọ̀ òde nínú. -Láti ṣèránwọ́ láti kojú spam aṣefúnrararẹ̀, ẹ jọ̀wọ́ ẹ fi àwọn ọ̀rọ̀ tí wọ́n hàn nísàlẹ̀ sínú ààyè ([[Special:Captcha/help|ẹ̀kúnrẹ́rẹ́]]):', -); - -/** Cantonese (粵語) */ -$messages['yue'] = array( - 'fancycaptcha-addurl' => '你嘅編輯包括咗新嘅外部連結。為咗防止自動化嘅濫貼,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):', - 'fancycaptcha-badlogin' => '為咗防止不當程式破解密碼,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):', - 'fancycaptcha-createaccount' => '為咗防止自動化開新戶口,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):', - 'fancycaptcha-create' => '要開一個新版,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):', - 'fancycaptcha-edit' => '要編輯呢一版,請響下面個盒度輸入下面嘅文字 ([[Special:Captcha/help|更多資訊]]):', -); - -/** Simplified Chinese (中文(简体)‎) - * @author Bencmq - */ -$messages['zh-hans'] = array( - 'fancycaptcha-addurl' => '你的编辑内容中含有本网站以外的链接。为防止不当程式大量破坏,请输入以下的文字([[Special:Captcha/help|相关信息]]):', - 'fancycaptcha-badlogin' => '为防止不当程式破解密码,请输入以下的文字([[Special:Captcha/help|相关信息]]):', - 'fancycaptcha-createaccount' => '为防止不当程式大量建立帐户,请输入以下的文字([[Special:Captcha/help|相关信息]]):', - 'fancycaptcha-create' => '为防止不当程式大量建立页面,请输入以下的文字([[Special:Captcha/help|相关信息]]):', - 'fancycaptcha-edit' => '如你想要编辑這个页面,请输入以下的文字([[Special:Captcha/help|相关信息]]):', - 'fancycaptcha-sendemail' => '为防止不当程式进行破坏,请输入以下的文字([[Special:Captcha/help|相关资讯]]):', -); - -/** Traditional Chinese (中文(繁體)‎) - * @author Horacewai2 - * @author Waihorace - */ -$messages['zh-hant'] = array( - 'fancycaptcha-addurl' => '您的編輯內容中含有本網站以外的連結。為防止不當程式大量破壞,請輸入以下的文字([[Special:Captcha/help|相關資訊]]):', - 'fancycaptcha-badlogin' => '為防止不當程式破解密碼,請輸入以下的文字([[Special:Captcha/help|相關資訊]]):', - 'fancycaptcha-createaccount' => '為防止不當程式大量建立帳戶,請輸入以下的文字([[Special:Captcha/help|相關資訊]]):', - 'fancycaptcha-create' => '為防止不當程式大量建立頁面,請輸入以下的文字([[Special:Captcha/help|相關資訊]]):', - 'fancycaptcha-edit' => '如您想要編輯此頁面,請輸入以下的文字([[Special:Captcha/help|相關資訊]]):', - 'fancycaptcha-sendemail' => '為防止不當程式進行破壞,請輸入以下的文字([[Special:Captcha/help|相關資訊]]):', -); - diff --git a/documentacion/extensions/ConfirmEdit/FancyCaptcha.php b/documentacion/extensions/ConfirmEdit/FancyCaptcha.php deleted file mode 100644 index 69e3be0..0000000 --- a/documentacion/extensions/ConfirmEdit/FancyCaptcha.php +++ /dev/null @@ -1,60 +0,0 @@ - - * http://www.mediawiki.org/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup Extensions - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - exit; -} - -$dir = __DIR__; -require_once $dir . '/ConfirmEdit.php'; -$wgCaptchaClass = 'FancyCaptcha'; - -/** - * The name of a file backend ($wgFileBackends) to be used for storing files. - * Defaults to FSFileBackend using $wgCaptchaDirectory as a base path. - */ -$wgCaptchaFileBackend = ''; - -global $wgCaptchaDirectory; -$wgCaptchaDirectory = "$wgUploadDirectory/captcha"; // bad default :D - -global $wgCaptchaDirectoryLevels; -$wgCaptchaDirectoryLevels = 0; // To break into subdirectories - -global $wgCaptchaSecret; -$wgCaptchaSecret = "CHANGE_THIS_SECRET!"; - -/** - * By default the FancyCaptcha rotates among all available captchas. - * Setting $wgCaptchaDeleteOnSolve to true will delete the captcha - * files when they are correctly solved. Thus the user will need - * something like a cron creating new thumbnails to avoid drying up. - */ -$wgCaptchaDeleteOnSolve = false; - -$wgExtensionMessagesFiles['FancyCaptcha'] = $dir . '/FancyCaptcha.i18n.php'; -$wgAutoloadClasses['FancyCaptcha'] = $dir . '/FancyCaptcha.class.php'; diff --git a/documentacion/extensions/ConfirmEdit/HTMLCaptchaField.php b/documentacion/extensions/ConfirmEdit/HTMLCaptchaField.php deleted file mode 100644 index c069ce9..0000000 --- a/documentacion/extensions/ConfirmEdit/HTMLCaptchaField.php +++ /dev/null @@ -1,81 +0,0 @@ -prefix = $params['prefix']; - } - } - - /** - * Get the captcha body. Don't include any of the surrounding table cells/rows - * - * @param $value String - * @return String - */ - public function getInputHTML( $value ) { - # TODO - } - - public function validate( $data, $alldata ) { - // We sent back the exists status of the captcha before. If it *doesn't* exist - // we actually want to validate this as true, because we don't want an angry red - // error message, just for the user to put the captcha in again - if ( $data === false ) { - return true; - } - } - - /** - * @param $request WebRequest - * @return void - */ - public function loadDataFromRequest( $request ) { - $this->captcha = Captcha::factory(); - $this->captcha->loadFromRequest( $request, $this ); - if ( !$this->captcha->exists() ) { - // The captcha doesn't exist; probably because it's already been used and - // then deleted for security. Load the field up with a new captcha which - // will be shown to the user when the validation of said new object fails - $this->captcha = Captcha::newRandom(); - } - - // This will be useful as the difference between "the captcha doesn't exist" and - // "you answered the captcha wrongly" - return $this->captcha->exists(); - } -} diff --git a/documentacion/extensions/ConfirmEdit/MathCaptcha.class.php b/documentacion/extensions/ConfirmEdit/MathCaptcha.class.php deleted file mode 100644 index 7874991..0000000 --- a/documentacion/extensions/ConfirmEdit/MathCaptcha.class.php +++ /dev/null @@ -1,51 +0,0 @@ -pickSum(); - $index = $this->storeCaptcha( array( 'answer' => $answer ) ); - $resultArr['captcha']['type'] = 'math'; - $resultArr['captcha']['mime'] = 'text/tex'; - $resultArr['captcha']['id'] = $index; - $resultArr['captcha']['question'] = $sum; - } - - /** Produce a nice little form */ - function getForm() { - list( $sum, $answer ) = $this->pickSum(); - $index = $this->storeCaptcha( array( 'answer' => $answer ) ); - - $form = ''; - $form .= '
' . $this->fetchMath( $sum ) . '' . Html::input( 'wpCaptchaWord', false, false, array( 'tabindex' => '1', 'required' ) ) . '
'; - $form .= Html::hidden( 'wpCaptchaId', $index ); - return $form; - } - - /** Pick a random sum */ - function pickSum() { - $a = mt_rand( 0, 100 ); - $b = mt_rand( 0, 10 ); - $op = mt_rand( 0, 1 ) ? '+' : '-'; - $sum = "{$a} {$op} {$b} = "; - $ans = $op == '+' ? ( $a + $b ) : ( $a - $b ); - return array( $sum, $ans ); - } - - /** Fetch the math */ - function fetchMath( $sum ) { - if ( MWInit::classExists( 'MathRenderer' ) ) { - $math = new MathRenderer( $sum ); - } else { - throw new MWException( 'MathCaptcha requires the Math extension for MediaWiki versions 1.18 and above.' ); - } - $math->setOutputMode( MW_MATH_PNG ); - $html = $math->render(); - return preg_replace( '/alt=".*?"/', '', $html ); - } -} diff --git a/documentacion/extensions/ConfirmEdit/MathCaptcha.php b/documentacion/extensions/ConfirmEdit/MathCaptcha.php deleted file mode 100644 index d1eb44e..0000000 --- a/documentacion/extensions/ConfirmEdit/MathCaptcha.php +++ /dev/null @@ -1,22 +0,0 @@ - - * @copyright © 2006 Rob Church - * @licence GNU General Public Licence 2.0 - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - exit; -} - -$dir = __DIR__; -require_once $dir . '/ConfirmEdit.php'; -$wgCaptchaClass = 'MathCaptcha'; - -$wgAutoloadClasses['MathCaptcha'] = $dir . '/MathCaptcha.class.php'; diff --git a/documentacion/extensions/ConfirmEdit/QuestyCaptcha.class.php b/documentacion/extensions/ConfirmEdit/QuestyCaptcha.class.php deleted file mode 100644 index 93954f1..0000000 --- a/documentacion/extensions/ConfirmEdit/QuestyCaptcha.class.php +++ /dev/null @@ -1,72 +0,0 @@ - - * @ingroup Extensions - */ - -class QuestyCaptcha extends SimpleCaptcha { - - /** Validate a captcha response */ - function keyMatch( $answer, $info ) { - if ( is_array( $info['answer'] ) ) { - return in_array( strtolower( $answer ), $info['answer'] ); - } else { - return strtolower( $answer ) == strtolower( $info['answer'] ); - } - } - - function addCaptchaAPI( &$resultArr ) { - $captcha = $this->getCaptcha(); - $index = $this->storeCaptcha( $captcha ); - $resultArr['captcha']['type'] = 'question'; - $resultArr['captcha']['mime'] = 'text/plain'; - $resultArr['captcha']['id'] = $index; - $resultArr['captcha']['question'] = $captcha['question']; - } - - function getCaptcha() { - global $wgCaptchaQuestions; - return $wgCaptchaQuestions[mt_rand( 0, count( $wgCaptchaQuestions ) - 1 )]; // pick a question, any question - } - - function getForm() { - $captcha = $this->getCaptcha(); - if ( !$captcha ) { - die( "No questions found; set some in LocalSettings.php using the format from QuestyCaptcha.php." ); - } - $index = $this->storeCaptcha( $captcha ); - return "

" . - Html::element( 'input', array( - 'name' => 'wpCaptchaWord', - 'id' => 'wpCaptchaWord', - 'required', - 'tabindex' => 1 ) ) . // tab in before the edit textarea - "

\n" . - Xml::element( 'input', array( - 'type' => 'hidden', - 'name' => 'wpCaptchaId', - 'id' => 'wpCaptchaId', - 'value' => $index ) ); - } - - function getMessage( $action ) { - $name = 'questycaptcha-' . $action; - $text = wfMessage( $name )->text(); - # Obtain a more tailored message, if possible, otherwise, fall back to - # the default for edits - return wfMessage( $name, $text )->isDisabled() ? wfMessage( 'questycaptcha-edit' )->text() : $text; - } - - function showHelp() { - global $wgOut; - $wgOut->setPageTitle( wfMessage( 'captchahelp-title' )->text() ); - $wgOut->addWikiMsg( 'questycaptchahelp-text' ); - if ( CaptchaStore::get()->cookiesNeeded() ) { - $wgOut->addWikiMsg( 'captchahelp-cookies-needed' ); - } - } -} diff --git a/documentacion/extensions/ConfirmEdit/QuestyCaptcha.i18n.php b/documentacion/extensions/ConfirmEdit/QuestyCaptcha.i18n.php deleted file mode 100644 index ca345e4..0000000 --- a/documentacion/extensions/ConfirmEdit/QuestyCaptcha.i18n.php +++ /dev/null @@ -1,1246 +0,0 @@ - 'Questy CAPTCHA generator for Confirm Edit', - 'questycaptcha-addurl' => 'Your edit includes new external links. -To help protect against automated spam, please answer the question that appears below ([[Special:Captcha/help|more info]]):', - 'questycaptcha-badlogin' => 'To help protect against automated password cracking, please answer the question that appears below ([[Special:Captcha/help|more info]]):', - 'questycaptcha-createaccount' => 'To help protect against automated account creation, please answer the question that appears below ([[Special:Captcha/help|more info]]):', - 'questycaptcha-create' => 'To create the page, please answer the question that appears below ([[Special:Captcha/help|more info]]):', - 'questycaptcha-edit' => 'To edit this page, please answer the question that appears below ([[Special:Captcha/help|more info]]):', - 'questycaptcha-sendemail' => 'To help protect against automated spamming, please answer the question that appears below ([[Special:Captcha/help|more info]]):', - 'questycaptchahelp-text' => "Web sites that accept contributions from the public, like this wiki, are often abused by spammers who use automated tools to add their links to many sites. -While these spam links can be removed, they are a significant nuisance. - -Sometimes, especially when adding new web links to a page, the wiki may ask you to answer a question. -Since this is a task that is hard to automate, it will allow most real humans to make their contributions while stopping most spammers and other robotic attackers. - -Please contact the [[{{MediaWiki:Grouppage-sysop}}|site administrators]] for assistance if this is unexpectedly preventing you from making legitimate contributions. - -Click the 'back' button in your browser to return to the page editor.", -); - -/** Message documentation (Message documentation) - * @author Fryed-peach - * @author Hamilton Abreu - */ -$messages['qqq'] = array( - 'questycaptcha-desc' => '{{desc}}', - 'questycaptcha-addurl' => 'See also -*{{msg-mw|captcha-addurl}} -*{{msg-mw|Fancycaptcha-addurl}}', - 'questycaptcha-badlogin' => 'See also -*{{msg-mw|captcha-badlogin}} -*{{msg-mw|Fancycaptcha-badlogin}}', - 'questycaptcha-createaccount' => 'See also -*{{msg-mw|captcha-createaccount}} -*{{msg-mw|Fancycaptcha-createaccount}}', - 'questycaptcha-create' => 'See also -*{{msg-mw|Captcha-create}} -*{{msg-mw|Fancycaptcha-create}}', - 'questycaptcha-edit' => 'See also -*{{msg-mw|Captcha-edit}} -*{{msg-mw|Fancycaptcha-edit}}', - 'questycaptchahelp-text' => 'See also {{msg-mw|Captchahelp-text}}.', -); - -/** Gheg Albanian (Gegë) - * @author Mdupont - */ -$messages['aln'] = array( - 'questycaptcha-addurl' => 'Your redakto përfshin të jashtme lidhje të reja. Për të ndihmuar në mbrojtjen kundër spam automatizuar, ju lutem përgjigje pyetjes që duket më poshtë ([[Special:Captcha/help|më shumë informacion]]):', - 'questycaptcha-badlogin' => 'Për të ndihmuar në mbrojtjen kundër fjalëkalimin automatizuar plasaritje, ju lutem përgjigje pyetjes që duket më poshtë ([[Special:Captcha/help|më shumë informacion]]):', - 'questycaptcha-createaccount' => 'Për të ndihmuar në mbrojtjen kundër krijimit llogari e automatizuar, ju lutemi përgjigje pyetjes që duket më poshtë ([[Special:Captcha/help|më shumë informacion]]):', - 'questycaptcha-create' => 'Për të krijuar një faqe, ju lutem përgjigje të pyetjes që duket më poshtë ([[Special:Captcha/help|më shumë informacion]]):', - 'questycaptcha-edit' => 'Për të redaktuar këtë faqe, ju lutem përgjigje të pyetjes që duket më poshtë ([[Special:Captcha/help|më shumë informacion]]):', - 'questycaptcha-sendemail' => 'Për të ndihmuar në mbrojtjen kundër spamming automatizuar, ju lutem përgjigje pyetjes që duket më poshtë ([[Special:Captcha/help|më shumë informacion]]):', - 'questycaptchahelp-text' => "Web faqet që të pranojë kontribute nga publiku, si ky wiki, shpesh keqtrajtohen nga spammers që përdorin mjete të automatizuar për të shtuar lidhjet e tyre me shumë vende. Përderisa këto lidhje spam mund të hiqen, ata janë një ngatërresë të rëndësishme. Ndonjëherë, sidomos kur duke shtuar të reja web lidhje me një faqe, wiki mund të kërkojë që për t'iu përgjigjur një pyetje. Ngaqë kjo është një detyrë që është e vështirë për të automatizuar, ajo do të lejojë të vërtetë njerëzit më të japin kontribute të tyre, ndërsa ndaluar spammers më dhe robotik sulmuesit të tjera. Ju lutem kontaktoni [[{{MediaWiki:Grouppage-sysop}}|faqe administratorët]] për ndihmë, nëse kjo është e papritur në parandalimin e ju nga bërja e kontributeve të ligjshme. Kliko 'butonin mbrapa në shfletuesin tuaj për t'u kthyer në faqen e redaktorit.", -); - -/** Arabic (العربية) - * @author Ciphers - * @author Meno25 - * @author OsamaK - */ -$messages['ar'] = array( - 'questycaptcha-desc' => 'مولد كويستي كابتشا لConfirm Edit', - 'questycaptcha-addurl' => 'يحتوي تعديلك على وصلات خارجية جديدة. -للمساعدة في الحماية من السبام التلقائي، من فضلك أجب على السؤال الذي يظهر أدناه ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'questycaptcha-badlogin' => 'للمساعدة في الحماية من السبام التلقائي، من فضلك أجب على السؤال الذي يظهر أدناه ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'questycaptcha-createaccount' => 'للمساعدة في الحماية من إنشاء الحسابات التلقائي، من فضلك أجب على السؤال الذي يظهر أدناه ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'questycaptcha-create' => 'لتنشئ الصفحة، من فضلك أجب على السؤال الذي يظهر أدناه ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'questycaptcha-edit' => 'لتحرّر هذه الصفحة، من فضلك أجب على السؤال الذي يظهر أدناه ([[Special:Captcha/help|مزيد من المعلومات]]):', - 'questycaptcha-sendemail' => 'للمساعدة في الحماية ضد البريد الإلكتروني الآلي المرغوب فيه، الرجاء الإجابة على السؤال الذي يظهر أدناه ([[Special:Captcha/help|المزيد من المعلومات]]):', - 'questycaptchahelp-text' => "عادة ما يتم في المواقع التي تقبل الردود والرسائل من العامة، كهذا الويكي، تخريب الموقع عن طريق الأشخاص الذين يستعملون آليات معينة لإرسال وصلاتهم لمواقع متعددة بصورة آلية. -وعلى الرغم من أن هذا يمكن إزالته ولكنه مزعج للغاية. - -في بعض الأحيان، خصوصا عند إضافة وصلات لصفحة، ربما يعرض الويكي صورة ملونة أو مشوشة ويطلب منك إدخال كلمات موجودة بالصورة أو يعرض عليك مسألة رياضية عشوائية ويطلب منك حلها. -ولأن هذه المهمة صعبة للغاية لأن يقوم بها برنامج، سيسمح هذا للأشخاص الآدميين بإضافة تحريراتهم بينما ستوقف البرامج التخريبية والهجمات الآلية الأخرى. - -للأسف سيكون هذا صعبا بالنسبة لمستخدمي المتصفحات المحدودة أو التي تعتمد على النصوص فقط أو قراءة النصوص. -في الوقت الحالي لا يوجد لدينا بديل سمعي. -من فضلك راسل [[{{MediaWiki:Grouppage-sysop}}|إداريي الموقع]] للمساعدة إذا كان هذا الأمر يمنعك من التعديل ووضع وصلات قانونية. - -إذا كنت تحرر صفحة معينة: اضغط زر 'العودة' في متصفحك للعودة إلى التحرير.", -); - -/** Bashkir (башҡортса) - * @author Assele - */ -$messages['ba'] = array( - 'questycaptcha-addurl' => 'Һеҙҙең текстығыҙҙа яңы тышҡы һылтанмалар бар. -Автоматик спамдан һаҡлау маҡсатында, зинһар, түбәндә килтерелгән һорауға яуап бирегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'questycaptcha-badlogin' => 'Паролде автоматик ватыуҙан һаҡлау маҡсатында, зинһар, түбәндә килтерелгән һорауға яуап бирегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'questycaptcha-createaccount' => 'Иҫәп яҙмаларын автоматик булдырыуҙан һаҡлау маҡсатында, зинһар, түбәндә килтерелгән һорауға яуап бирегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'questycaptcha-create' => 'Яңы бит булдырыу өсөн, зинһар, түбәндә килтерелгән һорауға яуап бирегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'questycaptcha-edit' => 'Был битте мөхәррирләү өсөн, зинһар, түбәндә килтерелгән һорауға яуап бирегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'questycaptcha-sendemail' => 'Автоматик спамдан һаҡлау маҡсатында, зинһар, түбәндә килтерелгән һорауға яуап бирегеҙ ([[Special:Captcha/help|тулыраҡ мәғлүмәт]]):', - 'questycaptchahelp-text' => 'Үҙенә эстәлек өҫтәргә һәм эстәлеген мөхәррирләргә мөмкинлек биргән веб-сайттар, шул иҫәптән был вики, йыш ҡына сайттарға автоматик һылтанмалар өҫтәү өсөн программалар ҡулланған спамлаусыларҙың маҡсатына әйләнә. -Бындай һылтанмалар юйыла ала, әммә улар һиҙелерлек уңайһыҙлыҡ килтерә. - -Ҡайһы бер ғәмәлдәрҙе башҡарған ваҡытта — мәҫәлән, биткә һылтанма өҫтәгән ваҡытта — вики һеҙгә һорауға яуап бирергә тәҡдим итә ала. Был мәсьәләне автоматик рәүештә сисеү ауыр булғанға күрә, ул күпселек кешеләргә мөхәррирләүҙе башҡарырға мөмкинлек бирәсәк, һәм шул уҡ ваҡытта спамлаусыларҙың һәм башҡа автоматлаштырылған зыян килтереүселәрҙең күпселеген туҡтатасаҡ. - -Зинһар, әгәр бындай тикшереү һеҙгә сайтта намыҫ менән эшләргә ҡамасаулаһа, [[{{MediaWiki:Grouppage-sysop}}|хәкимдәргә]] мөрәжәғәт итегеҙ. - -Мөхәррирләүгә кире ҡайтыу өсөн, браузерығыҙҙа кире ҡайтыу төймәһенә баҫығыҙ.', -); - -/** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎) - * @author EugeneZelenko - * @author Jim-by - */ -$messages['be-tarask'] = array( - 'questycaptcha-addurl' => 'Вашае рэдагаваньне ўтрымлівае вонкавыя спасылкі. -Каб абараніцца да аўтаматычнага спаму, калі ласка, адкажыце на пытаньне, паказанае ніжэй ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'questycaptcha-badlogin' => 'Для абароны супраць аўтаматычнага падбору пароля, калі ласка, адкажыце на пытаньне, паказанае ніжэй ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'questycaptcha-createaccount' => 'Для абароны супраць аўтаматычнага стварэньня рахункаў, калі ласка, адкажыце на пытаньне, паказанае ніжэй ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'questycaptcha-create' => 'Для стварэньня старонкі, калі ласка, адкажыце на пытаньне, паказанае ніжэй ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'questycaptcha-edit' => 'Для рэдагаваньня гэтай старонкі, калі ласка, адкажыце на пытаньне, паказанае ніжэй ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'questycaptcha-sendemail' => 'У мэтах абароны супраць аўтаматычнага спаму, калі ласка, адкажыце на пытаньне, паказанае ніжэй ([[Special:Captcha/help|дадатковая інфармацыя]]):', - 'questycaptchahelp-text' => 'Вэб-сайты, якія прымаюць запісы ад грамадзкасьці, падобныя на {{GRAMMAR:вінавальны|{{SITENAME}}}}, часта атакуюцца спамэрамі, якія ўжываюць аўтаматызаваныя інструмэнты, каб зьмяшчаць свае спасылкі на шмат сайтаў. -І хаця гэтыя спасылкі могуць быць прыбраныя, яны выклікаюць значныя нязручнасьці. - -Часам, асабліва калі Вы дадаеце новыя вонкавыя спасылкі на старонку, {{SITENAME}} можа паказаць Вам выяву з каляровым ці скажоным тэкстам і папрасіць увесьці гэты тэкст. -Праз тое, што гэтае заданьне цяжка аўтаматызаваць, яно дазволіць большасьці рэальных людзей рабіць запісы, але спыніць большасьць спамэраў і іншых аўтаматызаваных робатаў. - -На жаль, гэта можа выклікаць нязручнасьці для ўдзельнікаў з абмежаваньнямі па зроку і для тых, хто ўжывае тэкставыя ці моўныя браўзэры. -На гэты момант мы ня маем аўдыё-альтэрнатывы гэтай праверцы. -Калі ласка, зьвяжыцеся з [[{{MediaWiki:Grouppage-sysop}}|адміністратарамі]], калі гэтая праверка перашкаджае Вам рабіць слушныя запісы. - -Націсьніце кнопку «назад» у Вашым браўзэры, каб вярнуцца да рэдагаваньня старонкі.', -); - -/** Breton (brezhoneg) - * @author Fulup - */ -$messages['br'] = array( - 'questycaptcha-addurl' => "Degaset hoc'h liammoù diavaez nevez. -A-benn hor skoazellañ da stourm a-enep d'ar strob emgefre, respontit d'ar goulenn a-is ([[Special:Captcha/help|muioc'h a ditouroù]]) :", - 'questycaptcha-badlogin' => "A-benn hor skoazellañ da stourm a-enep ar freuzañ gerioù-tremen gant ardivinkoù, respontit d'ar goulenn a-is ([[Special:Captcha/help|muioc'h a ditouroù]]) :", - 'questycaptcha-createaccount' => "A-benn hor skoazellañ da stourm a-enep ar c'hrouiñ kontoù emgefre, respontit d'ar goulenn a-is ([[Special:Captcha/help|muioc'h a ditouroù]]) :", - 'questycaptcha-create' => "A-benn gellout krouiñ ar bajenn, respontit d'ar goulenn a-is ([[Special:Captcha/help|muioc'h a ditouroù]]) :", - 'questycaptcha-edit' => "A-benn gellout degas kemmoù er bajenn-mañ, respontit d'ar goulenn a-is ([[Special:Captcha/help|muioc'h a ditouroù]]) :", - 'questycaptcha-sendemail' => "Evit hor skoazellañ da zizarbenn ar strob emgefre, respontit d'ar goulenn skrivet dindan ([[Special:Captcha/help|gouzout hiroc'h]]) :", - 'questycaptchahelp-text' => "Alies e vez taget al lec'hiennoù a zegemer kemennadennoù a-berzh an holl, evel ar wiki-mañ, gant ar stroberien a implij ostilhoù emgefre evit postañ o liammoù war-du lec'hiennoù a bep seurt. Ha pa c'hallfent bezañ diverket, kazus-mat ez eo ar stroboù-se memes tra. - -A-wezhioù, dreist-holl pa vez ouzhpennet liammoù Web nevez war ur bajenn, e c'hallo ar wiki-mañ sevel ur goulenn ouzhoc'h. -Un trevell start da emgefrekaat eo hemañ. Gant se e c'hallo an implijerien wirion postañ ar pezh a fell dezho tra ma vo lakaet un harz d'an darn vrasañ eus ar stroberien pe d'an dagerien robotek all. - -Kit e darempred gant [[{{MediaWiki:Grouppage-sysop}}|merourien al lec'hienn]] evit bezañ skoazellet m'hoc'h eus diaesterioù da gemer perzh da vat abalamour d'an teknik-se. - -Pouezit war bouton 'kent' ho merdeer evit distreiñ d'ar bajenn gemmañ.", -); - -/** Bosnian (bosanski) - * @author CERminator - */ -$messages['bs'] = array( - 'questycaptcha-addurl' => 'Vaša izmjena uključuje nove vanjske linkove. -Da bi pomogli protiv automatskog spama, molimo odgovorite na pitanje koje je prikazano ispod ([[Special:Captcha/help|više informacija]]):', - 'questycaptcha-badlogin' => 'Da bi pomogli u sprječavanju protiv automatskog probijanja šifre, molimo Vas da odgovorite na pitanje koje je prikazano ispod ([[Special:Captcha/help|više informacija]]):', - 'questycaptcha-createaccount' => 'Da bi pomogli u sprječavanju automatskog pravljenja računa, molimo Vas da odgovorite na pitanje koje je prikazano ispod ([[Special:Captcha/help|više informacija]]):', - 'questycaptcha-create' => 'Da bi ste napravili stranicu, molimo Vas da odgovorite na pitanje koje je prikazano ispod ([[Special:Captcha/help|više informacija]]):', - 'questycaptcha-edit' => 'Da bi ste uredili ovu stranicu, molimo Vas da odgovorite na pitanje koje je prikazano ispod ([[Special:Captcha/help|više informacija]]):', - 'questycaptcha-sendemail' => 'Da bi pomogli u zaštiti protiv automatskog spamovanja, molimo Vas da odgovorite na pitanje koje je prikazano ispod ([[Special:Captcha/help|više informacija]]):', - 'questycaptchahelp-text' => "Websajtovi koji podržavaju doprinose iz javnosti, kao što je ovaj viki, često zloupotrebljavaju vandali koji koriste automatizovane alate da šalju svoje linkove ka mnogim sajtovima. -Iako se ovi neželjeni linkovi mogu ukloniti, oni ipak zadaju veliku muku. - -Ponekad, pogotovo kad se dodaju novi internet linkovi na stranicu, wiki može tražiti od Vas da odgovorite na pitanje. Pošto je teško automatizovati ovakav zadatak, on omogućuje svim pravim ljudima da vrše svoje izmjene, ali će zato spriječiti vandale i ostale robotske napadače. - -Molimo Vas da kontaktirate [[{{MediaWiki:Grouppage-sysop}}|administratore stranice]] za pomoć ako je ovo prepreka za Vas da pravite uobičajene izmjene. - -Kliknite 'nazad' ('back') dugme vašeg preglednika da se vratite na polje za unos teksta.", -); - -/** Catalan (català) - * @author Paucabot - * @author Toniher - */ -$messages['ca'] = array( - 'questycaptcha-addurl' => "L'edició inclou enllaços externs nous. -Per ajudar a protegir-se contra la brossa automàtica, responeu la pregunta que apareix a continuació ([[Special:Captcha/help|més informació]]):", - 'questycaptcha-create' => 'Per crear la pàgina, per favor responeu la pregunta que apareix a continuació ([[Special:Captcha/help|més informació]]):', -); - -/** Czech (česky) - * @author Mormegil - */ -$messages['cs'] = array( - 'questycaptcha-addurl' => 'Vaše editace obsahuje nové externí odkazy. -V zájmu ochrany před automatickým spamováním musíte zodpovědět níže uvedenou otázku ([[Special:Captcha/help|další informace]]):', - 'questycaptcha-badlogin' => 'V rámci ochrany proti automatickým pokusům uhodnout heslo musíte zodpovědět níže uvedenou otázku ([[Special:Captcha/help|další informace]]):', - 'questycaptcha-createaccount' => 'V rámci ochrany před automatickým vytvářením účtů musíte pro provedení registrace zodpovědět níže uvedenou otázku ([[Special:Captcha/help|další informace]]):', - 'questycaptcha-create' => 'Abyste mohli založit stránku, musíte zodpovědět níže uvedenou otázku ([[Special:Captcha/help|další informace]]):', - 'questycaptcha-edit' => 'Abyste mohli editovat tuto stránku, musíte zodpovědět níže uvedenou otázku ([[Special:Captcha/help|další informace]]):', - 'questycaptcha-sendemail' => 'V rámci ochrany proti automatickému spamování musíte zodpovědět níže zobrazenou otázku ([[Special:Captcha/help|více informací]]):', - 'questycaptchahelp-text' => 'Webové stránky, do kterých mohou přispívat jejich návštěvníci (jako například tato wiki), jsou často terčem spammerů, kteří pomocí automatických nástrojů vkládají své odkazy na velké množství stránek. Přestože lze tento spam odstranit, představuje nepříjemné obtěžování. - -Někdy, zvláště při přidávání nových webových odkazů, vás wiki může požádat o zodpovězení otázky. -Jelikož takovou úlohu lze jen těžko automatizovat, skuteční lidé mohou dále přispívat, zatímco většinu spammerů a jiných robotických útočníků to zastaví. - -Pokud vám to brání v užitečných příspěvcích a potřebujete pomoc, kontaktujte laskavě [[{{MediaWiki:Grouppage-sysop}}|správce serveru]]. - -Pro návrat na předchozí stránku stiskněte ve svém prohlížeči tlačítko „zpět“.', -); - -/** German (Deutsch) - * @author Kghbln - * @author Pill - * @author Umherirrender - */ -$messages['de'] = array( - 'questycaptcha-desc' => 'Questy-CAPTCHA-Generator für die Erweiterung „Confirm Edit“', - 'questycaptcha-addurl' => 'Deine Bearbeitung enthält neue externe Links. -Zum Schutz vor automatisiertem Spam, beantworte bitte die untenstehende Frage, um die Seite speichern zu können ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-badlogin' => 'Zum Schutz vor einer Kompromittierung deines Benutzerkontos, beantworte bitte die untenstehende Frage, um dich anmelden zu können ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-createaccount' => 'Zum Schutz vor einer automatisierten Anlage von Benutzerkonten ist es erforderlich, die folgende Frage zu beantworten ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-create' => 'Bitte beantworte die folgende Frage, um diese Seite erstellen zu können ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-edit' => 'Bitte beantworte die folgende Frage, um diese Seite speichern zu können ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-sendemail' => 'Zum Schutz vor automatisiertem Spam, beantworte bitte die untenstehende Frage, um die E-Mail-Nachricht senden zu können ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptchahelp-text' => 'Internetangebote, die — wie dieses Wiki — für Beiträge von praktisch jedem offen sind, werden häufig von Spammern missbraucht, welche versuchen, mithilfe entsprechender Werkzeuge ihre Links automatisch auf vielen Webseiten zu platzieren. -Zwar können derartige Spam-Links wieder entfernt werden, doch stellen sie trotzdem ein erhebliches Ärgernis dar. - -In manchen Fällen, meist beim Versuch, neue Weblinks zu einer Seite hinzuzufügen, kann es vorkommen, dass du um die Beantwortung einer Frage gebeten wirst. -Da es kaum möglich ist, dies zu automatisieren, können hierdurch die meisten Spammer aufgehalten werden. Menschlichen Benutzer sollten ihre Bearbeitungen hingegen durchführen können. - -Sollte dich dieses Verfahren beim Vornehmen erwünschter Bearbeitungen behindern, wende dich bitte an einen [[{{MediaWiki:Grouppage-sysop}}|Administrator]], um Unterstützung zu erhalten. - -Die Schaltfläche „Zurück“ des Browsers führt zurück zum vorherigen Bearbeitungsfenster.', -); - -/** German (formal address) (Deutsch (Sie-Form)‎) - * @author Imre - * @author Umherirrender - */ -$messages['de-formal'] = array( - 'questycaptcha-addurl' => 'Ihre Bearbeitung enthält neue externe Links. -Zum Schutz vor automatisiertem Spam beantworten Sie bitte die untenstehende Frage ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-badlogin' => 'Zum Schutz vor einer Kompromittierung Ihres Benutzerkontos beantworten Sie bitte die folgende Frage ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-create' => 'Bitte beantworten Sie die folgende Frage, um diese Seite erstellen zu können ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-edit' => 'Bitte beantworten Sie die folgende Frage, um diese Seite bearbeiten zu können ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptcha-sendemail' => 'Zum Schutz vor automatisiertem Spam bitten wir Sie, die folgende Frage zu beantworten ([[Special:Captcha/help|weitere Informationen]]):', - 'questycaptchahelp-text' => 'Internetangebote, die — wie dieses Wiki — für Beiträge von praktisch jedem offen sind, werden häufig von Spammern missbraucht, welche versuchen, mithilfe entsprechender Werkzeuge ihre Links automatisch auf vielen Webseiten zu platzieren. -Zwar können derartige Spam-Links wieder entfernt werden, doch stellen sie trotzdem ein erhebliches Ärgernis dar. - -In manchen Fällen, meist beim Versuch, neue Weblinks zu einer Seite hinzuzufügen, kann es vorkommen, dass Sie um die Beantwortung einer Frage gebeten wirst. -Da es kaum möglich ist, dies zu automatisieren, können hierdurch die meisten Spammer aufgehalten werden. Menschlichen Benutzer sollten ihre Bearbeitungen hingegen durchführen können. - -Sollte Sie dieses Verfahren beim Vornehmen erwünschter Bearbeitungen behindern, wenden Sie sich bitte an einen [[{{MediaWiki:Grouppage-sysop}}|Administrator]], um Unterstützung zu erhalten. - -Der „Zurück“-Knopf des Browsers führt zurück zum Bearbeitungsfenster.', -); - -/** Lower Sorbian (dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'questycaptcha-addurl' => 'Twója změna wopśimujo nowe eksterne wótkaze. -Za šćit pśeśiwo zawtomatizěrowanemu spamoju, wótegroń pšosym na pšašanje, kótarež pokazujo se dołojce ([[Special:Captcha/help|dalšne informacije]]):', - 'questycaptcha-badlogin' => 'Za šćit pśeśiwo zawtomatizěrowanemu wusnuchlenjeju gronidła, wótegroń pšosym na pšašanje, kótarež pokazujo se dołojce ([[Special:Captcha/help|dalšne informacije]]):', - 'questycaptcha-createaccount' => 'Za šćit pśeśiwo zawtomatizěrowanemu napóranjeju kontow, wótegroń pšosym na pšašanje, kótarež pokazujo se dołojce ([[Special:Captcha/help|dalšne informacije]]):', - 'questycaptcha-create' => 'Aby napórał bok, wótegroń pšosym na pšašanje, kótarež pokazujo se dołojce ([[Special:Captcha/help|dalšne informacije]]):', - 'questycaptcha-edit' => 'Aby wobźěłał toś ten bok, wótegroń pšosym na pšašanje, kótarež pokazujo se dołojce ([[Special:Captcha/help|dalšne informacije]]):', - 'questycaptcha-sendemail' => 'Za šćit pśeśiwo awtomatiskemu spamowanjeju, wótegroń pšosym pšašanje, kótarež pokazujo se dołojce ([[Special:Captcha/help|dalšne informacije]]):', - 'questycaptchahelp-text' => 'Websedła, kótarež akceptěruju zjawne pśinoski, ako toś ten wiki, znjewužywaju se cesto wót spamowarjow, kótarež wužywaju zawtomatizěrowane rědy, aby pśidali swóje wótkaze na wjele sedłow. Lěcrownož toś te spamowe wótkaze daju se wótpóraś, su wóne bejna pógóršota. - -Wótergi, wósebnje, gaž se nowe wótkaze pśidawaju bokoju, jo móžno, až se śi wiki něco pšaša. -Dokulaž to jo nadawk, kótaryž dajo se śěžko awtomatizěrowaś, dowólujo to napšawdnym luźam jich pśinoski wótpósłaś, nejwěcej spamowarjow a robotowe ataki pak se zaźaržyju. - -Staj se pšosym z [[{{MediaWiki:Grouppage-sysop}}|administratorami sedła]] z pšosbu wó pomoc do zwiska, jolic to śi njewócakane zawobarujo słanje legitimnych pśinoskow. - -Klikni na tłocašk "Slědk" we swójom wobglědowaku, aby wróśił se k wobźěłowańskemu woknoju.', -); - -/** Greek (Ελληνικά) - * @author Omnipaedista - */ -$messages['el'] = array( - 'questycaptcha-addurl' => 'Η επεξεργασία σας περιέχει νέους εξωτερικούς συνδέσμους. -Για να μας βοηθήσετε στην προστασία κατά των αυτοματοποιημένων σπαμ, παρακαλώ απαντήστε στην παρακάτω ερώτηση ([[Special:Captcha/help|περισσότερες πληροφορίες]]):', -); - -/** Esperanto (Esperanto) - * @author Castelobranco - */ -$messages['eo'] = array( - 'questycaptcha-addurl' => 'Via redakto entenas novajn eksterajn ligilojn. -Por helpi protekti kontraŭ aŭtomatan spamadon, bonvolu respondu la demandon sube ([[Special:Captcha/help|pli da informo]]):', - 'questycaptcha-badlogin' => 'Por helpi protekti kontraŭ aŭtomata divenado de pasvortoj, bonvolu respondu la demandon sube ([[Special:Captcha/help|pli da informo]]):', - 'questycaptcha-createaccount' => 'Por helpi protekti kontraŭ aŭtomata konto-kreado, bonvolu respondu la demandon sube ([[Special:Captcha/help|pli da informo]]):', - 'questycaptcha-create' => 'Por krei la paĝon, bonvolu respondu la demandon sube ([[Special:Captcha/help|pli da informo]]):', - 'questycaptcha-edit' => 'Por redakti ĉi tiun paĝon, bonvolu respondu la demandon sube ([[Special:Captcha/help|pli da informo]]):', - 'questycaptchahelp-text' => "Retejoj kiuj akcepti informon de publiko, kiel ĉi tiu vikio, estas ofte misuzitaj de spamistoj kiu uzas aŭtomatajn ilojn por afiŝi ligilojn al multaj retejoj. Kvankam ĉi tiu spam-ligiloj estas forigeblaj, ili estas granda ĝeno. - -Iufoje, ja kiam aldonante novajn retligilojn al paĝo, la vikio eble petos al vi respondi demandon. Tial ĉi tiu tasko estas malfacila por fari aŭtomate, ebligos al realaj homoj fari aldonaĵojn, kaj malebligos spamistojn kaj aliajn robotajn atakilojn. - -Bonvolu kontakti la [[{{MediaWiki:Grouppage-sysop}}|administrantojn de la retejo]] por helpo se ĉi tio malebligas al vi fari bonan aldonon. - -Klaku la 'reiru' butonon en via retumilo por reiri al la paĝo-redaktilo.", -); - -/** Spanish (español) - * @author Crazymadlover - * @author Pertile - */ -$messages['es'] = array( - 'questycaptcha-addurl' => 'Tu edición incluye nuevos vínculos externos. -Para ayudar a proteger contra spam automático, por favor responde la pregunta que aparece abajo ([[Special:Captcha/help|más información]]):', - 'questycaptcha-badlogin' => 'Para ayudar a proteger contra craqueo de contraseña, por favor responde la pregunta que aparece abajo ([[Special:Captcha/help|más información]]):', - 'questycaptcha-createaccount' => 'Para ayudar a proteger contra la creación automática de cuentas, por favor responde la pregunta que aparece abajo ([[Special:Captcha/help|más información]]):', - 'questycaptcha-create' => 'Para crear la página, por favor responde la pregunta que aparece abajo ([[Special:Captcha/help|más información]]):', - 'questycaptcha-edit' => 'Para editar esta página, por favor responde la pregunta que aparece abajo ([[Special:Captcha/help|más información]]):', - 'questycaptcha-sendemail' => 'Para protegernos contra el spam automatizado por favor conteste la pregunta que aparece a continuación ([[Special:Captcha/help|más información]]):', - 'questycaptchahelp-text' => "Sitios Web que aceptan contribuciones del público, como este wiki, son constantemente abusadas por enviadores de spam quienes usan herramientas automáticas para agregar sus enlaces a muchos sitios. -Así estos enlaces spam puedan ser borrados, son una molestia significativa. - -A veces, especialmente cuando se agregan nuevos enlaces web a una página, el wiki puede pedirte que respondas a una pregunta. -Ya que esta es una tarea que es difícil de automatizar, eso permitirá que más seres humanos reales hagan sus contribuciones mientras detiene a la mayor parte de enviadores de spam y otros atacantes robóticos. - -Por favor contacta a los [[{{MediaWiki:Grouppage-sysop}}|administradores del sitio]] para asistencia si esto está impidiéndote hacer contribuciones legítimas. - -Haz click en el botón 'atrás' en tu navegador para regresar al editor de página.", -); - -/** Estonian (eesti) - * @author Pikne - */ -$messages['et'] = array( - 'questycaptcha-addurl' => 'Sinu muudatus sisaldab uusi välislinke. -Palun vasta alljärgnevale küsimusele. Abinõu on kaitseks automaadistatud rämpsmuudatuste eest ([[Special:Captcha/help|lisateave]]):', - 'questycaptcha-badlogin' => 'Palun vasta alljärgnevale küsimusele. Abinõu on kaitseks automaatsete parooliäraarvajate eest ([[Special:Captcha/help|lisateave]]):', - 'questycaptcha-createaccount' => 'Palun vasta alljärgnevale küsimusele. Abinõu on kaitseks kontode automaatse loomise eest ([[Special:Captcha/help|lisateave]]):', - 'questycaptcha-create' => 'Lehekülje loomiseks vasta palun alljärgnevale küsimusele ([[Special:Captcha/help|lisateave]]):', - 'questycaptcha-edit' => 'Selle lehekülje muutmiseks vasta palun alljärgnevale küsimusele ([[Special:Captcha/help|lisateave]]):', - 'questycaptcha-sendemail' => 'Palun vasta alljärgnevale küsimusele. Abinõu on kaitseks automaadistatud rämpsmuudatuste eest ([[Special:Captcha/help|lisateave]]):', - 'questycaptchahelp-text' => "Võrgukohti, mis lubavad külastajatel sisu muuta, nagu ka see viki, kasutavad sageli rämpsposti levitajad, lisades näiteks lehekülgedele reklaamilinke. Kuigi neid linke saab eemaldada, on nad siiski tülikad. - -Kasutajakontot registreerides või mõnele lehele uusi internetiaadresse postitades võidakse paluda sul küsimusele vastata. -Kuna sellist tegevust on raske automaadistada, on see efektiivseks kaitseks rämpspostirobotite vastu ja lubab samas tavakasutajatel rahus muudatusi teha. - -Kui sul tekib raskusi muudatuste tegemisel, võta palun ühendust selle võrgukoha [[{{MediaWiki:Grouppage-sysop}}|administraatoritega]]. - -Redigeerimislehele naasmiseks klõpsa võrgulehitseja ''tagasi''-nuppu.", -); - -/** Basque (euskara) - * @author Kobazulo - */ -$messages['eu'] = array( - 'questycaptcha-create' => 'Orrialdea sortzeko, behean agertzen den galdera erantzun ezazu mesedez ([[Special:Captcha/help|informazio gehiago]]):', - 'questycaptcha-edit' => 'Orrialde hau aldatzeko, behean agertzen den galdera erantzun ezazu mesedez ([[Special:Captcha/help|informazio gehiago]]):', -); - -/** Finnish (suomi) - * @author Crt - * @author Nike - */ -$messages['fi'] = array( - 'questycaptcha-addurl' => 'Muokkauksesi sisältää uusia ulkoisia linkkejä. -Automatisoitujen roskamuokkausten välttämiseksi vastaa alla olevaan kysymykseen ([[Special:Captcha/help|lisätietoja]]):', - 'questycaptcha-badlogin' => 'Automatisoidun salasanan murtamisen estämiseksi vastaa alla olevaan kysymykseen ([[Special:Captcha/help|lisätietoja]]):', - 'questycaptcha-createaccount' => 'Automaattisen käyttäjätunnusten luonnin estämiseksi vastaa alla olevaan kysymykseen ([[Special:Captcha/help|lisätietoja]]):', - 'questycaptcha-create' => 'Luodaksesi sivun vastaa alla olevaan kysymykseen ([[Special:Captcha/help|lisätietoja]]):', - 'questycaptcha-edit' => 'Muokataksesi tätä sivua vastaa alla olevaan kysymykseen ([[Special:Captcha/help|lisätietoja]]):', - 'questycaptcha-sendemail' => 'Automatisoidun roskapostin lähettämisen estämiseksi vastaa alla olevaan kysymykseen ([[Special:Captcha/help|lisätietoja]]):', - 'questycaptchahelp-text' => 'Web-sivustot, jotka hyväksyvät materiaalia yleisöltä, kuten tämä wiki, joutuvat usein automaattisia työkaluja käyttävien "spämmääjien" kohteeksi jotka lisäävät linkkejä eri sivustoille. Vaikka nämä roskalinkit voidaan poistaa, ne ovat merkittävä haittatekijä. - -Joskus, erityisesti kun lisäät uusia Web-linkkejä sivulle, wiki saattaa pyytää sinua vastaamaan kysymykseen. -Koska tämä on vaikeasti automatisoitava tehtävä, se antaa useimpien oikeiden henkilöiden osallistua estäen roskamuokkausten ja muiden automaattisten hyökkäysten tekijöitä. - -Ota yhteyttä [[{{MediaWiki:Grouppage-sysop}}|ylläpitäjiin]] saadaksesi avustusta jos tämä odottamattomasti estää sinua tekemästä asiallisia muokkauksia. - -Napsauta selaimesi \'takaisin\'-painiketta palataksesi sivumuokkaimeen.', -); - -/** French (français) - * @author IAlex - * @author Verdy p - */ -$messages['fr'] = array( - 'questycaptcha-desc' => "Générateur de questions ''captcha'' pour confirmer les modifications", - 'questycaptcha-addurl' => 'Votre modification inclut de nouveaux liens externes. -Pour nous aider dans la protection contre le pourriel automatisé, veuillez répondre à la question ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'questycaptcha-badlogin' => 'Afin de nous aider à prévenir le cassage des mots de passe par des automates, veuillez répondre à la question ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'questycaptcha-createaccount' => 'Afin de nous aider à lutter contre les créations automatiques de comptes, veuillez répondre à la question qui apparaît ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'questycaptcha-create' => 'Pour créer la page, veuillez répondre à la question ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'questycaptcha-edit' => 'Pour modifier cette page, veuillez répondre à la question ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'questycaptcha-sendemail' => 'Afin de nous aider à prévenir le spam automatique, veuillez répondre à la question ci-dessous ([[Special:Captcha/help|plus d’informations]]) :', - 'questycaptchahelp-text' => 'Les sites web qui acceptent des contributions du public, tels que ce wiki, sont souvent victimes de polluposteurs qui utilisent des outils automatisés pour placer de nombreux liens vers leurs sites. -Même si cette pollution peut être effacée, elle n’en reste pas moins irritante. - -Parfois, particulièrement lors de l’ajout de nouveaux liens externes dans une page, le wiki peut vous demander de répondre à une question. -Cette tâche étant difficile à accomplir de façon automatisée, cela permet à la plupart des humains de réaliser leurs contributions tout en stoppant la plupart des polluposteurs et autres attaquants robotisés. - -Veuillez contacter [[{{MediaWiki:Grouppage-sysop}}|les administrateurs du site]] si cela vous empêche de façon inattendue de faire des contributions légitimes. - -Cliquez sur le bouton « Précédent » de votre navigateur pour revenir à la page de modification.', -); - -/** Galician (galego) - * @author Toliño - */ -$messages['gl'] = array( - 'questycaptcha-desc' => 'Xerador de preguntas CAPTCHA para Confirm Edit', - 'questycaptcha-addurl' => 'A súa edición inclúe novas ligazóns externas. -Para axudar na protección contra o spam automatizado, conteste a pregunta que aparece a continuación ([[Special:Captcha/help|máis información]]):', - 'questycaptcha-badlogin' => 'Para axudar na protección contra o descifrado automatizado de contrasinais, conteste a pregunta que aparece a continuación ([[Special:Captcha/help|máis información]]):', - 'questycaptcha-createaccount' => 'Para axudar na protección contra a creación automática de contas, conteste a pregunta que aparece a continuación ([[Special:Captcha/help|máis información]]):', - 'questycaptcha-create' => 'Para crear a páxina, conteste a pregunta que aparece a continuación ([[Special:Captcha/help|máis información]]):', - 'questycaptcha-edit' => 'Para editar esta páxina, conteste a pregunta que aparece a continuación ([[Special:Captcha/help|máis información]]):', - 'questycaptcha-sendemail' => 'Para contribuír na protección contra o spam automatizado, responda a pregunta que aparece a continuación ([[Special:Captcha/help|máis información]]):', - 'questycaptchahelp-text' => "Os sitios web que aceptan publicar as contribucións dos usuarios, coma este wiki, sofren, con frecuencia, o abuso por parte de ''spammers'' que usan ferramentas que automatizan a inclusión de lixo en forma de ligazóns publicitarias, nunha chea de páxinas, en pouco tempo. -Mentres as devanditas ligazóns non son eliminadas supoñen unha molestia e unha perda de tempo. - -En ocasións, en particular cando engada algunha nova ligazón externa, o wiki pode pedirlle que conteste unha pregunta. -Como esta tarefa é difícil de automatizar, permite distinguir entre persoas e robots e dificulta os ataques automatizados dos ''spammers''. - -Por favor, contacte cun [[{{MediaWiki:Grouppage-sysop}}|administrador do sitio]] para solicitar axuda se o sistema lle impide rexistrarse para facer contribucións lexítimas. - -Prema no botón \"atrás\" do seu navegador para volver á páxina de edición.", -); - -/** Swiss German (Alemannisch) - * @author Als-Chlämens - * @author Als-Holder - */ -$messages['gsw'] = array( - 'questycaptcha-addurl' => 'In Dynere Bearbeitig het s neji extärni Links. -As Schutz gege automatischi Spam, beantwort bitte d Frog, wu do unter gnännt wird ([[Special:Captcha/help|meh Informatione]]):', - 'questycaptcha-badlogin' => 'As Schutz gege ne automatisch Passwort-Knacke, beantwort bitte d Frog, wu do unte gnännt wird ([[Special:Captcha/help|meh Informatione]]):', - 'questycaptcha-createaccount' => 'As Schutz gege ne automatisch Aalege vu Benutzerkonte, beantwort bitte d Frog, wu do unte gnännt wird ([[Special:Captcha/help|meh Informatione]]):', - 'questycaptcha-create' => 'Go d Syte aalege, beantwort bitte d Frog, wu do unte gnännt wird ([[Special:Captcha/help|meh Informatione]]):', - 'questycaptcha-edit' => 'Go die Syte bearbeite, beantwort bitte d Frog, wu do unte gnännt wird ([[Special:Captcha/help|meh Informatione]]):', - 'questycaptcha-sendemail' => 'As Schutz gege e automatischs Spamming, beantwort bitte d Frog, wu do unte gnännt wird ([[Special:Captcha/help|meh Informatione]]):', - 'questycaptchahelp-text' => "Websyte, wu jede cha byytrage, wie des Wiki, wäre vylmol missbrucht vu Spammer, wu automatischi Wärchzyg bruche go ihri Gleicher (Links) in meglischt vyli Syte yyfiege. -Au wänn die Spamgleicher chenne wider uusegnuu wäre, sin si einewäg e zimlig Ärgernis. - -Ab un zue, vor allem wänn neji Netzgleicher (Weblinks) in e Syte yygfiegt wäre, forderet s Wiki Di villicht uf, e Frog z beantworte. -Wel des e Ufgab isch, wu mer schwär cha automatisiere, isch des e Megligkeit, Spammer un anderi automatischi Attacke z verhindere, derwylscht di meischte mänschlige Benutzer ihri Bearbeitige chenne byytrage. - -Bitte nimm Kontakt uf zue dr [[{{MediaWiki:Grouppage-sysop}}|Website-Administratore]] fir Hilf, wänn des unerwarteterwys verhinderet, ass Du chasch rächtmäßigi Bearbeitige mache. - -Druck dr 'Zruck'-Chnopf in Dyym Browser go zuem Bearbeitigsfänschter zruckgoh.", -); - -/** Hebrew (עברית) - * @author Rotemliss - * @author YaronSh - */ -$messages['he'] = array( - 'questycaptcha-addurl' => 'עריכתכם כוללת קישורים חיצוניים חדשים. -כהגנה מפני ספאם אוטומטי, אנא ענו על השאלה המופיעה להלן ([[Special:Captcha/help|מידע נוסף]]):', - 'questycaptcha-badlogin' => 'כהגנה מפני פריצת סיסמאות אוטומטית, אנא ענו על השאלה המופיעה להלן ([[Special:Captcha/help|מידע נוסף]]):', - 'questycaptcha-createaccount' => 'כהגנה מפני יצירת חשבונות אוטומטית, אנא ענו על השאלה המופיעה להלן ([[Special:Captcha/help|מידע נוסף]]):', - 'questycaptcha-create' => 'כדי ליצור את הדף, אנא ענו על השאלה המופיעה להלן ([[Special:Captcha/help|מידע נוסף]]):', - 'questycaptcha-edit' => 'כדי לערוך את הדף, אנא ענו על השאלה המופיעה להלן ([[Special:Captcha/help|מידע נוסף]]):', - 'questycaptcha-sendemail' => 'כדי לסייע בהגנה מפני הודעות ספאם אוטומטיות, נא לענות על השאלה המופיעה להלן ([[Special:Captcha/help|מידע נוסף]]):', - 'questycaptchahelp-text' => "פעמים רבות מנצלים ספאמרים אתרים שמקבלים תוכן מהציבור, כמו אתר הוויקי הזה, כדי להוסיף את הקישורים שלהם לאתרים רבים באינטרנט, באמצעות כלים אוטומטיים. -אמנם ניתן להסיר את קישורי הספאם הללו, אך הם מהווים מטרד משמעותי. - -לעתים, בעיקר כשאתם מכניסים קישורי אינטרנט חדשים לתוך עמוד, אתר הוויקי עשוי לבקש מכם לענות על שאלה. -כיוון שזו משימה שקשה לבצעה בצורה אוטומטית, הדבר יאפשר לבני־אדם אמיתיים לשלוח את הדפים, אך יעצור את רוב הספאמרים והמתקיפים הרובוטיים האחרים. - -אנא צרו קשר עם [[{{MediaWiki:Grouppage-sysop}}|מפעילי המערכת]] לעזרה אם המערכת מונעת מכם באופן בלתי צפוי לבצע עריכות לגיטימיות. - -לחצו על הכפתור 'Back' בדפדפן שלכם כדי לחזור לדף העריכה.", -); - -/** Upper Sorbian (hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'questycaptcha-addurl' => 'Twoja změna wobsahuje nowe eksterne wotkazy. -Za škit přećiwo awtomatizowanemu spamej, wotmołw prošu na prašenje, kotrež so deleka jewi ([[Special:Captcha/help|dalše informacije]]):', - 'questycaptcha-badlogin' => 'Za škit přećiwo awtomatiskemu kradnjenju hesła, wotmołw prošu na prašenje, kotrež so deleka jewi ([[Special:Captcha/help|dalše informacije]]):', - 'questycaptcha-createaccount' => 'Za škit přećiwo awtomatizowanemu tworjenju kontow, wotmołw prošu na prašenje, kotrež so deleka jewi ([[Special:Captcha/help|dalš informacije]]):', - 'questycaptcha-create' => 'Zo by stronu wutworił, wotmołw prošu na prašenje, kotrež so deleka jewi ([[Special:Captcha/help|dalše informacije]]):', - 'questycaptcha-edit' => 'Zo by tutu stronu změnił, wotmołw prošu na prašenje, kotrež so deleka jewi ([[Special:Captcha/help|dalše informacije]]):', - 'questycaptcha-sendemail' => 'Za škit přećiwo awtomatiskemu spamowanju, wotmołw prošu na prašenje, kotrež so deleka jewi ([[Special:Captcha/help|dalše informacije]]):', - 'questycaptchahelp-text' => 'Websydła, kotrež přinoški ze zjawnosće akceptuja, kaž tutón wiki, so často wot spamarjow znjewužiwaja, kotřiž awtomatizowane nastroje wužiwaja, zo bychu swoje wotkazy wjele sydłam přidali. Hačrunjež so tute spamowe wotkazy hodźa wotstronić, su wone njesnadne mjerzanje. - -Druhdy, wosebje, hdyž so nowe webwotkazy stronje přidawaja, wiki so ći něčeho praša. -Dokelž to je nadawk, kotryž hodźi so jenož ćežko awtomatizować, dowoluje to woprawdźitym wosobam swoje přinoški wotpósłać, mjeztym zo so najwjace spamarjow a druhich nadpadowacych botow blokuje. - -Prošu staj so z [[{{MediaWiki:Grouppage-sysop}}|administratorami sydła]] z prostwu wo pomoc do zwiska, jeli to će haći legitimne přinoški pósłać. - -Klikń na tłócatko "Wróćo" w swojim wobhladowaku, zo by so k wobdźěłowanskemu woknu wróćił.', -); - -/** Hungarian (magyar) - * @author Glanthor Reviol - */ -$messages['hu'] = array( - 'questycaptcha-addurl' => 'A szerkesztésed új külső hivatkozásokat tartalmaz. -Segíts az automatikus spamek elleni védekezésben, kérlek válaszolj az alábbi kérdésre ([[Special:Captcha/help|további információk]]):', - 'questycaptcha-badlogin' => 'Segíts az automatikus jelszófeltörés kivédésében, kérlek válaszolj az alábbi kérdésre ([[Special:Captcha/help|további információk]]):', - 'questycaptcha-createaccount' => 'Segíts az automatikus felhasználói fiók készítés kivédésében, kérlek válszolj az alábbi kérdésre ([[Special:Captcha/help|további információk]]):', - 'questycaptcha-create' => 'Kérlek válaszolj az alábbi kérdésre a lap létrehozásához ([[Special:Captcha/help|további információk]]):', - 'questycaptcha-edit' => 'A lap szerkesztéséhez kérlek válaszolj az alábbi kérdésre ([[Special:Captcha/help|további információk]]):', - 'questycaptcha-sendemail' => 'Hogy segíts az automatikus spammelés elleni védekezésben, kérünk válaszolj az alábbi kérdésre ([[Special:Captcha/help|segítség]]):', - 'questycaptchahelp-text' => 'Az olyan weboldalakat, amelyekre bárki írhat, gyakran támadják meg spammerek olyan eszközök felhasználásával, amelyek képesek automatikusan, emberi felügyelet nélkül elhelyezni hivatkozásokat sok különböző oldalon. - -Néha, különösen ha egy új külső hivatkozást teszel egy szócikkbe, a wiki egy egy kérdés megválaszolására kérhet. -Mivel ezt nehéz automatizálni, a valódi szerkesztőknek lehetőségük lesz szerkeszteni, miközben kiszűri a legtöbb spammert és más automatizált kártevőket. - -Ha ez nem várt módon akadályoz a hasznos közreműködéseidben, segítségért kérlek vedd fel a kapcsolatot [[{{MediaWiki:Grouppage-sysop}}|az oldal adminisztrátoraival]]. - -Használd a böngésződ „vissza” gombját a szöveg szerkesztéséhez való visszalépéshez.', -); - -/** Interlingua (interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'questycaptcha-addurl' => 'Tu modification include nove ligamines externe. -Pro adjutar nos in le protection contra le spam automatisate, per favor responde al question ci infra ([[Special:Captcha/help|plus info]]):', - 'questycaptcha-badlogin' => 'Pro adjutar nos in le protection contra le deciframento automatisate de contrasignos, per favor responde al question ci infra ([[Special:Captcha/help|plus info]]):', - 'questycaptcha-createaccount' => 'Pro adjutar nos in le protection contra le creation automatisate de contos, per favor responde al question ci infra ([[Special:Captcha/help|plus info]]):', - 'questycaptcha-create' => 'Pro crear le pagina, per favor responde al question ci infra ([[Special:Captcha/help|plus info]]):', - 'questycaptcha-edit' => 'Pro modificar iste pagina, per favor responde al question ci infra ([[Special:Captcha/help|plus info]]):', - 'questycaptcha-sendemail' => 'Pro adjutar nos in le protection contra le spam automatic, per favor responde al question hic infra ([[Special:Captcha/help|plus info]]):', - 'questycaptchahelp-text' => "Le sitos web que accepta contributiones del publico, como iste wiki, es frequentemente abusate per spammatores que usa instrumentos automatic pro publicar lor ligamines in multe sitos. -Ben que iste ligamines spam pote esser eliminate, illos constitue un considerabile molestia. - -Alcun vices, specialmente quando tu adde nove ligamines web a un pagina, le wiki pote demandar te de responder a un question. -Post que isto es un carga difficile de automatisar, isto permittera al major parte del humanos real de facer lor contributiones, durante que le major parte del spammatores e altere attaccatores robotic es stoppate. - -Per favor contacta le [[{{MediaWiki:Grouppage-sysop}}|administratores del sito]] pro assistentia si isto insperatemente te impedi de facer contributiones legitime. - -Clicca le button 'retro' in tu navigator pro retornar al editor de paginas.", -); - -/** Indonesian (Bahasa Indonesia) - * @author Bennylin - * @author Irwangatot - * @author IvanLanin - * @author Iwan Novirion - */ -$messages['id'] = array( - 'questycaptcha-addurl' => 'Suntingan Anda menambahkan pranala eksternal yang baru. -Untuk melindungi dari spam otomatis, mohon jawab pertanyaan di bawah ini -([[Special:Captcha/help|info lebih lanjut]]):', - 'questycaptcha-badlogin' => 'Untuk melindungi dari pemecah kata sandi otomatis, mohon jawab pertanyaan di bawah ini -([[Special:Captcha/help|info lebih lanjut]]):', - 'questycaptcha-createaccount' => 'Untuk melindungi dari pembuatan akun otomatis, mohon jawab pertanyaan di bawah ini -([[Special:Captcha/help|info lebih lanjut]]):', - 'questycaptcha-create' => 'Untuk membuat halaman, mohon jawab pertanyaan di bawah ini -([[Special:Captcha/help|info lebih lanjut]]):', - 'questycaptcha-edit' => 'Untuk menyunting halaman ini, mohon jawab pertanyaan di bawah ini -([[Special:Captcha/help|info lebih lanjut]]):', - 'questycaptcha-sendemail' => 'Sebagai pelindungan terhadap spam otomatis, silahkan jawab pertanyaan di bawah ini ([[Special:Captcha/help|info lengkap]]):', - 'questycaptchahelp-text' => "Situs-situs web yang menerima tulisan dari publik, seperti wiki ini, kerapkali disalahgunakan oleh pengguna-pengguna yang tidak bertanggungjawab untuk mengirimkan spam dengan menggunakan program-program otomatis guna membahkan prnala mereka pada berbagai situs web. -Walaupun pranala-pranala spam tersebut dapat dibuang, tetapi tetap saja menimbulkan gangguan yang berarti. - -Kadang-kadang, terutama sat menambahkan pranala web baru ke suatu halaman, wiki akan meminta anda menjawab suatu pertanyaan. -Karena ini merupakan suatu pekerjaan yang sulit diotomatisasi, pembatasan ini akan dapat dengan mudah dilalui oleh manusia, sekaligus juga dapat menghentikan hampir semua serangan spam dan robot otomatis lainnya. - -Silakan hubungi [[{{MediaWiki:Grouppage-sysop}}|pengurus]] untuk meminta bantuan jika hal ini menghambat anda untuk mengirimkan suntingan yang layak. - -Tekan tombol 'back' di penjelajah web Anda untuk kembali ke halaman penyuntingan.", -); - -/** Iloko (Ilokano) - * @author Lam-ang - */ -$messages['ilo'] = array( - 'questycaptcha-addurl' => 'Ti inurnos mo ket adda nagyan na a baro a panilpo ti ruar. -Tapno makasalaknib kadagiti automatiko a spam, pangaasim a sungbatan ti saludsud a nagparang dita baba. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'questycaptcha-badlogin' => 'Tapno makasalaknib kadagiti automatiko a pinagsulbar ti kontrasenias, pangaasim a sungbatan ti saludsud a nagparang dita baba. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'questycaptcha-createaccount' => 'Tapno makasalaknib kadagiti automatiko a pinagaramid ti pakabilangan, pangaasim a sungbatan ti saludsud a nagparang dita baba. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'questycaptcha-create' => 'Tapno makaaramid ti panid, pangaasim a sungbatan ti saludsud a nagparang dita baba. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'questycaptcha-edit' => 'Tapno makaurnoy ditoya panid, pangaasim a sungbatan ti saludsud a nagparang dita baba. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'questycaptcha-sendemail' => 'Tapno makasalaknib kadagiti automatiko a pinagspam, pangaasim a sungbatan ti saludsud a nagparang dita baba. ([[Special:Captcha/help|adu pay a pakaammo]]):', - 'questycaptchahelp-text' => "Dagiti sapot a pagsaadan nga agaw-awat kadagiti maipablaak iti publiko, kasla daytoy a wiki, ket kanayon nga inabuso dagiti spammers nga agus-usar ti automatiko a ramramit ti pinagipablaak da kadagiti kukua da a panilpo ti adu a pagsasaadan. -Maikkat met dagitoy a panilpo, mgen makariri da unay. - -No sagpaminsan pay, nangruna no agikabil kadagiti baro a panilpo ti sapot iti panid, ti wiki ket agdamag kenka nga agsungbat ti maysa a saludsod. -Yantangay daytoy ket obra a narigat a ma-automatiko, agpalubos kadagiti agpayso a tattao ti agipablaak bayat nga agpasardeng ti kaaduan a spammers ken dagiti robot nga agraraut. - -Pangngaasi a kontaken ti [[{{MediaWiki:Grouppage-sysop}}|administrador ti pagsaadan ]] para iti pannulong no daytoy ket saan a napadpadaanan a pawilan na ti agpayso a pinagbaplaak mo. - -Peslen ti 'agsubli' a buton dita pagbasabasam (browser) ti agsubli idiay panid ti pinagurnos.", -); - -/** Italian (italiano) - * @author Beta16 - * @author Darth Kule - */ -$messages['it'] = array( - 'questycaptcha-addurl' => "La modifica richiesta aggiunge dei collegamenti esterni alla pagina; come misura precauzionale contro l'inserimento automatico di spam, si prega di rispondere alla domanda che compare di seguito ([[Special:Captcha/help|come funziona?]]):", - 'questycaptcha-badlogin' => 'Come misura precauzionale contro i tentativi di forzatura automatica della password, si prega di rispondere alla domanda che compare di seguito ([[Special:Captcha/help|come funziona?]]):', - 'questycaptcha-createaccount' => 'Come misura precauzionale contro i tentativi di creazione automatica degli account, si prega di rispondere alla domanda che compare di seguito ([[Special:Captcha/help|come funziona?]]):', - 'questycaptcha-create' => 'Per creare la pagina si prega di rispondere alla domanda che compare di seguito ([[Special:Captcha/help|come funziona?]]):', - 'questycaptcha-edit' => 'Per modificare questa pagina si prega di rispondere alla domanda che compare di seguito ([[Special:Captcha/help|come funziona?]]):', - 'questycaptcha-sendemail' => 'Come misura precauzionale nei confronti dei messaggi di spam automatici, si prega di inserire nella casella sottostante le parole che compaiono di seguito ([[Special:Captcha/help|come funziona?]]):', - 'questycaptchahelp-text' => "Capita spesso che i siti Web che accettano messaggi pubblici, come questo wiki, siano presi di mira da spammer che usano strumenti automatici per inserire collegamenti pubblicitari verso un gran numero di siti. Per quanto i collegamenti indesiderati si possano rimuovere, si tratta comunque di una seccatura non indifferente. - -In alcuni casi, ad esempio quando si tenta di aggiungere nuovi collegamenti Web in una pagina, il software wiki può richiedere di rispondere a una domanda. Poiché si tratta di un'azione difficile da replicare da parte di un computer, questo meccanismo consente a (quasi tutti) gli utenti reali di effettuare i proprio contributi, impedendo l'accesso alla maggior parte degli spammer e degli altri attacchi automatizzati. - -Se queste procedure impediscono contributi che si ritengono legittimi, si prega di contattare gli [[{{MediaWiki:Grouppage-sysop}}|amministratori del sito]] e chiedere loro assistenza. - -Fare clic sul pulsante 'indietro' del browser per tornare alla pagina di modifica.", -); - -/** Japanese (日本語) - * @author Aotake - * @author Fryed-peach - * @author Shirayuki - */ -$messages['ja'] = array( - 'questycaptcha-desc' => 'Confirm Edit 用の質問形式 CAPTCHA ジェネレーター', - 'questycaptcha-addurl' => 'あなたは新しい外部リンクを追加しようとしています。 -自動でのスパム攻撃を防ぐため、下記の確認用の質問に回答してください ([[Special:Captcha/help|詳細]]):', - 'questycaptcha-badlogin' => '自動でのパスワードクラック攻撃を防ぐため、下記の確認用の質問に回答してください ([[Special:Captcha/help|詳細]]):', - 'questycaptcha-createaccount' => 'アカウントの自動登録を防ぐため、下記の確認用の質問に回答してください ([[Special:Captcha/help|詳細]]):', - 'questycaptcha-create' => 'ページを新規作成するには、下記の確認用の質問に回答してください ([[Special:Captcha/help|詳細]]):', - 'questycaptcha-edit' => 'このページを編集するには、下記の確認用の質問に回答してください ([[Special:Captcha/help|詳細]]):', - 'questycaptcha-sendemail' => '自動でのスパム攻撃を防ぐため、下記の確認用の質問に回答してください ([[Special:Captcha/help|詳細]]):', - 'questycaptchahelp-text' => '一般からの投稿を受け付けるこのウィキのようなウェブサイトは、自動投稿ツールを使って多くのサイトにリンクを張ってまわるスパマーにより荒らされがちです。このようなスパムは除去できるものの、その作業は大変に面倒なものです。 - -このため、このウィキではときどき、特に新しい外部リンクがページに追加されたときなどに、質問に答えていただくようお願いすることがあります。この作業は自動化が難しいため、スパマーなどのプログラムを用いた攻撃をほぼ阻止しつつ、大半の生身の人間による投稿を可能にします。 - -正当な投稿をするにあたって本機能が障害となっている場合、[[{{MediaWiki:Grouppage-sysop}}|サイト管理者]]に連絡して協力を求めてください。 - -ページの編集に戻るには、ブラウザーの「戻る」ボタンを押してください。', -); - -/** Korean (한국어) - * @author Kwj2772 - * @author 아라 - */ -$messages['ko'] = array( - 'questycaptcha-desc' => '편집 확인에 대한 탐구적인 CAPCHA(캡차) 생성기', - 'questycaptcha-addurl' => '편집에 새로운 바깥 링크가 포함되어 있습니다. -자동화된 스팸을 막기 위해 아래 질문에 답해주세요 ([[Special:Captcha/help|더 많은 정보]]):', - 'questycaptcha-badlogin' => '자동화된 비밀번호 깨기를 방지하기 위해, 아래애 보이는 질문에 대답해주세요 ([[Special:Captcha/help|자세한 정보]]):', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'questycaptcha-addurl' => 'Ding Änderung säz neu Lengks noh ußerhallef vum Wiki. -Öm uns jäje der automattesch dobeijedonn SPAM ze hellefe, -bes esu joot un donn di Frooch be_anntwoode, di heh dronger shteiht. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', - 'questycaptcha-badlogin' => 'Öm uns jäje et automattesche Paßwootknacke ze hellefe, -bes esu joot un donn di Frooch be_anntwoode, di heh dronge shteiht. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', - 'questycaptcha-createaccount' => 'Öm uns jäje et maßesch automattesch neu Metmaacher Aanlääje ze hellefe, -bes esu joot un donn di Frooch be_anntwoode, di heh dronger shteiht. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', - 'questycaptcha-create' => 'Öm di Sigg aanzelääje, -bes esu joot, donn di Frooch be_anntwoode, di heh dronge shteiht. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', - 'questycaptcha-edit' => 'Öm di Sigg ze änderee, -bes esu joot, donn di Frooch be_anntwoode, di heh dronge shteiht. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', - 'questycaptcha-sendemail' => 'Öm et Wiki jääje automattesch enjedraare SPAM ze schötze, -bes esu joot, donn di Frooch be_anntwoode, di heh dronger shteiht. -([[Special:Captcha/help|Mieh Enfommazjuhne]])', - 'questycaptchahelp-text' => 'Websigge, di Beijdrääsch vun de Öffentleschkeit aannämme, wi dat Wiki heh, -wääde öff vun SPAMmer heimjesöhk. Di bruche Projramme -för ier Lengks udder annder Jedrieße automattesch en dousende Wikis erin -ze bränge. Der SPAM kam_mer wider fott maache, ävver dä -blief e Ärjeneß. - -Manschmohl, besönders, wann De neu Lengks en en Sigg donn wells, künnt et -Wiki Desch bedde, en Frooch ze be_antwoode. Nohdämm dat schwiiresch mem -automattesche Projramm henzekrijje es, löht et de Minsche ier Beidrääsch -maache, deiht ävver de miehßte SPAMmer un ander Robots affhallde. - -Donn Desh aan de [[{{MediaWiki:Grouppage-sysop}}|Köbeße vum Wiki]] wende, -wann et Der trozdämm en de Fööß kütt, un De Dinge aanshtändejje Beijdraach -nit en et Wiki kriß! - -Dä „Retuur“-Lengk udder -Knopp vun Dingem Brauser brängk Desch wider op -di Sigg zom Ändere, woh De jraad wohß.', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Les Meloures - * @author Robby - */ -$messages['lb'] = array( - 'questycaptcha-addurl' => "An Ärer Ännerung sinn nei extern Linken. -Fir d'Protectioun géint automatesche Spam ze vergréisseren, beäntwert w.e.g. déi Fro hei ënnendrënner ([[Special:Captcha/help|méi Informatiounen]]):", - 'questycaptcha-badlogin' => "Fir d'Protectioun géint d'automatiséiert Knacke vu Passwierder ze vergréisseren, beäntwert w.e.g. déi Fro hei ënnedrënner ([[Special:Captcha/help|méi Informatiounen]]):", - 'questycaptcha-createaccount' => "Fir d'Protectioun géint d'automatiséiert Uleeë vu Benotzerkonten ze vergréisseren, beäntwert w.e.g. déi Fro hei ënnendrënner ([[Special:Captcha/help|méi Informatiounen]]):", - 'questycaptcha-create' => "Fir d'Säit unzeleeën, beäntwert w.e.g. déi Fro hei ënnedrënner ([[Special:Captcha/help|méi Informatiounen]]):", - 'questycaptcha-edit' => "Fir dës Säit z'änneren, beäntwert w.e.g. déi Fro hei ënnedrënner ([[Special:Captcha/help|méi Informatiounen]]):", - 'questycaptcha-sendemail' => 'Fir ze hëllefe eis géint automatiséierte Spam ze schütze, beäntwert w.e.g. déi Fro hei ënnendrënner ([[Special:Captcha/help|méi Informatiounen]]):', - 'questycaptchahelp-text' => "Websäiten, déi et jiddwerengem erlaben Ännerunge virzehuelen, sou wéi dës Wiki, ginn dacks vu sougenannte Spammer mëssbraucht, déi automatiséiert hir Linken op vill Internetsäite setzen. -Esou Spam-Linke kënne wuel geläscht ginn, mä si sinn trotzdem eng grouss Plo. - -Heiandsdo, besonnesch wann nei Internet-Linken op eng Säit derbäigesat ginn, freet dës Wiki Iech eng Fro ze beäntwerten. -Well dëst eng Aufgab ass déi schwéier z'automatiséieren ass, erlaabt dëst datt Mënschen hir Ännerunge kënnen agi wärend déi meescht Spammer an aner Roboter-Attacke kënnen ofgewiert ginn. - -Kontaktéiert w.e.g. d'[[{{MediaWiki:Grouppage-sysop}}|Administrateure vun dësem Site]] fir Hëllef wann dëst Iech onerwaarter Weis vu legitimen Editen ofhält. - -Dréckt op den 'Zréck' Knäppche vun ärem Browser fir an d'Beaarbechtungsfënster zréckzekommen.", -); - -/** Macedonian (македонски) - * @author Bjankuloski06 - */ -$messages['mk'] = array( - 'questycaptcha-desc' => 'Создавач CAPTCHA со текнувало за потврда на уредувања', - 'questycaptcha-addurl' => 'Вашето уредување содржи нови надворешни врски. -За да ни помогнете да се заштитиме од автоматизиран спам, одговорете на прашањето подолу ([[Special:Captcha/help|повеќе инфо]]):', - 'questycaptcha-badlogin' => 'За да ни помогнете да се заштитиме од автоматизирано пробивање на лозинки, одговорете на прашањето подолу ([[Special:Captcha/help|повеќе инфо]]):', - 'questycaptcha-createaccount' => 'За да ни помогнете да се заштитиме од автоматизирано создавање на сметки, одговорете на прашањето подолу ([[Special:Captcha/help|повеќе инфо]]):', - 'questycaptcha-create' => 'За да ја создадете страницата, одговорете на прашањето подолу ([[Special:Captcha/help|повеќе инфо]]):', - 'questycaptcha-edit' => 'За да ја уредите страницава, одговорете на прашањето подолу ([[Special:Captcha/help|повеќе инфо]]):', - 'questycaptcha-sendemail' => 'За да се заштитиме од автоматизирано спамирање, одговорете на долупоставеното прашање ([[Special:Captcha/help|повеќе информации]]):', - 'questycaptchahelp-text' => 'Мрежните места кои прифаќаат учество на јавноста, како ова вики, честопати страдаат од спамери кои користат автоматизирани алатки за да ги додаваат нивните врски на голем број мрежни места. -Иако врските на спамерот може да се отстранат, тие значително ја пореметуваат нашата работа. - -Понекогаш, особено кога додава нови врски на страница, викито може да ви побара да одговорите на прашање. -Бидејќи ова е задача која е тешко да се автоматизира, им овозможува вистинските корисници да придонесуваат, а им попречува на спамерите и другите роботски напаѓачи. - -Контактирајте ги [[{{MediaWiki:Grouppage-sysop}}|администраторите на страната]] за помош доколку ова неочекувано ве спречува во правењето на искрени придонеси. - -Кликнете на копчето „назад“ во вашиот прелисувач за да се вратите на уредувањето на страницата.', -); - -/** Malayalam (മലയാളം) - * @author Junaidpv - */ -$messages['ml'] = array( - 'questycaptcha-addurl' => 'താങ്കളുടെ തിരുത്തലുകളിൽ പുറം കണ്ണികൾ ഉൾപ്പെട്ടിരിക്കുന്നു. -യാന്ത്രിക സ്പാമിനെതിരെയുള്ള സം‌രക്ഷണത്തിന്റെ ഭാഗമായി, താഴെ കാണുന്ന വാക്കുകൾ പെട്ടിയിൽ ടൈപ്പു ചെയ്യുക ([[Special:Captcha/help|കൂടുതൽ വിവരങ്ങൾ]]):', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - */ -$messages['ms'] = array( - 'questycaptcha-addurl' => 'Suntingan anda mengandungi pautan luar baru. -Untuk membanteras kegiatan spam automatik, anda diminta menjawab soalan yang berikut ([[Special:Captcha/help|maklumat lanjut]]):', - 'questycaptcha-badlogin' => 'Untuk membanteras kegiatan meneka kata laluan secara automatik, anda diminta menjawab soalan berikut ([[Special:Captcha/help|maklumat lanjut]]):', - 'questycaptcha-createaccount' => 'Untuk membanteras kegiatan pembukaan akaun secara automatik, anda diminta menjawab soalan berikut ([[Special:Captcha/help|maklumat lanjut]]):', - 'questycaptcha-create' => 'Untuk mencipta laman ini, anda diminta menjawab soalan berikut ([[Special:Captcha/help|maklumat lanjut]]):', - 'questycaptcha-edit' => 'Untuk menyunting laman ini, anda diminta menjawab soalan berikut ([[Special:Captcha/help|maklumat lanjut]]):', - 'questycaptcha-sendemail' => 'Untuk membanteras kegiatan spam secara automatik, anda diminta menjawab soalan berikut ([[Special:Captcha/help|maklumat lanjut]]):', - 'questycaptchahelp-text' => "Tapak-tapak web yang menerima sumbangan awam, misalnya wiki ini, sering disalah guna oleh pembuat spam yang menggunakan peralatan berautomasi untuk membubuh pautan mereka di banyak tapak. -Walaupun pautan-pautan spam ini boleh dipadamkan, namun ia amat menyusahkan. - -Adakalanya, terutamanya apabila membubuh pautan web baru pada sesuatu laman, wiki ini mungkin akan menanya anda satu soalan. -Memandangkan ini ialah tugas yang sukar diautomasi, ia akan membolehkan kebanyakan manusia sebenar untuk membuat sumbangan, sambil menghalang spam dan serangan robotik yang seumpamanya. - -Sila hubungi [[{{MediaWiki:Grouppage-sysop}}|pentadbir laman]] untuk mendapatkan bantuan jika ia menghalang anda daripada membuat sumbangan yang munasabah tanpa dijangka. - -Klik butang '←' untuk kembali ke editor laman.", -); - -/** Maltese (Malti) - * @author Chrisportelli - */ -$messages['mt'] = array( - 'questycaptcha-addurl' => 'Il-modifika tiegħek tinkludi ħoloq esterni ġodda. -Sabiex tipproteġi kontra spam awtomatiku, jekk jogħġbok irrispondi l-mistoqsija li tidher hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):', - 'questycaptcha-badlogin' => 'Bħala prekawzjoni kontra l-infurzar awtomatiku tal-password, jekk jogħġbok irrispondi l-mistoqsija li tidher hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):', - 'questycaptcha-createaccount' => "Bħala miżura ta' prekawzjoni kontra l-ħolqien awtomatiku tal-kontijiet, jekk jogħġbok irrispondi l-mistoqsija li tidher hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):", - 'questycaptcha-create' => 'Sabiex toħloq din il-paġna, jekk jogħġbok irrispondi l-mistoqsija li tidher hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):', - 'questycaptcha-edit' => 'Sabiex timmodifika din il-paġna, jekk jogħġbok irrispondi l-mistoqsija li tidher hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):', - 'questycaptcha-sendemail' => 'Bħala prekawzjoni kontra l-ispam awtomatiku, jekk jogħġbok irrispondi l-mistoqsija li tidher hawn taħt ([[Special:Captcha/help|aktar informazzjoni]]):', - 'questycaptchahelp-text' => "Siti elettroniċi li jaċċettaw kontribuzzjonijiet mill-pubbliku, bħal din il-wiki, huma ħafna drabi abbużati minn ''spammers'' li jużaw għodda awtomatiċi sabiex idaħħlu ħoloq lejn ħafna siti. -Waqt li dawn il-ħoloq ta' spam jistgħu jitneħħew, dan huwa xorta waħda xogħol għalxejn. - -Xi drabi, speċjalment meta żżid ħoloq esterni ġodda f'paġna, il-paġna wiki tista' tistaqsik biex tirrispondi mistoqsija. -Minħabba li din hija azzjoni li diffiċli li tiġi replikata min-naħa ta' kompjuter, dan il-mekkaniżmu jippermetti lil (kważi) kull utent li jeżisti li jagħmel il-kontribuzzjonijiet tiegħu waqt li ħafna ''spammers'' u attakki awtomatiċi jiġu mwaqqfa. - -Jekk jogħġbok ikkuntatja lill-[[{{MediaWiki:Grouppage-sysop}}|amministraturi tas-sit]] għall-għajnuna fuq jekk din il-proċedura hix qed tipprevjeni milli tagħmel kontribuzzjonijiet leġittimi. - -Iklikkja fuq il-buttuna 'lura' tal-browżer tiegħek sabiex tirritorna għall-editur ta-paġna.", -); - -/** Norwegian Bokmål (norsk (bokmål)‎) - * @author Nghtwlkr - * @author Simny - */ -$messages['nb'] = array( - 'questycaptcha-addurl' => 'Din endring inneholder nye eksterne lenker. -For å beskytte mot autmatisert spam, vennligst svar på spørsmålet som vises under ([[Special:Captcha/help|mer informasjon]]):', - 'questycaptcha-badlogin' => 'For å hindre passordtyveri, vær vennlig og svar på spørsmålet under ([[Special:Captcha/help|mer informasjon]]):', - 'questycaptcha-createaccount' => 'For å beskytte mot autmatisert spam, vennligst svar på spørsmålet som vises under ([[Special:Captcha/help|mer informasjon]]):', - 'questycaptcha-create' => 'For å opprette siden, vennligst svar på spørsmålet som vises under ([[Special:Captcha/help|mer informasjon]]):', - 'questycaptcha-edit' => 'For å endre denne siden, vennligst svar på spørsmålet som vises under ([[Special:Captcha/help|mer informasjon]]):', - 'questycaptcha-sendemail' => 'For å beskytte mot automatisert søppelpost, svar på spørsmålet som vises nedenfor ([[Special:Captcha/help|mer info]]):', - 'questycaptchahelp-text' => "Nettsteder som tar imot bidrag fra allmennheten, som denne wikien, er ofte utsatt for angrep fra spammere som bruker automatiserte verktøy for å legge til lenker til mange sider. -Selv om disse spam-lenkene kan fjernes er de en stor plage. - -Iblant, spesielt ved tillegg av nye lenker til en side, kan wikien be deg svare på et spørsmål. -Siden dette er en oppgave som er vanskelig å automatisere, vil den tillate de fleste virkelige personer å bidra mens den stopper de fleste spammere og andre robotangrep. - -Vennligst kontakt [[{{MediaWiki:Grouppage-sysop}}|sideadministratorer]] for hjelp dersom dette er uventet hindrer deg fra å bidra med legitime bidrag. - -Klikk på 'tilbake'-knappen i nettleseren din for å gå tilbake til sideeditoren.", -); - -/** Dutch (Nederlands) - * @author Siebrand - */ -$messages['nl'] = array( - 'questycaptcha-addurl' => 'Uw bewerking bevat nieuwe externe verwijzingen. -Beantwoord de onderstaande vraag als bescherming tegen automatische spam ([[Special:Captcha/help|meer informatie]]):', - 'questycaptcha-badlogin' => 'Beantwoord de onderstaande vraag als bescherming tegen geautomatiseerde wachtwoordaanvallen ([[Special:Captcha/help|meer informatie]]):', - 'questycaptcha-createaccount' => 'Beantwoord de onderstaande vraag als bescherming tegen het geautomatiseerd aanmaken van gebruikers ([[Special:Captcha/help|meer informatie]]):', - 'questycaptcha-create' => 'Beantwoord de onderstaande vraag om de pagina aan te maken ([[Special:Captcha/help|meer informatie]]):', - 'questycaptcha-edit' => 'Beantwoord de onderstaande vraag om deze pagina te bewerken ([[Special:Captcha/help|meer informatie]]):', - 'questycaptcha-sendemail' => 'Beantwoord de onderstaande vraag als bescherming tegen geautomatiseerde spam ([[Special:Captcha/help|meer informatie]]):', - 'questycaptchahelp-text' => "Websites die vrij te bewerken zijn, zoals deze wiki, worden vaak misbruikt door spammers die er met hun programma's automatisch verwijzigen op zetten naar vele websites. -Hoewel deze externe verwijzingen weer verwijderd kunnen worden, leveren ze wel veel hinder en administratief werk op. - -Soms, en in het bijzonder bij het toevoegen van externe verwijzingen op pagina's, vraag de wiki u een vraag te beantwoorden. -Omdat dit proces lastig te automatiseren is, zijn vrijwel alleen mensen in staat dit proces succesvol te doorlopen en worden hiermee spammers en andere geautomatiseerde aanvallen geweerd. - -Vraag assistentie van de [[{{MediaWiki:Grouppage-sysop}}|sitebeheerders]] als dit proces u verhindert een nuttige bijdrage te leveren. - -Klik op de knop 'terug' in uw browser om terug te gaan naar het tekstbewerkingsscherm.", -); - -/** Norwegian Nynorsk (norsk (nynorsk)‎) - * @author Gunnernett - */ -$messages['nn'] = array( - 'questycaptcha-addurl' => 'Endringa di inneheld nye lenkjer ut. -Som ei hjelp til å unngå automatisert spam, ver venleg og skiv inn spørsmålet som er synt nedanfor ([[Special:Captcha/help|meir informasjon]]):', - 'questycaptcha-createaccount' => 'For å hjelpa til med å hindra automatisk kontooppretting, ver venleg og svar på spørsmålet nedanfor ([[Special:Captcha/help|more info]]):', - 'questycaptcha-create' => 'For å oppretta sida, ver venleg og svar på spørsmålet nedanfor ([[Special:Captcha/help|meir informasjon]]):', - 'questycaptcha-edit' => 'For å endra sida, ver venleg og svar på spørsmålet som er synt nedanfor ([[Special:Captcha/help|meir informasjon]]):', -); - -/** Occitan (occitan) - * @author Cedric31 - */ -$messages['oc'] = array( - 'questycaptcha-addurl' => 'Vòstra modificacion inclutz de ligams extèrnes novèls. -Per nos ajudar dins la proteccion contra lo spam automatizat, respondètz a la question çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :', - 'questycaptcha-badlogin' => "Per nos ajudar a prevenir la copadura dels senhals per d'automats, respondètz a la question çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :", - 'questycaptcha-createaccount' => "Per nos ajudar a luchar contra las creacions automaticas de comptes, respondètz a la question qu'apareis çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :", - 'questycaptcha-create' => 'Per crear la pagina, respondètz a la question çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :', - 'questycaptcha-edit' => 'Per modificar aquesta pagina, respondètz a la question çaijós ([[Special:Captcha/help|mai d’entresenhas]]) :', - 'questycaptcha-sendemail' => "Per tal de nos ajudar a prevenir lo spam automatic, entratz los mots qu'apareisson dins la bóstia çaijós ([[Special:Captcha/help|mai d’informacions]]) :", - 'questycaptchahelp-text' => "Los sites web qu'acceptan de contribucions del public, coma aqueste wiki, son sovent victimas de polluposteires qu'utilizan d'espleches automatizats per plaçar de ligams nombroses cap a lors sites. -Quitament s'aquesta pollucion pòt èsser escafada, es irritanta. - -De còps, particularament al moment de l’apondon de ligams extèrnes novèls dins una pagina, lo wiki vos pòt demandar de respondre a una question. -Aqueste prètzfach es pas de bon acomplir d'un biais automatizat, aquò permet a la màger part dels umans de realizar lors contribucions tot en empachant la màger part dels polluposteires e autres atacants robotizats. - -Contactatz [[{{MediaWiki:Grouppage-sysop}}|los administrators del site]] s'aquò vos empacha de faiçon imprevista de far de contribucions legitimas. - -Clicatz sul boton « Precedent » de vòstre navigador per tornar a la pagina de modificacion.", -); - -/** Polish (polski) - * @author Sp5uhe - */ -$messages['pl'] = array( - 'questycaptcha-addurl' => 'Edycja zawiera nowe linki zewnętrzne. -Ochrona przed zautomatyzowanym spamem wymaga odpowiedzi na poniższe pytanie ([[Special:Captcha/help|więcej informacji]])', - 'questycaptcha-badlogin' => 'Ochrona przed zautomatyzowanym łamaniem haseł wymaga odpowiedzi na poniższe pytanie ([[Special:Captcha/help|więcej informacji]])', - 'questycaptcha-createaccount' => 'Ochrona przed zautomatyzowanym tworzeniem kont wymaga odpowiedzi na poniższe pytanie ([[Special:Captcha/help|więcej informacji]])', - 'questycaptcha-create' => 'Utworzenie strony jest możliwe po udzieleniu odpowiedzi na poniższe pytanie ([[Special:Captcha/help|więcej informacji]])', - 'questycaptcha-edit' => 'Edycja strony jest możliwa po udzieleniu odpowiedzi na poniższe pytanie ([[Special:Captcha/help|więcej informacji]])', - 'questycaptcha-sendemail' => 'Z uwagi na ochronę przed automatycznym spamem, należy odpowiedzieć na znajdujące się poniżej pytanie ([[Special:Captcha/help|pomoc]])', - 'questycaptchahelp-text' => "Witryny, które publicznie udostępniają możliwość wprowadzania zmian, tak jak ta wiki, często są wykorzystywane przez spamerów, którzy korzystają ze zautomatyzowanych narzędzi, aby dodawać swoje linki do wielu stron. -Pomimo tego, że takie linki mogą zostać usunięte, jest to jednak uciążliwe. - -Czasami, zwłaszcza jeśli dodano nowe linki zewnętrzne, wiki może poprosić o udzielenie odpowiedzi na pytanie. -Ponieważ odpowiadanie na pytania jest czynnością trudną do zautomatyzowania, pozwala większości ludziom na wykonywanie edycji, zarazem uniemożliwiając ją spamerom i innym atakującym automatom. - -Skontaktuj się z [[{{MediaWiki:Grouppage-sysop}}|administratorami]], jeśli potrzebujesz pomocy ponieważ mechanizm ten uniemożliwia Ci dokonywania uzasadnionych edycji. - -Kliknij przycisk 'wstecz' w przeglądarce, aby wrócić do strony edycji.", -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Dragonòt - */ -$messages['pms'] = array( - 'questycaptcha-addurl' => 'Toa modìfica a conten na neuva anliura esterna. -Për giuté a protegi contra spam automàtich, për piasì arspond a la custion che a-i é sì sota ([[Special:Captcha/help|për savèjne ëd pì]]):', - 'questycaptcha-badlogin' => 'Për giuté a protegi contra ël crack ëd ciav automatisà, për piasì arspond a la custion che a ven fòra sota ([[Special:Captcha/help|për savèjne ëd pì]]):', - 'questycaptcha-createaccount' => 'Për giuté a protegi contra la creassion automàtica ëd cont, për piasì arspond a la custion che a ven fòra sota ([[Special:Captcha/help|për savejne ëd pì]]):', - 'questycaptcha-create' => 'Për creé la pàgina, për piasì arspond a la custion che a ven fòra sota: ([[Special:Captcha/help|për savejne ëd pì]]):', - 'questycaptcha-edit' => 'Për modifiché sta pàgina-sì, për piasì arspond a la custion che a ven fòra sota ([[Special:Captcha/help|për savejne ëd pì]]):', - 'questycaptcha-sendemail' => "Për giuté a protegi contra la rumenta automàtica, për piasì ch'a risponda a la chestion ch'as vëdd sì-sota ([[Special:Captcha/help|për savèjne ëd pi]]):", - 'questycaptchahelp-text' => "Soèns a-i riva che ij sit dla Ragnà che la gent a peul dovré për ëscrive chèich-còs, coma sta wiki-sì, a resto ambërlifà ëd reclam da màchine che a carìo soa ròba dadsà e dadlà n'automàtich. -Për tant che sta reclam un a peula peuj gavela, a resta sempe un gran fastudi. - -Dle vire, dzortut quand un a caria dj'anliure esterne neuve ansime a na pàgina, la wiki a peul ciamete d'arsponde a na custion. -Da già ch'a l'é grama scrive un programa ch'a lo fasa, a ven che la pì gran part dla gent a-i la fa a scrive, ma la ói part dle màchine a-i la fa pa. - -Për piasì contata j'[[{{MediaWiki:Grouppage-sysop}}|aministrador dël sit]] për assistensa se sòn-sì a l'ha nen lassate fé na contribussion legìtima. - -Ch'a-i bata ansima al boton 'andré' ant sò navigator për torné andré a l'editor dla pàgina.", -); - -/** Portuguese (português) - * @author Crazymadlover - * @author Giro720 - * @author Hamilton Abreu - */ -$messages['pt'] = array( - 'questycaptcha-addurl' => "A sua edição introduziu links externos novos. -Para ajudar a prevenir o ''spam'' automatizado, por favor, responda à questão apresentada abaixo ([[Special:Captcha/help|mais informações]]):", - 'questycaptcha-badlogin' => 'Para ajudar a prevenir mecanismos automatizados de descoberta de palavras-chave, por favor, responda à questão apresentada abaixo ([[Special:Captcha/help|mais informações]]):', - 'questycaptcha-createaccount' => 'Para ajudar a prevenir a criação de contas automatizada, por favor, responda à questão apresentada abaixo ([[Special:Captcha/help|mais informações]]):', - 'questycaptcha-create' => 'Para criar a página, por favor, responda à questão apresentada abaixo ([[Special:Captcha/help|mais informações]]):', - 'questycaptcha-edit' => 'Para editar esta página, por favor, responda à questão apresentada abaixo ([[Special:Captcha/help|mais informações]]):', - 'questycaptcha-sendemail' => "Para ajudar a prevenir o ''spam'' automatizado, por favor, responda à seguinte pergunta ([[Special:Captcha/help|mais informações]]):", - 'questycaptchahelp-text' => "Sites na internet abertos a edição pública, como é o caso desta wiki, são frequentemente abusados por ''spammers'' que utilizam ferramentas automatizadas para inserção em massa de links em muitos sites. -Embora esses links possam ser removidos, representam um incómodo significativo. - -Por vezes, especialmente quando introduzir links externos novos numa página, a wiki pedirá que responda a uma pergunta. -Porque esta é uma tarefa difícil de automatizar, permite que a maioria das pessoas façam as suas edições, ao mesmo tempo que inibe edições feitas por ''spammers'' e outros mecanismos automatizados. - -Por favor, contacte os [[{{MediaWiki:Grouppage-sysop}}|administradores]] para assistência, caso esta funcionalidade esteja a impedi-lo de fazer edições legítimas. - -Clique o botão 'voltar' do seu browser para voltar à página de edição.", -); - -/** Brazilian Portuguese (português do Brasil) - * @author 555 - * @author Eduardo.mps - * @author Giro720 - */ -$messages['pt-br'] = array( - 'questycaptcha-addurl' => 'Sua edição inclui novas ligações externas. -Para proteção contra spam automático, por favor responda a questão que aparece abaixo ([[Special:Captcha/help|mais informações]]):', - 'questycaptcha-badlogin' => 'Para proteger contra quebra automatizada de palavra-chave, por favor responda a questão que aparece abaixo ([[Special:Captcha/help|more info]]):', - 'questycaptcha-createaccount' => 'Para proteger contra criação automática de contas, por favor responda as questões que aparecem abaixo ([[Special:Captcha/help|more info]]):', - 'questycaptcha-create' => 'Para criar a página, por favor responda a questão que aparece abaixo ([[Special:Captcha/help|more info]]):', - 'questycaptcha-edit' => 'Para editar esta página, por favor responda a questão que aparece abaixo ([[Special:Captcha/help|more info]]):', - 'questycaptcha-sendemail' => "Para ajudar a prevenir o ''spam'' automatizado, por favor, responda à seguinte pergunta ([[Special:Captcha/help|mais informações]]):", - 'questycaptchahelp-text' => "Sites que aceitam contribuições públicas, como este wiki, são vulneráveis a spammers que utilizam ferramentas automatizadas para inserir os seus links em diversos locais. -Apesar de ser possível remover tais links, eles são um incômodo significativo. - -Algumas vezes, especialmente ao adicionar novos links externos a uma página, o wiki pode pedir a você que responda a uma pergunta. -Uma vez que essa é uma tarefa um tanto difícil de ser automatizada, ela possibilita que a maioria dos humanos faça as suas contribuições ao mesmo tempo que inibe as que forem feitas por spammers e mecanismos automatizados. - -Entre em contato com os [[{{MediaWiki:Grouppage-sysop}}|administradores do site]] para pedir ajuda caso isso esteja te impedindo de realizar contribuições legítimas. - -Clique no botão 'voltar' de seu navegador para retornar ao editor de páginas.", -); - -/** Romanian (română) - * @author Minisarm - */ -$messages['ro'] = array( - 'questycaptcha-addurl' => 'Modificarea dumneavoastră include legături externe noi. -Pentru a împiedica roboții de spam, vă rugăm să răspundeți la întrebarea de mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'questycaptcha-badlogin' => 'Pentru a împiedica spargerea automată a parolelor, vă rugăm să răspundeți la întrebarea de mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'questycaptcha-createaccount' => 'Pentru a împiedica crearea automată de conturi, vă rugăm să răspundeți la întrebarea de mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'questycaptcha-create' => 'Pentru a crea pagina, vă rugăm să răspundeți la întrebarea de mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'questycaptcha-edit' => 'Pentru a modifica această pagină, vă rugăm să răspundeți la întrebarea de mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'questycaptcha-sendemail' => 'Pentru a împiedica roboții de spam, vă rugăm să răspundeți la întrebarea de mai jos ([[Special:Captcha/help|mai multe detalii]]):', - 'questycaptchahelp-text' => 'Siturile web care acceptă contribuții din partea publicului, precum acest wiki, sunt de obicei victime ale persoanelor care folosesc unelte automate pentru a introduce legături către multe alte situri. -Deși aceste legături de spam pot fi îndepărtate, acest lucru reprezintă o bătaie de cap semnificativă. - -Uneori, mai ales la adăugarea de noi legături web într-o pagină, situl wiki vă poate cere să răspundeți la o anumită întrebare. Întrucât rezolvarea acestei cerințe este dificil de automatizat, ea permite majorității persoanelor reale să-și trimită contribuțiile și va opri majoritatea atacatorilor. - -În cazul în care această practică vă împiedică în mod neașteptat să faceți contribuții legitime, vă rugăm să contactați [[{{MediaWiki:Grouppage-sysop}}|administratorii sitului]]. - -Apăsați butonul „Înapoi” al navigatorului pentru a vă reîntoarce la pagina de editare.', -); - -/** tarandíne (tarandíne) - * @author Joetaras - */ -$messages['roa-tara'] = array( - 'questycaptcha-addurl' => "'U cangiamende tue inglude de le collegaminde esterne. -Pe aiutà a proteggere condre a 'u spam automateche, pe piacere respunne a 'a domande ca combare sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", - 'questycaptcha-badlogin' => "Pe aiutà a proteggere condre a futteminde automatece de password, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", - 'questycaptcha-createaccount' => "Pe aiutà a proteggere condre a ccreazione automateche de cunde utinde, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", - 'questycaptcha-create' => "Pe ccrejà sta pàgene, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", - 'questycaptcha-edit' => "Pe cangià sta pàgene, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|more info]]):", - 'questycaptcha-sendemail' => "Pe aiutà a proteggere condre a spam automatece, pe piacere respunne a 'a domande ca combare aqquà sotte ([[Special:Captcha/help|cchiù 'mbormaziune]]):", - 'questycaptchahelp-text' => "Le site web ca accettane condrebbute da 'u pubbleche, cumme sta Uicchi, sonde spesse abusate da le ''spammer'' ca ausane struminde automatece e aggiungene le lore collegaminde a 'nu sacche de site.
-Pure ca chiste collegaminde de spam ponne essere luate, lore sò sembre 'nu scassamende de palle.
-
-Certe vote, specialmende quanne aggiunge 'nu nuève collegamende web a 'na pàgene, Uicchi te pò chiedere de responnere a 'na domande.
-Accussì addeviene 'nu combete cchiù defficile da automatizzà, accussì se permette a le cristiane de fà cangiaminde reale e se blocchene de cchiù le ''spammer'' e otre attacche de robot.
-
-Pe piacere condatte le [[{{MediaWiki:Grouppage-sysop}}|amministrature d'u site]] pe assistenze ce stu fatte non ge funzione accume se deve e no te face fà le cangiaminde legittime.
-
-Cazze 'u buttone 'rrete' jndr'à 'u browser tue pe turnà 'a pàgene d'u cangiamende.", -); - -/** Russian (русский) - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'questycaptcha-addurl' => 'Ваша правка содержит новые внешние ссылки. -В целях защиты от автоматического спама, пожалуйста, ответьте на приведённый ниже вопрос ([[Special:Captcha/help|подробнее]]):', - 'questycaptcha-badlogin' => 'В целях защиты от автоматического подбора пароля, пожалуйста, ответьте на приведённый ниже вопрос ([[Special:Captcha/help|подробнее]]):', - 'questycaptcha-createaccount' => 'В целях защиты от автоматического создания учётных записей, пожалуйста, ответьте на приведённый ниже вопрос ([[Special:Captcha/help|подробнее]]):', - 'questycaptcha-create' => 'Для создания страницы, пожалуйста, ответьте на приведённый ниже вопрос ([[Special:Captcha/help|подробнее]]):', - 'questycaptcha-edit' => 'Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос ([[Special:Captcha/help|подробнее]]):', - 'questycaptcha-sendemail' => 'В целях защиты от автоматического спама, пожалуйста, ответьте на приведённый ниже вопрос ([[Special:Captcha/help|подробнее]]):', - 'questycaptchahelp-text' => 'Веб-сайты позволяющие изменять своё содержимое, как эта вики, часто становятся целью спамеров, использующих автоматические инструменты для добавления ссылок на другие сайты. -Несмотря на то, что такие ссылки могут быть удалены, они являются заметной помехой. - -Иногда, в частности при добавлении на страницу новых веб-ссылок, вики может попросить вас ответить на вопрос. -Так как эта задача, которую сложно автоматизировать, то это позволит большинству людей сделать данную правку, и в тоже время остановит большинство спамеров и других роботизированных недоброжелателей. - -Пожалуйста, обратитесь к [[{{MediaWiki:Grouppage-sysop}}|администраторам сайта]] за помощь, если данная система не позволяет вам вносить допустимые изменения. - -Нажмите в вашем браузере кнопку «назад», чтобы вернуться к странице редактирования.', -); - -/** Slovak (slovenčina) - * @author Helix84 - */ -$messages['sk'] = array( - 'questycaptcha-addurl' => 'Vaša úprava obsahuje nové externé odkazy. -Ako opatrenie proti automatizovanému spamu musíte zodpovedať dolu uvedenú otázku -([[Special:Captcha/help|ďalšie informácie]]):', - 'questycaptcha-badlogin' => 'Ako opatrenie proti automatizovanému lámaniu hesiel musíte zodpovedať dolu uvedenú otázku -([[Special:Captcha/help|ďalšie informácie]]):', - 'questycaptcha-createaccount' => 'Ako opatrenie proti automatizovanému vytváraniu účtov musíte zodpovedať dolu uvedenú otázku -([[Special:Captcha/help|ďalšie informácie]]):', - 'questycaptcha-create' => 'Ak chcete vytvoriť stránku, musíte zodpovedať dolu uvedenú otázku -([[Special:Captcha/help|ďalšie informácie]]):', - 'questycaptcha-edit' => 'Ak chcete upraviť túto stránku, musíte zodpovedať dolu uvedenú otázku -([[Special:Captcha/help|ďalšie informácie]]):', - 'questycaptchahelp-text' => 'Webstránky, ktoré prijímajú príspevky od verejnosti ako táto wiki, sú často cieľom zneužitia spammermi, ktorí používajú automatizované nástroje na pridávanie odkazov na svoje stránku na mnohé lokality. -Hoci je možné odkazy na spam odstrániť, je to významná nepríjemnosť. - -Niekedy, obzvlášť pri pridávaní nových webových odkazov na stránku, vás wiki môže požiadať o zodpovedanie otázky. -Pretože takúto úlohu je ťažké zautomatizovať, umožní väčšine skutočných ľudí prispievať a zastaví vačšinu spammerov a robotických útočníkov. - -Kontaktujte prosím [[{{MediaWiki:Grouppage-sysop}}|správcov lokality]] ak potrebujete pomoc v prípade, že vám táto funkcia neočakávaným spôsobom bráni v právoplatných príspevkoch. - -Späť na úpravu stránky sa vrátite kliknutím na tlačidlo „Späť“ vo vašom prehliadači.', -); - -/** Slovenian (slovenščina) - * @author Dbc334 - */ -$messages['sl'] = array( - 'questycaptcha-addurl' => 'Vaše urejanje vključuje nove zunanje povezave. -Zaradi zaščite pred samodejnim smetjem prosimo, da odgovorite na spodaj zastavljeno vprašanje ([[Special:Captcha/help|več informacij]]):', - 'questycaptcha-badlogin' => 'Zaradi zaščite pred samodejnim ugotavljanjem gesel prosimo, da odgovorite na spodaj zastavljeno vprašanje ([[Special:Captcha/help|več informacij]]):', - 'questycaptcha-createaccount' => 'Zaradi zaščite pred samodejnim ustvarjanjem računov prosimo, da odgovorite na spodaj zastavljeno vprašanje ([[Special:Captcha/help|več informacij]]):', - 'questycaptcha-create' => 'Če želite ustvariti stran, prosimo odgovorite na spodaj zastavljeno vprašanje ([[Special:Captcha/help|več informacij]]):', - 'questycaptcha-edit' => 'Če želite urediti stran, prosimo odgovorite na spodaj zastavljeno vprašanje ([[Special:Captcha/help|več informacij]]):', - 'questycaptcha-sendemail' => 'Zaradi zaščite pred samodejnim smetenjem prosimo, da odgovorite na spodaj zastavljeno vprašanje ([[Special:Captcha/help|več informacij]]):', - 'questycaptchahelp-text' => 'Spletne strani, ki omogočajo prispevanje širši javnosti, kot na primer ta wiki, pogosto zlorabljajo spamerji, ki za dodajanje svojih povezav na mnoge strani uporabljajo avtomatizirana orodja. -Čeprav je neželene povezave mogoče odstraniti, so precejšnja nadloga. - -Včasih, zlasti pri dodajanju novih spletnih povezav na stran, vam bo wiki morda zastavil vprašanje. -Ker je to opravilo težko avtomatizirati, bo s tem večini ljudi prispevanje dovoljeno, spamerji in drugi robotski napadalci pa bodo ustavljeni. - -Če vam to nepričakovano preprečuje legitimno prispevanje, prosimo, da se obrnete na [[{{MediaWiki:Grouppage-sysop}}|administratorje spletišča]]. - -Za vrnitev v urejevalnik izberite gumb »nazaj« v vašem brskalniku.', -); - -/** Serbian (Cyrillic script) (српски (ћирилица)‎) - * @author Rancher - */ -$messages['sr-ec'] = array( - 'questycaptcha-desc' => 'Стварач сликовног кода за потврду уређивања', -); - -/** Serbian (Latin script) (srpski (latinica)‎) */ -$messages['sr-el'] = array( - 'questycaptcha-desc' => 'Stvarač slikovnog koda za potvrdu uređivanja', -); - -/** Swedish (svenska) - * @author Boivie - */ -$messages['sv'] = array( - 'questycaptcha-addurl' => 'Din redigering inkluderar nya externa länkar. -För att hjälpa till i skyddet mot automatisk spam, vänligen svara på frågan som finns nedan ([[Special:Captcha/help|mer information]]):', - 'questycaptcha-badlogin' => 'För att hjälpa till i skyddet mot automatisk lösenordsknäckning, vänligen svara på frågan som finns nedan ([[Special:Captcha/help|mer information]]):', - 'questycaptcha-createaccount' => 'För att hjälpa till i skyddet mot automatiskt kontoskapande, vänligen svara på frågan som finns nedan ([[Special:Captcha/help|mer information]]):', - 'questycaptcha-create' => 'För att skapa sidan, vänligen svara på frågan som finns nedan ([[Special:Captcha/help|mer information]]):', - 'questycaptcha-edit' => 'För att redigera denna sida, vänligen svara på frågan som finns nedan ([[Special:Captcha/help|mer information]]):', - 'questycaptcha-sendemail' => 'För att skydda mot automatisk spamning, vänligen svara på frågan som visas nedan ([[Special:Captcha/help|mer information]]):', - 'questycaptchahelp-text' => "Webbplatser som accepterar bidrag från allmänheten, som denna wiki, blir ofta utnyttjade av spammare som använder automatiska verktyg för att lägga till sina linkar till många sajter. -Även om dessa spam-länkar kan tas bort är de väldigt störande. - -Ibland, särskilt vid tillägg av nya webblänkar till en sida, kan wikin be dig svara på en fråga. -Eftersom denna uppgift är svår att automatisera, låter den de flesta riktiga människor göra sina bidrag medan den stoppar de flesta spammare och andra robotattackerare. - -Vänligen kontakta [[{{MediaWiki:Grouppage-sysop}}|sajtens administratörer]] för hjälp ifall detta oväntat förhindrar dig från att göra tillåtna bidrag. - -Klicka 'tillbaka'-knappen i din webbläsare för att återvända till sidredigeraren.", -); - -/** Telugu (తెలుగు) - * @author Kiranmayee - * @author Veeven - */ -$messages['te'] = array( - 'questycaptcha-addurl' => 'మీరు చేసిన మార్పులో కొత్త బయటి లింకులు ఉన్నాయి. -ఆటోమేటెడ్ స్పాము నుండి రక్షణకై, క్రింద కనిపించే ప్రశ్నకు సమాధానమివ్వండి ([[Special:Captcha/help|మరింత సమాచారం]]):', - 'questycaptcha-edit' => 'ఈ పేజీని సరిదిద్దడానికి, క్రింద కనిపించే ప్రశ్నకి జవాబివ్వండి ([[Special:Captcha/help|మరింత సమాచారం]]):', -); - -/** Thai (ไทย) - * @author Harley Hartwell - */ -$messages['th'] = array( - 'questycaptchahelp-text' => "เว็บไซต์ที่บุคคลภายนอกเข้ามาช่วยเขียนได้ เช่น วิกินี้ มักถูกสแปมโดยผู้ใช้ที่ใช้บอตหรือโปรแกรมอัตโนมัติเพื่อเพิ่มลิงก์ไปยังเว็บไซต์หลาย ๆ เว็บไซต์ แม้เราจะสามารถนำลิงก์ที่สแปมออกได้ก็ตาม แต่ก็ย่ิอมก่อให้เกิดความรำคาญต่อผู้ใช้ได้เช่นกัน - -เนื่องจากการใส่ลิงก์เป็นเรื่องยากในการดูแลโดยอัตโนมัติ ในบางครั้ง โดยเฉพาะเมื่อคุณใส่ลิงก์เว็บภายนอก ระบบวิกิอาจขอให้คุณตอบคำถาม เพื่อป้องกันนักสแปมและโรบอตโจมตีอื่น ๆ ทำการแก้ไข แต่จะอนุญาตให้ผู้ที่ใกล้เคียงมนุษย์มากทีุ่สุดแก้ไขได้ - -กรุณาติดต่อ [[{{MediaWiki:Grouppage-sysop}}|ผู้ดูแลระบบ]] หากกระบวนการนี้ไม่สามารถทำให้คุณแก้ไขข้อมูลให้ถูกต้องได้ - -กดปุ่ม 'Back' บนเบราเซอร์ของคุณเพื่อกลับไปยังหน้าแก้ไข", -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'questycaptcha-desc' => 'Kaakit-akit na panlikha ng CAPTCHA na Questy para sa Pagtiyak ng Pagbago', - 'questycaptcha-addurl' => 'Kasali sa pagbago mo ang bagong panglabas na mga kawing. -Upang makatulong sa pagsanggalang laban sa kusang panglulusob, pakisagot ang tanong na nakalitaw sa ibaba ([[Special:Captcha/help|more info]]):', - 'questycaptcha-badlogin' => 'Upang makatulong sa pagsasanggalang laban sa mga kusang paglutas ng hudyat, pakisagot lamang ang tanong na nakalitaw sa ibaba ([[Special:Captcha/help|marami pang kabatiran]]):', - 'questycaptcha-createaccount' => 'Upang makatulong sa pagsasanggalang laban sa kusang paglikha ng akawnt, pakisagot ang tanong na nakalitaw sa ibaba ([[Special:Captcha/help|marami pang kabatiran]]):', - 'questycaptcha-create' => 'Upang malikha ang pahina, pakisagot ang tanong na nakalitaw sa ibaba ([[Special:Captcha/help|marami pang kabatiran]]):', - 'questycaptcha-edit' => 'Upang mabago ang pahina, pakisagot ang tanong na nakalitaw sa ibaba ([[Special:Captcha/help|marami pang kabatiran]]):', - 'questycaptcha-sendemail' => 'Upang makatulong sa pagsasanggalang laban sa mga kusang paglusob, pakisagot lamang ang tanong na nakalitaw sa ibaba ([[Special:Captcha/help|marami pang kabatiran]]):', - 'questycaptchahelp-text' => "Ang mga websayt na tumatanggap ng mga ambag mula sa madla, katulad ng wiking ito, ay madalas abusuhin ng mga manlulusob na gumagamit ng kasangkapang pangkusa upang madagdag ang kanilang mga kawing sa maraming mga sayt. - -Kung minsan, partikular na kapag nagdaragdag ng bagong mga kawing pangweb sa isang pahina, maaaring humiling ang wiki na sagutin mo ang isang tanong. -Dahil isa itong gawaing mahirap ikusa, magpapahintulot ito ng karamihan sa tunay na mga tao na gawin ang kanilang mga kontribusyon habang pinahihinto ang karamihan sa mga ispamer at iba pang mga makarobot na mga panglusob. - -Mangyaring makipag-ugnayan sa [[{{MediaWiki:Grouppage-sysop}}|mga tagapangasiwa ng sayt]] para sa pagtulong kung hindi inaasahang pigilan ka mula sa paggawa ng tunay na mga ambag. - -Pindutin ang pindutang 'bumalik' sa iyong pantingin-tingin upang makabalik sa pambago ng pahina.", -); - -/** Turkish (Türkçe) - * @author Joseph - * @author Vito Genovese - */ -$messages['tr'] = array( - 'questycaptcha-addurl' => 'Değişikliğiniz yeni dış bağlantı içeriyor. -Otomatik reklama karşı korunmaya yardımcı olmak için, lütfen ([[Special:Captcha/help|daha fazla bilgi]]) bölümünün altında yer alan soruya cevap verin:', - 'questycaptcha-badlogin' => 'Otomatik şifre kırmaya karşı korunmaya yardımcı olmak için, lütfen ([[Special:Captcha/help|daha fazla bilgi]]) bölümünün altında yer alan soruya cevap verin:', - 'questycaptcha-createaccount' => 'Otomatik hesap oluşturmaya karşı korunmaya yardımcı olmak için, lütfen ([[Special:Captcha/help|daha fazla bilgi]]) bölümünün altında yer alan soruya cevap verin:', - 'questycaptcha-create' => 'Sayfayı oluşturmak için, lütfen ([[Special:Captcha/help|daha fazla bilgi]]) bölümünün altında yer alan soruya cevap verin:', - 'questycaptcha-edit' => 'Sayfayı değiştirmek için, lütfen ([[Special:Captcha/help|daha fazla bilgi]]) bölümünün altında yer alan soruya cevap verin:', - 'questycaptcha-sendemail' => 'Otomatik spamlerden korunmaya yardımcı olmak için, lütfen aşağıda görünen soruyu cevaplayın ([[Special:Captcha/help|daha fazla bilgi]]):', - 'questycaptchahelp-text' => "Bu viki gibi herkesin katkı yapmasına izin veren web siteleri, genellikle bir çok siteye verilen bağlantıları ekleyen otomatik araçlar kullanan reklam amaçlı kullanıcılar tarafından istismar edilmektedir. -Bu reklam bağlantıları kaldırılabiliyor olsa da, önemli bir sıkıntı yaratmaktadırlar. - -Bazen, özellikle bir sayfaya yeni web bağlantıları eklenirken, viki size bir soru sorabilir. -Bu, otomatikleştirilmesi zor bir iş olduğu için, insanların katkılarını yapmasını mümkün kılarken çoğu reklam amaçlı kullanıcıyı ya da robot saldırganı durduracaktır. - -Bu durumun sizi normal katkılarınızı yapmaktan olağandışı bir şekilde alıkoyması halinde, lütfen destek için [[{{MediaWiki:Grouppage-sysop}}|site hizmetlileri]] ile irtibata geçin. - -Sayfa editörüne dönmek için tarayıcınızın 'geri' düğmesine tıklayın.", -); - -/** Ukrainian (українська) - * @author Diemon.ukr - */ -$messages['uk'] = array( - 'questycaptcha-addurl' => 'Ваше редагування містить нові зовнішні посилання. -Із метою захисту від спаму, будь ласка, дайте відповідь на питання, що наводиться нижче ([[Special:Captcha/help|докладніше]]):', - 'questycaptcha-badlogin' => 'Із метою захисту від автоматичного підбору пароля, будь ласка, дайте відповідь на питання, що наводиться нижче ([[Special:Captcha/help|докладніше]]):', - 'questycaptcha-createaccount' => 'Із метою захисту від автоматичного створення облікових записів, будь ласка, дайте відповідь на питання, що наводиться нижче ([[Special:Captcha/help|докладніше]]):', - 'questycaptcha-create' => 'Щоб створити сторінку, будь ласка, дайте відповідь на питання, що наводиться нижче ([[Special:Captcha/help|докладніше]]):', - 'questycaptcha-edit' => 'Щоб редагувати цю сторінку, будь ласка, дайте відповідь на питання, що наводиться нижче ([[Special:Captcha/help|докладніше]]):', - 'questycaptcha-sendemail' => 'Із метою захисту від автоматичного спаму, будь ласка, дайте відповідь на питання, що наводиться нижче ([[Special:Captcha/help|докладніше]]):', - 'questycaptchahelp-text' => 'Сайти, які надають можливість змінювати свій зміст, як це вікі, часто є місцем зловживання спамерів, які використовують автоматизовані інструменти для додавання посилань на інші сайти. -Хоча ці спам-посилання можуть бути вилучені, вони є суттєвим негативним чинником. - -Іноді, особливо при додаванні нових посилань веб-сторінки, вікі може попросити вас відповісти на запитання. -Це є завданням, яке важко автоматизувати, тому воно дозволить більшості реальних людей зробити свій внесок, і в той же час зупинить більшість спамерів та інших роботизованих нападників. - -Будь ласка, зв\'яжіться з [[{{MediaWiki:Grouppage-sysop}}|адміністраторами сайту]] по допомогу, якщо ця система не дозволяє вам робити допустимий внесок. - -Натисніть на кнопку "назад" у браузері, щоб повернутися на сторінку редагування.', -); - -/** Walloon (walon) - * @author Srtxg - */ -$messages['wa'] = array( - 'questycaptcha-addurl' => "Dins vos candjmints i gn a des dfoûtrinnès hårdêyes (URL). -Po s' mete a houte des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula respondez al kesse chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'questycaptcha-badlogin' => "Po s' mete a houte des des robots ki sayèt d' adviner les screts, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula respondez al kesse chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'questycaptcha-createaccount' => "Po s' mete a houte des des robots k' ahivèt des contes otomaticmint, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula respondez al kesse chal pa dzi ([[Special:Captcha/help|pus di racsegnes]]):", - 'questycaptcha-create' => "Por vos poleur ahiver l' pådje, vos dvoz responde al kesse chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'questycaptcha-edit' => 'Po candjî cisse pådje ci, vos dvoz responde al kesse chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):', - 'questycaptcha-sendemail' => "Po s' mete a houte des robots di spam, nos vs dimandans d' acertiner ki vos estoz bén ene djin, po çoula respondez al kesse chal pa dzo ([[Special:Captcha/help|pus di racsegnes]]):", - 'questycaptchahelp-text' => "Les waibes k' acceptèt des messaedjes do publik, come ci wiki chal, sont sovint eployîs pa des må-fjhants spameus, po pleur mete, avou des usteyes otomatikes, des loyéns di rclame viè les sites da zels. -Bén seur, on pout todi les disfacer al mwin, mins c' est on soyant ovraedje. - -Adon, pa côps, copurade cwand vos radjoutez des hårdêyes a ene pådje, on eployrè ene passete d' acertinaedje, dj' ô bén k' on vs dimandrè d' responde a ene kesse. Come çoula est ene sacwè d' målåjheye a fé otomaticmint pa on robot, çoula permete di leyî les vraiyès djins fé leus candjmints tot arestant l' plupårt des spameus et des sfwaitès atakes pa robot. - -S' i vs plait contactez les [[{{MediaWiki:Grouppage-sysop}}|manaedjeus do site]] po d' l' aidance si çoula vos espaitche di fé vos candjmints ledjitimes. - -Clitchîz sol boton «En erî» di vosse betchteu waibe po rivni al pådje di dvant.", -); - -/** Yiddish (ייִדיש) - * @author פוילישער - */ -$messages['yi'] = array( - 'questycaptcha-create' => 'צו שאַפֿן דעם בלאַט, ביטע ענטפֿערט די פֿראַגע אונטן ([[Special:Captcha/help|מער אינפֿארמאַציע]]):', -); - -/** Simplified Chinese (中文(简体)‎) */ -$messages['zh-hans'] = array( - 'questycaptcha-addurl' => '您的编辑内容中含有本网站以外的连结。为防止不当程式大量破坏,请回答以下的问题([[Special:Captcha/help|相关资讯]]):', - 'questycaptcha-badlogin' => '为防止不当程式破解密码,请回答以下的问题([[Special:Captcha/help|相关资讯]]):', - 'questycaptcha-createaccount' => '为防止不当程式大量建立帐户,请回答以下的问题([[Special:Captcha/help|相关资讯]]):', - 'questycaptcha-create' => '为防止不当程式大量建立页面,请回答以下问题([[Special:Captcha/help|相关资讯]]):', - 'questycaptcha-edit' => '为防破坏,如您想要编辑此页面,请回答以下的问题([[Special:Captcha/help|相关资讯]]):', - 'questycaptcha-sendemail' => '为防止不当程式破解密码,请回答下列问题([[Special:Captcha/help|相关资讯]]):', -); - -/** Traditional Chinese (中文(繁體)‎) - * @author Horacewai2 - * @author Waihorace - */ -$messages['zh-hant'] = array( - 'questycaptcha-addurl' => '您的編輯內容中含有本網站以外的連結。為防止不當程式大量破壞,請回答以下的問題([[Special:Captcha/help|相關資訊]]):', - 'questycaptcha-badlogin' => '為防止不當程式破解密碼,請回答以下的問題([[Special:Captcha/help|相關資訊]]):', - 'questycaptcha-createaccount' => '為防止不當程式大量建立帳戶,請回答以下的問題([[Special:Captcha/help|相關資訊]]):', - 'questycaptcha-create' => '為防止不當程式大量建立頁面,請回答以下問題([[Special:Captcha/help|相關資訊]]):', - 'questycaptcha-edit' => '為防破壞,如您想要編輯此頁面,請回答以下的問題([[Special:Captcha/help|相關資訊]]):', - 'questycaptcha-sendemail' => '為防止不當程式破解密碼,請回答下列問題([[Special:Captcha/help|相關資訊]]):', -); - diff --git a/documentacion/extensions/ConfirmEdit/QuestyCaptcha.php b/documentacion/extensions/ConfirmEdit/QuestyCaptcha.php deleted file mode 100644 index 2cef79c..0000000 --- a/documentacion/extensions/ConfirmEdit/QuestyCaptcha.php +++ /dev/null @@ -1,46 +0,0 @@ - - * http://www.mediawiki.org/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - * - * @file - * @ingroup Extensions - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - exit; -} - -$dir = __DIR__; -require_once $dir . '/ConfirmEdit.php'; -$wgCaptchaClass = 'QuestyCaptcha'; - -global $wgCaptchaQuestions; -$wgCaptchaQuestions = array(); - -// Add your questions in LocalSettings.php using this format -// $wgCaptchaQuestions[] = array( 'question' => "A question?", 'answer' => "An answer!" ); -// $wgCaptchaQuestions[] = array( 'question' => 'How much wood would a woodchuck chuck if a woodchuck could chuck wood?', 'answer' => 'as much wood as...' ); -// $wgCaptchaQuestions[] = array( 'question' => "What is this wiki's name?", 'answer' => "$wgSitename" ); -// You can also provide several acceptable answers to a given question (the answers shall be in lowercase): -// $wgCaptchaQuestions[] = array( 'question' => "2 + 2 ?", 'answer' => array( '4', 'four' ) ); - -$wgExtensionMessagesFiles['QuestyCaptcha'] = $dir . '/QuestyCaptcha.i18n.php'; -$wgAutoloadClasses['QuestyCaptcha'] = $dir . '/QuestyCaptcha.class.php'; diff --git a/documentacion/extensions/ConfirmEdit/README b/documentacion/extensions/ConfirmEdit/README deleted file mode 100644 index 70e2c22..0000000 --- a/documentacion/extensions/ConfirmEdit/README +++ /dev/null @@ -1,42 +0,0 @@ -ConfirmEdit extension for MediaWiki - -This extension provides various CAPTCHA tools for MediaWiki, to allow -for protection against spambots and other automated tools. - -For more information, see the extension homepage at: -http://www.mediawiki.org/wiki/Extension:ConfirmEdit - -== Overview == - -The following modules are included in ConfirmEdit: - -* SimpleCaptcha - users have to solve an arithmetic math problem -* MathCaptcha - users have to solve a math problem that's displayed as -an image -* FancyCaptcha - users have to identify a series of characters, displayed -in a stylized way -* QuestyCaptcha - users have to answer a question, out of a series of -questions defined by the administrator(s) -* ReCaptcha - users have to identify a series of characters, either -visually or audially, from a widget provided by the reCAPTCHA service -* Asirra - users have to identify the cats in a set of photos of cats -and dogs, from a widget provided by the Microsoft Asirra service - -== License == - -ConfirmEdit is published under the GPL license. - -== Authors == - -The main framework, and the SimpleCaptcha and FancyCaptcha modules, were -written by Brion Vibber. - -The MathCaptcha module was written by Rob Church. - -The QuestyCaptcha module was written by Benjamin Lees. - -The reCAPTCHA module was written by Mike Crawford and Ben Maurer. - -The Asirra module was written by Bachsau. - -Additional maintenance work was done by Yaron Koren. diff --git a/documentacion/extensions/ConfirmEdit/ReCaptcha.class.php b/documentacion/extensions/ConfirmEdit/ReCaptcha.class.php deleted file mode 100644 index 59b31f4..0000000 --- a/documentacion/extensions/ConfirmEdit/ReCaptcha.class.php +++ /dev/null @@ -1,91 +0,0 @@ -recaptcha_error is set, it will display an error in the widget. - * - */ - function getForm() { - global $wgReCaptchaPublicKey, $wgReCaptchaTheme; - - $useHttps = ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ); - $js = 'var RecaptchaOptions = ' . Xml::encodeJsVar( array( 'theme' => $wgReCaptchaTheme, 'tabindex' => 1 ) ); - - return Html::inlineScript( $js ) . recaptcha_get_html( $wgReCaptchaPublicKey, $this->recaptcha_error, $useHttps ); - } - - /** - * Calls the library function recaptcha_check_answer to verify the users input. - * Sets $this->recaptcha_error if the user is incorrect. - * @return boolean - * - */ - function passCaptcha() { - global $wgReCaptchaPrivateKey, $wgRequest; - - // API is hardwired to return wpCaptchaId and wpCaptchaWord, so use that if the standard two are empty - $challenge = $wgRequest->getVal( 'recaptcha_challenge_field', $wgRequest->getVal( 'wpCaptchaId' ) ); - $response = $wgRequest->getVal( 'recaptcha_response_field', $wgRequest->getVal( 'wpCaptchaWord' ) ); - - if ( $response === null ) { - // new captcha session - return false; - } - - $ip = $wgRequest->getIP(); - - $recaptcha_response = recaptcha_check_answer( - $wgReCaptchaPrivateKey, - $ip, - $challenge, - $response - ); - - if ( !$recaptcha_response->is_valid ) { - $this->recaptcha_error = $recaptcha_response->error; - return false; - } - - $recaptcha_error = null; - - return true; - - } - - function addCaptchaAPI( &$resultArr ) { - global $wgReCaptchaPublicKey; - - $resultArr['captcha']['type'] = 'recaptcha'; - $resultArr['captcha']['mime'] = 'image/png'; - $resultArr['captcha']['key'] = $wgReCaptchaPublicKey; - $resultArr['captcha']['error'] = $this->recaptcha_error; - } - - /** - * Show a message asking the user to enter a captcha on edit - * The result will be treated as wiki text - * - * @param $action string Action being performed - * @return string - */ - function getMessage( $action ) { - $name = 'recaptcha-' . $action; - $text = wfMessage( $name )->text(); - - # Obtain a more tailored message, if possible, otherwise, fall back to - # the default for edits - return wfMessage( $name, $text )->isDisabled() ? wfMessage( 'recaptcha-edit' )->text() : $text; - } - - public function APIGetAllowedParams( &$module, &$params ) { - return true; - } - - public function APIGetParamDescription( &$module, &$desc ) { - return true; - } -} diff --git a/documentacion/extensions/ConfirmEdit/ReCaptcha.i18n.php b/documentacion/extensions/ConfirmEdit/ReCaptcha.i18n.php deleted file mode 100644 index 2143ffe..0000000 --- a/documentacion/extensions/ConfirmEdit/ReCaptcha.i18n.php +++ /dev/null @@ -1,508 +0,0 @@ - 'reCAPTCHA module for Confirm Edit', - 'recaptcha-edit' => 'To help protect against automated edit spam, please type the two words you see in the box below:', - 'recaptcha-addurl' => 'Your edit includes new external links. To help protect against automated spam, please type the two words you see in the box below:', - 'recaptcha-badpass' => 'To help protect against automated password cracking, please type the two words you see in the box below:', - 'recaptcha-createaccount' => 'To help protect against automated account creation, please type the two words you see in the box below:', - 'recaptcha-createaccount-fail' => "Incorrect or missing reCAPTCHA answer.", - 'recaptcha-create' => 'To help protect against automated page creation, please type the two words you see in the box below:', -); - -/** Message documentation (Message documentation) - * @author Umherirrender - */ -$messages['qqq'] = array( - 'recaptcha-desc' => '{{desc}}', -); - -/** Arabic (العربية) - * @author Alexknight12 - * @author Ciphers - * @author Meno25 - */ -$messages['ar'] = array( - 'recaptcha-desc' => 'موديل reCAPTCHA لConfirm Edit', - 'recaptcha-edit' => 'للمساعدة في الحماية ضد التحرير السبام، يرجى كتابة الكلمتين التي تراها في المربع أدناه :', - 'recaptcha-addurl' => 'إن تعديلك يتضمن وصلات خارجية جديدة. للمساعدة في الحماية ضد السبام، يرجى كتابة الكلمتين التي تراها في المربع أدناه :', - 'recaptcha-badpass' => 'للمساعدة في الحماية ضد الكسر الآلي لكلمة السر، يرجى كتابة الكلمتين اللتين تراهما في المربع أدناه :', - 'recaptcha-createaccount' => 'للمساعدة في الحماية ضد الإنشاء الآلي للحسابات، رجاء اكتب الكلمتين اللتين تراهما في المربع أدناه:', - 'recaptcha-createaccount-fail' => 'جواب reCAPTCHA غير صحيح أو مفقود.', - 'recaptcha-create' => 'للمساعدة في الحماية ضد الإنشاء الآلي للصفحات، يرجى كتابة الكلمتين اللتين تراهما في المربع أدناه :', -); - -/** Asturian (asturianu) - * @author Xuacu - */ -$messages['ast'] = array( - 'recaptcha-edit' => "P'ayudar a protexenos escontra'l spam d'edición, escribi les dos pallabres que se ven na caxella d'abaxo:", - 'recaptcha-addurl' => "La to edición incluye enllaces esternos nuevos. P'ayudar a protexenos escontra'l spam automáticu, escribi les dos pallabres que se ven na caxella d'abaxo:", - 'recaptcha-badpass' => "P'ayudar a protexenos escontra'l frañimientu de claves automáticu, escribi les dos pallabres que se ven na caxella d'abaxo:", - 'recaptcha-createaccount' => "P'ayudar a protexenos escontra la creación de cuentes automática, escribi les dos pallabres que se ven na caxella d'abaxo:", - 'recaptcha-createaccount-fail' => 'Falta la rempuesta a la entruga de reCAPTCHA o ye incorreuta', - 'recaptcha-create' => "P'ayudar a protexenos escontra la creación de páxines automática, escribi les dos pallabres que se ven na caxella d'abaxo:", -); - -/** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎) - * @author EugeneZelenko - * @author Jim-by - */ -$messages['be-tarask'] = array( - 'recaptcha-edit' => 'Для абароны супраць спаму, калі ласка, увядзіце два словы, якія Вы бачыце ў полі ніжэй:', - 'recaptcha-addurl' => 'Вашае рэдагаваньне ўтрымлівае новыя вонкавыя спасылкі. Для абароны супраць спаму, калі ласка, увядзіце два словы, якія Вы бачыце ў полі ніжэй:', - 'recaptcha-badpass' => 'Для абароны супраць узлому паролю, калі ласка, увядзіце два словы, якія Вы бачыце ў полі ніжэй:', - 'recaptcha-createaccount' => 'Для абароны супраць аўтаматычнага стварэньня рахункаў, калі ласка, увядзіце два словы, якія Вы бачыце ў полі ніжэй:', - 'recaptcha-createaccount-fail' => 'Адказ reCAPTCHA няслушны ці адсутнічае.', - 'recaptcha-create' => 'Для абароны супраць аўтаматычнага стварэньня старонак, калі ласка, увядзіце два словы, якія Вы бачыце ў полі ніжэй:', -); - -/** Breton (brezhoneg) - * @author Fulup - */ -$messages['br'] = array( - 'recaptcha-edit' => "Da sikour en em wareziñ diouzh ar stroboù emgefre, merkit an daou c'her a welit er voest dindan :", - 'recaptcha-addurl' => "Liamm diavaez nevez zo bet degaset ganeoc'h. Da sikour en em wareziñ diouzh ar stroboù, merkit an daou c'her a welit er voest dindan :", - 'recaptcha-badpass' => "Da sikour en em wareziñ diouzh an diskuliañ gerioù-tremen emgefre dre daolioù-esae, merkit an daou c'her a welit er voest dindan :", - 'recaptcha-createaccount' => "Da sikour en em wareziñ diouzh ar c'hrouiñ kontoù emgefre, merkit an daou c'her a welit er voest dindan :", - 'recaptcha-createaccount-fail' => 'Respont reCAPTHCA faziek pe ezvezant.', - 'recaptcha-create' => "Da sikour en em wareziñ diouzh ar c'hrouiñ pajennoù emgefre, merkit an daou c'her a welit er voest dindan :", -); - -/** Bosnian (bosanski) - * @author CERminator - */ -$messages['bs'] = array( - 'recaptcha-edit' => 'Da bismo pomogli protiv automatiziranog spam uređivanja, molimo upišite dvije riječi koje vidite u kutiju ispod:', - 'recaptcha-addurl' => 'Vaše izmjene uključuju nove vanjske linkove. Da bismo pomogli protiv automatiziranog spama, molimo upišite dvije riječi koje vidite u kutiju ispod.', - 'recaptcha-badpass' => 'Da bismo pomogli protiv automatiziranog probijanja šifre, molimo upišite dvije riječi koje vidite u kutiju ispod:', - 'recaptcha-createaccount' => 'Da bismo pomogli protiv automatiziranog pravljenja računa, molimo upišite dvije riječi koje vidite u kutiju ispod:', - 'recaptcha-createaccount-fail' => 'Neispravan ili nedostajući reCAPTCHA odgovor.', - 'recaptcha-create' => 'Da bismo pomogli protiv automatiziranog pravljenja stranica, molimo upišite dvije riječi koje vidite u kutiju ispod:', -); - -/** Czech (česky) - * @author Jkjk - * @author Mormegil - */ -$messages['cs'] = array( - 'recaptcha-desc' => 'Podpora reCAPTCHA pro rozšíření Confirm Edit', - 'recaptcha-edit' => 'V zájmu ochrany před automatickým spamováním opište dvě slova, která vidíte na obrázku:', - 'recaptcha-addurl' => 'Vaše editace obsahuje nové externí odkazy. V zájmu ochrany před automatickým spamováním opište dvě slova, která vidíte na obrázku:', - 'recaptcha-badpass' => 'V zájmu ochrany proti automatickým pokusům uhodnout heslo opište dvě slova, která vidíte na obrázku:', - 'recaptcha-createaccount' => 'V rámci ochrany před automatickým vytvářením účtů opište dvě slova, která vidíte na obrázku:', - 'recaptcha-createaccount-fail' => 'Nesprávná nebo chybějící odpověď na reCAPTCHA.', - 'recaptcha-create' => 'V zájmu ochrany před automatickým zakládáním stránek opište dvě slova, která vidíte na obrázku:', -); - -/** Welsh (Cymraeg) - * @author Lloffiwr - */ -$messages['cy'] = array( - 'recaptcha-edit' => "Er mwyn ei gwneud yn anodd i olygyddion awtomatig osod sbam, teipiwch y ddau air sydd i'w gweld yn y blwch isod:", - 'recaptcha-addurl' => "Mae'ch golygiad yn cynnwys cysylltiadau allanol newydd. Er mwyn helpu i ddiogelu rhag sbam awtomatig, teipiwch y ddau air sydd i'w gweld yn y blwch isod:", - 'recaptcha-badpass' => "Er mwyn helpu i arbed rhag i'ch cyfrinair gael ei ddatrys gan beiriant, teipiwch y ddau air sydd i'w gweld yn y blwch isod:", - 'recaptcha-createaccount' => "Er mwyn ei gwneud yn anodd i beiriannau i agor cyfrifon yn awtomatig, teipiwch y ddau air sydd i'w gweld yn y blwch isod:", - 'recaptcha-createaccount-fail' => "Mae'r ateb i'r pos CAPTCHA yn anghywir neu yn eisiau.", - 'recaptcha-create' => "Er mwyn ei gwneud yn anodd i beiriannau i ddechrau tudalennau yn awtomatig, teipiwch y ddau air sydd i'w gweld yn y blwch isod:", -); - -/** German (Deutsch) - * @author Kghbln - * @author Umherirrender - */ -$messages['de'] = array( - 'recaptcha-desc' => 'reCAPTCHA-Module für die Erweiterung „Confirm Edit“', - 'recaptcha-edit' => 'Zum Schutz vor automatisiertem Spam, gib bitte die beiden folgenden Wörter in das untenstehende Feld ein:', - 'recaptcha-addurl' => 'Deine Bearbeitung enthält neue externe Links. Zum Schutz vor automatisiertem Spam gib bitte die beiden folgenden Wörter in das folgende Feld ein:', - 'recaptcha-badpass' => 'Zum Schutz gegen automatisiertes Knacken von Passwörtern, gib bitte die beiden folgenden Wörter in das folgende Feld ein:', - 'recaptcha-createaccount' => 'Zum Schutz gegen die automatisierte Erstellung von Benutzerkonten bitten wir dich, die folgenden beiden Wörter in das untenstehende Feld einzugeben:', - 'recaptcha-createaccount-fail' => 'Fehlerhafte oder fehlende reCAPTCHA Antwort.', - 'recaptcha-create' => 'Zum Schutz gegen automatisierte Erstellung von Seiten gib bitte die beiden folgenden Wörter in das folgende Feld ein:', -); - -/** German (formal address) (Deutsch (Sie-Form)‎) - * @author Kghbln - */ -$messages['de-formal'] = array( - 'recaptcha-createaccount' => 'Zum Schutz gegen die automatisierte Erstellung von Benutzerkonten bitten wir Sie, die folgenden beiden Wörter in das untenstehende Feld einzugeben:', -); - -/** Lower Sorbian (dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'recaptcha-createaccount-fail' => 'Wopacne abo felujuce wótegrono reCAPTCHA.', -); - -/** Spanish (español) - * @author Fitoschido - */ -$messages['es'] = array( - 'recaptcha-edit' => 'Para protegernos de la publicidad automatizada, escribe las dos palabras visibles en el cuadro de abajo:', - 'recaptcha-addurl' => 'Tu edición incluye nuevos enlaces externos. Para ayudar a protegernos contra el spam automatizado, por favor, escribe las dos palabras que ves en el cuadro a continuación:', - 'recaptcha-badpass' => 'Para protegernos del robo automatizado de contraseñas, escribe las dos palabras visibles en el cuadro de abajo:', - 'recaptcha-createaccount' => 'Para protegernos de la creación automática de cuentas, escribe las dos palabras que ves en el cuadro de abajo:', - 'recaptcha-createaccount-fail' => 'ReCAPTCHA incorrecto o sin responder.', - 'recaptcha-create' => 'Para protegernos de la creación automática de páginas, escribe las dos palabras que ves en el cuadro de abajo:', -); - -/** French (français) - * @author Urhixidur - */ -$messages['fr'] = array( - 'recaptcha-edit' => "Pour nous protéger des robots, merci d'écrire les deux mots visibles dans le cadre qui suit:", - 'recaptcha-addurl' => 'Votre contribution contient des liens vers un site externe. Pour nous protéger des robots, merci d’écrire les deux mots visibles dans le cadre qui suit :', - 'recaptcha-badpass' => "Pour nous protéger des essais automatiques de cassage de mot de passe, merci d'écrire les deux mots visibles dans le cadre qui suit:", - 'recaptcha-createaccount' => "Pour nous protéger des créations automatiques de compte, merci d'écrire les deux mots visibles dans le cadre qui suit:", - 'recaptcha-createaccount-fail' => 'Réponse de reCAPTCHA fausse ou manquante.', - 'recaptcha-create' => "Pour nous protéger des créations automatiques de pages, merci d'écrire les deux mots visibles dans le cadre qui suit:", -); - -/** Galician (galego) - * @author Toliño - */ -$messages['gl'] = array( - 'recaptcha-desc' => 'Módulo de reCAPTCHA para Confirm Edit', - 'recaptcha-edit' => 'Para axudarnos á protección contra o spam, escriba as dúas palabras que vexa nesta caixa:', - 'recaptcha-addurl' => 'A súa edición inclúe novas ligazóns externas. Para axudar na protección contra o spam automático, ten que escribir as dúas palabras que aparecen na caixa inferior:', - 'recaptcha-badpass' => 'Para axudarnos á protección contra o roubo de contrasinais, escriba as dúas palabras que vexa nesta caixa:', - 'recaptcha-createaccount' => 'Para axudarnos á protección contra a creación automática de contas, escriba as dúas palabras que vexa nesta caixa:', - 'recaptcha-createaccount-fail' => 'Falta a resposta ao reCAPTCHA ou esta é incorrecta.', - 'recaptcha-create' => 'Para axudarnos á protección contra a creación automática de páxinas, escriba as dúas palabras que vexa nesta caixa:', -); - -/** Swiss German (Alemannisch) - * @author Als-Holder - */ -$messages['gsw'] = array( - 'recaptcha-edit' => 'Zum Schutz vor automatisiertem Spam, gib bitte di beide Werter in s Fäld unten yy:', - 'recaptcha-addurl' => 'In Dyre Bearbeitg het s neji extärni Links. Zum Schutz vor automatisiertem Spam, gib bitte di beide Werter in s Fäld unten yy:', - 'recaptcha-badpass' => 'Zum Schutz gege automatisiert Knacken vu Passwerter, gib bitte di beide Werter in s Fäld unten yy:', - 'recaptcha-createaccount' => 'Zum Schutz gege s automatisiert Aalege vu Benutzerkonte, gib bitte di beide Werter in s Fäld unten yy:', - 'recaptcha-createaccount-fail' => 'D reCAPTCHA-Antwort isch fählerhaft oder si fählt.', - 'recaptcha-create' => 'Zum Schutz gege s automatisiert Aalege vu Syte, gib bitte di beide Werter in s Fäld unten yy:', -); - -/** Hebrew (עברית) */ -$messages['he'] = array( - 'recaptcha-edit' => 'אינכם משתמש רשום.כהגנה מפני ספאם אוטומטי, אנא הקלידו את שתי המילים שלהלן. תודה.', - 'recaptcha-addurl' => 'אינכם משתמש רשום.כהגנה מפני ספאם אוטומטי, אנא הקלידו את שתי המילים שלהלן. תודה.', - 'recaptcha-badpass' => 'כהגנה מפני מפצחי סיסמאות אוטומטיים אנא הקלידו את שתי המילים שלהלן:', - 'recaptcha-createaccount' => 'כהגנה מפני יצירת חשבונות פיקטיביים ע"י אוטומטים אנא הקלידו את שתי המילים שלהלן:', - 'recaptcha-createaccount-fail' => 'לא הוקלדו מילות האישור, או שהוקלדו מילים לא נכונות. נסו שנית.', - 'recaptcha-create' => 'אינכם משתמש רשום.כהגנה מפני ספאם אוטומטי, אנא הקלידו את שתי המילים שלהלן. תודה.', -); - -/** Upper Sorbian (hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'recaptcha-edit' => 'Za škit přećiwo awtomatizowanemu spamej, prošu zapisaj dwě słowje, kotrejž w slědowacym polu widźiš:', - 'recaptcha-addurl' => 'Twoja změna wobsahuje nowe eksterne wotkazy. Za škit přećiwo awtomatizowanemu spamej, prošu zapisaj dwě słowje, kotrerjž w slědowacym polu widźiš:', - 'recaptcha-badpass' => 'Za škit přećiwo awtomatizowanemu złamanju hesłow, zapisaj prošu wobě słowje, kotrejž widźiš, do slědowaceho pola:', - 'recaptcha-createaccount' => 'Za škit přećiwo awtomatiskemu wutworjenju konta, prošu zapisaj tej wobě słowje, kotrejž w slědowacym polu widźiš:', - 'recaptcha-createaccount-fail' => 'Wopačna abo falowaca wotmołwa reCAPTCHA.', - 'recaptcha-create' => 'Za škit přećiwo awtomatiskemu wutworjenju strony, prošu zapisaj tej wobě słowje, kotrejž w slědowacym polu widźiš:', -); - -/** Interlingua (interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'recaptcha-edit' => 'Pro adjutar a proteger nos contra le spam automatisate, per favor entra le duo parolas que tu vide in le quadro sequente:', - 'recaptcha-addurl' => 'Iste modification include nove ligamines externe. Pro adjutar a proteger nos contra le spam automatisate, per favor entra le duo parolas que tu vide in le quadro sequente:', - 'recaptcha-badpass' => 'Pro adjutar a proteger nos contra le furto automatisate de contrasignos, per favor entra le duo parolas que tu vide in le quadro sequente:', - 'recaptcha-createaccount' => 'Pro adjutar a proteger nos contra le creation automatisate de contos, per favor entra le duo parolas que tu vide in le quadro sequente:', - 'recaptcha-createaccount-fail' => 'Responsa reCAPTCHA incorrecte o mancante.', - 'recaptcha-create' => 'Pro adjutar a proteger nos contra le creation automatisate de paginas, per favor entra le duo parolas que tu vide in le quadro sequente:', -); - -/** Indonesian (Bahasa Indonesia) - * @author IvanLanin - */ -$messages['id'] = array( - 'recaptcha-edit' => 'Untuk membantu pelindungan terhadap spam penyuntingan otomatis, silakan ketik dua kata yang Anda lihat dalam kotak di bawah ini:', - 'recaptcha-addurl' => 'Suntingan Anda menyertakan pranala eksternal baru. Untuk membantu pelindungan terhadap spam otomatis, silakan ketik dua kata yang Anda lihat dalam kotak di bawah ini:', - 'recaptcha-badpass' => 'Untuk membantu pelindungan terhadap perengkahan sandi otomatis, silakan ketik dua kata yang Anda lihat dalam kotak di bawah ini:', - 'recaptcha-createaccount' => 'Untuk membantu pelindungan terhadap pembuatan akun otomatis, silakan ketik dua kata yang Anda lihat dalam kotak di bawah ini:', - 'recaptcha-createaccount-fail' => 'Jawaban reCAPTCHA tidak benar atau tidak dimasukkan.', - 'recaptcha-create' => 'Untuk membantu pelindungan terhadap pembuatan halaman otomatis, silakan ketik dua kata yang Anda lihat dalam kotak di bawah ini:', -); - -/** Italian (italiano) - * @author Nemo bis - */ -$messages['it'] = array( - 'recaptcha-edit' => 'Per aiutarci a proteggerci dalle modifiche automatiche che aggiungono spam, scrivi le due parole mostrate nel riquadro sottostante:', - 'recaptcha-addurl' => 'La tua modifica aggiunge qualche nuovo collegamento esterno. Per aiutarci a proteggerci dallo spam automatico, scrivi le due parole mostrate nel riquadro sottostante:', - 'recaptcha-badpass' => 'Per aiutarci a proteggerci dalla forzatura automatica delle password, scrivi le due parole mostrate nel riquadro sottostante:', - 'recaptcha-createaccount' => 'Per aiutarci a proteggerci dalla creazione automatica di nuovi accessi, scrivi le due parole mostrate nel riquadro sottostante:', - 'recaptcha-createaccount-fail' => 'Risposta reCAPTCHA mancante o errata.', - 'recaptcha-create' => 'Per aiutarci a proteggerci dalla creazione automatica di pagine, scrivi le due parole mostrate nel riquadro sottostante:', -); - -/** Japanese (日本語) - * @author Shirayuki - */ -$messages['ja'] = array( - 'recaptcha-desc' => 'Confirm Edit 用 reCAPTCHA モジュール', - 'recaptcha-edit' => '自動編集のスパム攻撃を防ぐため、下の画像に表示されている 2 つの単語を入力してください:', - 'recaptcha-addurl' => 'あなたは新しい外部リンクを追加しようとしています。自動でのスパム攻撃を防ぐため、下の画像に表示されている 2 つの単語を入力してください:', - 'recaptcha-badpass' => '自動でのパスワードクラック攻撃を防ぐため、下の画像に表示されている 2 つの単語を入力してください:', - 'recaptcha-createaccount' => 'アカウントの自動登録を防ぐため、下の画像に表示されている 2 つの単語を入力してください:', - 'recaptcha-createaccount-fail' => '文字列が正しくない、または入力されていません。', - 'recaptcha-create' => 'ページの自動作成を防ぐため、下の画像に表示されている 2 つの単語を入力してください:', -); - -/** Korean (한국어) - * @author 아라 - */ -$messages['ko'] = array( - 'recaptcha-desc' => '편집 확인에 대한 reCAPCHA 모듈', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'recaptcha-edit' => 'Schrief di zwei Wööt en dä Kaste onge erin. -Dat sull jääje et automattesche Ändere un SPAM em Wiki schöze.', - 'recaptcha-addurl' => 'Schrief di zwei Wööt en dä Kaste onge erin. -Dat sull jääje automattesch en et Wiki jebraate SPAM schöze, nohdämm en Dingem Beidraach {{PLURAL:$1|ene neue Lengk dren es|neue Lengks dren sin|kein neue Lengks dren sin}}.', - 'recaptcha-badpass' => 'Schrief di zwei Wööt en dä Kaste onge erin. -Dat sull jääje et automattesche Paßwoot Knacke em Wiki schöze.', - 'recaptcha-createaccount' => 'Schrief di zwei Wööt en dä Kaste onge erin. -Dat sull jääje SPAM un automattesch aanjelaate Zohjäng nohm Wiki schöze.', - 'recaptcha-createaccount-fail' => 'Dat wohr en verkehte udder jaa kei Antwoot op dat Kaptscha.', - 'recaptcha-create' => 'Schrief di zwei Wööt en dä Kaste onge erin. -Dat sull jääje SPAM un automattesch aanjelaate Sigge em Wiki schöze.', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Robby - */ -$messages['lb'] = array( - 'recaptcha-edit' => "Fir ze hëllefe eis géint automatiséierte Spam ze schützen, tippt w.e.g. déi zwee Wierder déi Dir gesitt an d'Këscht ënnendrënner an:", - 'recaptcha-addurl' => "An Ärer Ännerung sinn nei extern Linken! Fir ze hëllefe géint automatiséierte Spam virzegoen, tippt w.e.g. déi zwee Wierder déi Dir gesitt an d'Këscht ënnendrënner:", - 'recaptcha-badpass' => "Fir ze hëllefe eis géint d'automatiséiert hacke vu Passwierder ze schützen, tippt w.e.g. déi zwee Wierder déi Dir gesitt an d'Këscht ënnendrënner an:", - 'recaptcha-createaccount' => "Fir ze hëllefe eis géint d'automatiséiert Uleeë vu Benotzerkonten ze schützen, tippt w.e.g. déi zwee Wierder déi Dir gesitt an d'Këscht ënnendrënner an:", - 'recaptcha-createaccount-fail' => 'reCAPTCHA Äntwert feelt oder ass net korrekt.', - 'recaptcha-create' => "Fir ze hëllefe eis géint d'automatiséiert Uleeë vu Säiten ze schützen, tippt w.e.g. déi zwee Wierder déi Dir gesitt an d'Këscht ënnendrënner an:", -); - -/** Macedonian (македонски) - * @author Bjankuloski06 - */ -$messages['mk'] = array( - 'recaptcha-desc' => 'Модул reCAPTCHA за потврда на уредувања', - 'recaptcha-edit' => 'Како заштитна мерка против автоматизиран спам, внесете ги двата збора прикажани во полето:', - 'recaptcha-addurl' => 'Во вашите измени има нови надворешни врски. Како заштитна мерка против автоматизиран спам, внесете ги двата збора прикажани во полето:', - 'recaptcha-badpass' => 'Како заштитна мерка против автоматизирано провалување на лозинки, внесете ги двата збора прикажани во полето:', - 'recaptcha-createaccount' => 'Како заштитна мерка против автоматизирано создавање на сметки, внесете ги двата збора прикажани во полето:', - 'recaptcha-createaccount-fail' => 'reCAPTCHA доби погрешен одговор или одговорот недостасува.', - 'recaptcha-create' => 'Како заштитна мерка против автоматизирано создавање на страници, внесете ги двата збора прикажани во полето:', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - */ -$messages['ms'] = array( - 'recaptcha-edit' => 'Untuk membanteras kegiatan spam automatik, sila taipkan dua perkataan yang anda lihat dalam petak di bawah:', - 'recaptcha-addurl' => 'Suntingan anda termasuk pautan luar baru. Untuk membanteras kegiatan spam automatik, sila taipkan dua perkataan yang anda lihat dalam petak di bawah:', - 'recaptcha-badpass' => 'Untuk membanteras kegiatan meneka kata laluan secara automatik, sila taipkan dua perkataan yang anda lihat dalam petak di bawah:', - 'recaptcha-createaccount' => 'Untuk membanteras kegiatan membuka akaun secara automatik, sila taipkan dua perkataan yang anda lihat dalam petak di bawah:', - 'recaptcha-createaccount-fail' => 'Jawapan reCAPTCHA tidak betul atau tidak ada.', - 'recaptcha-create' => 'Untuk membanteras kegiatan mencipta laman secara automatik, sila taipkan dua perkataan yang anda lihat dalam petak di bawah:', -); - -/** Maltese (Malti) - * @author Chrisportelli - */ -$messages['mt'] = array( - 'recaptcha-edit' => "Sabiex tgħinna nipproteġu kontra l-modifiki li jżidu spam, jekk jogħġbok ikteb iż-żewġ kelmiet li tara fil-kaxxa t'hawn taħt:", - 'recaptcha-addurl' => "Il-modifika tiegħek tinkludi ħoloq esterni ġodda. Sabiex tipproteġi kontra spam awtomatiku, jekk jogħġbok ikteb iż-żewġ kelmiet li tara fil-kaxxa t'hawn taħt:", - 'recaptcha-badpass' => "Sabiex tgħinna nipproteġu kontra l-infurzar awtomatiku tal-passwords, jekk jogħġbok ikteb iż-żewġ kelmiet li tara fil-kaxxa t'hawn taħt:", - 'recaptcha-createaccount' => "Sabiex tgħinna nipproteġu kontra l-ħolqien awtomatiku ta' kontijiet ġodda, jekk jogħġbok ikteb iż-żewġ kelmiet li tara fil-kaxxa t'hawn taħt:", - 'recaptcha-createaccount-fail' => 'Tweġiba reCAPTCHA ħażina jew nieqsa.', - 'recaptcha-create' => "Sabiex tgħinna nipproteġu kontra l-ħolqien awtomatiku ta' paġni, jekk jogħġbok ikteb iż-żewġ kelmiet li tara fil-kaxxa t'hawn taħt:", -); - -/** Norwegian Bokmål (norsk (bokmål)‎) - * @author Event - */ -$messages['nb'] = array( - 'recaptcha-edit' => 'Som beskyttelse mot automatisk redigert spam, vennligst skriv inn de to ordene du ser i boksen under:', - 'recaptcha-addurl' => 'Din redigering inneholder nye eksterne lenker. Som beskyttelse mot automatisk spam, vennligst skriv inn de to ordene du ser i boksen under:', - 'recaptcha-badpass' => 'Som beskyttelse mot automatisk passordknekking, vennligst skriv inn de to ordene du ser i boksen under:', - 'recaptcha-createaccount' => 'Som beskyttelse mot automatisk opprettelse av brukerkonto, vennligst skriv inn de to ordene du ser i boksen under:', - 'recaptcha-createaccount-fail' => 'Feil eller manglende reCAPTCHA-svar.', - 'recaptcha-create' => 'Som beskyttelse mot automatisk opprettelse av side, vennligst skriv inn de to ordene du ser i boksen under:', -); - -/** Dutch (Nederlands) - * @author Siebrand - */ -$messages['nl'] = array( - 'recaptcha-edit' => 'Voer ter bescherming tegen geautomatiseerde spam de twee woorden die u ziet in het invoervenster in:', - 'recaptcha-addurl' => 'Uw bewerking bevat nieuwe externe verwijzingen. Voer ter bescherming tegen geautomatiseerde spam de twee woorden die u ziet in het invoervenster in:', - 'recaptcha-badpass' => 'Voer ter bescherming tegen het automatisch kraken van wachtwoorden de twee woorden die u ziet in het invoervenster in:', - 'recaptcha-createaccount' => 'Om het automatisch aanmaken van gebruikers tegen te gaan moet u de twee woorden die u ziet invoeren:', - 'recaptcha-createaccount-fail' => 'Het reCAPTCHA-antwoord is onjuist of niet ingevoerd.', - 'recaptcha-create' => "Om het automatisch aanmaken van pagina's tegen te gaan moet u de twee woorden die u ziet invoeren:", -); - -/** Polish (polski) */ -$messages['pl'] = array( - 'recaptcha-edit' => 'Aby uchronić nas przed robotami, proszę wpisać dwa widoczne słowa w poniższym polu:', - 'recaptcha-addurl' => 'Twoja edycja zawiera linki zewnętrzne. Aby uchronić nas przed robotami, proszę wpisać dwa widoczne słowa w poniższym polu:', - 'recaptcha-badpass' => 'Aby uchronić nas przed złamaniem automatycznym haseł, proszę wpisać dwa widoczne słowa w poniższym polu:', - 'recaptcha-createaccount' => 'Aby uchronić nas przed automatycznym stworzeniem użytkowników, proszę wpisać dwa widoczne słowa w poniższym polu:', - 'recaptcha-createaccount-fail' => 'Odpowiedź na reCAPTCHA jest fałszywa lub brakująca.', - 'recaptcha-create' => 'Aby uchronić nas przed tworzeniem stron przez robotów, proszę wpisać dwa widoczne słowa w poniższym polu:', -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Dragonòt - */ -$messages['pms'] = array( - 'recaptcha-edit' => "Për giuté a protege contra la rumenta dle modìfiche automàtiche, për piasì ch'a scriva le doe paròle ch'a s-ciàira ant ël quàder sì-sota:", - 'recaptcha-addurl' => "Soa modìfica a conten d'anliure esterne neuv. Për giuté a protege contra la rumenta dle modìfiche automàtiche, për piasì ch'a scriva le doe paròle ch'a s-ciàira ant ël quàder sì-sota:", - 'recaptcha-badpass' => "Për giuté a protege contra la forsadura automatisà ëd le ciav, për piasì ch'a scriva le doe paròle ch'a s-ciàira ant ël formolari sì-sota:", - 'recaptcha-createaccount' => "Për giuté a protege contra la creassion automatisà ëd cont, për piasì ch'a scriva le doe paròle ch'a s-ciàira ant ël formolari sì-sota:", - 'recaptcha-createaccount-fail' => 'Rispòsta ëd reCAPTCHA fàussa o mancanta.', - 'recaptcha-create' => "Për giuté a protege contra la creassion automatisà ëd pàgine, për piasì ch'a scriv le doe paròle ch'a s-ciàira ant la casela sì-sota:", -); - -/** Portuguese (português) - * @author Hamilton Abreu - */ -$messages['pt'] = array( - 'recaptcha-edit' => 'Para proteger-nos de spam, por favor escreva as duas palavras visíveis abaixo:', - 'recaptcha-addurl' => "A sua edição contém links externos novos. Como prevenção contra sistemas automatizados de inserção de ''spam'', escreva as duas palavras visíveis na caixa abaixo:", - 'recaptcha-badpass' => 'Para proteger-nos de robots que tentam adivinhar senhas, por favor escreva as duas palavras visíveis abaixo:', - 'recaptcha-createaccount' => 'Para proteger-nos de criação automática de contas, por favor escreva as duas palavras visíveis abaixo:', - 'recaptcha-createaccount-fail' => 'A resposta ao reCAPTCHA é errada.', - 'recaptcha-create' => 'Para proteger-nos da criação automática de páginas, por favor escreva as duas palavras visíveis abaixo:', -); - -/** Brazilian Portuguese (português do Brasil) */ -$messages['pt-br'] = array( - 'recaptcha-edit' => 'Para ajudar a prevenir contra vandalismos, por favor digite as duas palavras que você vê na caixa abaixo:', - 'recaptcha-addurl' => 'A sua edição inclui ligações externas. Para ajudar a prevenir contra vandalismos, por favor digite as duas palavras que você vê na caixa abaixo:', - 'recaptcha-badpass' => 'Para ajudar a prevenir contra tentativas de desbloquear senhas, por favor digite as duas palavras que você vê na caixa abaixo:', - 'recaptcha-createaccount' => 'Para ajudar a prevenir contra criação automatizada de usuários, por favor digite as duas palavras que você vê na caixa abaixo:', - 'recaptcha-createaccount-fail' => 'Resposta incorreta ao reCAPTCHA.', - 'recaptcha-create' => 'Para ajudar a prevenir contra criação automatizada de páginas, por favor digite as duas palavras que você vê na caixa abaixo:', -); - -/** Russian (русский) - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'recaptcha-edit' => 'В целях защиты от автоматического спама в правках, пожалуйста, введите два слова, которые вы видите ниже:', - 'recaptcha-addurl' => 'Ваша правка содержит новые внешние ссылки. В целях защиты от автоматического спама, пожалуйста, введите два слова, которые вы видите ниже:', - 'recaptcha-badpass' => 'В целях защиты от автоматического подбора пароля, пожалуйста, введите два слова, которые вы видите ниже:', - 'recaptcha-createaccount' => 'В целях защиты от автоматического создания учётных записей, пожалуйста, введите два слова, которые вы видите ниже:', - 'recaptcha-createaccount-fail' => 'Ответ reCAPTCHA неправильный или отсутствует.', - 'recaptcha-create' => 'В целях защиты от автоматического создания страниц, пожалуйста, введите два слова, которые вы видите ниже:', -); - -/** Serbian (Cyrillic script) (српски (ћирилица)‎) - * @author Rancher - */ -$messages['sr-ec'] = array( - 'recaptcha-desc' => 'Модул reCAPTCHA за потврду уређивања', -); - -/** Serbian (Latin script) (srpski (latinica)‎) */ -$messages['sr-el'] = array( - 'recaptcha-desc' => 'Modul reCAPTCHA za potvrdu uređivanja', -); - -/** Swedish (svenska) */ -$messages['sv'] = array( - 'recaptcha-edit' => 'Den här sidan skyddas mot spam-robotar, bevisa att du är en människa genom att skriva de två orden du ser i boxen nedan:', - 'recaptcha-addurl' => 'Din förändring av sidan innehåller nya externa länkar, vilket är typiskt för spam. Bevisa att du är en människa genom att skriva de två orden du ser i boxen nedan:', - 'recaptcha-badpass' => 'För att skydda wikin mot robotar som gissar användares lösenord behöver användare bevisa att de är människor. Skriv ner de två orden som du ser i boxen nedan:', - 'recaptcha-createaccount' => 'För att skydda wikin mot robotar som skapar konton behöver användare bevisa att de är människor. Var vänlig och skriv ner de två orden du ser i boxen nedan:', - 'recaptcha-createaccount-fail' => 'Du har angivit ett felaktig svar för reCAPTCHA.', - 'recaptcha-create' => 'För att skydda wikin mot robotar som skapar nya artiklar. Var vänlig och skriv ner de två orden som finns i boxen nedan:', -); - -/** Swahili (Kiswahili) - * @author Lloffiwr - */ -$messages['sw'] = array( - 'recaptcha-edit' => 'Ili kusaidia kuzuia mashine zisihariri, tafadhali andika maneno mawili yanayoonekana katika kisanduku pakipo chini:', - 'recaptcha-addurl' => 'Haririo lako lina viungo vipya vya nje. Ili kusaidia katika kuzuisha viungo visivyotakiwa visiwekwe na mashine, tafadhali andika maneno mawili yanayoonekana katika kisanduku pakipo chini:', - 'recaptcha-badpass' => 'Ili kusaidia katika kuzuia neno lako la siri lisigunduliwe na mashine, tafadhali andika maneno mawili yanayoonekana katika kisanduku pakipo chini:', - 'recaptcha-createaccount' => 'Ili kusaidia kuzuia akaunti zisifunguliwe nyingi na mashine, tafadhali andika maneno mawili yanayoonekana katika kisanduku pakipo chini:', - 'recaptcha-createaccount-fail' => 'Jibu la swali la CAPTCHA si sahihi au halipo.', - 'recaptcha-create' => 'Ili kusaidia kuzuia kurasa zisianzishwe nyingi na mashine, tafadhali andika maneno mawili yanayoonekana katika kisanduku pakipo chini:', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'recaptcha-desc' => 'Modulo ng reCAPTCHA para sa Pagtiyak ng Pagbago', - 'recaptcha-edit' => 'Upang makatulong sa pagprutekta laban sa kusang basurang pamamatnugot, paki imakinilya ang dalawang mga salitang nakikita mo sa loob ng kahong nasa ibaba:', - 'recaptcha-addurl' => 'Ang pagbabago mo ay nagsasama ng bagong panlabas na mga kawing. Upang makatulong sa pagprutekta laban sa kusang paglusob ng basurang-liham, paki imakinilya ang dalawang mga salitang nakikita sa loob ng kahong nasa ibaba:', - 'recaptcha-badpass' => 'Upang makatulong sa pagsasanggalang laban sa kusang panghuhula ng hudyat, paki imakinilya ang dalawang mga salitang nakikita mo sa loob ng kahong nasa ibaba:', - 'recaptcha-createaccount' => 'Upang makatulong sa pagprutekta laban sa kusang paglikha ng akawnt, paki imakinilya ang dalawang mga salitang nakikita mo sa loob ng kahong nasa ibaba:', - 'recaptcha-createaccount-fail' => 'Hindi tama o nawawalang sagot sa reCAPTCHA.', - 'recaptcha-create' => 'Upang makatulong sa pagprutekta laban sa kusang paglikha ng pahina, paki imakinilya ang dalawang mga salitang nakikita mo sa loob ng kahong nasa ibaba:', -); - -/** Ukrainian (українська) - * @author Тест - */ -$messages['uk'] = array( - 'recaptcha-createaccount-fail' => 'Відповідь reCAPTCHA неправильна або відсутня.', -); - -/** Vietnamese (Tiếng Việt) */ -$messages['vi'] = array( - 'recaptcha-edit' => 'Để giúp tránh các sửa đổi rác tự động, xin hãy gõ hai từ mà bạn nhìn thấy vào ô dưới đây:', - 'recaptcha-addurl' => 'Sửa đổi của bạn có chứa liên kết ngoài mới. Để giúp tránh các sửa đổi rác tự động, xin hãy gõ hai từ mà bạn nhìn vào ô dưới đây:', - 'recaptcha-badpass' => 'Để giúp tránh bẻ khóa mật khẩu tự động, xin hãy gõ hai từ mà bạn nhìn vào ô dưới đây:', - 'recaptcha-createaccount' => 'Để giúp tránh việc mở tài khoản tự động, xin hãy gõ hai từ mà bạn nhìn vào ô dưới đây:', - 'recaptcha-createaccount-fail' => 'Thiếu câu trả lời reCAPTCHA hoặc câu trả lời không đúng.', - 'recaptcha-create' => 'Để giúp tránh việc tạo trang tự động, xin hãy gõ hai từ mà bạn nhìn vào ô dưới đây:', -); - -/** Simplified Chinese (中文(简体)‎) - * @author Hydra - * @author Hzy980512 - * @author Onecountry - */ -$messages['zh-hans'] = array( - 'recaptcha-edit' => '为了避免垃圾用户自动编辑,请键入下面框中的两个单词:', - 'recaptcha-addurl' => '您的编辑包含新的外部链接。为了避免垃圾用户自动编辑,请键入下面框中的两个单词:', - 'recaptcha-badpass' => '为避免自动密码破解,请键入下面框中的两个单词:', - 'recaptcha-createaccount' => '为了避免创建自动垃圾用户,请键入下面框中的两个单词:', - 'recaptcha-createaccount-fail' => 'reCAPTCHA 答案不正确或未填写。', - 'recaptcha-create' => '为了避免垃圾用户自动创建页面,请键入下面框中的两个单词:', -); - -/** Traditional Chinese (中文(繁體)‎) */ -$messages['zh-hant'] = array( - 'recaptcha-edit' => '要幫助保護免受垃圾郵件自動的編輯,請鍵入您在下面的框中看到這兩個詞:', - 'recaptcha-addurl' => '您的編輯包含新的外部鏈接。為了幫助防止自動垃圾郵件,請鍵入您在下面的框中看到這兩個詞:', - 'recaptcha-badpass' => '為幫助防止自動密碼破解,請鍵入您看到下面的框中的兩個字:', - 'recaptcha-createaccount' => '為了幫助防止創建自動化的帳戶,請鍵入您在下面的框中看到的這兩個字:', - 'recaptcha-createaccount-fail' => '不正確或缺失的 reCAPTCHA 答案。', - 'recaptcha-create' => '為了幫助防止自動的頁創建,請鍵入您在下面的框中看到這兩個詞:', -); - diff --git a/documentacion/extensions/ConfirmEdit/ReCaptcha.php b/documentacion/extensions/ConfirmEdit/ReCaptcha.php deleted file mode 100644 index 8d44e6f..0000000 --- a/documentacion/extensions/ConfirmEdit/ReCaptcha.php +++ /dev/null @@ -1,64 +0,0 @@ - - * @copyright Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net - * @licence MIT/X11 - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - exit; -} - -$dir = __DIR__; -require_once $dir . '/ConfirmEdit.php'; -$wgCaptchaClass = 'ReCaptcha'; - -$wgExtensionMessagesFiles['ReCaptcha'] = $dir . '/ReCaptcha.i18n.php'; - -$wgAutoloadClasses['ReCaptcha'] = $dir . '/ReCaptcha.class.php'; - -require_once( 'recaptchalib.php' ); - -// Set these in LocalSettings.php -$wgReCaptchaPublicKey = ''; -$wgReCaptchaPrivateKey = ''; -// For backwards compatibility -$recaptcha_public_key = ''; -$recaptcha_private_key = ''; - -/** - * Sets the theme for ReCaptcha - * - * See http://code.google.com/apis/recaptcha/docs/customization.html - */ -$wgReCaptchaTheme = 'red'; - -$wgExtensionFunctions[] = 'efReCaptcha'; - -/** - * Make sure the keys are defined. - */ -function efReCaptcha() { - global $wgReCaptchaPublicKey, $wgReCaptchaPrivateKey; - global $recaptcha_public_key, $recaptcha_private_key; - global $wgServerName; - - // Backwards compatibility - if ( $wgReCaptchaPublicKey == '' ) { - $wgReCaptchaPublicKey = $recaptcha_public_key; - } - if ( $wgReCaptchaPrivateKey == '' ) { - $wgReCaptchaPrivateKey = $recaptcha_private_key; - } - - if ( $wgReCaptchaPublicKey == '' || $wgReCaptchaPrivateKey == '' ) { - die ( 'You need to set $wgReCaptchaPrivateKey and $wgReCaptchaPublicKey in LocalSettings.php to ' . - "use the reCAPTCHA plugin. You can sign up for a key here." ); - } -} diff --git a/documentacion/extensions/ConfirmEdit/captcha.py b/documentacion/extensions/ConfirmEdit/captcha.py deleted file mode 100644 index f1a0501..0000000 --- a/documentacion/extensions/ConfirmEdit/captcha.py +++ /dev/null @@ -1,226 +0,0 @@ -#!/usr/bin/python -# -# Script to generate distorted text images for a captcha system. -# -# Copyright (C) 2005 Neil Harris -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# http://www.gnu.org/copyleft/gpl.html -# -# Further tweaks by Brion Vibber : -# 2006-01-26: Add command-line options for the various parameters -# 2007-02-19: Add --dirs param for hash subdirectory splits -# Tweaks by Greg Sabino Mullane : -# 2008-01-06: Add regex check to skip words containing other than a-z - -import random -import math -import hashlib -from optparse import OptionParser -import os -import sys -import re - -try: - import Image - import ImageFont - import ImageDraw - import ImageEnhance - import ImageOps -except: - sys.exit("This script requires the Python Imaging Library - http://www.pythonware.com/products/pil/") - -nonalpha = re.compile('[^a-z]') # regex to test for suitability of words - -# Does X-axis wobbly copy, sandwiched between two rotates -def wobbly_copy(src, wob, col, scale, ang): - x, y = src.size - f = random.uniform(4*scale, 5*scale) - p = random.uniform(0, math.pi*2) - rr = ang+random.uniform(-30, 30) # vary, but not too much - int_d = Image.new('RGB', src.size, 0) # a black rectangle - rot = src.rotate(rr, Image.BILINEAR) - # Do a cheap bounding-box op here to try to limit work below - bbx = rot.getbbox() - if bbx == None: - return src - else: - l, t, r, b= bbx - # and only do lines with content on - for i in range(t, b+1): - # Drop a scan line in - xoff = int(math.sin(p+(i*f/y))*wob) - xoff += int(random.uniform(-wob*0.5, wob*0.5)) - int_d.paste(rot.crop((0, i, x, i+1)), (xoff, i)) - # try to stop blurring from building up - int_d = int_d.rotate(-rr, Image.BILINEAR) - enh = ImageEnhance.Sharpness(int_d) - return enh.enhance(2) - - -def gen_captcha(text, fontname, fontsize, file_name): - """Generate a captcha image""" - # white text on a black background - bgcolor = 0x0 - fgcolor = 0xffffff - # create a font object - font = ImageFont.truetype(fontname,fontsize) - # determine dimensions of the text - dim = font.getsize(text) - # create a new image significantly larger that the text - edge = max(dim[0], dim[1]) + 2*min(dim[0], dim[1]) - im = Image.new('RGB', (edge, edge), bgcolor) - d = ImageDraw.Draw(im) - x, y = im.size - # add the text to the image - d.text((x/2-dim[0]/2, y/2-dim[1]/2), text, font=font, fill=fgcolor) - k = 3 - wob = 0.20*dim[1]/k - rot = 45 - # Apply lots of small stirring operations, rather than a few large ones - # in order to get some uniformity of treatment, whilst - # maintaining randomness - for i in range(k): - im = wobbly_copy(im, wob, bgcolor, i*2+3, rot+0) - im = wobbly_copy(im, wob, bgcolor, i*2+1, rot+45) - im = wobbly_copy(im, wob, bgcolor, i*2+2, rot+90) - rot += 30 - - # now get the bounding box of the nonzero parts of the image - bbox = im.getbbox() - bord = min(dim[0], dim[1])/4 # a bit of a border - im = im.crop((bbox[0]-bord, bbox[1]-bord, bbox[2]+bord, bbox[3]+bord)) - # and turn into black on white - im = ImageOps.invert(im) - - # save the image, in format determined from filename - im.save(file_name) - -def gen_subdir(basedir, md5hash, levels): - """Generate a subdirectory path out of the first _levels_ - characters of _hash_, and ensure the directories exist - under _basedir_.""" - subdir = None - for i in range(0, levels): - char = md5hash[i] - if subdir: - subdir = os.path.join(subdir, char) - else: - subdir = char - fulldir = os.path.join(basedir, subdir) - if not os.path.exists(fulldir): - os.mkdir(fulldir) - return subdir - -def try_pick_word(words, blacklist, verbose): - word1 = words[random.randint(0,len(words)-1)] - word2 = words[random.randint(0,len(words)-1)] - word = word1+word2 - if verbose: - print "word is %s" % word - if nonalpha.search(word): - if verbose: - print "skipping word pair '%s' because it contains non-alphabetic characters" % word - return None - - for naughty in blacklist: - if naughty in word: - if verbose: - print "skipping word pair '%s' because it contains blacklisted word '%s'" % (word, naughty) - return None - return word - -def pick_word(words, blacklist, verbose): - for x in range(1000): # If we can't find a valid combination in 1000 tries, just give up - word = try_pick_word(words, blacklist, verbose) - if word: - return word - sys.exit("Unable to find valid word combinations") - -def read_wordlist(filename): - return [x.strip().lower() for x in open(wordlist).readlines()] - -if __name__ == '__main__': - """This grabs random words from the dictionary 'words' (one - word per line) and generates a captcha image for each one, - with a keyed salted hash of the correct answer in the filename. - - To check a reply, hash it in the same way with the same salt and - secret key, then compare with the hash value given. - """ - parser = OptionParser() - parser.add_option("--wordlist", help="A list of words (required)", metavar="WORDS.txt") - parser.add_option("--key", help="The passphrase set as $wgCaptchaSecret (required)", metavar="KEY") - parser.add_option("--output", help="The directory to put the images in - $wgCaptchaDirectory (required)", metavar="DIR") - parser.add_option("--font", help="The font to use (required)", metavar="FONT.ttf") - parser.add_option("--font-size", help="The font size (default 40)", metavar="N", type='int', default=40) - parser.add_option("--count", help="The maximum number of images to make (default 20)", metavar="N", type='int', default=20) - parser.add_option("--blacklist", help="A blacklist of words that should not be used", metavar="FILE") - parser.add_option("--fill", help="Fill the output directory to contain N files, overrides count, cannot be used with --dirs", metavar="N", type='int') - parser.add_option("--dirs", help="Put the images into subdirectories N levels deep - $wgCaptchaDirectoryLevels", metavar="N", type='int') - parser.add_option("--verbose", "-v", help="Show debugging information", action='store_true') - - opts, args = parser.parse_args() - - if opts.wordlist: - wordlist = opts.wordlist - else: - sys.exit("Need to specify a wordlist") - if opts.key: - key = opts.key - else: - sys.exit("Need to specify a key") - if opts.output: - output = opts.output - else: - sys.exit("Need to specify an output directory") - if opts.font and os.path.exists(opts.font): - font = opts.font - else: - sys.exit("Need to specify the location of a font") - - blacklistfile = opts.blacklist - count = opts.count - fill = opts.fill - dirs = opts.dirs - verbose = opts.verbose - fontsize = opts.font_size - - if fill: - count = max(0, fill - len(os.listdir(output))) - - words = read_wordlist(wordlist) - words = [x for x in words - if len(x) in (4,5) and x[0] != "f" - and x[0] != x[1] and x[-1] != x[-2]] - - if blacklistfile: - blacklist = read_wordlist(blacklistfile) - else: - blacklist = [] - - for i in range(count): - word = pick_word(words, blacklist, verbose) - salt = "%08x" % random.randrange(2**32) - # 64 bits of hash is plenty for this purpose - md5hash = hashlib.md5(key+salt+word+key+salt).hexdigest()[:16] - filename = "image_%s_%s.png" % (salt, md5hash) - if dirs: - subdir = gen_subdir(output, md5hash, dirs) - filename = os.path.join(subdir, filename) - if verbose: - print filename - gen_captcha(word, font, fontsize, os.path.join(output, filename)) - diff --git a/documentacion/extensions/ConfirmEdit/ext.confirmedit.asirra.js b/documentacion/extensions/ConfirmEdit/ext.confirmedit.asirra.js deleted file mode 100644 index 52dc532..0000000 --- a/documentacion/extensions/ConfirmEdit/ext.confirmedit.asirra.js +++ /dev/null @@ -1,55 +0,0 @@ -/*======================================================================*\ -|| #################################################################### || -|| # Asirra module for ConfirmEdit by Bachsau # || -|| # ---------------------------------------------------------------- # || -|| # This code is released into public domain, in the hope that it # || -|| # will be useful, but without any warranty. # || -|| # ------------ YOU CAN DO WITH IT WHATEVER YOU LIKE! ------------- # || -|| #################################################################### || -\*======================================================================*/ - -jQuery( function( $ ) { - var asirraform = $( "form#userlogin2" ); - var submitButtonClicked = document.createElement("input"); - var passThroughFormSubmit = false; - - function PrepareSubmit() { - console.log( 'daa' ); - submitButtonClicked.type = "hidden"; - var inputFields = asirraform.find( "input" ); - for (var i=0; iaddOption( "wordlist", 'A list of words', true, true ); - $this->addOption( "font", "The font to use", true, true ); - $this->addOption( "font-size", "The font size ", false, true ); - $this->addOption( "blacklist", "A blacklist of words that should not be used", false, true ); - $this->addOption( "fill", "Fill the captcha container to N files", true, true ); - $this->addOption( "verbose", "Show debugging information" ); - $this->mDescription = "Generate new captchas and move them into storage"; - } - - public function execute() { - global $wgCaptchaSecret, $wgCaptchaDirectoryLevels; - - $instance = ConfirmEditHooks::getInstance(); - if ( !( $instance instanceof FancyCaptcha ) ) { - $this->error( "\$wgCaptchaClass is not FancyCaptcha.\n", 1 ); - } - $backend = $instance->getBackend(); - - $countAct = $instance->estimateCaptchaCount(); - $this->output( "Estimated number of captchas is $countAct.\n" ); - - $countGen = (int)$this->getOption( 'fill' ) - $countAct; - if ( $countGen <= 0 ) { - $this->output( "No need to generate anymore captchas.\n" ); - return; - } - - $tmpDir = wfTempDir() . '/mw-fancycaptcha-' . time() . '-' . wfRandomString( 6 ); - if ( !wfMkdirParents( $tmpDir ) ) { - $this->error( "Could not create temp directory.\n", 1 ); - } - - $e = null; // exception - try { - $cmd = sprintf( "python %s --key %s --output %s --count %s --dirs %s", - wfEscapeShellArg( __DIR__ . '/../captcha.py' ), - wfEscapeShellArg( $wgCaptchaSecret ), - wfEscapeShellArg( $tmpDir ), - wfEscapeShellArg( $countGen ), - wfEscapeShellArg( $wgCaptchaDirectoryLevels ) - ); - foreach ( array( 'wordlist', 'font', 'font-size', 'blacklist', 'verbose' ) as $par ) { - if ( $this->hasOption( $par ) ) { - $cmd .= " --$par " . wfEscapeShellArg( $this->getOption( $par ) ); - } - } - - $this->output( "Generating $countGen new captchas...\n" ); - $retVal = 1; - wfShellExec( $cmd, $retVal ); - if ( $retVal != 0 ) { - wfRecursiveRemoveDir( $tmpDir ); - $this->error( "Could not run generation script.\n", 1 ); - } - - $flags = FilesystemIterator::SKIP_DOTS; - $iter = new RecursiveIteratorIterator( - new RecursiveDirectoryIterator( $tmpDir, $flags ), - RecursiveIteratorIterator::CHILD_FIRST // include dirs - ); - - $this->output( "Copying the new captchas to storage...\n" ); - foreach ( $iter as $fileInfo ) { - if ( !$fileInfo->isFile() ) { - continue; - } - list( $salt, $hash ) = $instance->hashFromImageName( $fileInfo->getBasename() ); - $status = $backend->quickStore( array( - 'src' => $fileInfo->getPathname(), - 'dst' => $instance->imagePath( $salt, $hash ) - ) ); - if ( !$status->isOK() ) { - $this->error( "Could not save file '{$fileInfo->getPathname()}'.\n" ); - } - } - } catch ( Exception $e ) { - wfRecursiveRemoveDir( $tmpDir ); - throw $e; - } - - $this->output( "Removing temporary files...\n" ); - wfRecursiveRemoveDir( $tmpDir ); - $this->output( "Done.\n" ); - } -} - -$maintClass = "GenerateFancyCaptchas"; -require_once( RUN_MAINTENANCE_IF_MAIN ); diff --git a/documentacion/extensions/ConfirmEdit/recaptchalib.php b/documentacion/extensions/ConfirmEdit/recaptchalib.php deleted file mode 100644 index 73fd630..0000000 --- a/documentacion/extensions/ConfirmEdit/recaptchalib.php +++ /dev/null @@ -1,274 +0,0 @@ - $value ) - $req .= $key . '=' . urlencode( stripslashes( $value ) ) . '&'; - - // Cut the last '&' - $req = substr( $req, 0, strlen( $req ) -1 ); - return $req; -} - - - -/** - * Submits an HTTP POST to a reCAPTCHA server - * @param string $host - * @param string $path - * @param array $data - * @param int port - * @return array response - */ -function _recaptcha_http_post( $host, $path, $data, $port = 80 ) { - - $req = _recaptcha_qsencode ( $data ); - - $http_request = "POST $path HTTP/1.0\r\n"; - $http_request .= "Host: $host\r\n"; - $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n"; - $http_request .= "Content-Length: " . strlen( $req ) . "\r\n"; - $http_request .= "User-Agent: reCAPTCHA/PHP\r\n"; - $http_request .= "\r\n"; - $http_request .= $req; - - $response = ''; - if ( false == ( $fs = @fsockopen( $host, $port, $errno, $errstr, 10 ) ) ) { - die ( 'Could not open socket' ); - } - - fwrite( $fs, $http_request ); - - while ( !feof( $fs ) ) - $response .= fgets( $fs, 1160 ); // One TCP-IP packet - fclose( $fs ); - $response = explode( "\r\n\r\n", $response, 2 ); - - return $response; -} - - - -/** - * Gets the challenge HTML (javascript and non-javascript version). - * This is called from the browser, and the resulting reCAPTCHA HTML widget - * is embedded within the HTML form it was called from. - * @param string $pubkey A public key for reCAPTCHA - * @param string $error The error given by reCAPTCHA (optional, default is null) - * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false) - - * @return string - The HTML to be embedded in the user's form. - */ -function recaptcha_get_html ( $pubkey, $error = null, $use_ssl = false ) -{ - if ( $pubkey == null || $pubkey == '' ) { - die ( "To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create" ); - } - - if ( $use_ssl ) { - $server = RECAPTCHA_API_SECURE_SERVER; - } else { - $server = RECAPTCHA_API_SERVER; - } - - $errorpart = ""; - if ( $error ) { - $errorpart = "&error=" . $error; - } - return ' - - '; -} - - - - -/** - * A ReCaptchaResponse is returned from recaptcha_check_answer() - */ -class ReCaptchaResponse { - var $is_valid; - var $error; -} - - -/** - * Calls an HTTP POST function to verify if the user's guess was correct - * @param string $privkey - * @param string $remoteip - * @param string $challenge - * @param string $response - * @param array $extra_params an array of extra variables to post to the server - * @return ReCaptchaResponse - */ -function recaptcha_check_answer ( $privkey, $remoteip, $challenge, $response, $extra_params = array() ) -{ - if ( $privkey == null || $privkey == '' ) { - die ( "To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create" ); - } - - if ( $remoteip == null || $remoteip == '' ) { - die ( "For security reasons, you must pass the remote ip to reCAPTCHA" ); - } - - - - // discard spam submissions - if ( $challenge == null || strlen( $challenge ) == 0 || $response == null || strlen( $response ) == 0 ) { - $recaptcha_response = new ReCaptchaResponse(); - $recaptcha_response->is_valid = false; - $recaptcha_response->error = 'incorrect-captcha-sol'; - return $recaptcha_response; - } - - $response = _recaptcha_http_post ( RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify", - array ( - 'privatekey' => $privkey, - 'remoteip' => $remoteip, - 'challenge' => $challenge, - 'response' => $response - ) + $extra_params - ); - - $answers = explode ( "\n", $response [1] ); - $recaptcha_response = new ReCaptchaResponse(); - - if ( trim ( $answers [0] ) == 'true' ) { - $recaptcha_response->is_valid = true; - } - else { - $recaptcha_response->is_valid = false; - $recaptcha_response->error = $answers [1]; - } - return $recaptcha_response; - -} - -/** - * gets a URL where the user can sign up for reCAPTCHA. If your application - * has a configuration page where you enter a key, you should provide a link - * using this function. - * @param string $domain The domain where the page is hosted - * @param string $appname The name of your application - */ -function recaptcha_get_signup_url ( $domain = null, $appname = null ) { - return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode ( array ( 'domains' => $domain, 'app' => $appname ) ); -} - -function _recaptcha_aes_pad( $val ) { - $block_size = 16; - $numpad = $block_size - ( strlen ( $val ) % $block_size ); - return str_pad( $val, strlen ( $val ) + $numpad, chr( $numpad ) ); -} - -/* Mailhide related code */ - -function _recaptcha_aes_encrypt( $val, $ky ) { - if ( ! function_exists ( "mcrypt_encrypt" ) ) { - die ( "To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed." ); - } - $mode = MCRYPT_MODE_CBC; - $enc = MCRYPT_RIJNDAEL_128; - $val = _recaptcha_aes_pad( $val ); - return mcrypt_encrypt( $enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" ); -} - - -function _recaptcha_mailhide_urlbase64 ( $x ) { - return strtr( base64_encode ( $x ), '+/', '-_' ); -} - -/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */ -function recaptcha_mailhide_url( $pubkey, $privkey, $email ) { - if ( $pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null ) { - die ( "To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " . - "you can do so at http://www.google.com/recaptcha/mailhide/apikey" ); - } - - - $ky = pack( 'H*', $privkey ); - $cryptmail = _recaptcha_aes_encrypt ( $email, $ky ); - - return "http://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ( $cryptmail ); -} - -/** - * gets the parts of the email to expose to the user. - * eg, given johndoe@example,com return ["john", "example.com"]. - * the email is then displayed as john...@example.com - */ -function _recaptcha_mailhide_email_parts ( $email ) { - $arr = preg_split( "/@/", $email ); - - if ( strlen ( $arr[0] ) <= 4 ) { - $arr[0] = substr ( $arr[0], 0, 1 ); - } elseif ( strlen ( $arr[0] ) <= 6 ) { - $arr[0] = substr ( $arr[0], 0, 3 ); - } else { - $arr[0] = substr ( $arr[0], 0, 4 ); - } - return $arr; -} - -/** - * Gets html to display an email address given a public an private key. - * to get a key, go to: - * - * http://www.google.com/recaptcha/mailhide/apikey - */ -function recaptcha_mailhide_html( $pubkey, $privkey, $email ) { - $emailparts = _recaptcha_mailhide_email_parts ( $email ); - $url = recaptcha_mailhide_url ( $pubkey, $privkey, $email ); - - return htmlentities( $emailparts[0] ) . "...@" . htmlentities ( $emailparts [1] ); - -} diff --git a/documentacion/extensions/DynamicPageList/DynamicPageList2.i18n.php b/documentacion/extensions/DynamicPageList/DynamicPageList2.i18n.php deleted file mode 100644 index 54c9933..0000000 --- a/documentacion/extensions/DynamicPageList/DynamicPageList2.i18n.php +++ /dev/null @@ -1,780 +0,0 @@ - - * @version 1.0.5 - * @version 1.0.8 - * removed blank lines at the end of the file - * @version 1.0.9 - * added message: ERR_OpenReferences -*/ - -$wgDPL2Messages = array(); - -/** - * To translate messages into your language, create a $wgDPL2Messages['lang'] array where 'lang' is your language code and take $wgDPL2Messages['en'] as a model. Replace values with appropriate translations. - */ - -$wgDPL2Messages['en'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "ERROR: Wrong '$0' parameter: '$1'! Help: $0= empty string (Main)$3.", - /** - * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) - * $1: wrong parameter given by user - */ - 'dpl2_debug_' . DPL2_ERR_WRONGLINKSTO => "ERROR: Wrong '$0' parameter: '$1'! Help: $0= full pagename.", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => 'ERROR: Too many categories! Maximum: $0. Help: increase $wgDPL2MaxCategoryCount to specify more categories or set $wgDPL2AllowUnlimitedCategories=true for no limitation. (Set the variable in LocalSettings.php, after including DynamicPageList2.php.)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => 'ERROR: Too few categories! Minimum: $0. Help: decrease $wgDPL2MinCategoryCount to specify fewer categories. (Set the variable preferably in LocalSettings.php, after including DynamicPageList2.php.)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "ERROR: You need to include at least one category if you want to use 'addfirstcategorydate=true' or 'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "ERROR: If you include more than one category, you cannot use 'addfirstcategorydate=true' or 'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => 'ERROR: You cannot add more than one type of date at a time!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "ERROR: You can use '$0' with 'ordermethod=[...,]$1' only!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => "ERROR: Cannot perform logical operations on the Uncategorized pages (e.g. with the 'category' parameter) because the $0 view does not exist on the database! Help: have the DB admin execute this query: $1.", - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "WARNING: Unknown parameter '$0' is ignored. Help: available parameters: $1.", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "WARNING: Wrong '$0' parameter: '$1'! Using default: '$2'. Help: $0= $3.", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "WARNING: Wrong '$0' parameter: '$1'! Using default: '$2' (no limit). Help: $0= empty string (no limit) | n, with n a positive integer.", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => 'WARNING: No results!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "WARNING: Add* parameters ('adduser', 'addeditdate', etc.)' and 'includepage' have no effect with 'mode=category'. Only the page namespace/title can be viewed in this mode.", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "WARNING: 'headingmode=$0' has no effect with 'ordermethod' on a single component. Using: '$1'. Help: you can use not-$1 'headingmode' values with 'ordermethod' on multiple components. The first component is used for headings. E.g. 'ordermethod=category,comp' (comp is another component) for category headings.", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "WARNING: 'debug=$0' is not in first position in the DPL element. The new debug settings are not applied before all previous parameters have been parsed and checked.", - /** - * $0: title of page that creates an infinite transclusion loop - */ - 'dpl2_debug_' . DPL2_WARN_TRANSCLUSIONLOOP => "WARNING: An infinite transclusion loop is created by page '$0'.", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => 'QUERY: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => 'There {{PLURAL:$1|is one article|are $1 articles}} in this heading.' -); -$wgDPL2Messages['he'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "?????: ????? '$0' ????: '$1'! ????: $0= ?????? ???? (????)$3. (???? ?????? ?? ????? ??? ??????? ????? ???.)", - /** - * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) - * $1: wrong parameter given by user - */ - 'dpl2_debug_' . DPL2_ERR_WRONGLINKSTO => "?????: ????? '$0' ????: '$1'! ????: $0= ?? ??? ????. (???? ?????? ?????? ???.)", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => '?????: ???????? ???? ???! ???????: $0. ????: ???? ?? $wgDPL2MaxCategoryCount ??? ????? ??? ???????? ?? ?????? $wgDPL2AllowUnlimitedCategories=true ??? ???? ?? ??????. (?????? ?? ?????? ????? LocalSettings.php, ???? ????? DynamicPageList2.php.)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => '?????: ???????? ????? ???! ???????: $0. ????: ?????? ?? $wgDPL2MinCategoryCount ??? ????? ???? ????????. (?????? ?? ?????? ????? LocalSettings.php, ???? ????? DynamicPageList2.php.)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "?????: ????? ?????? ????? ??????? ??? ?? ??????? ?????? ??'addfirstcategorydate=true' ?? ??'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "?????: ?? ??? ??????? ???? ???????? ???, ????? ?????? ?????? ??'addfirstcategorydate=true' ?? ??'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => '?????: ????? ?????? ?????? ???? ???? ??? ?? ????? ?? ?????!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "?????: ????????? ?????? ??'$0' ?? 'ordermethod=[...,]$1' ????!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => "?????: ?? ???? ???? ?????? ?????? ?? ???? ??? ???????? (????, ?? ?????? '???????') ????? ?????? $0 ???? ????? ???? ???????! ????: ???? ??? ??????? ???? ????? ?? ???????: $1.", - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "?????: ????? ??????? ??????? ??? ???? '$0'. ????: ??????? ??????: $1.", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "?????: ????? '$0' ????: '$1'! ????? ?????? ?????: '$2'. ????: $0= $3.", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "?????: ????? '$0' ????: '$1'! ????? ?????? ?????: '$2' (??? ?????). ????: $0= ?????? ???? (??? ?????) | n, ?? n ????? ??? ??????.", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => '?????: ??? ??????!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "?????: ??????* ???????? ('adduser',? 'addeditdate' ??????) ??? ??'includepage' ??? ????? ?? 'mode=category'. ???? ????? ?? ????? ??? ?? ?????? ??? ???? ??.", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "?????: ??'headingmode=$0' ??? ????? ?? 'ordermethod' ?? ???? ????. ????? ?: '$1'. ????: ????????? ?????? ?????? ?? 'headingmode' ????? $1 ?? 'ordermethod' ?? ?????? ??????. ??????? ????? ?????? ??????. ????, 'ordermethod=category,comp' (comp ??? ???? ???) ??????? ????????.", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "?????: 'debug=$0w ??? ?? ????? ?????? ????? ??DPL. ?????? ????? ??????? ?????? ?? ????? ???? ??? ???????? ??????? ?????? ???????.", - /** - * $0: title of page that creates an infinite transclusion loop - */ - 'dpl2_debug_' . DPL2_WARN_TRANSCLUSIONLOOP => "?????: ????? ????? ???????? ????? ??? '$0'.", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => '??????: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => '{{plural:$1|???? $1 ????|???? ?? ???}} ??? ????? ??.' -); -$wgDPL2Messages['it'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "ERRORE nel parametro '$0': '$1'. Suggerimento: $0= stringa vuota (Principale)$3.", - /** - * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) - * $1: wrong parameter given by user - */ - 'dpl2_debug_' . DPL2_ERR_WRONGLINKSTO => "ERRORE nel parametro '$0': '$1'. Suggerimento: $0= nome completo della pagina.", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => 'ERRORE: Categorie sovrabbondanti (massimo $0). Suggerimento: aumentare il valore di $wgDPL2MaxCategoryCount per indicare un numero maggiore di categorie, oppure impostare $wgDPL2AllowUnlimitedCategories=true per non avere alcun limite. (Impostare le variabili nel file LocalSettings.php, dopo l\'inclusione di DynamicPageList2.php.)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => 'ERRORE: Categorie insufficienti (minimo $0). Suggerimento: diminuire il valore di $wgDPL2MinCategoryCount per indicare un numero minore di categorie. (Impostare la variabile nel file LocalSettings.php, dopo l\'inclusione di DynamicPageList2.php.)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "ERRORE: L'uso dei parametri 'addfirstcategorydate=true' e 'ordermethod=categoryadd' richiede l'inserimento di una o pi categorie.", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "ERRORE: L'inserimento di pi categorie impedisce l'uso dei parametri 'addfirstcategorydate=true' e 'ordermethod=categoryadd'.", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => 'ERRORE: Non consentito l\'uso contemporaneo di pi tipi di data.', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "ERRORE: L'uso del parametro '$0' consentito unicamente con 'ordermethod=[...,]$1'.", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => "ERRORE: Impossibile effettuare operazioni logiche sulle pagine prive di categoria (ad es. con il parametro 'category') in quanto il database non contiene la vista $0. Suggerimento: chiedere all'amministratore del database di eseguire la seguente query: $1.", - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "ATTENZIONE: Il parametro non riconosciuto '$0' stato ignorato. Suggerimento: i parametri disponibili sono: $1.", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "ATTENZIONE: Errore nel parametro '$0': '$1'. stato usato il valore predefinito '$2'. Suggerimento: $0= $3.", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "ATTENZIONE: errore nel parametro '$0': '$1'. stato usato il valore predefinito '$2' (nessun limite). Suggerimento: $0= stringa vuota (nessun limite) | n, con n intero positivo.", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => 'ATTENZIONE: Nessun risultato.', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "ATTENZIONE: I parametri add* ('adduser', 'addeditdate', ecc.)' non hanno alcun effetto quando specificato 'mode=category'. In tale modalit vengono visualizzati unicamente il namespace e il titolo della pagina.", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "ATTENZIONE: Il parametro 'headingmode=$0' non ha alcun effetto quando specificato 'ordermethod' su un solo componente. Verr utilizzato il valore '$1'. Suggerimento: posibile utilizzare i valori diversi da $1 per il parametro 'headingmode' nel caso di 'ordermethod' su pi componenti. Il primo componente viene usato per generare i titoli di sezione. Ad es. 'ordermethod=category,comp' (dove comp un altro componente) per avere titoli di sezione basati sulla categoria.", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "ATTENZIONE: Il parametro 'debug=$0' non il primo elemento della sezione DPL. Le nuove impostazioni di debug non verranno applicate prima di aver completato il parsing e la verifica di tutti i parametri che lo precedono.", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => 'QUERY: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => 'Questa sezione contiene {{PLURAL:$1|una voce|$1 voci}}.' -); -$wgDPL2Messages['nl'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "FOUT: Verkeerde parameter '$0': '$1'! Hulp: $0= lege string (Main)$3.", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => 'FOUT: Te veel categorin! Maximum: $0. Hulp: verhoog $wgDPL2MaxCategoryCount om meer categorien op te kunnen geven of stel geen limiet in met $wgDPL2AllowUnlimitedCategories=true. (Neem deze variabele op in LocalSettings.php, na het toevoegen van DynamicPageList2.php.)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => 'FOUT: Te weinig categorien! Minimum: $0. Hulp: verlaag $wgDPL2MinCategoryCount om minder categorien aan te hoeven geven. (Stel de variabele bij voorkeur in via LocalSettings.php, na het toevoegen van DynamicPageList2.php.)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "FOUT: U dient tenminste n categorie op te nemen als u 'addfirstcategorydate=true' of 'ordermethod=categoryadd' wilt gebruiken!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "FOUT: Als u meer dan n categorie opneemt, kunt u 'addfirstcategorydate=true' of 'ordermethod=categoryadd' niet gebruiken!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => 'FOUT: U kunt niet meer dan n type of datum tegelijk gebruiken!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "FOUT: U kunt '$0' alleen met 'ordermethod=[...,]$1' gebruiken!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => $wgDPL2Messages['en']['dpl2_debug_' . DPL2_ERR_NOCLVIEW], - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => $wgDPL2Messages['en']['dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM], - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "WAARSCHUWING: Verkeerde parameter '$0': '$1'! Nu wordt de standaard gebruikt: '$2'. Hulp: $0= $3.", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => $wgDPL2Messages['en']['dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT], - 'dpl2_debug_' . DPL2_WARN_NORESULTS => 'WAARSCHUWING: Geen resultaten!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "WAARSCHUWING: Add* parameters ('adduser', 'addeditdate', etc.)' heeft geen effect bij 'mode=category'. Alleen de paginanaamruimte/titel is in deze modus te bekijken.", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "WAARSCHUWING: 'headingmode=$0' heeft geen effect met 'ordermethod' op een enkele component. Nu wordt gebruikt: '$1'. Hulp: u kunt een niet-$1 'headingmode'-waarde gebruiken met 'ordermethod' op meerdere componenten. De eerste component wordt gebruikt als kop. Bijvoorbeeld 'ordermethod=category,comp' (comp is een ander component) voor categoriekoppen.", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "WAARSCHUWING: 'debug=$0' is niet de eerste positie in het DPL-element. De nieuwe debuginstellingen zijn niet toegepast voor alle voorgaande parameters zijn verwerkt en gecontroleerd.", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => 'QUERY: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => 'Er {{PLURAL:$1|is n pagina|zijn $1 pagina\'s}} onder deze kop.' -); -$wgDPL2Messages['ru'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespacenamespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "??????: ???????????? $0-????????: $1! ?????????: $0= ?????? ?????? (????????)$3.", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => '??????: ??????? ????? ?????????! ????????: $0. ?????????: ???????? $wgDPL2MaxCategoryCount ????? ????????? ?????? ????????? ??? ?????????? $wgDPL2AllowUnlimitedCategories=true ??? ?????? ???????????. (?????????????? ?????????? ? LocalSettings.php, ????? ??????????? DynamicPageList2.php.)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => '??????: ??????? ???? ?????????! ???????: $0. ?????????: ????????? $wgDPL2MinCategoryCount ????? ????????? ?????? ?????????. (?????????????? ?????????? ? LocalSettings.php, ????? ??????????? DynamicPageList2.php.)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "??????: ?? ?????? ???????? ???? ?? ???? ?????????, ???? ?? ?????? ???????????? addfirstcategorydate=true ??? ordermethod=categoryadd!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "??????: ???? ?? ????????? ?????? ????? ?????????, ?? ?? ?? ?????? ???????????? addfirstcategorydate=true ??? ordermethod=categoryadd!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => '??????: ?? ?? ?????? ???????? ????? ?????? ???? ?????? ?? ???!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "??????: ?? ?????? ???????????? $0 ?????? ? ordermethod=[...,]$1!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => $wgDPL2Messages['en']['dpl2_debug_' . DPL2_ERR_NOCLVIEW], - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "??????????????: ??????????? ???????? $0 ??????????????. ?????????: ????????? ?????????: $1.", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "??????????????: ???????????? ???????? $0: $1! ????????????? ????????? ?? ?????????: $2. ?????????: $0= $3.", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "??????????????: ???????????? ???????? $0: $1! ????????????? ????????? ?? ?????????: $2 (??? ???????????). ?????????: $0= ?????? ?????? (??? ???????????) | n, ? n ?????? ?????????????? ?????? ?????.", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => '??????????????: ?? ???????!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "??????????????: ??????????* ?????????? (adduser, addeditdate, ? ??.) ?? ????????????? ? mode=category. ?????? ???????????? ???? ??? ???????? ????? ??????????????? ? ???? ??????.", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "??????????????: headingmode=$0 ?? ???????????? ? ordermethod ? ????? ??????????. ?????????????: $1. ?????????: ?? ?????? ????????????e ??-$1 headingmode ???????? ? ordermethod ?? ????????? ???????????. ?????? ????????? ???????????? ??? ??????????. ????????, ordermethod=category,comp (comp ???????? ?????? ???????????) ??? ?????????? ?????????.", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "??????????????: debug=$0 ?? ????????? ?? ?????? ????? ? DPL-????????. ????? ????????? ??????? ?? ????? ????????? ???? ??? ?????????? ????????? ?? ????? ????????? ? ?????????.", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => '??????: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => '? ???? ????????? $1 {{PLURAL:$1|??????|??????|??????}}.' -); -$wgDPL2Messages['sk'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "CHYBA: nesprvny parameter '$0': '$1'! Pomocnk $0= przdny retazec (Hlavn)$3.", - /** - * $0: 'linksto' (left as $0 just in case the parameter is renamed in the future) - * $1: wrong parameter given by user - */ - 'dpl2_debug_' . DPL2_ERR_WRONGLINKSTO => "CHYBA: Zl parameter '$0': '$1'! Pomocnk $0= pln nzov strnky.", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => 'CHYBA: Prli vela kategri! Maximum: $0. Pomocnk: zvcite $wgDPL2MaxCategoryCount, aby ste mohli pecifikovat viac kategri alebo nastavte $wgDPL2AllowUnlimitedCategories=true pre vypnutie limitu. (Premenn nastatavte v LocalSettings.php, potom ako bol includovan DynamicPageList2.php.)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => 'CHYBA: Prli mlo kategri! Minimum: $0. Pomocnk: znte $wgDPL2MinCategoryCount, aby ste mohli pecifikovat menej kategri. (Premenn nastavte najlepie v LocalSettings.php potom, ako v nom bol includovan DynamicPageList2.php.)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "CHYBA: Muste uviest aspon jednu kategriu ak chcete pouit 'addfirstcategorydate=true' alebo 'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "CHYBA: Ak zahrniete viac ako jednu kategriu, nemete pouit 'addfirstcategorydate=true' alebo 'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => 'CHYBA: Nemete naraz pridat viac ako jeden typ dtumu!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "CHYBA: '$0' mete pouit iba s 'ordermethod=[...,]$1'!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => "CHYBA: Nie je momon vykonvat logick opercie na nekategorizovanch kategrich (napr. s parametrom 'Kategria') lebo neexistuje na databzu pohlad $0! Pomocnk: nech admin databzy vykon tento dotaz: $1.", - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "VAROVANIE: Neznmy parameter '$0' ignorovan. Pomocnk: dostupn parametre: $1.", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "VAROVANIE: Nesprvny '$0' parameter: '$1'! Pouvam tandardn '$2'. Pomocnk: $0= $3.", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "VAROVANIE: Nesprvny parameter '$0': '$1'! Pouvam tandardn: '$2' (bez obmedzenia). Pomocnk: $0= przdny retazec (bez obmedzenia) | n, s kladnm celm cslom n.", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => 'VAROVANIE: No results!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "VAROVANIE: Parametre Add* ('adduser', 'addeditdate', atd' nepracuj s mode=category'. V tomto reime je mon prehliadat iba menn priestor/titulok strnky.", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "VAROVANIE: 'headingmode=$0' nepracuje s 'ordermethod' na jednom komponente. Pouitie: '$1'. Pomocnk: mete pouit not-$1 hodnoty 'headingmode' s 'ordermethod' na viacer komponenty. Prv komponent sa pouva na nadpisy. Napr. 'ordermethod=category,comp' (comp je in komponent) pre nadpisy kategri.", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "VAROVANIE: 'debug=$0' nie je na prvej pozcii v prvku DPL. Nov ladiacie nastavenia nebud pout skr ne bud parsovan a skontrolovan vetky predchdzajce.", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => 'DOTAZ: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => 'V tomto nadpise {{PLURAL:$1|je jeden clnok|s $1 clnky|je $1 clnkov}}.' -); -$wgDPL2Messages['zh-cn'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "??: ??? '$0' ??: '$1'! ??: $0= ????? (?)$3?", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => '??: ????! ???: $0? ??: ?? $wgDPL2MaxCategoryCount ????????????? $wgDPL2AllowUnlimitedCategories=true ?????? (??? DynamicPageList2.php?,?LocalSettings.php??????)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => '??: ????! ???: $0? ??: ?? $wgDPL2MinCategoryCount ??????????? (??? DynamicPageList2.php?,?LocalSettings.php???????????)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "??: ????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd' ,???????????!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "??: ??????????,????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => '??: ???????????????????!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "??: ????? 'ordermethod=[...,]$1' ? '$0' ?!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => $wgDPL2Messages['en']['dpl2_debug_' . DPL2_ERR_NOCLVIEW], - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "??: ????? '$0' ???? ??: ?????: $1?", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "??: ??? '$0' ??: '$1'! ???????: '$2'? ??: $0= $3?", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "??: ??? '$0' ??: '$1'! ???????: '$2' (????)? ??: $0= ????? (????) | n, n???????", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => '??: ???!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "??: ??* ?? ('adduser', 'addeditdate', ?)' ?? 'mode=category' ????????????/??????????????", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "??: ??????, 'ordermethod' ? 'headingmode=$0' ??????? ????: '$1'? ??: ?????$1 'headingmode' ??,??????? 'ordermethod' ????????????????????? 'ordermethod=category,comp' (comp???????) ?", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "??: 'debug=$0' ??????DPL?????????????????????????????????", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => '??: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => '???????$1????' -); -$wgDPL2Messages['zh-tw'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "??: ??? '$0' ??: '$1'! ??: $0= ???? (?)$3?", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => '??: ????! ???: $0? ??: ?? $wgDPL2MaxCategoryCount ????????????? $wgDPL2AllowUnlimitedCategories=true ?????? (??? DynamicPageList2.php?,?LocalSettings.php??????)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => '??: ????! ???: $0? ??: ?? $wgDPL2MinCategoryCount ??????????? (??? DynamicPageList2.php?,?LocalSettings.php???????????)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "??: ????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd' ,???????????!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "??: ??????????,????? 'addfirstcategorydate=true' ? 'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => '??: ???????????????????!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "??: ????? 'ordermethod=[...,]$1' ? '$0' ?!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => $wgDPL2Messages['en']['dpl2_debug_' . DPL2_ERR_NOCLVIEW], - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "??: ????? '$0' ???? ??: ?????: $1?", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "??: ??? '$0' ??: '$1'! ???????: '$2'? ??: $0= $3?", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "??: ??? '$0' ??: '$1'! ???????: '$2' (????)? ??: $0= ???? (????) | n, n???????", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => '??: ???!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "??: ??* ?? ('adduser', 'addeditdate', ?)' ?? 'mode=category' ????????????/??????????????", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "??: ??????, 'ordermethod' ? 'headingmode=$0' ??????? ????: '$1'? ??: ?????$1 'headingmode' ??,??????? 'ordermethod' ????????????????????? 'ordermethod=category,comp' (comp???????) ?", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "??: 'debug=$0' ??????DPL?????????????????????????????????", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => '??: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => '???????$1????' -); -$wgDPL2Messages['zh-yue'] = array( - /* - Debug - */ - // (FATAL) ERRORS - /** - * $0: 'namespace' or 'notnamespace' - * $1: wrong parameter given by user - * $3: list of possible titles of namespaces (except pseudo-namespaces: Media, Special) - */ - 'dpl2_debug_' . DPL2_ERR_WRONGNS => "??: ?? '$0' ??: '$1'! ??: $0= ??? (?)$3?", - /** - * $0: max number of categories that can be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOMANYCATS => '??: ????! ???: $0? ??: ?? $wgDPL2MaxCategoryCount ?????????????? $wgDPL2AllowUnlimitedCategories=true ?????? (??? DynamicPageList2.php??,?LocalSettings.php??????)', - /** - * $0: min number of categories that have to be included - */ - 'dpl2_debug_' . DPL2_ERR_TOOFEWCATS => '??: ????! ???: $0. ??: ?? $wgDPL2MinCategoryCount ??????????? (??? DynamicPageList2.php??,?LocalSettings.php???????????)', - 'dpl2_debug_' . DPL2_ERR_NOSELECTION => "ERROR: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby or their 'not' variants", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTNOINCLUDEDCATS => "??: ?????? 'addfirstcategorydate=true' ?? 'ordermethod=categoryadd' ,???????????!", - 'dpl2_debug_' . DPL2_ERR_CATDATEBUTMORETHAN1CAT => "??: ???????????,????? 'addfirstcategorydate=true' ?? 'ordermethod=categoryadd'!", - 'dpl2_debug_' . DPL2_ERR_MORETHAN1TYPEOFDATE => '??: ???????????????????!', - /** - * $0: param=val that is possible only with $1 as last 'ordermethod' parameter - * $1: last 'ordermethod' parameter required for $0 - */ - 'dpl2_debug_' . DPL2_ERR_WRONGORDERMETHOD => "??: ????? 'ordermethod=[...,]$1' ? '$0' ?!", - /** - * $0: the number of arguments in includepage - */ - 'dpl2_debug_' . DPL2_ERR_DOMINANTSECTIONRANGE => "ERROR: the index for the dominant section must be between 1 and the number of arguments of includepage ($0 in this case)", - /** - * $0: prefix_dpl_clview where 'prefix' is the prefix of your mediawiki table names - * $1: SQL query to create the prefix_dpl_clview on your mediawiki DB - */ - 'dpl2_debug_' . DPL2_ERR_NOCLVIEW => $wgDPL2Messages['en']['dpl2_debug_' . DPL2_ERR_NOCLVIEW], - 'dpl2_debug_' . DPL2_ERR_OPENREFERENCES => 'ERROR: specifying "openreferences" is incompatible with some other option you specified. See the manual for details.', - - // WARNINGS - /** - * $0: unknown parameter given by user - * $1: list of DPL2 available parameters separated by ', ' - */ - 'dpl2_debug_' . DPL2_WARN_UNKNOWNPARAM => "??: ????? '$0' ???? ??: ?????: $1?", - /** - * $3: list of valid param values separated by ' | ' - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM => "??: ??? '$0' ??: '$1'! ?????: '$2'? ??: $0= $3?", - /** - * $0: param name - * $1: wrong param value given by user - * $2: default param value used instead by program - */ - 'dpl2_debug_' . DPL2_WARN_WRONGPARAM_INT => "??: ??? '$0' ??: '$1'! ?????: '$2' (???)? ??: $0= ??? (???) | n, n???????", - 'dpl2_debug_' . DPL2_WARN_NORESULTS => '??: ???!', - 'dpl2_debug_' . DPL2_WARN_CATOUTPUTBUTWRONGPARAMS => "??: ??* ?? ('adduser', 'addeditdate', ?)' ?? 'mode=category' ???????????/??????????????", - /** - * $0: 'headingmode' value given by user - * $1: value used instead by program (which means no heading) - */ - 'dpl2_debug_' . DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD => "??: ??????, 'ordermethod' ?? 'headingmode=$0' ?????? ??: '$1'? ??: ?????$1 'headingmode' ??,??????? 'ordermethod' ?????????????????????? 'ordermethod=category,comp' (comp???????) ?", - /** - * $0: 'debug' value - */ - 'dpl2_debug_' . DPL2_WARN_DEBUGPARAMNOTFIRST => "??: 'debug=$0' ??????DPL??????????????????????????????????", - - // OTHERS - /** - * $0: SQL query executed to generate the dynamic page list - */ - 'dpl2_debug_' . DPL2_QUERY => '??: $0', - - /* - Output formatting - */ - /** - * $1: number of articles - */ - 'dpl2_articlecount' => '???????$1???' -); -$wgDPL2Messages['zh-hk'] = $wgDPL2Messages['zh-tw']; -$wgDPL2Messages['zh-sg'] = $wgDPL2Messages['zh-cn']; -?> \ No newline at end of file diff --git a/documentacion/extensions/DynamicPageList/DynamicPageList2.php b/documentacion/extensions/DynamicPageList/DynamicPageList2.php deleted file mode 100644 index 63db54e..0000000 --- a/documentacion/extensions/DynamicPageList/DynamicPageList2.php +++ /dev/null @@ -1,3709 +0,0 @@ - - * @author m:User:Algorithmix - * @license http://opensource.org/licenses/gpl-license.php GNU Public License - * @version 0.9.1 - * problem with adduser solved - * @version 0.9.2 - * problem with headlines in headingmode corrected - * addcategories: bug fixed - * CATLIST variable defined - * @version 0.9.3 - * allow as an alias for | - * escapelinks= introduced - * @version 0.9.4 - * allow "-" with categories = - * disable UTF8 conversion for sortkey - * headingcount= added - * @version 0.9.5 - * "offset=" added (basic mechanism for scrolling through result lists) - * @version 0.9.6 - * when including templates (includepage={xx}yy) spaces between {{ and the template name now will be accepted - * syntax and semantics of secseparators changed - * multiple template includes allowed (multisecseparators) - * multiple chapter inclusions of the same heading allowed (multisecseparators) - * single # includes text up to the first heading - * userdateformat introduced - * changed call-time reference passing to avoid warn message - * TITLE var added - * @version 0.9.7 - * bug corrected with transclusion of labeled sections - * addfirstcategory works with more than one category selected (risking to produce ambiguous results) - * @version 0.9.8 - * fixed problem with section inclusion (multipl einclusion of same page did not work wit user tag variant - * NOTOC and NOEDITSECTION are automatically placed before mode=category - * PAGE and TITLE variables passed to templates - * linksto, uses, titlematch and their not-equivalents now understand a set arguments which form an OR-group - * @version 0.9.9 - * default template inclusion added - * rowcolformat added - * multicol tag understands now %PAGE% and other parameters - * @version 1.0.0 - * lastrevisionbefore added - * allrevisionsbefore added - * firstrevisionsince added - * allrevisionssince added - * dominantsection added - * replaceintitle added - * @version 1.0.1 - * include as an alias for pageinclude - * title= introduced - * @version 1.0.2 - * categorymatch and notcategorymatch introduced - * categoryregexp and notcategoryregexp introduced - * titleregexp and nottitleregexp introduced - * @version 1.0.3 - * behaviour of categoryregexp slightly changed - * @version 1.0.4 - * added linksfrom - * @version 1.0.5 - * added createdby, notcreatedby, modifiedby, notmodifiedby, lastmodifiedby, notlastmodifiedby - * @version 1.0.6 - * allow selection criteria based on included contents - * @version 1.0.7 - * some improvements of includematch (regarding multiple occurencies of the same section) - * @version 1.0.8 - * added notlinksfrom - * solved problem with invalid arguments at linksto, linksfrom etc. - * includematch now tests template INPUT against the regexp - * replaceintitle now also works in standard mode - * @version 1.0.9 - * added openreferences - * @version 1.1.0 - * changed parser cache disabling - * @version 1.1.1 - * experimental support for simple category hierarchies - * @version 1.1.2 - * allow to include sections by number - * @version 1.1.3 - * bug fix for 1.1.2 (pass by reference warning) - * @version 1.1.4 - * technical improvement, more flexible argument parsing at DynamicPageList4() - * easy access at include for one single template parameter - * activation of first version of special page (require once) - * allow comment syntax with # - * date parameters now accept separation characters - * @version 1.1.5 - * allow cache control via new parameter - * @version 1.1.6 - * bug fix for template inclusion - * @version 1.1.7 - * removed path from require_once for special page php source - * @version 1.1.8 - * addauthor, addlasteditor, goal=categories - * @version 1.1.9 - * ordermethod=titlewithoutnamespace - * @version 1.2.0 - * replaced " by ' in SQL statements - * @version 1.2.1 - * added missing $dbr->addQuotes() on SQL arguments - * titlemaxlength now also works with mode=userformat - * @version 1.2.2 - * added variable CATNAMES (i.e. category list without links) - * changed code to allow multiple selection conditions on revisions - * @version 1.2.3 - * accept %0 for transclusion of text before the first chapter - * added experimental feature for graph generation - * @version 1.2.4 - * error corrected: ordermethod "sortkey" did not work because of missing break in case statement - * removed experimental feature for graph generation - * repair error with wrong counting of selected articles - * @version 1.2.5 - * added includenotmatch - * @version 1.2.6 - * added 'distinct' option - * added '%PAGESEL%' variable - * linksto, linksfrom etc. no longer complain about empty parameters - * changed SQL query basics to allow duplicate use of page table; - * linksto and linksfrom may cause SQL syntax trouble if something was missed - * @version 1.2.7 - * bugfix with %PAGES% and multicolumn output - * bugfix with undefined variable sPageTable near #2257 - * @version 1.2.8 - * syntax - allow 'format' as an alias for 'listseparators' - * syntax - if 'format' or 'listseparators' is set, 'mode=userformat' will be automatically assumed - * internal - empty parameters are silently ignored - * @version 1.2.9 - * resultsfooter - * \n and Para will be replaced by linefeed in resultsheader and -footer - * parameter recognition in 'include={template}:nameOrNumber' improved; nested template calls are now handled correctly - * @version 1.3.0 - * accept 'yes' and 'no' as synonyms for 'true' and 'false' at all boolean parameters - * @version 1.3.1 - * minor modification: resultsheader and resultsfooter do no longer automatically write a newline - * @version 1.3.2 - * the warning caused by missing selection criteria will now only be issued if no DEBUG level was set - * %NAMESPACE% added - * headingmode now works with multiple columns (space for 1 heading == 2 entries) - * bugfix: parameter syntax errors were not shown in some cases - * new parameter: reset (clears references of a DPL page to templates, images, categories, other pages - * to be used with care as ALL links are cleared, regardless where they come from - * bugfix: ambiguous 'page_name' in SQL statement fixed (appeared when namespace= and linksfrom= were used together) - * modification: includematch: uses always preg instead of ereg - patterns must have delimiters! Before #patterns - * had been matched using ereg - * ?? includematch should be checked to be a valid preg_match argument - * added oneresultheader - * @version 1.3.3 - * bugfix: parameter checking fixed at 'ordermethod'; multiple parameters were not checked correctly - * @version 1.3.4 - * column size calculation changed at multi column output - * ambiguity of page_id at linksfrom+...(e.g. uses) eliminated. - * subcategory expansion: replace ' ' by '_' in query - * @version 1.3.5 - * bug at ordermethod=category,sortkey resolved - * @version 1.3.6 - * special page for DPL deleted - * allow individual collations for sorting, this makes case insensitive sorting possible - * hardwired collation change: for sorting the club suit symbol's sort value is changed - * so that the club suit will always appear AFTER the diamond suit - * bugfix: %PAGES% did not work in mode=category - * added a switch to include/exclude subpages - * @version 1.3.7 - * allow 0 and 1 for boolean parameters, and on / off - * bugfix: in release 1.3.6 using odermethod=sortkey led to a SQL syntax error - * @version 1.3.8 - * bugfix at template parameter etxraction: balance of square brackets is now checked when extracting a single parameter - * @version 1.3.9 - * added pagesel as sortkey in ordermethod - * added noresultsfooter, oneresultfooter - * added 'table' parameter -- needs a {xyz}.dpl construct as first include parameter - * @version 1.4.0 - * added option 'strict' to 'distinct' - * @version 1.4.1 - * minor bugfix at option 'strict' of 'distinct' - * behaviour of DEBUG changed - * @version 1.4.2 - * bug fix SQL error in 'group by' clause (with table prefix) - * bugfix: ordermethod sortkey now implies ordermethod category - * bugfix: SQL error in some constellations using addpagecounter, addpagesize or add...date - * allow multiple parameters of a template to be returned directly as table columns - * design change: reset is handled differently now; no need for a separate DPL statement - * new parameter 'eliminate' - * debug=5 added - * added 'tablerow' - * added 'ignorecase' (for (not)linksto, (not)uses, (not)titlematch, (not)titleregexp, title, - * @version 1.4.3 - * allow regular expression for heading match at include - * @version 1.4.4 - * bugfix: handling of numeric template parameters - * @version 1.4.5 - * bugfix: make Call extension aware of browser differences in session variable handling - * @version 1.4.6 - * added: recent contributions per page/user - * @version 1.4.7 - * added: skipthispage - * @version 1.4.8 - * nothing changed in DPL, but there were changes in Call and Wgraph - */ - -define('DPL2_VERSION', '1.4.8'); // current version - - - - -/** - * Register the extension with MediaWiki - */ - -// register as a parser function {{#dpl: -$wgExtensionFunctions[] = 'wfDynamicPageList3'; -$wgHooks['LanguageGetMagic'][] = 'wfDynamicPageList3_Magic'; - -// register as a user tag -$wgExtensionFunctions[] = 'wfDynamicPageList2'; -$wgExtensionCredits['parserhook'][] = array( - 'name' => 'DynamicPageList2', - 'author' => '[http://en.wikinews.org/wiki/User:IlyaHaykinson IlyaHaykinson], [http://en.wikinews.org/wiki/User:Amgine Amgine],' - .'[http://de.wikipedia.org/wiki/Benutzer:Unendlich Unendlich], [http://meta.wikimedia.org/wiki/User:Dangerman Cyril Dangerville],' - .'[http://de.wikipedia.org/wiki/Benutzer:Algorithmix Algorithmix]', - 'url' => 'http://www.mediawiki.org/wiki/Extension:DynamicPageList', - 'description' => 'based on [http://www.mediawiki.org/wiki/Extension:DynamicPageList DynamicPageList], featuring many improvements', - 'version' => DPL2_VERSION - ); - -/** - * Extension options - */ -$wgDPL2MaxCategoryCount = 4; // Maximum number of categories allowed in the Query -$wgDPL2MinCategoryCount = 0; // Minimum number of categories needed in the Query -$wgDPL2MaxResultCount = 500; // Maximum number of results to allow -$wgDPL2CategoryStyleListCutoff = 6; //Max length to format a list of articles chunked by letter as bullet list, if list bigger, columnar format user (same as cutoff arg for CategoryPage::formatList()) -$wgDPL2AllowUnlimitedCategories = true; // Allow unlimited categories in the Query -$wgDPL2AllowUnlimitedResults = false; // Allow unlimited results to be shown -$wgDPL2AllowedNamespaces = NULL; // to be initialized at first use of DPL2, array of all namespaces except Media and Special, because we cannot use the DB for these to generate dynamic page lists. - // Cannot be customized. Use $wgDPL2Options['namespace'] or $wgDPL2Options['notnamespace'] for customization. - -/** - * Map parameters to possible values. - * A 'default' key indicates the default value for the parameter. - * A 'pattern' key indicates a pattern for regular expressions (that the value must match). - * For some options (e.g. 'namespace'), possible values are not yet defined but will be if necessary (for debugging) - */ -$wgDPL2Options = array( - 'addcategories' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addpagecounter' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addpagesize' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addeditdate' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addfirstcategorydate' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addpagetoucheddate' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'adduser' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addauthor' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addcontribution' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'addlasteditor' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'allowcachedresults' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - 'userdateformat' => array('default' => ''), - - 'goal' => array('default' => 'pages', 'pages', 'categories'), - - /** - * category= Cat11 | Cat12 | ... - * category= Cat21 | Cat22 | ... - * ... - * [Special value] catX='' (empty string without quotes) means pseudo-categoy of Uncategorized pages - * Means pages have to be in category (Cat11 OR (inclusive) Cat2 OR...) AND (Cat21 OR Cat22 OR...) AND... - * If '+' prefixes the list of categories (e.g. category=+ Cat1 | Cat 2 ...), only these categories can be used as headings in the DPL. See 'headingmode' param. - * If '-' prefixes the list of categories (e.g. category=- Cat1 | Cat 2 ...), these categories will not appear as headings in the DPL. See 'headingmode' param. - * Magic words allowed. - * @todo define 'category' options (retrieve list of categories from 'categorylinks' table?) - */ - 'category' => NULL, - /** - * Min and Max of categories allowed for an article - */ - 'categoriesminmax' => array('default' => '', 'pattern' => '/^\d*,?\d*$/'), - /** - * number of results which shall be skipped before display starts - * default is 0 - */ - 'offset' => array('default' => '0', 'pattern' => '/^\d*$/'), - /** - * Max of results to display, selection is based on random. - */ - 'count' => array('default' => '', 'pattern' => '/^\d*$/'), - /** - * Max number of results to display, selection is based on random. - */ - 'randomcount' => array('default' => '', 'pattern' => '/^\d*$/'), - /** - * shall the result set be distinct (=default) or not? - */ - 'distinct' => array('default' => 'true', 'strict', 'false', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * number of columns for output, default is 1 - */ - 'columns' => array('default' => '', 'pattern' => '/^\d+$/'), - /** - * number of rows for output, default is 1 - * note: a "row" is a group of lines for which the heading tags defined in listseparators/format will be repeated - */ - 'rows' => array('default' => '', 'pattern' => '/^\d+$/'), - /** - * number of elements in a rows for output, default is "all" - * note: a "row" is a group of lines for which the heading tags defined in listeseparators will be repeated - */ - 'rowsize' => array('default' => '', 'pattern' => '/^\d+$/'), - /** - * the html tags used for columns and rows - */ - 'rowcolformat' => array('default' => ''), - /** - * debug=... - * - 0: displays no debug message; - * - 1: displays fatal errors only; - * - 2: fatal errors + warnings only; - * - 3: every debug message. - * - 4: The SQL statement as an echo before execution. - */ - 'debug' => array( 'default' => '2', '0', '1', '2', '3', '4', '5'), - /** - * reset=.. - * categories: remove all category links which have been defined before the dpl call, - * typically resulting from template calls or transcluded contents - * templates: the same with templates - * images: the same with images - * links: the same with internal and external links, throws away ALL links, not only DPL generated links! - * all all of the above - */ - 'reset' => array( 'default' => '', 'categories', 'templates', 'links', 'images', 'all'), - /** - * eliminate=.. avoid creating unnecessary backreferences which point to to DPL results. - * it is expensive (in terms of performance) but more precise than "reset" - * categories: eliminate all category links which result from a DPL call (by transcluded contents) - * templates: the same with templates - * images: the same with images - * links: the same with internal and external links - * all all of the above - */ - 'eliminate' => array( 'default' => '', 'categories', 'templates', 'links', 'images', 'all'), - /** - * Mode at the heading level with ordermethod on multiple components, e.g. category heading with ordermethod=category,...: - * html headings (H2, H3, H4), definition list, no heading (none), ordered, unordered. - */ - 'headingmode' => array( 'default' => 'none', 'H2', 'H3', 'H4', 'definition', 'none', 'ordered', 'unordered'), - /** - * we can display the number of articles within a heading group - */ - 'headingcount' => array( 'default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * Attributes for HTML list items (headings) at the heading level, depending on 'headingmode' (e.g. 'li' for ordered/unordered) - * Not yet applicable to 'headingmode=none | definition | H2 | H3 | H4'. - * @todo Make 'hitemattr' param applicable to 'none', 'definition', 'H2', 'H3', 'H4' headingmodes. - * Example: hitemattr= class="topmenuli" style="color: red;" - */ - 'hitemattr' => array('default' => ''), - /** - * Attributes for the HTML list element at the heading/top level, depending on 'headingmode' (e.g. 'ol' for ordered, 'ul' for unordered, 'dl' for definition) - * Not yet applicable to 'headingmode=none'. - * @todo Make 'hlistattr' param applicable to headingmode=none. - * Example: hlistattr= class="topmenul" id="dmenu" - */ - 'hlistattr' => array('default' => ''), - /** - * PAGE TRANSCLUSION: includepage=... or include=... - * To include the whole page, use a wildcard: - * includepage =* - * To include sections labeled 'sec1' or 'sec2' or... from the page (see the doc of the LabeledSectionTransclusion extension for more info): - * includepage = sec1,sec2,.. - * To include from the first occurrence of the heading 'heading1' (resp. 'heading2') until the next heading of the same or lower level. Note that this comparison is case insensitive. (See http://www.mediawiki.org/wiki/Extension:Labeled_Section_Transclusion#Transcluding_visual_headings.) : - * includepage = #heading1,#heading2,.... - * You can combine: - * includepage= sec1,#heading1,... - * To include nothing from the page (no transclusion), leave empty: - * includepage = - */ - 'includepage' => array('default' => ''), - /** - * make comparisons (linksto, linksfrom ) case insensitive - */ - 'ignorecase' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * includesubpages default is TRUE - */ - 'includesubpages' => array('default' => 'true', 'false', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * includematch=..,.. allows to specify regular expressions which must match the included contents - */ - 'includematch' => array('default' => ''), - /** - * includenotmatch=..,.. allows to specify regular expressions which must NOT match the included contents - */ - 'includenotmatch' => array('default' => ''), - /** - * Inline text is some wiki text used to separate list items with 'mode=inline'. - */ - 'inlinetext' => array('default' => ' - '), - /** - * Max # characters of included page to display. - * Empty value (default) means no limit. - * If we include setcions the limit will apply to each section. - */ - 'includemaxlength' => array('default' => '', 'pattern' => '/^\d*$/'), - /** - * Attributes for HTML list items, depending on 'mode' ('li' for ordered/unordered, 'span' for others). - * Not applicable to 'mode=category'. - * @todo Make 'itemattr' param applicable to 'mode=category'. - * Example: itemattr= class="submenuli" style="color: red;" - */ - 'itemattr' => array('default' => ''), - /** - * listseparators is an array of four tags (in html or wiki syntax) which defines the output of DPL2 - * if mode = 'userformat' was specified. - * '\n' or '' in the input will be interpreted as a newline character. - * '%xxx%' in the input will be replaced by a corresponding value (xxx= PAGE, NR, COUNT etc.) - * t1 and t4 are the "outer envelope" for the whole result list, - * t2,t3 form an inner envelope around the article name of each entry. - * Examples: listseparators={|,,\n#[[%PAGE%]] - * Note: use of html tags is discouraged; the first example is better written as: - * : listseparators={|,\n|-\n|[[%PAGE%]],,\n|} - */ - 'listseparators' => array('default' => ''), - /** - * sequence of four html tags (separated by ",") to be used together with mode = 'userformat' - * t1 and t4 define an outer frame for the article list - * t2 and t3 build an inner frame for each article name - * example: listattr=
    ,
  • ,
  • ,
- */ - 'listattr' => array('default' => ''), - /** - * this parameter restricts the output to articles which can reached via a link from the specified pages. - * Examples: linksfrom=my article|your article - */ - 'linksfrom' => array('default' => ''), - /** - * this parameter restricts the output to articles which contain a reference to one of the specified pages. - * Examples: linksto=my article|your article , linksto=Template:my template , linksto = {{FULLPAGENAME}} - */ - 'linksto' => array('default' => ''), - /** - * this parameter restricts the output to articles which do not contain a reference to the specified page. - */ - 'notlinksto' => array('default' => ''), - /** - * this parameter restricts the output to articles which use the specified template. - * Examples: uses=Template:my template - */ - 'uses' => array('default' => ''), - /** - * this parameter restricts the output to articles which do not use the specified template. - * Examples: notuses=Template:my template - */ - 'notuses' => array('default' => ''), - /** - * allows to specify a username who must be the first editor of the pages we select - */ - 'createdby' => NULL, - /** - * allows to specify a username who must not be the first editor of the pages we select - */ - 'notcreatedby' => NULL, - /** - * allows to specify a username who must be among the editors of the pages we select - */ - 'modifiedby' => NULL, - /** - * allows to specify a username who must not be among the editors of the pages we select - */ - 'notmodifiedby' => NULL, - /** - * allows to specify a username who must be the last editor of the pages we select - */ - 'lastmodifiedby' => NULL, - /** - * allows to specify a username who must not be the last editor of the pages we select - */ - 'notlastmodifiedby' => NULL, - /** - * Mode for list of pages (possibly within a heading, see 'headingmode' param). - * 'none' mode is implemented as a specific submode of 'inline' with
as inline text - * 'userformat' does not produce any html tags unless 'listseparators' are specified - */ - 'mode' => array('default' => 'unordered', 'category', 'inline', 'none', 'ordered', 'unordered', 'userformat'), - /** - * by default links to articles of type image or category are escaped (i.e. they appear as a link and do not - * actually assign the category or show the image; this can be changed. - * 'true' default - * 'false' images are shown, categories are assigned to the current document - */ - 'escapelinks' => array('default' => 'true','false', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * by default the oage containingthe query will not be part of the result set. - * This can be changed via 'skipthispage=no'. This should be used with care as it may lead to - * problems which are hard to track down, esp. in combination with contents transclusion. - */ - 'skipthispage' => array('default' => 'true','false', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * namespace= Ns1 | Ns2 | ... - * [Special value] NsX='' (empty string without quotes) means Main namespace - * Means pages have to be in namespace Ns1 OR Ns2 OR... - * Magic words allowed. - */ - 'namespace' => NULL, - /** - * notcategory= Cat1 - * notcategory = Cat2 - * ... - * Means pages can be NEITHER in category Cat1 NOR in Cat2 NOR... - * Magic words allowed. - * @todo define 'notcategory' options (retrieve list of categories from 'categorylinks' table?) - */ - 'notcategory' => NULL, - /** - * notnamespace= Ns1 - * notnamespace= Ns2 - * ... - * [Special value] NsX='' (empty string without quotes) means Main namespace - * Means pages have to be NEITHER in namespace Ns1 NOR Ns2 NOR... - * Magic words allowed. - */ - 'notnamespace' => NULL, - /** - * title is the exact name of a page; this is useful if you want to use DPL - * just for contents inclusion; mode=userformat is automatically implied with title= - */ - 'title' => NULL, - /** - * titlematch is a (SQL-LIKE-expression) pattern - * which restricts the result to pages matching that pattern - */ - 'titlematch' => NULL, - /** - * nottitlematch is a (SQL-LIKE-expression) pattern - * which excludes pages matching that pattern from the result - */ - 'nottitlematch' => NULL, - 'order' => array('default' => 'ascending', 'ascending', 'descending'), - /** - * we can specify something like "latin1_swedish_ci" for case insensitive sorting - */ - 'ordercollation' => array('default' => ''), - /** - * 'ordermethod=param1,param2' means ordered by param1 first, then by param2. - * @todo: add 'ordermethod=category,categoryadd' (for each category CAT, pages ordered by date when page was added to CAT). - */ - 'ordermethod' => array('default' => 'title', 'counter', 'size', 'category', 'sortkey', - 'category,firstedit', 'category,lastedit', 'category,pagetouched', 'category,sortkey', - 'categoryadd', 'firstedit', 'lastedit', 'pagetouched', 'pagesel', - 'title', 'titlewithoutnamespace', 'user', 'user,firstedit', 'user,lastedit'), - /** - * minoredits =... (compatible with ordermethod=...,firstedit | lastedit only) - * - exclude: ignore minor edits when sorting the list (rev_minor_edit = 0 only) - * - include: include minor edits - */ - 'minoredits' => array('default' => 'include', 'exclude', 'include'), - /** - * lastrevisionbefore = select the latest revision which was existent before the specified point in time - */ - 'lastrevisionbefore' => array('default' => '', 'pattern' => '#^[-./:0-9]+$#'), - /** - * allrevisionsbefore = select the revisions which were created before the specified point in time - */ - 'allrevisionsbefore' => array('default' => '', 'pattern' => '#^[-./:0-9]+$#'), - /** - * firstrevisionsince = select the first revision which was created after the specified point in time - */ - 'firstrevisionsince' => array('default' => '', 'pattern' => '#^[-./:0-9]+$#'), - /** - * allrevisionssince = select the latest revisions which were created after the specified point in time - */ - 'allrevisionssince' => array('default' => '', 'pattern' => '#^[-./:0-9]+$#'), - /** - * noresultsheader / footer is some wiki text which will be output (instead of a warning message) - * if the result set is empty; setting 'noresultsheader' to something like ' ' will suppress - * the warning about empty result set. - */ - 'noresultsheader' => array('default' => ''), - 'noresultsfooter' => array('default' => ''), - /** - * oneresultsheader / footer is some wiki text which will be output - * if the result set contains exactly one entry. - */ - 'oneresultheader' => array('default' => ''), - 'oneresultfooter' => array('default' => ''), - /** - * openreferences =... - * - no: excludes pages which do not exist (=default) - * - yes: includes pages which do not exist -- this conflicts with some other options - * - only: show only non existing pages [ not implemented so far ] - */ - 'openreferences' => array('default' => 'false', 'true', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * redirects =... - * - exclude: excludes redirect pages from lists (page_is_redirect = 0 only) - * - include: allows redirect pages to appear in lists - * - only: lists only redirect pages in lists (page_is_redirect = 1 only) - */ - 'redirects' => array('default' => 'exclude', 'exclude', 'include', 'only'), - /** - * resultsheader / footer is some wiki text which will be output before / after the result list - * (if there is at least one result); if 'oneresultheader / footer' is specified it will only be - * used if there are at least TWO results - */ - 'resultsheader' => array('default' => ''), - 'resultsfooter' => array('default' => ''), - /** - * secseparators is a sequence of pairs of tags used to separate sections (see "includepage=name1, name2, ..") - * each pair corresponds to one entry in the includepage command - * if only one tag is given it will be used for all sections as a start tag (end tag will be empty then) - */ - 'secseparators' => array('default' => ''), - /** - * multisecseparators is a list of tags (which correspond to the items in includepage) - * and which are put between identical sections included from the same file - */ - 'multisecseparators' => array('default' => ''), - /** - * dominantSection is the number (starting from 1) of an includepage argument which shall be used - * as a dominant value set for the creation of additional output rows (one per value of the - * dominant column - */ - 'dominantsection' => array('default' => '0', 'pattern' => '/^\d*$/'), - /** - * shownamespace decides whether to show the namespace prefix or not - */ - 'shownamespace' => array('default' => 'true', 'false', 'no', 'yes', '0', '1', 'off', 'on'), - /** - * replaceintitle applies a regex replacement to %TITLE% - */ - 'replaceintitle' => array('default' => ''), - /** - * table is a short hand for combined values of listseparators, colseparators and mulicolseparators - */ - 'table' => array('default' => ''), - /** - * tablerow allows to define individual formats for table columns - */ - 'tablerow' => array('default' => ''), - /** - * Max # characters of page title to display. - * Empty value (default) means no limit. - * Not applicable to mode=category. - */ - 'titlemaxlength' => array('default' => '', 'pattern' => '/^\d*$/') -); - -/** - * Define codes and map debug message to min debug level above which message can be displayed - */ -$wgDPL2DebugCodes = array( - // (FATAL) ERRORS - 'DPL2_ERR_WRONGNS' => 1, - 'DPL2_ERR_WRONGLINKSTO' => 1, - 'DPL2_ERR_TOOMANYCATS' => 1, - 'DPL2_ERR_TOOFEWCATS' => 1, - 'DPL2_ERR_NOSELECTION' => 1, - 'DPL2_ERR_CATDATEBUTNOINCLUDEDCATS' => 1, - 'DPL2_ERR_CATDATEBUTMORETHAN1CAT' => 1, - 'DPL2_ERR_MORETHAN1TYPEOFDATE' => 1, - 'DPL2_ERR_WRONGORDERMETHOD' => 1, - 'DPL2_ERR_DOMINANTSECTIONRANGE' => 1, - 'DPL2_ERR_NOCLVIEW' => 1, - 'DPL2_ERR_OPENREFERENCES' => 1, - // WARNINGS - 'DPL2_WARN_UNKNOWNPARAM' => 2, - 'DPL2_WARN_WRONGPARAM' => 2, - 'DPL2_WARN_WRONGPARAM_INT' => 2, - 'DPL2_WARN_NORESULTS' => 2, - 'DPL2_WARN_CATOUTPUTBUTWRONGPARAMS' => 2, - 'DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD' => 2, - 'DPL2_WARN_DEBUGPARAMNOTFIRST' => 2, - 'DPL2_WARN_TRANSCLUSIONLOOP' => 2, - // OTHERS - 'DPL2_QUERY' => 3 -); -$wgDPL2DebugMinLevels = array(); -$i = 0; -foreach ($wgDPL2DebugCodes as $name => $minlevel ) { - define( $name, $i ); - $wgDPL2DebugMinLevels[$i] = $minlevel; - $i++; - -} - -global $DPLcreatedLinks; // the links created by DPL are collected here; - // they can be removed during the final ouput phase of the MediaWiki parser -if (!isset($DPLcreatedLinks)) { - $DPLcreatedLinks=array( - 'resetLinks'=> false, 'resetTemplates' => false, - 'resetCategories' => false, 'resetImages' => false, 'resetdone' => false ); -} - -// Internationalization file -require_once( 'DynamicPageList2.i18n.php' ); - -// Page Transclusion, adopted from Steve Sanbegs LabeledSectionTransclusion -require_once( 'DynamicPageList2Include.php' ); - -function wfDynamicPageList2() { - // register the callback for the user tag - global $wgParser, $wgMessageCache, $wgDPL2Messages; - foreach( $wgDPL2Messages as $sLang => $aMsgs ) { - $wgMessageCache->addMessages( $aMsgs, $sLang ); - } - $wgParser->setHook( "DPL", "DynamicPageList2" ); - $wgParser->setHook( 'section', 'removeSectionMarkers' ); - -} - -function DPLArgBoolean($arg) { - return ($arg=='true' || $arg=='yes' || $arg=='1' || $arg=='on'); -} - -//------------------------------------------------------------------------------------- ENTRY parser TAG -// The callback function wrapper for converting the input text to HTML output -function DynamicPageList2( $input, $params, &$parser ) { - // entry point for user tag - // create list and do a recursive parse of the output - - // $dump1 = dumpParsedRefs($parser,"before DPL tag"); - $text = DynamicPageList($input, $params, $parser, $reset, 'tag'); - // $dump2 = dumpParsedRefs($parser,"after DPL tag"); - if ($reset[1]) { // we can remove the templates by save/restore - $saveTemplates = $parser->mOutput->mTemplates; - } - if ($reset[2]) { // we can remove the categories by save/restore - $saveCategories = $parser->mOutput->mCategories; - } - if ($reset[3]) { // we can remove the images by save/restore - $saveImages = $parser->mOutput->mImages; - } - $parsedDPL = $parser->recursiveTagParse($text); - if ($reset[1]) { // TEMPLATES - $parser->mOutput->mTemplates =$saveTemplates; - } - if ($reset[2]) { // CATEGORIES - $parser->mOutput->mCategories =$saveCategories; - } - if ($reset[3]) { // IMAGES - $parser->mOutput->mImages =$saveImages; - } - // $dump3 = dumpParsedRefs($parser,"after tag parse"); - // return $dump1.$parsedDPL.$dump2.$dump3; - return $parsedDPL; -} - -//---------------------------------------------------------------------------- variant as a parser #function - -function wfDynamicPageList3() -{ - // register the function hook for {{#dpl: - global $wgParser; - $wgParser->setFunctionHook( 'dpl', 'wfDynamicPageList4' ); -} - -function wfDynamicPageList3_Magic( &$magicWords, $langCode ) { - # Add the magic word - # The first array element is case sensitivity, in this case it is not case sensitive - # All remaining elements are synonyms for our parser function - $magicWords['dpl'] = array( 0, 'dpl' ); - # unless we return true, other parser functions extensions won't get loaded. - return true; -} - -function wfDynamicPageList4(&$parser) -{ - // callback for the parser function {{#dpl: - $params = array(); - $input=""; - - $numargs = func_num_args(); - if ($numargs < 2) { - $input = "#dpl: no arguments specified"; - return str_replace('','<','pre>nowiki>'.$input.'/nowiki>/pre>'); - } - - // fetch all user-provided arguments (skipping $parser) - $arg_list = func_get_args(); - for ($i = 1; $i < $numargs; $i++) { - $p1 = $arg_list[$i]; - $input .= str_replace("\n","",$p1) ."\n"; - } - // for debugging you may want to uncomment the following statement - //return str_replace('','<','pre>nowiki>'.$input.'/nowiki>/pre>'); - - - // $dump1 = dumpParsedRefs($parser,"before DPL func"); - // $text = DynamicPageList($input, $params, $parser, $reset, 'func'); - // $dump2 = dumpParsedRefs($parser,"after DPL func"); - // return $dump1.$text.$dump2; - - return DynamicPageList($input, $params, $parser, $reset, 'func'); -} - - -function dumpParsedRefs($parser,$label) { - if (!preg_match("/Query Q/",$parser->mTitle->getText())) return ''; - global $DPLcreatedLinks; - $text="\n
$label:\n";
-/*
-	$text.="  control:";
-	foreach ($DPLcreatedLinks as $key => $val) {
-		if (is_array($val)) continue;
-		$text.=  "$val($key),";
-	}
-	$text.="\n";
-*/
-	$text.="  categories:";
-	foreach ($parser->mOutput->mCategories as $key => $val ) {
-		$text .= "$val($key),";
-	}
-	$text.="\n";
-	if (array_key_exists(2,$DPLcreatedLinks)) {
-		$text.="  CATEGORIES:";
-		foreach ($DPLcreatedLinks[2] as $val ) {
-			$text .= "$val,";
-		}
-		$text.="\n";
-	}
-	$text.="  links:";
-	foreach ($parser->mOutput->mLinks as $lkey => $lval ) {
-		$text .= "$lval($lkey)={";
-		foreach ($lval as $key => $val ) {
-			$text .= "$val($key),";
-		}
-		$text .= "},";
-	}
-	$text.="\n";
-	if (array_key_exists(0,$DPLcreatedLinks)) {
-		$text.="  LINKS:";
-		foreach ($DPLcreatedLinks[0] as $val ) {
-			$text .= "$val,";
-		}
-		$text.="\n";
-	}
-	$text.="  templates:";
-	foreach ($parser->mOutput->mTemplates as $tkey => $tval ) {
-		$text .= "$tval($tkey)={";
-		foreach ($tval as $key => $val ) {
-			$text .= "$val($key),";
-		}
-		$text .= "},";
-	}
-	$text.="\n";
-	if (array_key_exists(1,$DPLcreatedLinks)) {
-		$text.="  TEMPLATES:";
-		foreach ($DPLcreatedLinks[1] as $val ) {
-			$text .= "$val,";
-		}
-		$text.="\n";
-	}
-	$text.="  images:";
-	foreach ($parser->mOutput->mImages as $key => $val ) {
-		$text .= "$val($key),";
-	}
-	$text.="\n";
-	if (array_key_exists(3,$DPLcreatedLinks)) {
-		$text.="  IMAGES:";
-		foreach ($DPLcreatedLinks[3] as $val ) {
-			$text .= "$val,";
-		}
-		$text.="\n";
-	}
-	$text.="
\n"; - return $text; -} - - - -//remove section markers in case the LabeledSectionTransclusion extension is not installed. -function removeSectionMarkers( $in, $assocArgs=array(), $parser=null ) { - return ''; -} - -// The real callback function for converting the input text to HTML output -function DynamicPageList( $input, $params, &$parser, &$bReset, $calledInMode ) { - - error_reporting(E_ALL); - - global $DPLcreatedLinks; - - global $wgUser, $wgContLang, $wgDPL2AllowedNamespaces, $wgDPL2Options, $wgDPL2MaxCategoryCount, $wgDPL2MinCategoryCount, $wgDPL2MaxResultCount, $wgDPL2AllowUnlimitedCategories, $wgDPL2AllowUnlimitedResults; - global $wgTitle, $wgNonincludableNamespaces; - - //logger (display of debug messages) - $logger = new DPL2Logger(); - - //check that we are not in an infinite transclusion loop - if ( isset( $parser->mTemplatePath[$parser->mTitle->getPrefixedText()] ) ) { - return $logger->escapeMsg(DPL2_WARN_TRANSCLUSIONLOOP, $parser->mTitle->getPrefixedText()); - } - - /** - * Initialization - */ - // Local parser created. See http://meta.wikimedia.org/wiki/MediaWiki_extensions_FAQ#How_do_I_render_wikitext_in_my_extension.3F - $localParser = new Parser(); - $pOptions = $parser->mOptions; - $pTitle = $parser->mTitle; - - // get database access - $dbr =& wfGetDB( DB_SLAVE ); - $sPageTable = $dbr->tableName( 'page' ); - $sCategorylinksTable = $dbr->tableName( 'categorylinks' ); - - // Extension variables - // Allowed namespaces for DPL2: all namespaces except the first 2: Media (-2) and Special (-1), because we cannot use the DB for these to generate dynamic page lists. - if( !is_array($wgDPL2AllowedNamespaces) ) { // Initialization - $aNs = $wgContLang->getNamespaces(); - // namespaces which are nonicludable will maybe somewhen ignored - // if (isset($wgNonincludableNamespaces)) { - // foreach ($wgNonincludableNamespaces as $nonInc) unset ($aNs[$nonInc]); - // } - - $wgDPL2AllowedNamespaces = array_slice($aNs, 2, count($aNs), true); - if( !is_array($wgDPL2Options['namespace']) ) - $wgDPL2Options['namespace'] = $wgDPL2AllowedNamespaces; - else // Make sure user namespace options are allowed. - $wgDPL2Options['namespace'] = array_intersect($wgDPL2Options['namespace'], $wgDPL2AllowedNamespaces); - if( !isset($wgDPL2Options['namespace']['default']) ) - $wgDPL2Options['namespace']['default'] = NULL; - if( !is_array($wgDPL2Options['notnamespace']) ) - $wgDPL2Options['notnamespace'] = $wgDPL2AllowedNamespaces; - else - $wgDPL2Options['notnamespace'] = array_intersect($wgDPL2Options['notnamespace'], $wgDPL2AllowedNamespaces); - if( !isset($wgDPL2Options['notnamespace']['default']) ) - $wgDPL2Options['notnamespace']['default'] = NULL; - } - - // Options - - $sGoal = $wgDPL2Options['goal']['default']; - - $bSelectionCriteriaFound=false; - $bConflictsWithOpenReferences=false; - // array for LINK / TEMPLATE / CATGEORY / IMAGE by RESET / ELIMINATE - $bReset = array ( false, false, false, false, false, false, false, false ); - - // we allow " like " or "=" - $sCategoryComparisonMode = '='; - $sNotCategoryComparisonMode = '='; - $sTitleMatchMode = ' LIKE '; - $sNotTitleMatchMode = ' LIKE '; - - $aOrderMethods = explode(',', $wgDPL2Options['ordermethod']['default']); - $sOrder = $wgDPL2Options['order']['default']; - $sOrderCollation = $wgDPL2Options['ordercollation']['default']; - - $sPageListMode = $wgDPL2Options['mode']['default']; - - $sHListMode = $wgDPL2Options['headingmode']['default']; - $bHeadingCount = DPLArgBoolean($wgDPL2Options['headingcount']['default']); - - $bEscapeLinks = $wgDPL2Options['escapelinks']['default']; - $bSkipThisPage= $wgDPL2Options['skipthispage']['default']; - - $sMinorEdits = NULL; - $acceptOpenReferences = DPLArgBoolean($wgDPL2Options['openreferences']['default']); - - $sLastRevisionBefore = $wgDPL2Options['lastrevisionbefore']['default']; - $sAllRevisionsBefore = $wgDPL2Options['allrevisionsbefore']['default']; - $sFirstRevisionSince = $wgDPL2Options['firstrevisionsince']['default']; - $sAllRevisionsSince = $wgDPL2Options['allrevisionssince']['default']; - - $sRedirects = $wgDPL2Options['redirects']['default']; - - $sResultsHeader = $wgDPL2Options['resultsheader']['default']; - $sResultsFooter = $wgDPL2Options['resultsfooter']['default']; - $sNoResultsHeader = $wgDPL2Options['noresultsheader']['default']; - $sNoResultsFooter = $wgDPL2Options['noresultsfooter']['default']; - $sOneResultHeader = $wgDPL2Options['oneresultheader']['default']; - $sOneResultFooter = $wgDPL2Options['oneresultfooter']['default']; - - $aListSeparators = array(); - $sTable = $wgDPL2Options['table']['default']; - $aTableRow = array(); - - $sInlTxt = $wgDPL2Options['inlinetext']['default']; - - $bShowNamespace = DPLArgBoolean($wgDPL2Options['shownamespace']['default']); - - $bAddFirstCategoryDate = DPLArgBoolean($wgDPL2Options['addfirstcategorydate']['default']); - - $bAddPageCounter = DPLArgBoolean($wgDPL2Options['addpagecounter']['default']); - - $bAddPageSize = DPLArgBoolean($wgDPL2Options['addpagesize']['default']); - - $bAddPageTouchedDate = DPLArgBoolean($wgDPL2Options['addpagetoucheddate']['default']); - - $bAddEditDate = DPLArgBoolean($wgDPL2Options['addeditdate']['default']); - - $bAddUser = DPLArgBoolean($wgDPL2Options['adduser']['default']); - $bAddAuthor = DPLArgBoolean($wgDPL2Options['addauthor']['default']); - $bAddContribution = DPLArgBoolean($wgDPL2Options['addcontribution']['default']); - $bAddLastEditor = DPLArgBoolean($wgDPL2Options['addlasteditor']['default']); - - $bAllowCachedResults = DPLArgBoolean($wgDPL2Options['allowcachedresults']['default']); - - $sUserDateFormat = $wgDPL2Options['userdateformat']['default']; - - $bAddCategories = DPLArgBoolean($wgDPL2Options['addcategories']['default']); - - $bIncludeSubpages = DPLArgBoolean($wgDPL2Options['includesubpages']['default']); - - $bIgnoreCase = DPLArgBoolean($wgDPL2Options['ignorecase']['default']); - - $_incpage = $wgDPL2Options['includepage']['default']; - $bIncPage = is_string($_incpage) && $_incpage !== ''; - - $aSecLabels = array(); - if($bIncPage && $_incpage != '*') $aSecLabels = explode(',', $_incpage); - $aSecLabelsMatch = array(); - $aSecLabelsNotMatch = array(); - - $aSecSeparators = array(); - $aSecSeparators = explode(',', $wgDPL2Options['secseparators']['default']); - $aMultiSecSeparators = explode(',', $wgDPL2Options['multisecseparators']['default']); - $iDominantSection = $wgDPL2Options['dominantsection']['default']; - - $_sOffset = $wgDPL2Options['offset']['default']; - $iOffset = ($_sOffset == '') ? 0: intval($_sOffset); - - $_sCount = $wgDPL2Options['count']['default']; - $iCount = ($_sCount == '') ? NULL: intval($_sCount); - - $_sColumns = $wgDPL2Options['columns']['default']; - $iColumns = ($_sColumns == '') ? 1: intval($_sColumns); - - $_sRows = $wgDPL2Options['rows']['default']; - $iRows = ($_sRows == '') ? 1: intval($_sRows); - - $_sRowSize = $wgDPL2Options['rowsize']['default']; - $iRowSize = ($_sRowSize == '') ? 0: intval($_sRowSize); - - $sRowColFormat= $wgDPL2Options['rowcolformat']['default']; - - $_sRandomCount = $wgDPL2Options['randomcount']['default']; - $iRandomCount = ($_sRandomCount == '') ? NULL: intval($_sRandomCount); - - $sDistinctResultSet = 'true'; - - $sListHtmlAttr = $wgDPL2Options['listattr']['default']; - $sItemHtmlAttr = $wgDPL2Options['itemattr']['default']; - - $sHListHtmlAttr = $wgDPL2Options['hlistattr']['default']; - $sHItemHtmlAttr = $wgDPL2Options['hitemattr']['default']; - - $_sTitleMaxLen = $wgDPL2Options['titlemaxlength']['default']; - $iTitleMaxLen = ($_sTitleMaxLen == '') ? NULL: intval($_sTitleMaxLen); - - $aReplaceInTitle[0] = ''; - $aReplaceInTitle[1] = ''; - - $_sCatMinMax = $wgDPL2Options['categoriesminmax']['default']; - $aCatMinMax = ($_sCatMinMax == '') ? NULL: explode(',',$_sCatMinMax); - - $_sIncludeMaxLen = $wgDPL2Options['includemaxlength']['default']; - $iIncludeMaxLen = ($_sIncludeMaxLen == '') ? NULL: intval($_sIncludeMaxLen); - - $aLinksTo = array(); - $aNotLinksTo = array(); - $aLinksFrom = array(); - $aNotLinksFrom = array(); - - $aUses = array(); - $aNotUses = array(); - - $sCreatedBy = ''; - $sNotCreatedBy = ''; - $sModifiedBy = ''; - $sNotModifiedBy = ''; - $sLastModifiedBy = ''; - $sNotLastModifiedBy = ''; - - $aTitleMatch = array(); - $aNotTitleMatch = array(); - $sTitleIs = ''; - - $aIncludeCategories = array(); // $aIncludeCategories is a 2-dimensional array: Memberarrays are linked using 'AND' - $aExcludeCategories = array(); - - $aCatHeadings = array(); - $aCatNotHeadings = array(); - - $aNamespaces = array(); - - $aExcludeNamespaces = array(); - - // Output - $output = ''; - - -// ###### PARSE PARAMETERS ###### - - // we replace double angle brackets by < > ; thus we avoid premature tag expansion in the input - $input = str_replace('»','>',$input); - $input = str_replace('«','<',$input); - - // use the as a general alias for | - $input = str_replace('¦','|',$input); // the symbol is utf8-escaped - - // the combination '{' and '}'will be translated to double curly braces; this allows postponed template execution - // which is crucial for DPL queries which call other DPL queries - $input = str_replace('²{','{{',$input); - $input = str_replace('}²','}}',$input); - - $aParams = explode("\n", $input); - $bIncludeUncat = false; // to check if pseudo-category of Uncategorized pages is included - - // version 0.9: - // we do not parse parameters recursively when reading them in. - // we rather leave them unchanged, produce the complete output and then finally - // parse the result recursively. This allows to build complex structures in the output - // which are only understood by the parser if seen as a whole - - foreach($aParams as $iParam => $sParam) { - - $aParam = explode('=', $sParam, 2); - if( count( $aParam ) < 2 ) - continue; - $sType = trim($aParam[0]); - $sArg = trim($aParam[1]); - - // ignore comment lines - if ($sType[0] == '#') continue; - - // ignore parameter settings without argument (except namespace) - if ($sArg=='' && $sType!='namespace' && $sType!='notnamespace') continue; - - switch ($sType) { - - /** - * GOAL - */ - case 'goal': - if( in_array($sArg, $wgDPL2Options['goal']) ) { - $sGoal = $sArg; - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('goal', $sArg); - break; - - /** - * FILTER PARAMETERS - */ - case 'categoryregexp': - $sCategoryComparisonMode = ' REGEXP '; - $aIncludeCategories[] = array($sArg); - $bConflictsWithOpenReferences=true; - break; - case 'categorymatch': - $sCategoryComparisonMode = ' LIKE '; - $aIncludeCategories[] = explode('|', $sArg); - $bConflictsWithOpenReferences=true; - break; - case 'category': - // Init array of categories to include - $aCategories = array(); - $bHeading = false; - $bNotHeading = false; - if($sArg != '' && $sArg[0] == '+') {// categories are headings - $bHeading = true; - $sArg[0] = ''; - } - if($sArg != '' && $sArg[0] == '-') {// categories are NOT headings - $bNotHeading = true; - $sArg[0] = ''; - } - $aParams = explode('|', $sArg); - foreach($aParams as $sParam) { - $sParam=trim($sParam); - if($sParam == '') { // include uncategorized pages (special value: empty string) - $bIncludeUncat = true; - $aCategories[] = ''; - } else { - if ($sParam[0]=='*') { - $sParamList = explode('|',getSubcategories(substr($sParam,1),$sPageTable)); - foreach ($sParamList as $sPar) { - $title = Title::newFromText($localParser->transformMsg($sPar, $pOptions)); - if( !is_null($title) ) $aCategories[] = $title->getDbKey(); - } - } - else { - $title = Title::newFromText($localParser->transformMsg($sParam, $pOptions)); - if( !is_null($title) ) $aCategories[] = $title->getDbKey(); - } - } - } - if( !empty($aCategories) ) { - $aIncludeCategories[] = $aCategories; - if($bHeading) $aCatHeadings = array_unique($aCatHeadings + $aCategories); - if($bNotHeading) $aCatNotHeadings = array_unique($aCatNotHeadings + $aCategories); - $bConflictsWithOpenReferences=true; - } - break; - - case 'notcategoryregexp': - $sNotCategoryComparisonMode = ' REGEXP '; - $aExcludeCategories[] = $sArg; - $bConflictsWithOpenReferences=true; - break; - case 'notcategorymatch': - $sNotCategoryComparisonMode = ' LIKE '; - $aExcludeCategories[] = $sArg; - $bConflictsWithOpenReferences=true; - break; - case 'notcategory': - $title = Title::newFromText($localParser->transformMsg($sArg, $pOptions)); - if( !is_null($title) ) { - $aExcludeCategories[] = $title->getDbKey(); - $bConflictsWithOpenReferences=true; - } - break; - - case 'namespace': - $aParams = explode('|', $sArg); - foreach($aParams as $sParam) { - $sParam=trim($sParam); - $sNs = $localParser->transformMsg($sParam, $pOptions); - if( !in_array($sNs, $wgDPL2Options['namespace']) ) - return $logger->msgWrongParam('namespace', $sParam); - $aNamespaces[] = $wgContLang->getNsIndex($sNs); - $bSelectionCriteriaFound=true; - } - break; - - case 'notnamespace': - $sArg=trim($sArg); - $sNs = $localParser->transformMsg($sArg, $pOptions); - if( !in_array($sNs, $wgDPL2Options['notnamespace']) ) - return $logger->msgWrongParam('notnamespace', $sArg); - $aExcludeNamespaces[] = $wgContLang->getNsIndex($sNs); - $bSelectionCriteriaFound=true; - break; - - case 'linksto': - $pages = explode('|', trim($sArg)); - $n=0; - foreach($pages as $page) { - if (trim($page)=='') continue; - if (!($theTitle = Title::newFromText(trim($page)))) return $logger->msgWrongParam('linksto', $sArg); - $aLinksTo[$n++] = $theTitle; - $bSelectionCriteriaFound=true; - } - if(!$bSelectionCriteriaFound) return $logger->msgWrongParam('linksto', $sArg); - $bConflictsWithOpenReferences=true; - break; - - case 'notlinksto': - $pages = explode('|', trim($sArg)); - $n=0; - foreach($pages as $page) { - if (trim($page)=='') continue; - if (!($theTitle = Title::newFromText(trim($page)))) return $logger->msgWrongParam('notlinksto', $sArg); - $aNotLinksTo[$n++] = $theTitle; - $bSelectionCriteriaFound=true; - } - if(!$bSelectionCriteriaFound) return $logger->msgWrongParam('notlinksto', $sArg); - $bConflictsWithOpenReferences=true; - break; - - case 'linksfrom': - $pages = explode('|', trim($sArg)); - $n=0; - foreach($pages as $page) { - if (trim($page)=='') continue; - if (!($theTitle = Title::newFromText(trim($page)))) return $logger->msgWrongParam('linksfrom', $sArg); - $aLinksFrom[$n++] = $theTitle; - $bSelectionCriteriaFound=true; - } - if(!$bSelectionCriteriaFound) return $logger->msgWrongParam('linksfrom', $sArg); - break; - - case 'notlinksfrom': - $pages = explode('|', trim($sArg)); - $n=0; - foreach($pages as $page) { - if (trim($page)=='') continue; - if (!($theTitle = Title::newFromText(trim($page)))) return $logger->msgWrongParam('notlinksfrom', $sArg); - $aNotLinksFrom[$n++] = $theTitle; - $bSelectionCriteriaFound=true; - } - if(!$bSelectionCriteriaFound) return $logger->msgWrongParam('notlinksfrom', $sArg); - break; - - case 'uses': - $pages = explode('|', $sArg); - $n=0; - foreach($pages as $page) { - if (trim($page)=='') continue; - if (!($theTitle = Title::newFromText(trim($page)))) return $logger->msgWrongParam('uses', $sArg); - $aUses[$n++] = $theTitle; - $bSelectionCriteriaFound=true; - } - if(!$bSelectionCriteriaFound) return $logger->msgWrongParam('uses', $sArg); - $bConflictsWithOpenReferences=true; - break; - - case 'notuses': - $pages = explode('|', $sArg); - $n=0; - foreach($pages as $page) { - if (trim($page)=='') continue; - if (!($theTitle = Title::newFromText(trim($page)))) return $logger->msgWrongParam('notuses', $sArg); - $aNotUses[$n++] = $theTitle; - $bSelectionCriteriaFound=true; - } - if(!$bSelectionCriteriaFound) return $logger->msgWrongParam('notuses', $sArg); - $bConflictsWithOpenReferences=true; - break; - - case 'createdby': - $sCreatedBy = $sArg; - if ($sCreatedBy != '') $bSelectionCriteriaFound=true; - $bConflictsWithOpenReferences=true; - break; - - case 'notcreatedby': - $sNotCreatedBy = $sArg; - if ($sNotCreatedBy != '') $bSelectionCriteriaFound=true; - $bConflictsWithOpenReferences=true; - break; - - case 'modifiedby': - $sModifiedBy = $sArg; - if ($sModifiedBy != '') $bSelectionCriteriaFound=true; - $bConflictsWithOpenReferences=true; - break; - - case 'notmodifiedby': - $sNotModifiedBy = $sArg; - if ($sNotModifiedBy != '') $bSelectionCriteriaFound=true; - $bConflictsWithOpenReferences=true; - break; - - case 'lastmodifiedby': - $sLastModifiedBy = $sArg; - if ($sLastModifiedBy != '') $bSelectionCriteriaFound=true; - $bConflictsWithOpenReferences=true; - break; - - case 'notlastmodifiedby': - $sNotLastModifiedBy = $sArg; - if ($sNotLastModifiedBy != '') $bSelectionCriteriaFound=true; - $bConflictsWithOpenReferences=true; - break; - - case 'title': - // we replace blanks by underscores to meet the internal representation - // of page names in the database - $title = Title::newFromText($sArg); - if ($title) { - $sNamespace= $title->getNamespace(); - $sTitleIs = str_replace(' ','_',$title->getText()); - $aNamespaces[0] = $sNamespace; - $sPageListMode='userformat'; - $aOrderMethods = explode(',',''); - $bSelectionCriteriaFound=true; - $bConflictsWithOpenReferences=true; - $bAllowCachedResults = true; - } - break; - - case 'titleregexp': - $sTitleMatchMode = ' REGEXP '; - $aTitleMatch = array($sArg); - $bSelectionCriteriaFound=true; - break; - case 'titlematch': - // we replace blanks by underscores to meet the internal representation - // of page names in the database - $aTitleMatch = explode('|', str_replace(' ','_',$localParser->transformMsg($sArg, $pOptions))); - $bSelectionCriteriaFound=true; - break; - - case 'nottitleregexp': - $sNotTitleMatchMode = ' REGEXP '; - $aNotTitleMatch = array($sArg); - $bSelectionCriteriaFound=true; - break; - case 'nottitlematch': - // we replace blanks by underscores to meet the internal representation - // of page names in the database - $aNotTitleMatch = explode('|', str_replace(' ','_',$localParser->transformMsg($sArg, $pOptions))); - $bSelectionCriteriaFound=true; - break; - - case 'minoredits': - if( in_array($sArg, $wgDPL2Options['minoredits']) ) { - $sMinorEdits = $sArg; - $bConflictsWithOpenReferences=true; - } - else { //wrong param val, using default - $sMinorEdits = $wgDPL2Options['minoredits']['default']; - $output .= $logger->msgWrongParam('minoredits', $sArg); - } - break; - - case 'includesubpages': - if( in_array($sArg, $wgDPL2Options['includesubpages'])) { - $bIncludeSubpages = DPLArgBoolean($sArg); - } - else - $output .= $logger->msgWrongParam('includesubpages', $sArg); - break; - - case 'ignorecase': - if( in_array($sArg, $wgDPL2Options['ignorecase'])) { - $bIgnoreCase = DPLArgBoolean($sArg); - } - else - $output .= $logger->msgWrongParam('ignorecase', $sArg); - break; - - case 'lastrevisionbefore': - case 'allrevisionsbefore': - case 'firstrevisionsince': - case 'allrevisionssince': - if( preg_match($wgDPL2Options[$sType]['pattern'], $sArg) ) { - if (($sType) == 'lastrevisionbefore') $sLastRevisionBefore = str_pad(preg_replace('/[^0-9]/','',$sArg),14,'0'); - if (($sType) == 'allrevisionsbefore') $sAllRevisionsBefore = str_pad(preg_replace('/[^0-9]/','',$sArg),14,'0'); - if (($sType) == 'firstrevisionsince') $sFirstRevisionSince = str_pad(preg_replace('/[^0-9]/','',$sArg),14,'0'); - if (($sType) == 'allrevisionssince') $sAllRevisionsSince = str_pad(preg_replace('/[^0-9]/','',$sArg),14,'0'); - $bConflictsWithOpenReferences=true; - } - else // wrong value - $output .= $logger->msgWrongParam($sType, $sArg); - break; - - case 'openreferences': - if( in_array($sArg, $wgDPL2Options['openreferences']) ) - $acceptOpenReferences = DPLArgBoolean($sArg); - else - $output .= $logger->msgWrongParam('openreferences', $sArg); - break; - - case 'redirects': - if( in_array($sArg, $wgDPL2Options['redirects']) ) { - $sRedirects = $sArg; - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('redirects', $sArg); - break; - - case 'offset': - //ensure that $iOffset is a number - if( preg_match($wgDPL2Options['offset']['pattern'], $sArg) ) - $iOffset = ($sArg == '') ? 0: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('offset', $sArg); - break; - - case 'count': - //ensure that $iCount is a number or no count limit; - if( preg_match($wgDPL2Options['count']['pattern'], $sArg) ) - $iCount = ($sArg == '') ? NULL: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('count', $sArg); - break; - - case 'randomcount': - //ensure that $iRandomCount is a number; - if( preg_match($wgDPL2Options['randomcount']['pattern'], $sArg) ) - $iRandomCount = ($sArg == '') ? NULL: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('randomcount', $sArg); - break; - - case 'distinct': - if( in_array($sArg, $wgDPL2Options['distinct'])) { - if ($sArg=='strict') $sDistinctResultSet = 'strict'; - else if (DPLArgBoolean($sArg)) $sDistinctResultSet = 'true'; - else $sDistinctResultSet = 'false'; - } - else - $output .= $logger->msgWrongParam('distinct', $sArg); - break; - - case 'categoriesminmax': - if( preg_match($wgDPL2Options['categoriesminmax']['pattern'], $sArg) ) - $aCatMinMax = ($sArg == '') ? NULL: explode(',',$sArg); - else // wrong value - $output .= $logger->msgWrongParam('categoriesminmax', $sArg); - break; - - case 'skipthispage': - if( in_array($sArg, $wgDPL2Options['skipthispage'])) - $bSkipThisPage = DPLArgBoolean($sArg); - else - $output .= $logger->msgWrongParam('skipthispage', $sArg); - break; - - /** - * CONTENT PARAMETERS - */ - case 'addcategories': - if( in_array($sArg, $wgDPL2Options['addcategories'])) { - $bAddCategories = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addcategories', $sArg); - break; - - case 'addeditdate': - if( in_array($sArg, $wgDPL2Options['addeditdate'])) { - $bAddEditDate = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addeditdate', $sArg); - break; - - case 'addfirstcategorydate': - if( in_array($sArg, $wgDPL2Options['addfirstcategorydate'])) { - $bAddFirstCategoryDate = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addfirstcategorydate', $sArg); - break; - - case 'addpagecounter': - if( in_array($sArg, $wgDPL2Options['addpagecounter'])) { - $bAddPageCounter = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addpagecounter', $sArg); - break; - - case 'addpagesize': - if( in_array($sArg, $wgDPL2Options['addpagesize'])) { - $bAddPageSize = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addpagesize', $sArg); - break; - - case 'addpagetoucheddate': - if( in_array($sArg, $wgDPL2Options['addpagetoucheddate'])) { - $bAddPageTouchedDate = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addpagetoucheddate', $sArg); - break; - - case 'include': - case 'includepage': - $bIncPage = $sArg !== ''; - if($bIncPage && $sArg != '*') - $aSecLabels= explode(',', $sArg); - break; - - case 'includematch': - $aSecLabelsMatch= explode(',', $sArg); - break; - - case 'includenotmatch': - $aSecLabelsNotMatch= explode(',', $sArg); - break; - - case 'adduser': - if( in_array($sArg, $wgDPL2Options['adduser'])) { - $bAddUser = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('adduser', $sArg); - break; - - case 'addauthor': - if( in_array($sArg, $wgDPL2Options['addauthor'])) { - $bAddAuthor = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addauthor', $sArg); - break; - - case 'addcontribution': - if( in_array($sArg, $wgDPL2Options['addcontribution'])) { - $bAddContribution = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addcontribution', $sArg); - break; - - case 'addlasteditor': - if( in_array($sArg, $wgDPL2Options['addlasteditor'])) { - $bAddLastEditor = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('addlasteditor', $sArg); - break; - - /** - * ORDER PARAMETERS - */ - case 'ordermethod': - $methods = explode(',', $sArg); - $breakaway = false; - foreach ( $methods as $method ) { - if( !in_array($method, $wgDPL2Options['ordermethod']) ) { - $output .= $logger->msgWrongParam('ordermethod', $method); - $breakaway = true; - } - } - if ( !$breakaway ) { - $aOrderMethods = $methods; - $bConflictsWithOpenReferences=true; - } - break; - - case 'order': - if( in_array($sArg, $wgDPL2Options['order']) ) - $sOrder = $sArg; - else - $output .= $logger->msgWrongParam('order', $sArg); - break; - - case 'ordercollation': - if($sArg!='') $sOrderCollation= "COLLATE $sArg"; - break; - - /** - * FORMAT/HTML PARAMETERS - * @todo allow addpagetoucheddate, addeditdate, adduser, addcategories to have effect with 'mode=category' - */ - - case 'columns': - //ensure that $iColumns is a number - if( preg_match($wgDPL2Options['columns']['pattern'], $sArg) ) - $iColumns = ($sArg == '') ? 1: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('columns', $sArg); - break; - - case 'rows': - //ensure that $iRows is a number - if( preg_match($wgDPL2Options['rows']['pattern'], $sArg) ) - $iRows = ($sArg == '') ? 1: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('rows', $sArg); - break; - - case 'rowsize': - //ensure that $iRowSize is a number - if( preg_match($wgDPL2Options['rowsize']['pattern'], $sArg) ) - $iRowSize = ($sArg == '') ? 0: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('rowsize', $sArg); - break; - - case 'rowcolformat': - $sRowColFormat= $sArg; - break; - - case 'userdateformat': - $sUserDateFormat = $sArg; - break; - - case 'headingmode': - if( in_array($sArg, $wgDPL2Options['headingmode']) ) { - $sHListMode = $sArg; - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('headingmode', $sArg); - break; - - case 'headingcount': - if( in_array($sArg, $wgDPL2Options['headingcount'])) { - $bHeadingCount = DPLArgBoolean($sArg); - $bConflictsWithOpenReferences=true; - } - else - $output .= $logger->msgWrongParam('headingcount', $sArg); - break; - - case 'mode': - if( in_array($sArg, $wgDPL2Options['mode']) ) - //'none' mode is implemented as a specific submode of 'inline' with
as inline text - if($sArg == 'none') { - $sPageListMode = 'inline'; - $sInlTxt = '
'; - } else if ($sArg == 'userformat') { - // userformat resets inline text to empty string - $sInlTxt = ''; - $sPageListMode = $sArg; - } else { - $sPageListMode = $sArg; - } - else - $output .= $logger->msgWrongParam('mode', $sArg); - break; - - case 'escapelinks': - if( in_array($sArg, $wgDPL2Options['escapelinks'])) - $bEscapeLinks = DPLArgBoolean($sArg); - else - $output .= $logger->msgWrongParam('escapelinks', $sArg); - break; - - case 'inlinetext': - $sInlTxt = $sArg; - break; - - case 'format': - case 'listseparators': - // parsing of wikitext will happen at the end of the output phase - // we replace '\n' in the input by linefeed because wiki syntax depends on linefeeds - $sArg = str_replace( '\n', "\n", $sArg ); - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped - $aListSeparators = explode (',', $sArg, 4); - // mode=userformat will be automatically assumed - $sPageListMode='userformat'; - $sInlTxt = ''; - break; - - case 'secseparators': - // we replace '\n' by newline to support wiki syntax within the section separators - $sArg = str_replace( '\n', "\n", $sArg ); - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped - $aSecSeparators = explode (',',$sArg); - break; - - case 'multisecseparators': - // we replace '\n' by newline to support wiki syntax within the section separators - $sArg = str_replace( '\n', "\n", $sArg ); - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped - $aMultiSecSeparators = explode (',',$sArg); - break; - - case 'table': - $sArg = str_replace( '\n', "\n", $sArg ); - $sTable = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped - break; - - case 'tablerow': - $sArg = str_replace( '\n', "\n", $sArg ); - $sArg = str_replace( "¶", "\n", $sArg ); // the paragraph delimiter is utf8-escaped - if (trim($sArg)=='') $aTableRow = array(); - else $aTableRow = explode (',',$sArg); - break; - - case 'dominantsection': - if( preg_match($wgDPL2Options['dominantsection']['pattern'], $sArg) ) - $iDominantSection = ($sArg == '') ? NULL: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('dominantsection', $sArg); - break; - - case 'shownamespace': - if( in_array($sArg, $wgDPL2Options['shownamespace'])) - $bShowNamespace = DPLArgBoolean($sArg); - else - $output .= $logger->msgWrongParam('shownamespace', $sArg); - break; - - case 'titlemaxlength': - //processed like 'count' param - if( preg_match($wgDPL2Options['titlemaxlength']['pattern'], $sArg) ) - $iTitleMaxLen = ($sArg == '') ? NULL: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('titlemaxlength', $sArg); - break; - - case 'replaceintitle': - // we offer a possibility to replace some part of the title - $aReplaceInTitle = explode (',',$sArg,2); - break; - - case 'includemaxlength': - //processed like 'count' param - if( preg_match($wgDPL2Options['includemaxlength']['pattern'], $sArg) ) - $iIncludeMaxLen = ($sArg == '') ? NULL: intval($sArg); - else // wrong value - $output .= $logger->msgWrongParam('includemaxlength', $sArg); - break; - - case 'listattr': - $sListHtmlAttr = $sArg; - break; - case 'itemattr': - $sItemHtmlAttr = $sArg; - break; - case 'hlistattr': - $sHListHtmlAttr = $sArg; - break; - case 'hitemattr': - $sHItemHtmlAttr = $sArg; - break; - case 'resultsheader': - $sResultsHeader = $sArg; - break; - case 'resultsfooter': - $sResultsFooter = $sArg; - break; - case 'noresultsheader': - $sNoResultsHeader = $sArg; - break; - case 'noresultsfooter': - $sNoResultsFooter = $sArg; - break; - case 'oneresultheader': - $sOneResultHeader = $sArg; - break; - case 'oneresultfooter': - $sOneResultFooter = $sArg; - break; - - /** - * DEBUG, RESET and CACHE PARAMETER - */ - - case 'allowcachedresults': - if( in_array($sArg, $wgDPL2Options['allowcachedresults'])) { - $bAllowCachedResults = DPLArgBoolean($sArg); - } - else - $output .= $logger->msgWrongParam('allowcachedresults', $sArg); - break; - - case 'reset': - foreach (preg_split('/[;,]/',$sArg) as $arg) { - $arg=trim($arg); - if ($arg=='') continue; - if( !in_array($arg, $wgDPL2Options['reset'])) { - $output .= $logger->msgWrongParam('reset', $arg); - } - else if ($arg=='links') $bReset[0]=true; - else if ($arg=='templates') $bReset[1]=true; - else if ($arg=='categories')$bReset[2]=true; - else if ($arg=='images') $bReset[3]=true; - else if ($arg=='all') { - $bReset[0]=true; $bReset[1]=true; $bReset[2]=true; $bReset[3]=true; - } - } - break; - - case 'eliminate': - foreach (preg_split('/[;,]/',$sArg) as $arg) { - $arg=trim($arg); - if ($arg=='') continue; - if( !in_array($arg, $wgDPL2Options['eliminate'])) { - $output .= $logger->msgWrongParam('eliminate', $arg); - } - else if ($arg=='links') $bReset[4]=true; - else if ($arg=='templates') $bReset[5]=true; - else if ($arg=='categories')$bReset[6]=true; - else if ($arg=='images') $bReset[7]=true; - else if ($arg=='all') { - $bReset[4]=true; $bReset[5]=true; $bReset[6]=true; $bReset[7]=true; - } - } - break; - - case 'debug': - if( in_array($sArg, $wgDPL2Options['debug']) ) { - if($iParam > 1) - $output .= $logger->escapeMsg(DPL2_WARN_DEBUGPARAMNOTFIRST, $sArg ); - $logger->iDebugLevel = intval($sArg); - } - else - $output .= $logger->msgWrongParam('debug', $sArg); - break; - - /** - * UNKNOWN PARAMETER - */ - default: - $output .= $logger->escapeMsg(DPL2_WARN_UNKNOWNPARAM, $sType, implode(', ', array_keys($wgDPL2Options))); - } - } - - // debug level 5 puts nowiki tags around the output - if ($logger->iDebugLevel==5) { - $logger->iDebugLevel= 2; - $sResultsHeader = '
'.$sResultsHeader;
-		$sResultsFooter .= '
'; - } - - // construct internal keys for TableRow according to the structure of "include" - // this will be needed in the output phase - DPLupdateTableRowKeys($aTableRow,$aSecLabels); - // foreach ($aTableRow as $key => $val) $output .= "TableRow($key)=$val;
"; - - $iIncludeCatCount = count($aIncludeCategories); - $iTotalIncludeCatCount = count($aIncludeCategories, COUNT_RECURSIVE) - $iIncludeCatCount; - $iExcludeCatCount = count($aExcludeCategories); - $iTotalCatCount = $iTotalIncludeCatCount + $iExcludeCatCount; - - // disable parser cache - if ( !$bAllowCachedResults) $parser->disableCache(); - - if ($calledInMode=='tag') { - // in tag mode 'eliminate' is the same as 'reset' for tpl,cat,img - if ($bReset[5]) { $bReset[1] = true; $bReset[5] = false; } - if ($bReset[6]) { $bReset[2] = true; $bReset[6] = false; } - if ($bReset[7]) { $bReset[3] = true; $bReset[7] = false; } - } - else { - if ($bReset[1]) $DPLcreatedLinks['resetTemplates'] = true; - if ($bReset[2]) $DPLcreatedLinks['resetCategories'] = true; - if ($bReset[3]) $DPLcreatedLinks['resetImages'] = true; - } - if (($calledInMode=='tag' && $bReset[0]) || $calledInMode=='func') { - if ($bReset[0]) $DPLcreatedLinks['resetLinks'] = true; - // register a hook to reset links which were produced during parsing DPL output - global $wgHooks; - if (!isset($wgHooks['ParserAfterTidy']) || !in_array('wfDPL_End_Reset',$wgHooks['ParserAfterTidy'])) { - $wgHooks['ParserAfterTidy'][] = 'wfDPL_End_Reset'; - } - } - - -// ###### CHECKS ON PARAMETERS ###### - // too many categories!! - if ( ($iTotalCatCount > $wgDPL2MaxCategoryCount) && (!$wgDPL2AllowUnlimitedCategories) ) - return $output . $logger->escapeMsg(DPL2_ERR_TOOMANYCATS, $wgDPL2MaxCategoryCount); - - // too few categories!! - if ($iTotalCatCount < $wgDPL2MinCategoryCount) - return $output . $logger->escapeMsg(DPL2_ERR_TOOFEWCATS, $wgDPL2MinCategoryCount); - - // no selection criteria!! Warn only if no debug level is set - if ($iTotalCatCount == 0 && $bSelectionCriteriaFound==false) { - if ($logger->iDebugLevel >= 1) return $output; - else return $output . $logger->escapeMsg(DPL2_ERR_NOSELECTION); - } - - // ordermethod=sortkey requires ordermethod=category - if (in_array('sortkey',$aOrderMethods) && ! in_array('category',$aOrderMethods)) $aOrderMethods[] = 'category'; - - // no included categories but ordermethod=categoryadd or addfirstcategorydate=true!! - if ($iTotalIncludeCatCount == 0 && ($aOrderMethods[0] == 'categoryadd' || $bAddFirstCategoryDate == true) ) - return $output . $logger->escapeMsg(DPL2_ERR_CATDATEBUTNOINCLUDEDCATS); - - // more than one included category but ordermethod=categoryadd or addfirstcategorydate=true!! - // we ALLOW this parameter combination, risking ambiguous results - //if ($iTotalIncludeCatCount > 1 && ($aOrderMethods[0] == 'categoryadd' || $bAddFirstCategoryDate == true) ) - // return $output . $logger->escapeMsg(DPL2_ERR_CATDATEBUTMORETHAN1CAT); - - // no more than one type of date at a time!! - if($bAddPageTouchedDate + $bAddFirstCategoryDate + $bAddEditDate > 1) - return $output . $logger->escapeMsg(DPL2_ERR_MORETHAN1TYPEOFDATE); - - // the dominant section must be one of the sections mentioned in includepage - if($iDominantSection>0 && count($aSecLabels)<$iDominantSection) - return $output . $logger->escapeMsg(DPL2_ERR_DOMINANTSECTIONRANGE, count($aSecLabels)); - - // category-style output requested with not compatible order method - if ($sPageListMode == 'category' && !array_intersect($aOrderMethods, array('sortkey', 'title','titlewithoutnamespace')) ) - return $output . $logger->escapeMsg(DPL2_ERR_WRONGORDERMETHOD, 'mode=category', 'sortkey | title | titlewithoutnamespace' ); - - // addpagetoucheddate=true with unappropriate order methods - if( $bAddPageTouchedDate && !array_intersect($aOrderMethods, array('pagetouched', 'title')) ) - return $output . $logger->escapeMsg(DPL2_ERR_WRONGORDERMETHOD, 'addpagetoucheddate=true', 'pagetouched | title' ); - - // addeditdate=true but not (ordermethod=...,firstedit or ordermethod=...,lastedit) - //firstedit (resp. lastedit) -> add date of first (resp. last) revision - if( $bAddEditDate && !array_intersect($aOrderMethods, array('firstedit', 'lastedit')) ) - return $output . $logger->escapeMsg(DPL2_ERR_WRONGORDERMETHOD, 'addeditdate=true', 'firstedit | lastedit' ); - - // adduser=true but not (ordermethod=...,firstedit or ordermethod=...,lastedit) - /** - * @todo allow to add user for other order methods. - * The fact is a page may be edited by multiple users. Which user(s) should we show? all? the first or the last one? - * Ideally, we could use values such as 'all', 'first' or 'last' for the adduser parameter. - */ - if( $bAddUser && !array_intersect($aOrderMethods, array('firstedit', 'lastedit')) ) - return $output . $logger->escapeMsg(DPL2_ERR_WRONGORDERMETHOD, 'adduser=true', 'firstedit | lastedit' ); - - if( isset($sMinorEdits) && !array_intersect($aOrderMethods, array('firstedit', 'lastedit')) ) - return $output . $logger->escapeMsg(DPL2_ERR_WRONGORDERMETHOD, 'minoredits', 'firstedit | lastedit' ); - - /** - * If we include the Uncategorized, we need the 'dpl_clview': VIEW of the categorylinks table where we have cl_to='' (empty string) for all uncategorized pages. This VIEW must have been created by the administrator of the mediawiki DB at installation. See the documentation. - */ - $sDplClView = ''; - if($bIncludeUncat) { - $sDplClView = $dbr->tableName( 'dpl_clview' ); - // If the view is not there, we can't perform logical operations on the Uncategorized. - if ( !$dbr->tableExists( 'dpl_clview' ) ) { - $sSqlCreate_dpl_clview = 'CREATE VIEW ' . $sDplClView . " AS SELECT IFNULL(cl_from, page_id) AS cl_from, IFNULL(cl_to, '') AS cl_to, cl_sortkey FROM " . $sPageTable . ' LEFT OUTER JOIN ' . $sCategorylinksTable . ' ON '.$sPageTable.'.page_id=cl_from'; - $output .= $logger->escapeMsg(DPL2_ERR_NOCLVIEW, $sDplClView, $sSqlCreate_dpl_clview); - return $output; - } - } - - //add*** parameters have no effect with 'mode=category' (only namespace/title can be viewed in this mode) - if( $sPageListMode == 'category' && ($bAddCategories || $bAddEditDate || $bAddFirstCategoryDate || $bAddPageTouchedDate - || $bIncPage || $bAddUser || $bAddAuthor || $bAddContribution || $bAddLastEditor ) ) - $output .= $logger->escapeMsg(DPL2_WARN_CATOUTPUTBUTWRONGPARAMS); - - //headingmode has effects with ordermethod on multiple components only - if( $sHListMode != 'none' && count($aOrderMethods) < 2 ) { - $output .= $logger->escapeMsg(DPL2_WARN_HEADINGBUTSIMPLEORDERMETHOD, $sHListMode, 'none'); - $sHListMode = 'none'; - } - - // openreferences is incompatible with many other options - if( $acceptOpenReferences && $bConflictsWithOpenReferences ) { - $output .= $logger->escapeMsg(DPL2_ERR_OPENREFERENCES); - $acceptOpenReferences=false; - } - - // justify limits; if we have an offset and count is specified we increase count by the offset - if ( isset($iCount) ) { - if (isset($iOffset)) $iCountWithOffset = $iCount + $iOffset; - else $iCountWithOffset = $iCount; - if($iCountWithOffset > $wgDPL2MaxResultCount) - $iCountWithOffset = $wgDPL2MaxResultCount; - } elseif(!$wgDPL2AllowUnlimitedResults) - $iCountWithOffset = $iCount = $wgDPL2MaxResultCount; - - // if 'table' parameter is set: derive values for listseparators, secseparators and multisecseparators - $defaultTemplateSuffix='.default'; - if ($sTable!='') { - $defaultTemplateSuffix=''; - $sPageListMode='userformat'; - $sInlTxt = ''; - $withHLink = "[[%PAGE%|%TITLE%]]\n|"; - foreach (explode(',',$sTable) as $tabnr => $tab) { - if ($tabnr==0) { - if ($tab=='') $tab='class=wikitable'; - $aListSeparators[0]='{|'.$tab; - } - else { - if ($tabnr==1 && $tab=='-') { - $withHLink = ''; - continue; - } - if ($tabnr==1 && $tab=='') $tab='Article'; - $aListSeparators[0].= "\n!$tab"; - } - } - $aListSeparators[1] = ''; - // the user may have specified the third parameter of 'format' to add meta attributes of articles to the table - if (!array_key_exists(2,$aListSeparators)) $aListSeparators[2] = ''; - $aListSeparators[3] = "\n|}"; - - for ($i=0;$i0 ) $sSqlGroupBy = 'page_title'; - $sSqlSortkey = ''; - $sSqlCl_to = ''; - $sSqlCats = ''; - $sSqlCl_timestamp = ''; - $sSqlClHeadTable = ''; - $sSqlCond_page_cl_head = ''; - $sSqlClTableForGC = ''; - $sSqlCond_page_cl_gc = ''; - $sSqlRCTable = ''; // recent changes - $sRCTable = $dbr->tableName( 'recentchanges' ); - $sRevisionTable = $dbr->tableName( 'revision' ); - $sSqlRevisionTable = ''; - $sSqlRev_timestamp = ''; - $sSqlRev_id = ''; - $sSqlRev_user = ''; - $sSqlCond_page_rev = ''; - $sPageLinksTable = $dbr->tableName( 'pagelinks' ); - $sTemplateLinksTable = $dbr->tableName( 'templatelinks' ); - $sSqlPageLinksTable = ''; - $sSqlCond_page_pl = ''; - $sSqlCond_MaxCat = ''; - $sSqlWhere = ' WHERE 1=1 '; - $sSqlSelPage = ''; // initial page for selection - - // normally we create a result of normal pages, but when goal=categories is set, we create a list of categories - // as this conflicts with some options we need to avoid producing incoorect SQl code - $bGoalIsPages = true; - if ($sGoal == 'categories') { - $aOrderMethods = explode(',',''); - $bGoalIsPages=false; - } - - foreach($aOrderMethods as $sOrderMethod) { - switch ($sOrderMethod) { - case 'category': - $sSqlCl_to = "cl_head.cl_to, "; // Gives category headings in the result - $sSqlClHeadTable = ( (in_array('', $aCatHeadings) ||in_array('', $aCatNotHeadings)) ? $sDplClView : $sCategorylinksTable ) . ' AS cl_head'; // use dpl_clview if Uncategorized in headings - $sSqlCond_page_cl_head = 'page_id=cl_head.cl_from'; - if(!empty($aCatHeadings)) - $sSqlWhere .= " AND cl_head.cl_to IN (" . $dbr->makeList( $aCatHeadings ) . ")"; - if(!empty($aCatNotHeadings)) - $sSqlWhere .= " AND NOT (cl_head.cl_to IN (" . $dbr->makeList( $aCatNotHeadings ) . "))"; - break; - case 'firstedit': - $sSqlRevisionTable = $sRevisionTable . ' AS rev, '; - $sSqlRev_timestamp = ', rev_timestamp'; - $sSqlCond_page_rev = ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MIN(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; - break; - case 'lastedit': - $sSqlRevisionTable = $sRevisionTable . ' AS rev, '; - $sSqlRev_timestamp = ', rev_timestamp'; - $sSqlCond_page_rev = ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MAX(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; - break; - case 'sortkey': - // We need the namespaces with strictly positive indices (DPL2 allowed namespaces, except the first one: Main). - $aStrictNs = array_slice($wgDPL2AllowedNamespaces, 1, count($wgDPL2AllowedNamespaces), true); - // map ns index to name - $sSqlNsIdToText = 'CASE '.$sPageTable.'.page_namespace'; - foreach($aStrictNs as $iNs => $sNs) - $sSqlNsIdToText .= ' WHEN ' . intval( $iNs ) . " THEN " . $dbr->addQuotes( $sNs ); - $sSqlNsIdToText .= ' END'; - // If cl_sortkey is null (uncategorized page), generate a sortkey in the usual way (full page name, underscores replaced with spaces). - // UTF-8 created problems with non-utf-8 MySQL databases - $sSqlSortkey = ", IFNULL(cl_head.cl_sortkey, REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'♣','⣣')) ".$sOrderCollation." as sortkey"; - break; - case 'titlewithoutnamespace': - $sSqlSortkey = ", REPLACE(page_title,'♣','⣣') ".$sOrderCollation." as sortkey"; - break; - case 'pagesel': - $sSqlSortkey = ", CONCAT(pl.pl_namespace,pl.pl_title) ".$sOrderCollation." as sortkey"; - break; - case 'title': - $aStrictNs = array_slice($wgDPL2AllowedNamespaces, 1, count($wgDPL2AllowedNamespaces), true); - // map ns index to name - if ($acceptOpenReferences) { - $sSqlNsIdToText = 'CASE pl_namespace'; - foreach($aStrictNs as $iNs => $sNs) - $sSqlNsIdToText .= ' WHEN ' . intval( $iNs ) . " THEN " . $dbr->addQuotes( $sNs ) ; - $sSqlNsIdToText .= ' END'; - $sSqlSortkey = ", REPLACE(REPLACE(CONCAT( IF(pl_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), pl_title), '_', ' '),'♣','⣣') ".$sOrderCollation." as sortkey"; - } - else { - $sSqlNsIdToText = 'CASE '.$sPageTable.'.page_namespace'; - foreach($aStrictNs as $iNs => $sNs) - $sSqlNsIdToText .= ' WHEN ' . intval( $iNs ) . " THEN " . $dbr->addQuotes( $sNs ) ; - $sSqlNsIdToText .= ' END'; - // Generate sortkey like for category links. UTF-8 created problems with non-utf-8 MySQL databases - $sSqlSortkey = ", REPLACE(REPLACE(CONCAT( IF(".$sPageTable.".page_namespace=0, '', CONCAT(" . $sSqlNsIdToText . ", ':')), ".$sPageTable.".page_title), '_', ' '),'♣','⣣') ".$sOrderCollation." as sortkey"; - } - break; - case 'user': - $sSqlRevisionTable = $sRevisionTable . ', '; - $sSqlRev_user = ', rev_user, rev_user_text'; - break; - } - } - - // linksto - if ( count($aLinksTo)>0 ) { - $sSqlPageLinksTable .= $sPageLinksTable . ' as pl, '; - $sSqlCond_page_pl .= ' AND '.$sPageTable.'.page_id=pl.pl_from AND ('; - $sSqlSelPage = ', pl.pl_title as sel_title, pl.pl_namespace as sel_ns'; - $n=0; - foreach ($aLinksTo as $link) { - if ($n>0) $sSqlCond_page_pl .= ' OR '; - $sSqlCond_page_pl .= '(pl.pl_namespace=' . intval( $link->getNamespace() ); - if ($bIgnoreCase) $sSqlCond_page_pl .= " AND UPPER(pl.pl_title)=UPPER(" . $dbr->addQuotes( $link->getDbKey() ).'))'; - else $sSqlCond_page_pl .= " AND pl.pl_title=" . $dbr->addQuotes( $link->getDbKey() ).')'; - $n++; - } - $sSqlCond_page_pl .= ')'; - } - - // notlinksto - if ( count($aNotLinksTo)>0 ) { - $sSqlCond_page_pl .= ' AND '.$sPageTable.'.page_id not in (select '.$sPageLinksTable.'.pl_from from '.$sPageLinksTable.' where ('; - $n=0; - foreach ($aNotLinksTo as $link) { - if ($n>0) $sSqlCond_page_pl .= ' OR '; - $sSqlCond_page_pl .= '('.$sPageLinksTable.'.pl_namespace=' . intval($link->getNamespace()); - if ($bIgnoreCase) $sSqlCond_page_pl .= ' AND UPPER('.$sPageLinksTable.'.pl_title)=UPPER(' . $dbr->addQuotes( $link->getDbKey() ).'))'; - else $sSqlCond_page_pl .= ' AND '.$sPageLinksTable.'.pl_title=' . $dbr->addQuotes( $link->getDbKey() ).')'; - $n++; - } - $sSqlCond_page_pl .= ') )'; - } - - // linksfrom - if ( count($aLinksFrom)>0 ) { - if ($acceptOpenReferences) { - $sSqlCond_page_pl .= ' AND ('; - $n=0; - foreach ($aLinksFrom as $link) { - if ($n>0) $sSqlCond_page_pl .= ' OR '; - $sSqlCond_page_pl .= '(pl_from=' . $link->getArticleID().')'; - $n++; - } - $sSqlCond_page_pl .= ')'; - } - else { - $sSqlPageLinksTable .= $sPageLinksTable . ' as plf, '. $sPageTable . 'as pagesrc, '; - $sSqlCond_page_pl .= ' AND '.$sPageTable.'.page_namespace = plf.pl_namespace AND '.$sPageTable.'.page_title = plf.pl_title AND pagesrc.page_id=plf.pl_from AND ('; - $sSqlSelPage = ', pagesrc.page_title as sel_title, pagesrc.page_namespace as sel_ns'; - $n=0; - foreach ($aLinksFrom as $link) { - if ($n>0) $sSqlCond_page_pl .= ' OR '; - $sSqlCond_page_pl .= '(plf.pl_from=' . $link->getArticleID().')'; - $n++; - } - $sSqlCond_page_pl .= ')'; - } - } - - // notlinksfrom - if ( count($aNotLinksFrom)>0 ) { - if ($acceptOpenReferences) { - $sSqlCond_page_pl .= ' AND ('; - $n=0; - foreach ($aNotLinksFrom as $link) { - if ($n>0) $sSqlCond_page_pl .= ' AND '; - $sSqlCond_page_pl .= 'pl_from <> ' . $link->getArticleID(). ' '; - $n++; - } - $sSqlCond_page_pl .= ')'; - } - else { - $sSqlCond_page_pl .= ' AND CONCAT(page_namespace,page_title) not in (select CONCAT('.$sPageLinksTable.'.pl_namespace,' - .$sPageLinksTable.'.pl_title) from '.$sPageLinksTable.' where ('; - $n=0; - foreach ($aNotLinksFrom as $link) { - if ($n>0) $sSqlCond_page_pl .= ' OR '; - $sSqlCond_page_pl .= $sPageLinksTable.'.pl_from=' . $link->getArticleID(). ' '; - $n++; - } - $sSqlCond_page_pl .= '))'; - } - } - - // uses - if ( count($aUses)>0 ) { - $sSqlPageLinksTable .= ' '.$sTemplateLinksTable . ' as tl, '; - $sSqlCond_page_pl .= ' AND '.$sPageTable.'.page_id=tl.tl_from AND ('; - $n=0; - foreach ($aUses as $link) { - if ($n>0) $sSqlCond_page_pl .= ' OR '; - $sSqlCond_page_pl .= '(tl.tl_namespace=' . intval( $link->getNamespace() ); - if ($bIgnoreCase) $sSqlCond_page_pl .= " AND UPPER(tl.tl_title)=UPPER(" . $dbr->addQuotes( $link->getDbKey() ).'))'; - else $sSqlCond_page_pl .= " AND tl.tl_title=" . $dbr->addQuotes( $link->getDbKey() ).')'; - $n++; - } - $sSqlCond_page_pl .= ')'; - } - - // notuses - if ( count($aNotUses)>0 ) { - $sSqlCond_page_pl .= ' AND '.$sPageTable.'.page_id not in (select '.$sTemplateLinksTable.'.tl_from from '.$sTemplateLinksTable.' where ('; - $n=0; - foreach ($aNotUses as $link) { - if ($n>0) $sSqlCond_page_pl .= ' OR '; - $sSqlCond_page_pl .= '('.$sTemplateLinksTable.'.tl_namespace=' . intval($link->getNamespace()); - if ($bIgnoreCase) $sSqlCond_page_pl .= ' AND UPPER('.$sTemplateLinksTable.'.tl_title)=UPPER(' . $dbr->addQuotes( $link->getDbKey() ).'))'; - else $sSqlCond_page_pl .= ' AND '.$sTemplateLinksTable.'.tl_title=' . $dbr->addQuotes( $link->getDbKey() ).')'; - $n++; - } - $sSqlCond_page_pl .= ') )'; - } - - // recent changes ============================= - - if ( $bAddContribution ) { - $sSqlRCTable = $sRCTable . ' AS rc, '; - $sSqlCond_page_rc = ' AND rc.rc_cur_id=page.page_id'; - $sSqlSelPage .= ', SUM( ABS( rc.rc_new_len - rc.rc_old_len ) ) AS contribution, rc.rc_user_text as contributor'; - $sSqlWhere .= ' AND page.page_id=rc.rc_cur_id'; - if ($sSqlGroupBy != '') $sSqlGroupBy .= ', '; - $sSqlGroupBy .= 'rc.rc_cur_id'; - } - - // Revisions ================================== - if ( $sCreatedBy != "" ) { - $sSqlCond_page_rev .= ' AND \''.$sCreatedBy.'\' = (select rev_user_text from '.$sRevisionTable - .' where '.$sRevisionTable.'.rev_page=page_id order by '.$sRevisionTable.'.rev_timestamp ASC limit 1)'; - } - if ( $sNotCreatedBy != "" ) { - $sSqlCond_page_rev .= ' AND \''.$sNotCreatedBy.'\' != (select rev_user_text from '.$sRevisionTable - .' where '.$sRevisionTable.'.rev_page=page_id order by '.$sRevisionTable.'.rev_timestamp ASC limit 1)'; - } - if ( $sModifiedBy != "" ) { - $sSqlCond_page_rev .= ' AND \''.$sModifiedBy.'\' in (select rev_user_text from '.$sRevisionTable - .' where '.$sRevisionTable.'.rev_page=page_id)'; - } - if ( $sNotModifiedBy != "" ) { - $sSqlCond_page_rev .= ' AND \''.$sNotModifiedBy.'\' not in (select rev_user_text from '.$sRevisionTable.' where '.$sRevisionTable.'.rev_page=page_id)'; - } - if ( $sLastModifiedBy != "" ) { - $sSqlCond_page_rev .= ' AND \''.$sLastModifiedBy.'\' = (select rev_user_text from '.$sRevisionTable - .' where '.$sRevisionTable.'.rev_page=page_id order by '.$sRevisionTable.'.rev_timestamp DESC limit 1)'; - } - if ( $sNotLastModifiedBy != "" ) { - $sSqlCond_page_rev .= ' AND \''.$sNotLastModifiedBy.'\' != (select rev_user_text from '.$sRevisionTable - .' where '.$sRevisionTable.'.rev_page=page_id order by '.$sRevisionTable.'.rev_timestamp DESC limit 1)'; - } - - if ($bAddAuthor && $sSqlRevisionTable =='') { - $sSqlRevisionTable = $sRevisionTable . ' AS rev, '; - $sSqlCond_page_rev = ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MIN(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; - } - if ($bAddLastEditor && $sSqlRevisionTable =='') { - $sSqlRevisionTable = $sRevisionTable . ' AS rev, '; - $sSqlCond_page_rev = ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MAX(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page )'; - } - - - if ($sLastRevisionBefore.$sAllRevisionsBefore.$sFirstRevisionSince.$sAllRevisionsSince != '') { - - // later during output we are going to create html links to the revisions, so we must enable RawHtml - // wiki syntax does not support links to revisions as far as I know -- gs - global $wgRawHtml; - $wgRawHtml = true; - - $sSqlRevisionTable = $sRevisionTable . ' AS rev, '; - $sSqlRev_timestamp = ', rev_timestamp'; - $sSqlRev_id = ', rev_id'; - if ($sLastRevisionBefore!='') { - $sSqlCond_page_rev .= ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MAX(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page AND rev_aux.rev_timestamp < '.$sLastRevisionBefore.')'; - } - if ($sAllRevisionsBefore!='') { - $sSqlCond_page_rev .= ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp < '.$sAllRevisionsBefore; - } - if ($sFirstRevisionSince!='') { - $sSqlCond_page_rev .= ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp=( SELECT MIN(rev_aux.rev_timestamp) FROM ' . $sRevisionTable . ' AS rev_aux WHERE rev_aux.rev_page=rev.rev_page AND rev_aux.rev_timestamp >= '.$sFirstRevisionSince.')'; - } - if ($sAllRevisionsSince!='') { - $sSqlCond_page_rev .= ' AND '.$sPageTable.'.page_id=rev.rev_page AND rev.rev_timestamp >= '.$sAllRevisionsSince; - } - } - - if ( isset($aCatMinMax[0]) && $aCatMinMax[0]!='' ) { - $sSqlCond_MaxCat .= ' AND ' . $aCatMinMax[0] . ' <= (select count(*) from ' . $sCategorylinksTable . - ' where '.$sCategorylinksTable.'.cl_from=page_id)'; - } - if ( isset($aCatMinMax[1]) && $aCatMinMax[1]!='') { - $sSqlCond_MaxCat .= ' AND ' . $aCatMinMax[1] . ' >= (select count(*) from ' . $sCategorylinksTable . - ' where '.$sCategorylinksTable.'.cl_from=page_id)'; - } - - if ($bAddFirstCategoryDate) - //format cl_timestamp field (type timestamp) to string in same format as rev_timestamp field - //to make it compatible with $wgLang->date() function used in function DPL2OutputListStyle() to show "firstcategorydate" - $sSqlCl_timestamp = ", DATE_FORMAT(cl0.cl_timestamp, '%Y%m%d%H%i%s') AS cl_timestamp"; - if ($bAddPageCounter) - $sSqlPage_counter = ", $sPageTable.page_counter as page_counter"; - if ($bAddPageSize) - $sSqlPage_size = ", $sPageTable.page_len as page_len"; - if ($bAddPageTouchedDate) - $sSqlPage_touched = ", $sPageTable.page_touched as page_touched"; - if ($bAddUser || $bAddAuthor || $bAddLastEditor || $sSqlRevisionTable != '') - $sSqlRev_user = ', rev_user, rev_user_text'; - if ($bAddCategories) { - $sSqlCats = ", GROUP_CONCAT(DISTINCT cl_gc.cl_to ORDER BY cl_gc.cl_to ASC SEPARATOR ' | ') AS cats"; - // Gives list of all categories linked from each article, if any. - $sSqlClTableForGC = $sCategorylinksTable . ' AS cl_gc'; - // Categorylinks table used by the Group Concat (GC) function above - $sSqlCond_page_cl_gc = 'page_id=cl_gc.cl_from'; - if ($sSqlGroupBy != '') $sSqlGroupBy .= ', '; - $sSqlGroupBy .= $sSqlCl_to .$sPageTable.'.page_id'; - } - - // SELECT ... FROM - if ($acceptOpenReferences) - $sSqlSelectFrom = "SELECT $sSqlDistinct " . $sSqlCl_to . 'pl_namespace, pl_title' . $sSqlSelPage . $sSqlSortkey . ' FROM ' . $sPageLinksTable; - else - $sSqlSelectFrom = "SELECT $sSqlDistinct " . $sSqlCl_to . $sPageTable.'.page_namespace as page_namespace, - '.$sPageTable.'.page_title as page_title' . $sSqlSelPage . $sSqlSortkey . $sSqlPage_counter . - $sSqlPage_size . $sSqlPage_touched . $sSqlRev_user . - $sSqlRev_timestamp . $sSqlRev_id . $sSqlCats . $sSqlCl_timestamp . - ' FROM ' . $sSqlRevisionTable . $sSqlRCTable . $sSqlPageLinksTable . $sPageTable; - - // JOIN ... - if($sSqlClHeadTable != '' || $sSqlClTableForGC != '') { - $b2tables = ($sSqlClHeadTable != '') && ($sSqlClTableForGC != ''); - $sSqlSelectFrom .= ' LEFT OUTER JOIN (' . $sSqlClHeadTable . ($b2tables ? ', ' : '') . $sSqlClTableForGC . ') ON (' . $sSqlCond_page_cl_head . ($b2tables ? ' AND ' : '') . $sSqlCond_page_cl_gc . ')'; - } - - // Include categories... - $iClTable = 0; - for ($i = 0; $i < $iIncludeCatCount; $i++) { - // If we want the Uncategorized - $sSqlSelectFrom .= ' INNER JOIN ' . ( in_array('', $aIncludeCategories[$i]) ? $sDplClView : $sCategorylinksTable ) . - ' AS cl' . $iClTable . ' ON '.$sPageTable.'.page_id=cl' . $iClTable . '.cl_from AND (cl' . $iClTable . '.cl_to'. - $sCategoryComparisonMode . $dbr->addQuotes($aIncludeCategories[$i][0]); - for ($j = 1; $j < count($aIncludeCategories[$i]); $j++) - $sSqlSelectFrom .= ' OR cl' . $iClTable . '.cl_to' . $sCategoryComparisonMode . $dbr->addQuotes($aIncludeCategories[$i][$j]); - $sSqlSelectFrom .= ') '; - $iClTable++; - } - - // Exclude categories... - for ($i = 0; $i < $iExcludeCatCount; $i++) { - $sSqlSelectFrom .= - ' LEFT OUTER JOIN ' . $sCategorylinksTable . ' AS cl' . $iClTable . - ' ON '.$sPageTable.'.page_id=cl' . $iClTable . '.cl_from' . - ' AND cl' . $iClTable . '.cl_to'. $sNotCategoryComparisonMode . $dbr->addQuotes($aExcludeCategories[$i]); - $sSqlWhere .= ' AND cl' . $iClTable . '.cl_to IS NULL'; - $iClTable++; - } - - // WHERE... (actually finish the WHERE clause we may have started if we excluded categories - see above) - // Namespace IS ... - if ( !empty($aNamespaces)) { - if ($acceptOpenReferences) - $sSqlWhere .= ' AND '.$sPageTable.'.pl_namespace IN (' . $dbr->makeList( $aNamespaces) . ')'; - else - $sSqlWhere .= ' AND '.$sPageTable.'.page_namespace IN (' . $dbr->makeList( $aNamespaces) . ')'; - } - // Namespace IS NOT ... - if ( !empty($aExcludeNamespaces)) { - if ($acceptOpenReferences) - $sSqlWhere .= ' AND '.$sPageTable.'.pl_namespace NOT IN (' . $dbr->makeList( $aExcludeNamespaces ) . ')'; - else - $sSqlWhere .= ' AND '.$sPageTable.'.page_namespace NOT IN (' . $dbr->makeList( $aExcludeNamespaces ) . ')'; - } - - // TitleIs - if ( $sTitleIs != '' ) { - if ($bIgnoreCase) $sSqlWhere .= ' AND UPPER('.$sPageTable.'.page_title) = UPPER(' . $dbr->addQuotes($sTitleIs) .')' ; - else $sSqlWhere .= ' AND '.$sPageTable.'.page_title = ' . $dbr->addQuotes($sTitleIs) ; - } - - // TitleMatch ... - if ( count($aTitleMatch)>0 ) { - $sSqlWhere .= ' AND ('; - $n=0; - foreach ($aTitleMatch as $link) { - if ($n>0) $sSqlWhere .= ' OR '; - if ($acceptOpenReferences) { - if ($bIgnoreCase) $sSqlWhere .= 'UPPER(pl_title)' . $sTitleMatchMode . 'UPPER('. $dbr->addQuotes($link) . ')' ; - else $sSqlWhere .= 'pl_title' . $sTitleMatchMode . $dbr->addQuotes($link) ; - } else { - if ($bIgnoreCase) $sSqlWhere .= 'UPPER(' . $sPageTable.'.page_title)' . $sTitleMatchMode . 'UPPER('. $dbr->addQuotes($link) .')' ; - else $sSqlWhere .= $sPageTable.'.page_title' . $sTitleMatchMode . $dbr->addQuotes($link) ; - } - $n++; - } - $sSqlWhere .= ')'; - } - - // NotTitleMatch ... - if ( count($aNotTitleMatch)>0 ) { - $sSqlWhere .= ' AND NOT ('; - $n=0; - foreach ($aNotTitleMatch as $link) { - if ($n>0) $sSqlWhere .= ' OR '; - if ($acceptOpenReferences) { - if ($bIgnoreCase) $sSqlWhere .= 'UPPER(pl_title)' . $sNotTitleMatchMode . 'UPPER(' . $dbr->addQuotes($link) . ')'; - else $sSqlWhere .= 'pl_title' . $sNotTitleMatchMode . $dbr->addQuotes($link); - } else { - if ($bIgnoreCase) $sSqlWhere .= 'UPPER('.$sPageTable.'.page_title)' . $sNotTitleMatchMode . 'UPPER(' . $dbr->addQuotes($link) .')'; - else $sSqlWhere .= $sPageTable.'.page_title' . $sNotTitleMatchMode . $dbr->addQuotes($link); - } - $n++; - } - $sSqlWhere .= ')'; - } - - // rev_minor_edit IS - if( isset($sMinorEdits) && $sMinorEdits == 'exclude' ) - $sSqlWhere .= ' AND rev_minor_edit=0'; - // page_is_redirect IS ... - if (!$acceptOpenReferences) { - switch ($sRedirects) { - case 'only': - $sSqlWhere .= ' AND '.$sPageTable.'.page_is_redirect=1'; - break; - case 'exclude': - $sSqlWhere .= ' AND '.$sPageTable.'.page_is_redirect=0'; - break; - } - } - - // page_id=rev_page (if revision table required) - $sSqlWhere .= $sSqlCond_page_rev; - - // count(all categories) <= max no of categories - $sSqlWhere .= $sSqlCond_MaxCat; - - // page_id=pl.pl_from (if pagelinks table required) - $sSqlWhere .= $sSqlCond_page_pl; - - // GROUP BY ... - if ($sSqlGroupBy!='') { - $sSqlWhere .= ' GROUP BY '.$sSqlGroupBy . ' '; - } - - // ORDER BY ... - if ($aOrderMethods[0]!='') { - $sSqlWhere .= ' ORDER BY '; - foreach($aOrderMethods as $i => $sOrderMethod) { - if($i > 0) - $sSqlWhere .= ', '; - switch ($sOrderMethod) { - case 'category': - $sSqlWhere .= 'cl_head.cl_to'; - break; - case 'categoryadd': - $sSqlWhere .= 'cl0.cl_timestamp'; - break; - case 'counter': - $sSqlWhere .= 'page_counter'; - break; - case 'size': - $sSqlWhere .= 'page_len'; - break; - case 'firstedit': - case 'lastedit': - $sSqlWhere .= 'rev_timestamp'; - break; - case 'pagetouched': - $sSqlWhere .= 'page_touched'; - break; - case 'sortkey': - case 'title': - case 'pagesel': - case 'titlewithoutnamespace': - $sSqlWhere .= 'sortkey'; - break; - case 'user': - // rev_user_text can discriminate anonymous users (e.g. based on IP), rev_user cannot (=' 0' for all) - $sSqlWhere .= 'rev_user_text'; - break; - } - } - if ($sOrder == 'descending') - $sSqlWhere .= ' DESC'; - else - $sSqlWhere .= ' ASC'; - } - - if ($sAllRevisionsSince!='' || $sAllRevisionsBefore!='') $sSqlWhere .= ', rev_id DESC'; - - // LIMIT .... - // we must switch off LIMITS when going for categories as output goal (due to mysql limitations) - if ( isset($iCount) && $sGoal != 'categories' ) - $sSqlWhere .= ' LIMIT ' . intval( $iCountWithOffset ); - - // when we go for a list of categories as result we transform the output of the normal query into a subquery - // of a selection on the categorylinks - - if ($sGoal=='categories') { - $sSqlSelectFrom = 'select distinct cl3.cl_to from '.$sCategorylinksTable.' as cl3 where cl3.cl_from in ( ' . - preg_replace('/SELECT DISTINCT .* FROM /','SELECT DISTINCT '.$sPageTable.'.page_id FROM ',$sSqlSelectFrom); - if ($sOrder == 'descending') $sSqlWhere .= ' ) order by cl3.cl_to DESC'; - else $sSqlWhere .= ' ) order by cl3.cl_to ASC'; - } - -// ###### PROCESS SQL QUERY ###### - if ($logger->iDebugLevel >=3) { - //DEBUG: output SQL query - $output .= "DPL debug -- Query=
\n".$sSqlSelectFrom . $sSqlWhere."\n\n"; - } - - try { - $res = $dbr->query($sSqlSelectFrom . $sSqlWhere); - } - catch (Exception $e) { - $result = "The DPL extension (version ".DPL2_VERSION.") produced a SQL statement which lead to a Database error.
\n" - ."The reason may be an internal error of DPL or an error which you made,
\n" - ."especially when using DPL options like titleregexp.
\n" - ."Query text is:
\n".$sSqlSelectFrom . $sSqlWhere."\n\n" - ."Error message is:
\n".$dbr->lastError()."\n\n"; - return $result; - } - - if ($dbr->numRows( $res ) <= $iOffset) { - if ($sNoResultsHeader != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsHeader)); - if ($sNoResultsFooter != '') $output .= str_replace( '\n', "\n", str_replace( "¶", "\n", $sNoResultsFooter)); - if ($sNoResultsHeader == '' && $sNoResultsFooter == '') $output .= $logger->escapeMsg(DPL2_WARN_NORESULTS); - $dbr->freeResult( $res ); - return $output; - } - // do this later, after we filter (includematch / includenotmatch) the data -# if ($sResultsHeader != '') $output .= str_replace('%PAGES%',$dbr->numRows($res)-$iOffset,$sResultsHeader) . "\n"; - - $sk =& $wgUser->getSkin(); - // generate title for Special:Contributions (used if adduser=true) - $sSpecContribs = '[[:Special:Contributions|Contributions]]'; - - $aHeadings = array(); // maps heading to count (# of pages under each heading) - $aArticles = array(); - - // pick some elements by random - $pick[0]=true; - - if (isset($iRandomCount)) { - $nResults = $dbr->numRows( $res ) - $iOffset; - srand((float) microtime() * 10000000); - if ($iRandomCount>$nResults) $iRandomCount = $nResults; - $r=0; - while (true) { - $rnum = mt_rand(1,$nResults); - if (!isset($pick[$rnum+$iOffset])) { - $pick[$rnum+$iOffset] = true; - $r++; - if ($r>=$iRandomCount) break; - } - } - } - - - $iArticle = 0; - - while( $row = $dbr->fetchObject ( $res ) ) { - $iArticle++; - - // skip result lines up to the offset - if ($iArticle <= $iOffset) continue; - - // in random mode skip articles which were not chosen - if (isset($iRandomCount) && !isset($pick[$iArticle])) continue; - - if ($sGoal=='categories') { - $pageNamespace = 14; // CATEGORY - $pageTitle = $row->cl_to; - } else if ($acceptOpenReferences) { - // existing PAGE TITLE - $pageNamespace = $row->pl_namespace; - $pageTitle = $row->pl_title; - } - else { - // maybe non-existing title - $pageNamespace = $row->page_namespace; - $pageTitle = $row->page_title; - } - - // if subpages are to be excluded: skip them - if (!$bIncludeSubpages && (!(strpos($pageTitle,'/')===false))) continue; - - // maybe we will somewhen support namespace protections - // do not allow access to protected Namespaces - // if (count($wgNonincludableNamespaces)>0 && in_array($pageNamespace,$wgNonincludableNamespaces) ) continue; - // we should produce an error message if debug >= 3 - - $title = Title::makeTitle($pageNamespace, $pageTitle); - - // block recursion: avoid to show the page which contains the DPL statement as part of the result - if ($bSkipThisPage && ($title->getNamespace() == $wgTitle->getNamespace() && - $title->getText() == $wgTitle->getText())) { - // $output.= 'BLOCKED '.$wgTitle->getText().' DUE TO RECURSION'."\n"; - continue; - } - - $dplArticle = new DPL2Article( $title, $pageNamespace ); - //PAGE LINK - $sTitleText = $title->getText(); - if ($aReplaceInTitle[0]!='') $sTitleText = preg_replace($aReplaceInTitle[0],$aReplaceInTitle[1],$sTitleText); - - //chop off title if "too long" - if( isset($iTitleMaxLen) && (strlen($sTitleText) > $iTitleMaxLen) ) - $sTitleText = substr($sTitleText, 0, $iTitleMaxLen) . '...'; - if ($bShowNamespace) - //Adapted from Title::getPrefixedText() - $sTitleText = str_replace( '_', ' ', $title->prefix($sTitleText) ); - if ($bEscapeLinks && ($pageNamespace==14 || $pageNamespace==6) ) { - // links to categories or images need an additional ":" - $articleLink = '[[:'.$title->getPrefixedText().'|'.$wgContLang->convert( $sTitleText ).']]'; - } else { - $articleLink = '[['.$title->getPrefixedText().'|'.$wgContLang->convert( $sTitleText ).']]'; - } - $dplArticle->mLink = $articleLink; - - //get first char used for category-style output - if( isset($row->sortkey) ) { - $dplArticle->mStartChar = $wgContLang->convert($wgContLang->firstChar($row->sortkey)); - } - //SHOW PAGE_COUNTER - if( isset($row->page_counter) ) - $dplArticle->mCounter = $row->page_counter; - - //SHOW PAGE_SIZE - if( isset($row->page_len) ) - $dplArticle->mSize = $row->page_len; - - //STORE initially selected PAGE - if ( count($aLinksTo)>0 || count($aLinksFrom)>0 ) { - if (!isset($row->sel_title)) { - $dplArticle->mSelTitle = 'unknown page'; - $dplArticle->mSelNamespace = 0; - } else { - $dplArticle->mSelTitle = $row->sel_title; - $dplArticle->mSelNamespace = $row->sel_ns; - } - } - - if ($bGoalIsPages) { - //REVISION SPECIFIED - if( $sLastRevisionBefore.$sAllRevisionsBefore.$sFirstRevisionSince.$sAllRevisionsSince !='') { - $dplArticle->mRevision = $row->rev_id; - $dplArticle->mUser = $row->rev_user_text; - $dplArticle->mDate = $row->rev_timestamp; - } - - //SHOW "PAGE_TOUCHED" DATE, "FIRSTCATEGORYDATE" OR (FIRST/LAST) EDIT DATE - if($bAddPageTouchedDate) $dplArticle->mDate = $row->page_touched; - elseif ($bAddFirstCategoryDate) $dplArticle->mDate = $row->cl_timestamp; - elseif ($bAddEditDate) $dplArticle->mDate = $row->rev_timestamp; - - if ($dplArticle->mDate!='' && $sUserDateFormat!='') { - // we add one space for nicer formatting - $dplArticle->myDate = gmdate($sUserDateFormat,wfTimeStamp(TS_UNIX,$dplArticle->mDate)).' '; - } - // CONTRIBUTION, CONTRIBUTOR - if($bAddContribution) { - $dplArticle->mContribution = $row->contribution; - $dplArticle->mContributor = $row->contributor; - $dplArticle->mContrib = substr('*****************',0,round(log($row->contribution))); - } - - - //USER/AUTHOR(S) - // because we are going to do a recursive parse at the end of the output phase - // we have to generate wiki syntax for linking to a users homepage - if($bAddUser || $bAddAuthor || $bAddLastEditor || $sLastRevisionBefore.$sAllRevisionsBefore.$sFirstRevisionSince.$sAllRevisionsSince != '') { - $dplArticle->mUserLink = '[[User:'.$row->rev_user_text.'|'.$row->rev_user_text.']]'; - $dplArticle->mUser = $row->rev_user_text; - } - - //CATEGORY LINKS FROM CURRENT PAGE - if($bAddCategories && $bGoalIsPages && ($row->cats != '')) { - $artCatNames = explode(' | ', $row->cats); - foreach($artCatNames as $iArtCat => $artCatName) { - $dplArticle->mCategoryLinks[] = '[[:Category:'.$artCatName.'|'.str_replace('_',' ',$artCatName).']]'; - $dplArticle->mCategoryTexts[] = str_replace('_',' ',$artCatName); - } - } - // PARENT HEADING (category of the page, editor (user) of the page, etc. Depends on ordermethod param) - if($sHListMode != 'none') { - switch($aOrderMethods[0]) { - case 'category': - //count one more page in this heading - $aHeadings[$row->cl_to] = isset($aHeadings[$row->cl_to]) ? $aHeadings[$row->cl_to] + 1 : 1; - if($row->cl_to == '') { - //uncategorized page (used if ordermethod=category,...) - $dplArticle->mParentHLink = '[[:Special:Uncategorizedpages|'.wfMsg('uncategorizedpages').']]'; - } else { - $dplArticle->mParentHLink = '[[:Category:'.$row->cl_to.'|'.str_replace('_',' ',$row->cl_to).']]'; - } - break; - case 'user': - $aHeadings[$row->rev_user_text] = isset($aHeadings[$row->rev_user_text]) ? $aHeadings[$row->rev_user_text] + 1 : 1; - if($row->rev_user == 0) { //anonymous user - $dplArticle->mParentHLink = '[[User:'.$row->rev_user_text.'|'.$row->rev_user_text.']]'; - - } else { - $dplArticle->mParentHLink = '[[User:'.$row->rev_user_text.'|'.$row->rev_user_text.']]'; - } - break; - } - } - } - - $aArticles[] = $dplArticle; - } - $dbr->freeResult( $res ); - -// ###### SHOW OUTPUT ###### - - $listMode = new DPL2ListMode($sPageListMode, $aSecSeparators, $aMultiSecSeparators, $sInlTxt, $sListHtmlAttr, - $sItemHtmlAttr, $aListSeparators, $iOffset, $iDominantSection); - - $hListMode = new DPL2ListMode($sHListMode, $aSecSeparators, $aMultiSecSeparators, '', $sHListHtmlAttr, - $sHItemHtmlAttr, $aListSeparators, $iOffset, $iDominantSection); - - $dpl = new DPL2($aHeadings, $bHeadingCount, $iColumns, $iRows, $iRowSize, $sRowColFormat, $aArticles, - $aOrderMethods[0], $hListMode, $listMode, $bEscapeLinks, $bIncPage, $iIncludeMaxLen, - $aSecLabels, $aSecLabelsMatch, $aSecLabelsNotMatch, $parser, $logger, $aReplaceInTitle, - $iTitleMaxLen, $defaultTemplateSuffix, $aTableRow); - - $dpl2result = $dpl->getText(); - $header=''; - if ($sOneResultHeader != '' && $dpl->getRowCount()==1) { - $header = str_replace('%PAGES%',1,$sOneResultHeader); - } else { - if ($sResultsHeader != '') $header = str_replace('%PAGES%',$dpl->getRowCount(),$sResultsHeader); - } - $header = str_replace( '\n', "\n", str_replace( "¶", "\n", $header )); - $footer=''; - if ($sOneResultFooter != '' && $dpl->getRowCount()==1) { - $footer = str_replace('%PAGES%',1,$sOneResultFooter); - } else { - if ($sResultsFooter != '') $footer = str_replace('%PAGES%',$dpl->getRowCount(),$sResultsFooter); - } - $footer = str_replace( '\n', "\n", str_replace( "¶", "\n", $footer )); - - $output .= $header . $dpl2result . $footer; - - // The following requires an extra parser step which may consume some time - // we parse the DPL output and save all referenced found in that output in a global list - // in a final user exit after the whole document processing we eliminate all these links - // we use a local parser to avoid interference with the main parser - - if ($bReset[4] || $bReset[5] || $bReset[6] || $bReset[7] ) { - // register a hook to reset links which were produced during parsing DPL output - global $wgHooks; - if (!isset($wgHooks['ParserAfterTidy']) || !in_array('wfDPL_End_Eliminate',$wgHooks['ParserAfterTidy'])) { - $wgHooks['ParserAfterTidy'][] = 'wfDPL_End_Eliminate'; - } - $parserOutput= $localParser->parse($output,$parser->mTitle,$parser->mOptions); - } - if ($bReset[4]) { // LINKS - // we trigger the mediawiki parser to find links, images, categories etc. which are contained in the DPL output - // this allows us to remove these links from the link list later - // If the article containing the DPL statement itself uses one of these links they will be thrown away!! - foreach ($parserOutput->getLinks() as $link) { - foreach ($link as $key => $val) { - $DPLcreatedLinks[0][$key]=$val; - // $output.= "storing link $val($key)."; - } - } - } - if ($bReset[5]) { // TEMPLATES - foreach ($parserOutput->getTemplates() as $tpl) { - foreach ($tpl as $key => $val) { - $DPLcreatedLinks[1][$key]=$val; - // $output.= "storing use of template $val($key)."; - } - } - } - if ($bReset[6]) { // CATEGORIES - foreach ($parserOutput->mCategories as $catname => $catkey) { - $DPLcreatedLinks[2][$catname] = $catname; - } - } - if ($bReset[7]) { // IMAGES - foreach ($parserOutput->mImages as $imgid => $dummy) { - $DPLcreatedLinks[3][$imgid] = $imgid; - } - } - - return $output; - -} - - -// Simple Article/Page class with properties used in the DPL -class DPL2Article { - var $mTitle = ''; // title - var $mNamespace = -1; // namespace (number) - var $mSelTitle = ''; // selected title of initial page - var $mSelNamespace = -1;// selected namespace (number) of initial page - var $mLink = ''; // html link to page - var $mStartChar = ''; // page title first char - var $mParentHLink = ''; // heading (link to the associated page) that page belongs to in the list (default '' means no heading) - var $mCategoryLinks = array(); // category links in the page - var $mCategoryTexts = array(); // category names (without link) in the page - var $mCounter = ''; // Number of times this page has been viewed - var $mSize = ''; // Article length in bytes of wiki text - var $mDate = ''; // timestamp depending on the user's request (can be first/last edit, page_touched, ...) - var $myDate = ''; // the same, based on user format definition - var $mRevision = ''; // the revision number if specified - var $mUserLink = ''; // link to editor (first/last, depending on user's request) 's page or contributions if not registered - var $mUser = ''; // name of editor (first/last, depending on user's request) or contributions if not registered - var $mContribution= ''; // number of bytes changed - var $mContrib= ''; // short string indicating the size of a contribution - var $mContributor= ''; // user who made the changes - - function DPL2Article($title, $namespace) { - $this->mTitle = $title; - $this->mNamespace = $namespace; - } -} - -// create keys for TableRow which representg the structure of the "include=" arguments -function DPLupdateTableRowKeys(&$aTableRow,$aSecLabels) { - $tableRow = $aTableRow; - $aTableRow=array(); - $groupNr=-1; - $t= -1; - foreach ($aSecLabels as $colgroup => $label) { - $t++; - $groupNr++; - $cols = split('}:',$label); - if (count($cols)<=1) { - if (array_key_exists($t,$tableRow)) $aTableRow[$groupNr]=$tableRow[$t]; - } - else { - $n=count(split(':',$cols[1])); - $colNr=-1; - $t--; - for ($i=1;$i<=$n;$i++) { - $colNr++; - $t++; - if (array_key_exists($t,$tableRow)) $aTableRow[$groupNr.'.'.$colNr]=$tableRow[$t]; - } - } - } -} - -function getSubcategories($cat,$sPageTable) { - $dbr =& wfGetDB( DB_SLAVE ); - $cats=$cat; - $res = $dbr->query("select distinct page_title from ".$dbr->tableName('page')." inner join " - .$dbr->tableName('categorylinks')." as cl0 on ".$sPageTable.".page_id = cl0.cl_from and cl0.cl_to='" - .str_replace(' ','_',$cat)."'"." where page_namespace='14'"); - while( $row = $dbr->fetchObject ( $res ) ) { - $cats .= '|'.$row->page_title; - } - $dbr->freeResult( $res ); - return $cats; -} - -class DPL2ListMode { - var $name; - var $sListStart = ''; - var $sListEnd = ''; - var $sHeadingStart = ''; - var $sHeadingEnd = ''; - var $sItemStart = ''; - var $sItemEnd = ''; - var $sInline = ''; - var $sSectionTags = array(); - var $aMultiSecSeparators = array(); - var $iDominantSection = -1; - - function DPL2ListMode($listmode, $secseparators, $multisecseparators, $inlinetext, $listattr = '', $itemattr = '', - $listseparators, $iOffset, $dominantSection) { - // default for inlinetext (if not in mode=userformat) - if (($listmode != 'userformat') && ($inlinetext == '')) - $inlinetext = ' - '; - $this->name = $listmode; - $_listattr = ($listattr == '') ? '' : ' ' . Sanitizer::fixTagAttributes( $listattr, 'ul' ); - $_itemattr = ($itemattr == '') ? '' : ' ' . Sanitizer::fixTagAttributes( $itemattr, 'li' ); - - $this->sSectionTags = $secseparators; - $this->aMultiSecSeparators = $multisecseparators; - $this->iDominantSection = $dominantSection - 1; // 0 based index - - switch ($listmode) { - case 'inline': - if( stristr($inlinetext, '
') ) { //one item per line (pseudo-inline) - $this->sListStart = ''; - $this->sListEnd = ''; - } - $this->sItemStart = ''; - $this->sItemEnd = ''; - $this->sInline = $inlinetext; - break; - case 'ordered': - if ($iOffset==0) $this->sListStart = ''; - else $this->sListStart = '
    '; - $this->sListEnd = '
'; - $this->sItemStart = ''; - $this->sItemEnd = ''; - break; - case 'unordered': - $this->sListStart = ''; - $this->sListEnd = ''; - $this->sItemStart = ''; - $this->sItemEnd = ''; - break; - case 'definition': - $this->sListStart = ''; - $this->sListEnd = ''; - // item html attributes on dt element or dd element ? - $this->sHeadingStart = '
'; - $this->sHeadingEnd = '
'; - $this->sItemEnd = '
'; - break; - case 'H2': - case 'H3': - case 'H4': - $this->sListStart = ''; - $this->sListEnd = ''; - $this->sHeadingStart = '<' . $listmode .'>'; - $this->sHeadingEnd = ''; - break; - case 'userformat': - switch(count($listseparators)) { - case 4: - $this->sListEnd = $listseparators[3]; - case 3: - $this->sItemEnd = $listseparators[2]; - case 2: - $this->sItemStart = $listseparators[1]; - case 1: - $this->sListStart = $listseparators[0]; - } - $this->sInline = $inlinetext; - break; - } - } -} - - -class DPL2 { - - var $mArticles; - var $mHeadingType; // type of heading: category, user, etc. (depends on 'ordermethod' param) - var $mHListMode; // html list mode for headings - var $mListMode; // html list mode for pages - var $mEscapeLinks; // whether to escape img/cat or not - var $mIncPage; // true only if page transclusion is enabled - var $mIncMaxLen; // limit for text to include - var $mIncSecLabels = array(); // array of labels of sections to transclude - var $mIncSecLabelsMatch = array(); // array of match patterns for sections to transclude - var $mIncSecLabelsNotMatch = array(); // array of NOT match patterns for sections to transclude - var $mParser; - var $mParserOptions; - var $mParserTitle; - var $mLogger; // DPL2Logger - var $mOutput; - var $mReplaceInTitle; - var $filteredCount = 0; // number of (filtered) row count - var $nameSpaces; - var $mTableRow; // formatting rules for table fields - - function DPL2($headings, $bHeadingCount, $iColumns, $iRows, $iRowSize, $sRowColFormat, $articles, $headingtype, $hlistmode, - $listmode, $bescapelinks, $includepage, $includemaxlen, $includeseclabels, $includeseclabelsmatch, - $includeseclabelsnotmatch, &$parser, $logger, $replaceInTitle, $iTitleMaxLen, $defaultTemplateSuffix, $aTableRow ) { - global $wgContLang; - $this->nameSpaces = $wgContLang->getNamespaces(); - $this->mArticles = $articles; - $this->mListMode = $listmode; - $this->mEscapeLinks = $bescapelinks; - $this->mIncPage = $includepage; - if($includepage) { - $this->mIncSecLabels = $includeseclabels; - $this->mIncSecLabelsMatch = $includeseclabelsmatch; - $this->mIncSecLabelsNotMatch = $includeseclabelsnotmatch; - } - - if (isset($includemaxlen)) $this->mIncMaxLen = $includemaxlen + 1; - else $this->mIncMaxLen = 0; - $this->mParser = $parser; - $this->mParserOptions = $parser->mOptions; - $this->mParserTitle = $parser->mTitle; - $this->mLogger = $logger; - $this->mReplaceInTitle = $replaceInTitle; - $this->mTableRow = $aTableRow; - - if(!empty($headings)) { - if ($iColumns!=1 || $iRows!=1) { - $hspace = 2; // the extra space for headings - // repeat outer tags for each of the specified columns / rows in the output - // we assume that a heading roughly takes the space of two articles - $count = count($articles) + $hspace * count($headings); - if ($iColumns != 1) $iGroup = $iColumns; - else $iGroup = $iRows; - $nsize = floor($count / $iGroup); - $rest = $count - (floor($nsize) * floor($iGroup)); - if ($rest>0) $nsize += 1; - $this->mOutput .= "{|".$sRowColFormat."\n|\n"; - if ($nsize<$hspace+1) $nsize=$hspace+1; // correction for result sets with one entry - $this->mHeadingType = $headingtype; - $this->mHListMode = $hlistmode; - $this->mOutput .= $hlistmode->sListStart; - $nstart = 0; - $greml = $nsize; // remaining lines in current group - $g=0; - $offset=0; - foreach($headings as $heading => $headingCount) { - $headingLink = $articles[$nstart-$offset]->mParentHLink; - $this->mOutput .= $hlistmode->sItemStart; - $this->mOutput .= $hlistmode->sHeadingStart . $headingLink . $hlistmode->sHeadingEnd; - if ($bHeadingCount) $this->mOutput .= $this->formatCount($headingCount); - $offset+=$hspace; - $nstart+=$hspace; - $portion= $headingCount; - $greml-=$hspace; - do { - $greml -= $portion; - // $this->mOutput .= "nsize=$nsize, portion=$portion, greml=$greml"; - if ($greml>0) { - $this->mOutput .= $this->formatList($nstart-$offset, $portion, $iTitleMaxLen, $defaultTemplateSuffix); - $nstart += $portion; - $portion=0; - break; - } - else { - $this->mOutput .= $this->formatList($nstart-$offset, $portion+$greml, $iTitleMaxLen, $defaultTemplateSuffix); - $nstart += ($portion+$greml); - $portion = (-$greml); - if ($iColumns!=1) $this->mOutput .= "\n|valign=top|\n"; - else $this->mOutput .= "\n|-\n|\n"; - ++$g; - // if ($rest != 0 && $g==$rest) $nsize -= 1; - if ($nstart+$nsize > $count) $nsize = $count - $nstart; - $greml=$nsize; - if ($greml<=0) break; - } - } while ($portion>0); - $this->mOutput .= $hlistmode->sItemEnd; - } - $this->mOutput .= $hlistmode->sListEnd; - $this->mOutput .= "\n|}\n"; - } - else { - $this->mHeadingType = $headingtype; - $this->mHListMode = $hlistmode; - $this->mOutput .= $hlistmode->sListStart; - $headingStart = 0; - foreach($headings as $heading => $headingCount) { - $headingLink = $articles[$headingStart]->mParentHLink; - $this->mOutput .= $hlistmode->sItemStart; - $this->mOutput .= $hlistmode->sHeadingStart . $headingLink . $hlistmode->sHeadingEnd; - if ($bHeadingCount) $this->mOutput .= $this->formatCount($headingCount); - $this->mOutput .= $this->formatList($headingStart, $headingCount, $iTitleMaxLen, $defaultTemplateSuffix); - $this->mOutput .= $hlistmode->sItemEnd; - $headingStart += $headingCount; - } - $this->mOutput .= $hlistmode->sListEnd; - } - } else if ($iColumns!=1 || $iRows!=1) { - // repeat outer tags for each of the specified columns / rows in the output - $nstart = 0; - $count = count($articles); - if ($iColumns != 1) $iGroup = $iColumns; - else $iGroup = $iRows; - $nsize = floor($count / $iGroup); - $rest = $count - (floor($nsize) * floor($iGroup)); - if ($rest>0) $nsize += 1; - $this->mOutput .= "{|".$sRowColFormat."\n|\n"; - for ($g=0;$g<$iGroup;$g++) { - $this->mOutput .= $this->formatList($nstart, $nsize, $iTitleMaxLen, $defaultTemplateSuffix); - if ($iColumns!=1) $this->mOutput .= "\n|valign=top|\n"; - else $this->mOutput .= "\n|-\n|\n"; - $nstart = $nstart + $nsize; - // if ($rest != 0 && $g+1==$rest) $nsize -= 1; - if ($nstart+$nsize > $count) $nsize = $count - $nstart; - } - $this->mOutput .= "\n|}\n"; - } else if ($iRowSize>0) { - // repeat row header after n lines of output - $nstart = 0; - $nsize = $iRowSize; - $count = count($articles); - $this->mOutput .= '{|'.$sRowColFormat."\n|\n"; - do { - if ($nstart+$nsize > $count) $nsize = $count - $nstart; - $this->mOutput .= $this->formatList($nstart, $nsize, $iTitleMaxLen, $defaultTemplateSuffix); - $this->mOutput .= "\n|-\n|\n"; - $nstart = $nstart + $nsize; - if ($nstart >= $count) break; - } while (true); - $this->mOutput .= "\n|}\n"; - } else { - $this->mOutput .= $this->formatList(0, count($articles), $iTitleMaxLen, $defaultTemplateSuffix); - } - - } - - function formatCount($numart) { - global $wgLang; - if($this->mHeadingType == 'category') - $message = 'categoryarticlecount'; - else - $message = 'dpl2_articlecount'; - return '

' . $this->msgExt( $message, array( 'parse' ), $numart) . '

'; - } - - // substitute symbolic names within a user defined format tag - function substTagParm($tag, $pagename, $article, $nr, $titleMaxLength) { - global $wgLang; - if (strchr($tag,'%')<0) return $tag; - $sTag = str_replace('%PAGE%',$pagename,$tag); - $sTag = str_replace('%NAMESPACE%',$this->nameSpaces[$article->mNamespace],$sTag); - - $title = $article->mTitle->getText(); - if (strpos($title,'%TITLE')>=0) { - if ($this->mReplaceInTitle[0]!='') $title = preg_replace($this->mReplaceInTitle[0],$this->mReplaceInTitle[1],$title); - if( isset($titleMaxLength) && (strlen($title) > $titleMaxLength)) $title = substr($title, 0, $titleMaxLength) . '...'; - $sTag = str_replace('%TITLE%',$title,$sTag); - } - - $sTag = str_replace('%NR%',$nr,$sTag); - if ($article->mCounter != '') $sTag = str_replace('%COUNT%',$article->mCounter,$sTag); - if ($article->mCounter != '') $sTag = str_replace('%COUNTFS%',floor(log($article->mCounter)*0.7),$sTag); - if ($article->mCounter != '') $sTag = str_replace('%COUNTFS2%',floor(sqrt(log($article->mCounter))),$sTag); - if ($article->mSize != '') $sTag = str_replace('%SIZE%',$article->mSize,$sTag); - if ($article->mSize != '') $sTag = str_replace('%SIZEFS%',floor(sqrt(log($article->mSize))*2.5-5),$sTag); - if ($article->mDate != '') { - // note: we must avoid literals in the code which could create confusion when transferred via http - // therefore we write '%'.'DA...' - if ($article->myDate != '') $sTag = str_replace('%'.'DATE%',$article->myDate,$sTag); - else $sTag = str_replace('%'.'DATE%',$wgLang->timeanddate($article->mDate, true),$sTag); - } - if ($article->mRevision != '') $sTag = str_replace('%REVISION%',$article->mRevision,$sTag); - if ($article->mContribution!=''){ - $sTag = str_replace('%CONTRIBUTION%',$article->mContribution,$sTag); - $sTag = str_replace('%CONTRIB%',$article->mContrib,$sTag); - $sTag = str_replace('%CONTRIBUTOR%',$article->mContributor,$sTag); - } - if ($article->mUserLink != '') $sTag = str_replace('%USER%',$article->mUser,$sTag); - if ($article->mSelTitle!= '') { - if ($article->mSelNamespace==0) $sTag = str_replace('%PAGESEL%',str_replace('_',' ',$article->mSelTitle),$sTag); - else { - $sTag = str_replace('%PAGESEL%',$this->nameSpaces[$article->mSelNamespace].':'.str_replace('_',' ',$article->mSelTitle),$sTag); - } - } - if (!empty($article->mCategoryLinks) ) { - $sTag = str_replace('%'.'CATLIST%',implode(', ', $article->mCategoryLinks),$sTag); - $sTag = str_replace('%'.'CATNAMES%',implode(', ', $article->mCategoryTexts),$sTag); - } - else { - $sTag = str_replace('%'.'CATLIST%','',$sTag); - $sTag = str_replace('%'.'CATNAMES%','',$sTag); - } - return $sTag; - } - - function formatList($iStart, $iCount, $iTitleMaxLen, $defaultTemplateSuffix) { - global $wgUser, $wgLang, $wgContLang; - - $mode = $this->mListMode; - //categorypage-style list output mode - if($mode->name == 'category') - return $this->formatCategoryList($iStart, $iCount); - - //other list modes - $sk = & $wgUser->getSkin(); - - //process results of query, outputing equivalent of
  • [[Article]]
  • for each result, - //or something similar if the list uses other startlist/endlist; - $r = $mode->sListStart; - // the following statement caused a problem with multiple columns: $this->filteredCount = 0; - for ($i = $iStart; $i < $iStart+$iCount; $i++) { - $article = $this->mArticles[$i]; - $pagename = $article->mTitle->getPrefixedText(); - if ($this->mEscapeLinks && ($article->mNamespace==14 || $article->mNamespace==6) ) { - // links to categories or images need an additional ":" - $pagename = ':'.$pagename; - } - - // Page transclusion: get contents and apply selection criteria based on that contents - - if ($this->mIncPage) { - $matchFailed=false; - if(empty($this->mIncSecLabels)) { - // include whole article - $title = $article->mTitle->getPrefixedText(); - if ($mode->name == 'userformat') $incwiki = ''; - else $incwiki = '
    '; - $text = $this->mParser->fetchTemplate(Title::newFromText($title)); - if( $this->mIncMaxLen > 0 && (strlen($text) > $this->mIncMaxLen) ) { - $text = wfDplLstReduceTextToSize($text, $this->mIncMaxLen, ' [['.$title.'|..→]]'); - } - $incwiki .= $text; - - } else { - // identify section pieces - $secPiece=array(); - $dominantPieces=false; - // ONE section can be marked as "dominant"; if this section contains multiple entries - // we will create a separate output row for each value of the dominant section - // the values of all other columns will be repeated - $secArray=array(); - - foreach ($this->mIncSecLabels as $s => $sSecLabel) { - $sSecLabel = trim($sSecLabel); - if ($sSecLabel == '') break; - // if sections are identified by number we have a % at the beginning - if ($sSecLabel[0] == '%') $sSecLabel = '#'.$sSecLabel; - - $maxlen=-1; - $limpos = strpos($sSecLabel,'['); - $cutLink='default'; - if ($limpos>0 && $sSecLabel[strlen($sSecLabel)-1]==']') { - $cutInfo=explode(" ",substr($sSecLabel,$limpos+1,strlen($sSecLabel)-$limpos-2),2); - $sSecLabel=substr($sSecLabel,0,$limpos); - $maxlen=intval($cutInfo[0]); - if (isset($cutInfo[1])) $cutLink=$cutInfo[1]; - } - if ($maxlen<0) $maxlen = -1; // without valid limit include whole section - - // find out if the user specified an includematch / includenotmatch condition - if (count($this->mIncSecLabelsMatch)>$s && $this->mIncSecLabelsMatch[$s] != '') - $mustMatch = $this->mIncSecLabelsMatch[$s]; - else $mustMatch = ''; - if (count($this->mIncSecLabelsNotMatch)>$s && $this->mIncSecLabelsNotMatch[$s] != '') - $mustNotMatch = $this->mIncSecLabelsNotMatch[$s]; - else $mustNotMatch = ''; - - // if chapters are selected by number we get the heading from wfDplLstIncludeHeading - $sectionHeading=''; - if($sSecLabel[0] == '#') { - $sectionHeading=substr($sSecLabel,1); - // Uses wfDplLstIncludeHeading() from LabeledSectionTransclusion extension to include headings from the page - $secPieces = wfDplLstIncludeHeading($this->mParser, $article->mTitle->getPrefixedText(), substr($sSecLabel, 1),'', - $sectionHeading,false,$maxlen,$cutLink); - if ($mustMatch!='' || $mustNotMatch!='') { - $secPiecesTmp = $secPieces; - $offset=0; - foreach($secPiecesTmp as $nr => $onePiece ) { - if (($mustMatch !='' && preg_match($mustMatch ,$onePiece)==false) || - ($mustNotMatch !='' && preg_match($mustNotMatch,$onePiece)!=false) ) { - array_splice($secPieces,$nr-$offset,1); - $offset++; - } - } - } - $this->formatSingleItems($secPieces,$s); - $secPiece[$s] = implode(isset($mode->aMultiSecSeparators[$s])? - $this->substTagParm($mode->aMultiSecSeparators[$s], $pagename, $article, - $this->filteredCount, $iTitleMaxLen):'',$secPieces); - if ($mode->iDominantSection>=0 && $s==$mode->iDominantSection && count($secPieces)>1) $dominantPieces=$secPieces; - if (($mustMatch!='' || $mustNotMatch!='') && count($secPieces)<=0) { - $matchFailed=true; // NOTHING MATCHED - break; - } - - } else if($sSecLabel[0] == '{') { - // Uses wfDplLstIncludetemplate() from LabeledSectionTransclusion extension to include templates from the page - $template1 = substr($sSecLabel,1,strpos($sSecLabel,'}')-1); - $template2 = str_replace('}','',substr($sSecLabel,1)); - $secPieces = wfDplLstIncludeTemplate($this->mParser, $this, $s, $article->mTitle->getPrefixedText(), $template1, $template2, $template2.$defaultTemplateSuffix,$mustMatch,$mustNotMatch); - $secPiece[$s] = implode(isset($mode->aMultiSecSeparators[$s])? - $this->substTagParm($mode->aMultiSecSeparators[$s], $pagename, $article, $this->filteredCount, $iTitleMaxLen):'',$secPieces); - if ($mode->iDominantSection>=0 && $s==$mode->iDominantSection && count($secPieces)>1) $dominantPieces=$secPieces; - if (($mustMatch!='' || $mustNotMatch!='') && count($secPieces)<=1 && $secPieces[0]=='') { - $matchFailed=true; // NOTHING MATCHED - break; - } - } else { - // Uses wfDplLstInclude() from LabeledSectionTransclusion extension to include labeled sections from the page - $secPiece[$s] = wfDplLstInclude($this->mParser, $article->mTitle->getPrefixedText(), $sSecLabel,'', false); - if ( ($mustMatch !='' && preg_match($mustMatch ,$secPiece[$s])==false) || - ($mustNotMatch !='' && preg_match($mustNotMatch,$secPiece[$s])!=false) ) { - $matchFailed=true; - break; - } - } - - // separator tags - if (count($mode->sSectionTags)==1) { - // If there is only one separator tag use it always - $septag[$s*2] = str_replace('%SECTION%',$sectionHeading,$this->substTagParm($mode->sSectionTags[0], $pagename, $article, $this->filteredCount, $iTitleMaxLen)); - } - else if (isset($mode->sSectionTags[$s*2])) { - $septag[$s*2] = str_replace('%SECTION%',$sectionHeading,$this->substTagParm($mode->sSectionTags[$s*2], $pagename, $article, $this->filteredCount, $iTitleMaxLen)); - } - else $septag[$s*2] = ''; - if (isset($mode->sSectionTags[$s*2+1])) { - $septag[$s*2+1] = str_replace('%SECTION%',$sectionHeading,$this->substTagParm($mode->sSectionTags[$s*2+1], $pagename, $article, $this->filteredCount, $iTitleMaxLen)); - } - else $septag[$s*2+1]=''; - - } - - // if there was a match condition on included contents which failed we skip the whole page - if ($matchFailed) continue; - $this->filteredCount = $this->filteredCount + 1; - - // assemble parts with separators - $incwiki=''; - if ($dominantPieces!=false) { - foreach ($dominantPieces as $dominantPiece) { - foreach ($secPiece as $s => $piece) { - if ($s==$mode->iDominantSection) $incwiki.= $this->formatItem($dominantPiece,$septag[$s*2],$septag[$s*2+1]); - else $incwiki.= $this->formatItem($piece ,$septag[$s*2],$septag[$s*2+1]); - } - } - } - else { - foreach ($secPiece as $s => $piece) { - $incwiki.= $this->formatItem($piece,$septag[$s*2],$septag[$s*2+1]); - } - } - } - } - else { - $this->filteredCount = $this->filteredCount + 1; - } - - if($i > $iStart) $r .= $mode->sInline; //If mode is not 'inline', sInline attribute is empty, so does nothing - - // symbolic substitution of %PAGE% by the current article's name - if ($mode->name == 'userformat') { - $r .= $this->substTagParm($mode->sItemStart, $pagename, $article,$this->filteredCount, $iTitleMaxLen); - } - else { - $r .= $mode->sItemStart; - if($article->mDate != '') { - if ($article->myDate != '') { - if($article->mRevision != '') $r .= ' ' - . $article->myDate.''; - else $r .= $article->myDate; - } else { - if($article->mRevision != '') $r .= ' ' - . $wgLang->timeanddate($article->mDate, true).' : '; - else $r .= $wgLang->timeanddate($article->mDate, true) . ': '; - } - } - // output the link to the article - $r .= $article->mLink; - if($article->mSize != '' && $mode->name != 'userformat') { - if (strlen($article->mSize) > 3) $r .= ' [' . substr($article->mSize,0,strlen($article->mSize)-3) . ' kB]'; - else $r .= ' [' . $article->mSize . ' B]'; - } - if($article->mCounter != '' && $mode->name != 'userformat') { - // Adapted from SpecialPopularPages::formatResult() - $nv = $this->msgExt( 'nviews', array( 'parsemag', 'escape'), $wgLang->formatNum( $article->mCounter ) ); - $r .= ' ' . $wgContLang->getDirMark() . '(' . $nv . ')'; - } - if($article->mUserLink != '') $r .= ' . . [[User:' . $article->mUser .'|'.$article->mUser.']]'; - if($article->mContributor != '')$r .= ' . . [[User:' . $article->mContributor .'|'.$article->mContributor." $article->mContrib]]"; - - if( !empty($article->mCategoryLinks) ) $r .= ' . . ' . wfMsg('categories') . ': ' . implode(' | ', $article->mCategoryLinks) . ''; - } - - // add included contents - - if ($this->mIncPage) { - wfDplLst_open_($this->mParser, $this->mParserTitle->getPrefixedText()); - $r .= $incwiki; - wfDplLst_close_($this->mParser, $this->mParserTitle->getPrefixedText()); - } - - if ($mode->name == 'userformat') { - $r .= $this->substTagParm($mode->sItemEnd, $pagename, $article, $this->filteredCount, $iTitleMaxLen); - } - else - $r .= $mode->sItemEnd; - } - $r .= $mode->sListEnd; - - return $r; - } - - //format one item of an entry in the output list (i.e. the collection of occurences of one item from the include parameter) - function formatItem($piece, $tagStart, $tagEnd) { - return $tagStart.$piece.$tagEnd; - } - - //format one single item of an entry in the output list (i.e. one occurence of one item from the include parameter) - function formatSingleItems(&$pieces, $s) { - $firstCall=true; - foreach ($pieces as $key => $val) { - if (array_key_exists($s,$this->mTableRow)) { - if ($s==0 || $firstCall) { - $pieces[$key] = str_replace('%%',$val,$this->mTableRow[$s]); - } - else { - $n=strpos($this->mTableRow[$s],'|'); - if ($n===false || !(strpos(substr($this->mTableRow[$s],0,$n),'{')===false) - || !(strpos(substr($this->mTableRow[$s],0,$n),'[')===false)) { - $pieces[$key] = str_replace('%%',$val,$this->mTableRow[$s]); - } - else { - $pieces[$key] = str_replace('%%',$val,substr($this->mTableRow[$s],$n+1)); - } - } - } - $firstCall=false; - } - } - - //format one single template argument of one occurence of one item from the include parameter - // is called via a backlink from DynamicPageList2Include.php:wfDplLstIncludetemplate() - function formatTemplateArg($arg, $s, $argNr, $firstCall) { - // we could try to format fields differently within the first call of a template - // currently we do not make such a difference - if (array_key_exists("$s.$argNr",$this->mTableRow)) { - if ($s>=1 && $argNr==0 && !$firstCall) { - $n=strpos($this->mTableRow["$s.$argNr"],'|'); - if ($n===false || !(strpos(substr($this->mTableRow["$s.$argNr"],0,$n),'{')===false) - || !(strpos(substr($this->mTableRow["$s.$argNr"],0,$n),'[')===false)) { - return str_replace('%%',$arg,$this->mTableRow["$s.$argNr"]); - } - else { - return str_replace('%%',$arg,substr($this->mTableRow["$s.$argNr"],$n+1)); - } - } - else { - return str_replace('%%',$arg,$this->mTableRow["$s.$argNr"]); - } - } - return $arg; - } - - //return the total number of rows (filtered) - function getRowCount() { - return $this->filteredCount; - } - - //slightly different from CategoryViewer::formatList() (no need to instantiate a CategoryViewer object) - function formatCategoryList($iStart, $iCount) { - global $wgDPL2CategoryStyleListCutoff; - for($i = $iStart; $i < $iStart + $iCount; $i++) { - $aArticles[] = $this->mArticles[$i]->mLink; - $aArticles_start_char[] = $this->mArticles[$i]->mStartChar; - $this->filteredCount = $this->filteredCount + 1; - } - require_once ('CategoryPage.php'); - if ( count ( $aArticles ) > $wgDPL2CategoryStyleListCutoff ) { - return "__NOTOC____NOEDITSECTION__".CategoryViewer::columnList( $aArticles, $aArticles_start_char ); - } elseif ( count($aArticles) > 0) { - // for short lists of articles in categories. - return "__NOTOC____NOEDITSECTION__".CategoryViewer::shortList( $aArticles, $aArticles_start_char ); - } - return ''; - } - - - /** - * Returns message in the requested format after parsing wikitext to html - * This is meant to be equivalent to wfMsgExt() with parse, parsemag and escape as available options but using the DPL2 local parser instead of the global one (bugfix). - */ - function msgExt( $key, $options ) { - $args = func_get_args(); - array_shift( $args ); - array_shift( $args ); - - if( !is_array($options) ) { - $options = array($options); - } - - $string = wfMsgGetKey( $key, true, false, false ); - - $string = wfMsgReplaceArgs( $string, $args ); - - if( in_array('parse', $options) ) { - $this->mParserOptions->setInterfaceMessage(true); - $string = $this->mParser->recursiveTagParse( $string ); - $this->mParserOptions->setInterfaceMessage(false); - //$string = $parserOutput->getText(); - } elseif ( in_array('parsemag', $options) ) { - $parser = new Parser(); - $parserOptions = new ParserOptions(); - $parserOptions->setInterfaceMessage( true ); - $parser->startExternalParse( $this->mParserTitle, $parserOptions, OT_MSG ); - $string = $parser->transformMsg( $string, $parserOptions ); - } - - if ( in_array('escape', $options) ) { - $string = htmlspecialchars ( $string ); - } - - return $string; - } - - function getText() { - return $this->mOutput; - } - -} - - -class DPL2Logger { - var $iDebugLevel; - - function DPL2Logger() { - global $wgDPL2Options; - $this->iDebugLevel = $wgDPL2Options['debug']['default']; - } - - /** - * Get a message, with optional parameters - * Parameters from user input must be escaped for HTML *before* passing to this function - */ - function msg($msgid) { - global $wgDPL2DebugMinLevels; - if($this->iDebugLevel >= $wgDPL2DebugMinLevels[$msgid]) { - $args = func_get_args(); - array_shift( $args ); - /** - * @todo add a DPL id to identify the DPL tag that generates the message, in case of multiple DPLs in the page - */ - return '

    %DPL-' . DPL2_VERSION . '-' . wfMsg('dpl2_debug_' . $msgid, $args) . '

    '; - } - return ''; - } - - /** - * Get a message. - * Parameters may be unescaped, this function will escape them for HTML. - */ - function escapeMsg( $msgid /*, ... */ ) { - $args = func_get_args(); - $args = array_map( 'htmlspecialchars', $args ); - return call_user_func_array( array( $this, 'msg' ), $args ); - } - - /** - * Get a "wrong parameter" message. - * @param $paramvar The parameter name - * @param $val The unescaped input value - * @return HTML error message - */ - function msgWrongParam($paramvar, $val) { - global $wgContLang, $wgDPL2Options; - $msgid = DPL2_WARN_WRONGPARAM; - switch($paramvar) { - case 'namespace': - case 'notnamespace': - $msgid = DPL2_ERR_WRONGNS; - - break; - case 'linksto': - case 'notlinksto': - case 'linksfrom': - $msgid = DPL2_ERR_WRONGLINKSTO; - break; - case 'count': - case 'titlemaxlength': - $msgid = DPL2_WARN_WRONGPARAM_INT; - case 'includemaxlength': - $msgid = DPL2_WARN_WRONGPARAM_INT; - break; - } - $paramoptions = array_unique($wgDPL2Options[$paramvar]); - sort($paramoptions); - return $this->escapeMsg( $msgid, $paramvar, htmlspecialchars( $val ), $wgDPL2Options[$paramvar]['default'], implode(' | ', $paramoptions )); - } - -} - - -function wfDPL_End_Reset( &$parser, $text ) { - global $DPLcreatedLinks; - if (!$DPLcreatedLinks['resetdone']) { - $DPLcreatedLinks['resetdone'] = true; - // $text .= dumpParsedRefs($parser,"before final reset"); - if ($DPLcreatedLinks['resetLinks']) $parser->mOutput->mLinks = array(); - if ($DPLcreatedLinks['resetCategories']) $parser->mOutput->mCategories = array(); - if ($DPLcreatedLinks['resetTemplates']) $parser->mOutput->mTemplates = array(); - if ($DPLcreatedLinks['resetImages']) $parser->mOutput->mImages = array(); - // $text .= dumpParsedRefs($parser,"after final reset"); - } - return true; -} - -function wfDPL_End_Eliminate( &$parser, &$text ) { - // called during the final output phase; removes links created by DPL - global $DPLcreatedLinks; - if (isset($DPLcreatedLinks) || !$DPLcreatedLinks['elimdone']) { - $DPLcreatedLinks['elimdone'] = true; - // $text .= dumpParsedRefs($parser,"before final eliminate"); - if (isset($DPLcreatedLinks) && array_key_exists(0,$DPLcreatedLinks)) { - foreach ($parser->mOutput->getLinks() as $linkKey => $link) { - foreach ($link as $key => $val) { - if (array_key_exists($key,$DPLcreatedLinks[0])) { - unset($parser->mOutput->mLinks[$linkKey][$key]); - // $text .= "removing link: $val($key);"; - } - } - if (count($parser->mOutput->mLinks[$linkKey])==0) { - unset ($parser->mOutput->mLinks[$linkKey]); - } - } - } - if (isset($DPLcreatedLinks) && array_key_exists(1,$DPLcreatedLinks)) { - foreach ($parser->mOutput->getTemplates() as $tplKey => $tpl) { - foreach ($tpl as $key => $val) { - if (in_array($val,$DPLcreatedLinks[1])) { - unset($parser->mOutput->mTemplates[$tplKey][$key]); - // $text .= "removing use of template: $val($key);"; - } - } - if (count($parser->mOutput->mTemplates[$tplKey])==0) { - unset ($parser->mOutput->mTemplates[$tplKey]); - } - } - } - if (isset($DPLcreatedLinks) && array_key_exists(2,$DPLcreatedLinks)) { - foreach ($DPLcreatedLinks[2] as $cat) { - unset($parser->mOutput->mCategories[$cat]); - // $text .= "removing cat: $cat;"; - } - } - if (isset($DPLcreatedLinks) && array_key_exists(3,$DPLcreatedLinks)) { - foreach ($DPLcreatedLinks[3] as $img) { - unset($parser->mOutput->mImages[$img]); - // $text .= "removing img: $img;"; - } - } - // $text .= dumpParsedRefs($parser,"after final eliminate".$parser->mTitle->getText()); - } - unset($DPLcreatedLinks); - return true; -} - -?> \ No newline at end of file diff --git a/documentacion/extensions/DynamicPageList/DynamicPageList2Include.php b/documentacion/extensions/DynamicPageList/DynamicPageList2Include.php deleted file mode 100644 index 55469c4..0000000 --- a/documentacion/extensions/DynamicPageList/DynamicPageList2Include.php +++ /dev/null @@ -1,501 +0,0 @@ - wfDplLst..). - * So any version of LabeledSectionTransclusion can be installed together with DPL2 - * - * Enhancements were made to - * - allow inclusion of templates ("template swapping") - * - reduce the size of the transcluded text to a limit of characters - * - * - * Thanks to Steve for his great work! - * -- Algorithmix - * - * @version 0.9.8 - * %PAGE% and %TITLE% passed to templates - * @version 0.9.8 patch 1 - * error in template inclusion corrected - * @version 0.9.9 - * default template inclusion added - * @version 1.0.0 - * internal changes due to dominantsection - * @version 1.0.8 - * added regexp matching condition at template based inclusion - * @version 1.1.2 - * changed heading matcher to allow selection of the n-th chapter - * @version 1.1.3 - * bug fix for 1.1.2 (avoid warning regarding parameter passing by reference) - * @version 1.1.4 - * easy access for one single template parameter - * @version 1.1.6 - * corrected strlen bug at template inclusion - * @version 1.2.3 - * allow %0 to transclude the contents before the first chapter - * @version 1.2.5 - * added includenotmatch - * @version 1.2.9 - * parameter recognition improved; nested template calls are now handled correctly - * @version 1.3.8 - * parameter recognition improved; nested hyperlinks are now handled correctly (balanced square brackets) - * @version 1.3.9 - * changed behaviour if template not found: now return null string if only one parameter was to be fetched - * @version 1.4.2 - * allow multiple parameters of a template to be returned directly as table columns - * added field formatting via dpl call back for templates - * @version 1.4.3 - * allow regular expression for heading match at include - * @version 1.4.4 - * bugfix: handling of numeric template parameters - */ - - - -############################################################## -# To do transclusion from an extension, we need to interact with the parser -# at a low level. This is the general transclusion functionality -############################################################## - -///Register what we're working on in the parser, so we don't fall into a trap. -function wfDplLst_open_($parser, $part1) -{ - // Infinite loop test - if ( isset( $parser->mTemplatePath[$part1] ) ) { - wfDebug( __METHOD__.": template loop broken at '$part1'\n" ); - return false; - } else { - $parser->mTemplatePath[$part1] = 1; - return true; - } - -} - -///Finish processing the function. -function wfDplLst_close_($parser, $part1) -{ - // Infinite loop test - if ( isset( $parser->mTemplatePath[$part1] ) ) { - unset( $parser->mTemplatePath[$part1] ); - } else { - wfDebug( __METHOD__.": close unopened template loop at '$part1'\n" ); - } -} - -/** - * Handle recursive substitution here, so we can break cycles, and set up - * return values so that edit sections will resolve correctly. - **/ -function wfDplLst_parse_($parser, $title, $text, $part1, $skiphead=0, $recursionCheck=true, $maxLength=-1, $link='') -{ - global $wgVersion; - - // if someone tries something like
    lst only
    - // text, may as well do the right thing. - $text = str_replace('', '', $text); - - if (wfDplLst_open_($parser, $part1)) { - - //Handle recursion here, so we can break cycles. Although we can't do - //feature detection here, r18473 was only a few weeks before the - //release, so this is close enough. - - if(version_compare( $wgVersion, "1.9" ) < 0 || $recursionCheck == false) { - $text = $parser->replaceVariables($text); - wfDplLst_close_($parser, $part1); - } - - if ($maxLength>=0) { - $text = wfDplLstReduceTextToSize($text,$maxLength,$link); - } - - //Try to get edit sections correct by munging around the parser's guts. -// return array($text, 'title'=>$title, 'replaceHeadings'=>true, -// 'headingOffset'=>$skiphead); - return $text; - } else { - return "[[" . $title->getPrefixedText() . "]]". - ""; - } - -} - -############################################################## -# And now, the labeled section transclusion -############################################################## - -///The section markers aren't paired, so we only need to remove them. -function wfDplLstNoop( $in, $assocArgs=array(), $parser=null ) { - return ''; -} - -///Generate a regex to match the section(s) we're interested in. -function wfDplLst_pat_($sec, $to) -{ - $to_sec = ($to == '')?$sec : $to; - $sec = preg_quote($sec, '/'); - $to_sec = preg_quote($to_sec, '/'); - $ws="(?:\s+[^>]+)?"; //was like $ws="\s*" - return "/(.*?)\n?]+\s+)?(?i:end)=". - "(?:$to_sec|\"$to_sec\"|'$to_sec')". - "$ws\/?>/s"; -} - -///Count headings in skipped text; the $parser arg could go away in the future. -function wfDplLst_count_headings_($text,$limit) -{ - //count skipped headings, so parser (as of r18218) can skip them, to - //prevent wrong heading links (see bug 6563). - $pat = '^(={1,6}).+\s*.*?\1\s*$'; - return preg_match_all( "/$pat/im", substr($text,0,$limit), $m); -} - -function wfDplLst_text_($parser, $page, &$title, &$text) -{ - $title = Title::newFromText($page); - - if (is_null($title) ) { - $text = ''; - return true; - } else { - $text = $parser->fetchTemplate($title); - } - - //if article doesn't exist, return a red link. - if ($text == false) { - $text = "[[" . $title->getPrefixedText() . "]]"; - return false; - } else { - return true; - } -} - -///section inclusion - include all matching sections -function wfDplLstInclude($parser, $page='', $sec='', $to='', $recursionCheck=true) -{ - if (wfDplLst_text_($parser, $page, $title, $text) == false) - return $text; - $pat = wfDplLst_pat_($sec,$to); - - if(preg_match_all( $pat, $text, $m, PREG_OFFSET_CAPTURE)) { - $headings = wfDplLst_count_headings_($text, $m[0][0][1]); - } else { - $headings = 0; - } - - $text = ''; - foreach ($m[1] as $piece) { - $text .= $piece[0]; - } - - //wfDebug("wfDplLstInclude: skip $headings headings"); - return wfDplLst_parse_($parser,$title,$text, "#lst:${page}|${sec}", $headings, $recursionCheck); -} - - -//reduce transcluded wiki text to a certain length; we will care for matching brackets to some extent -// so that we do not spoil wiki syntax; the returned result may be smaller or bigger that the limit -// to achieve this. -function wfDplLstReduceTextToSize($text, $limit, $link='') { - // if text is smaller than the limit return complete text - if ($limit >= strlen($text)) return $text; - $brackets=0; - $cbrackets=0; - $n0=0; $nb=0; - for ($i=0; $i<$limit;$i++) { - $c = $text[$i]; - if ($c == '[') $brackets++; - if ($c == ']') $brackets--; - if ($c == '{') $cbrackets++; - if ($c == '}') $cbrackets--; - // we store the position if it is valid in terms of parentheses balancing - if ($brackets==0 && $cbrackets==0) { - $n0 = $i; - if ($c == ' ') $nb = $i; - } - } - // if there is a valid cut-off point we use it; it will be the largest one which is not above the limit - if ( $n0>0 ) { - // we try to cut off at a word boundary - if ($nb>0 && $nb+15>$n0) $n0=$nb; - return substr($text, 0, $n0+1).$link; - } - else if ($limit==0) { - return $link; - } - else { - // otherwise we recurse and try again with twice the limit size; this will lead to bigger output but - // it will at least produce some output at all; otherwise the reader might think that there - // is no information at all - return wfDplLstReduceTextToSize($text, $limit * 2,$link); - } -} - - - -//section inclusion - include all matching sections (return array) -function wfDplLstIncludeHeading($parser, $page='', $sec='', $to='', &$sectionHeading, $recursionCheck=true, $maxLength=-1, $link='default') -{ - $output=array(); - if (wfDplLst_text_($parser, $page, $title, $text) == false) { - $output[0] = $text; - return $output; - } - - // create a link symbol (arrow, img, ...) in case we have to cut the text block to maxLength - if ($link=='default') $link = ' [['.$page.'#'.$sec.'|..→]]'; - else if (strstr($link,'img=')!=false) $link = str_replace('img=',"page=".$page.'#'.$sec."\nimg=Image:",$link)."\n"; - else if (strstr($link,'%SECTION%')==false) $link = ' [['.$page.'#'.$sec.'|'.$link.']]'; - else $link = str_replace('%SECTION%',$page.'#'.$sec,$link); - $continueSearch = true; - $n=0; - $output[$n]=''; - $nr = 0; - // check if we are going to fetch the n-th section - if (preg_match('/^%-?[1-9][0-9]*$/',$sec)) $nr = substr($sec,1); - if (preg_match('/^%0$/',$sec)) $nr = -2; // transclude text before the first section - - // if the section name starts with a # we use it as regexp, otherwise as plain string - $isPlain=true; - if ($sec!='' && $sec[0]=='#') { - $sec=substr($sec,1); - $isPlain=false; - } - do { - //Generate a regex to match the === classical heading section(s) === we're - //interested in. - if ($sec == '') { - $begin_off = 0; - $head_len = 6; - } else { - if ($nr!=0) $pat = '^(={1,6})\s*[^=\s\n][^\n=]*\s*\1\s*($)' ; - else if ($isPlain) $pat = '^(={1,6})\s*' . preg_quote($sec, '/') . '\s*\1\s*($)' ; - else $pat = '^(={1,6})\s*' . $sec . '\s*\1\s*($)' ; - if ( preg_match( "/$pat/im", $text, $m, PREG_OFFSET_CAPTURE) ) { - $begin_off = $m[2][1]; - $head_len = strlen($m[1][0]); - } else if ($nr == -2) { - $m[1][1] = strlen($text)+1; // take whole article if no heading found - } else { - // match failed - return $output; - } - } - - if ($nr==-2) { - // output text before first section and done - $piece = substr($text,0,$m[1][1]-1); - $output[0] = wfDplLst_parse_($parser,$title,$piece, "#lsth:${page}|${sec}", 0, $recursionCheck, $maxLength, $link); - return $output; - } - - if (isset($end_off)) unset($end_off); - if ($to != '') { - //if $to is supplied, try and match it. If we don't match, just ignore it. - if ($isPlain) $pat = '^(={1,6})\s*' . preg_quote($to, '/') . '\s*\1\s*$' ; - else $pat = '^(={1,6})\s*' . $to . '\s*\1\s*$' ; - if (preg_match( "/$pat/im", $text, $mm, PREG_OFFSET_CAPTURE, $begin_off)) - $end_off = $mm[0][1]-1; - } - - if (! isset($end_off)) { - if ($nr!=0) $pat = '^(={1,6})\s*[^\s\n=][^\n=]*\s*\1\s*$'; - else $pat = '^(={1,'.$head_len.'})(?!=)\s*.*?\1\s*$'; - if (preg_match( "/$pat/im", $text, $mm, PREG_OFFSET_CAPTURE, $begin_off)) $end_off = $mm[0][1]-1; - else if ($sec=='') $end_off = -1; - } - - $nhead = wfDplLst_count_headings_($text, $begin_off); - wfDebug( "LSTH: head offset = $nhead" ); - - if (isset($end_off)) { - if ($end_off == -1) { - return $output; - } - $piece= substr($text, $begin_off, $end_off - $begin_off); - if ($sec=='') $continueSearch = false; - else $text = substr($text,$end_off); - } - else { - $piece = substr($text, $begin_off); - $continueSearch = false; - } - - if ($nr > 1) { - // skip until we reach the n-th section - $nr--; - continue; - } - - $sectionHeading=preg_replace("/^=+\s*/","",$m[0][0]); - $sectionHeading=preg_replace("/\s*=+\s*$/","",$sectionHeading); - if ($nr==1) { - // output n-th section and done - $output[0] = wfDplLst_parse_($parser,$title,$piece, "#lsth:${page}|${sec}", $nhead, $recursionCheck, $maxLength, $link); - break; - } - if ($nr==-1) { - if (!isset($end_off)) { - // output last section and done - $output[0] = wfDplLst_parse_($parser,$title,$piece, "#lsth:${page}|${sec}", $nhead, $recursionCheck, $maxLength, $link); - break; - } - } else { - // output section by name and continue search for another section with the same name - $output[$n++] = wfDplLst_parse_($parser,$title,$piece, "#lsth:${page}|${sec}", $nhead, $recursionCheck, $maxLength, $link); - } - } while ($continueSearch); - return $output; -} - - - -// template inclusion - find the place(s) where template1 is called, -// replace its name by template2, then expand template2 and return the result -// we return an array containing all occurences of the template call which match the condition "$mustMatch" -// and do NOT match the condition "$mustNotMatch" (if specified) -// we use a callback function to format retrieved parameters, accessible via $dpl->formatTemplateArg() -function wfDplLstIncludeTemplate($parser, $dpl, $dplNr, $page='', $template1='', $template2='', $defaultTemplate, $mustMatch, $mustNotMatch) -{ - $title = Title::newFromText($page); - $text = $parser->fetchTemplate($title); - $tCalls = preg_split( "/\{\{\s*".$template1.'/i', ' '.$text); - - $output=array(); - $extractParm = array(); - - // check if we want to extract parameters directly from the call - // in that case we wont invoke template2 but will directly return the extracted parameters - // as a sequence of table columns; - if (strlen($template2)>strlen($template1) && ($template2[strlen($template1)]==':')) { - $extractParm = split(':',substr($template2,strlen($template1)+1)); - } - - if (count($tCalls) <= 1) { - // template was not called (note that count will be 1 if there is no template invocation) - if (count($extractParm)>0) { - // if parameters are required directly: return empty columns - if (count($extractParm)>1) { - $output[0]=$dpl->formatTemplateArg('',$dplNr,0,true); - //for ($i=1;$iformatTemplateArg('',$dplNr,$i,true); - for ($i=1;$iformatTemplateArg('',$dplNr,$i,true); - } - else $output[0]=$dpl->formatTemplateArg('',$dplNr,0,true); - } else { - // put a red link into the output - $output[0]= $parser->replaceVariables('{{'.$defaultTemplate.'|%PAGE%='.$page.'|%TITLE%='.$title->getText().'}}'); - } - return $output; - } - - $output[0]=''; - $n=-2; - // loop for all template invocations - $firstCall=true; - foreach ($tCalls as $tCall) { - if ($n==-2) { - $n++; - continue; - } - $c= $tCall[0]; - // check that our pattern did not hit a name which started with exactly the name of our pattern - // (e.g. we look for "foo" and "foox" was called) - if ($c != '}' && $c!= '|' && $c!= ' ' && $c!="\t" && $c != "\n") continue; - // normally we construct a call for template2 with the parameters of template1 - if (count($extractParm)==0) { - // find the end of the call: bracket level must be zero - $cbrackets=0; - $templateCall = '{{'.$template2.$tCall; - $size=strlen($templateCall); - for ($i=0; $i<$size;$i++) { - $c = $templateCall[$i]; - if ($c == '{') $cbrackets++; - if ($c == '}') $cbrackets--; - if ($cbrackets==0) { - // if we must match a condition: test against it - if (($mustMatch =='' || preg_match($mustMatch,substr($templateCall,0,$i-1))) && - ($mustNotMatch=='' || !preg_match($mustNotMatch,substr($templateCall,0,$i-1)))) { - $output[++$n] = $parser->replaceVariables(substr($templateCall,0,$i-1).'|%PAGE%='.$page.'|%TITLE%='.$title->getText().'}}'); - } - break; - } - } - } - else { - // if the user wants parameters directly from the call line of template1 we return just those - $cbrackets=2; - $templateCall = $tCall; - $size=strlen($templateCall); - $parms=array(); - $parm=''; - $hasParm=false; - for ($i=0; $i<$size;$i++) { - $c = $templateCall[$i]; - if ($c == '{' || $c=='[') $cbrackets++; // we count both types of brackets - if ($c == '}' || $c==']') $cbrackets--; - if ($cbrackets==2 && $c=='|') { - $parms[]=trim($parm); - $hasParm=true; - $parm=''; - } - else $parm .= $c; - if ($cbrackets==0) { - if ($hasParm) $parms[] = trim(substr($parm,0,strlen($parm)-2)); - array_splice($parms,0,1); // remove artifact; - // if we must match a condition: test against it - $callText = substr($templateCall,0,$i-1); - if ( ($mustMatch =='' || preg_match($mustMatch ,$callText)) && - ($mustNotMatch=='' || !preg_match($mustNotMatch,$callText))) { - $output[++$n]=''; - $second=false; - foreach ($extractParm as $exParmKey => $exParm) { - if ($second) { - if ($output[$n]=='' || $output[$n][strlen($output[$n])-1] != "\n") $output[$n] .= "\n"; - $output[$n] .= "|"; // \n"; - } - $found=false; - // named parameter - foreach ($parms as $parm) { - if (!preg_match("/^\s*$exParm\s*=/",$parm)) continue; - $found=true; - $output[$n] .= $dpl->formatTemplateArg(preg_replace("/^$exParm\s*=\s*/","",$parm),$dplNr,$exParmKey,$firstCall); - break; - } - if (!$found && is_numeric($exParm) && intval($exParm) == $exParm) { - // numeric parameter - $np=0; - foreach ($parms as $parm) { - if(strstr($parm, '=') === FALSE) ++$np; - if ($np!=$exParm) continue; - $found=true; - $output[$n] .= $dpl->formatTemplateArg($parm,$dplNr,$exParmKey,$firstCall); - break; - } - } - if (!$found) $output[$n] .= $dpl->formatTemplateArg('',$dplNr,$exParmKey,$firstCall); - $second=true; - } - } - break; - } - } - } - $firstCall=false; - } - return $output; -} - -?> \ No newline at end of file diff --git a/documentacion/extensions/Flash.php b/documentacion/extensions/Flash.php deleted file mode 100644 index 17781b1..0000000 --- a/documentacion/extensions/Flash.php +++ /dev/null @@ -1,133 +0,0 @@ - - * - * A small patch by an unknown author has been applied to fix the flashvars attribute input. - */ - -//Extension credits that show up on Special:Version -$wgExtensionCredits['parserhook'][] = array( - 'name' => 'Flash', - 'author' => 'Marius Treitz', - 'description' => 'Allows the display of flash movies within a wiki with the <flash> tag', - 'url' => 'http://www.mediawiki.org/wiki/Extension:Flash', -); - -$wgExtensionFunctions[] = "wfFlashExtension"; - -/* - * The Flash class generates code in order to implement a flash object. - */ -class Flash { - /* Constructor */ - function Flash( $input ) { - Flash::parseInput( $input ); // Parse the input - Flash::genCode(); // Generate the final code - } - - /* Parser */ - function parseInput( $input ) { - for($pos=0; $posinstr == 'flashvars') $gotflashvars = 1; - } - else if($input{$pos}=='|') { // separator between arguments - //reset the flags for other attributes - if($gotflashvars) $gotflashvars = 0; - Flash::setValue(); - $this->tmp=''; - } else { - $this->tmp .= $input{$pos}; - } - } - if($this->tmp!='') Flash::setValue(); // Deal with the rest of the input string - } - - /* Coordinate commands with values */ - function setValue() { - $this->value = $this->tmp; - $this->{$this->instr} = $this->value; - if($this->instr=='play'|| // Whitelist of flash commands. Anything else but flash commands is ignored. - $this->instr=='loop'|| - $this->instr=='quality'|| - $this->instr=='devicefont'|| - $this->instr=='bgcolor'|| - $this->instr=='scale'|| - $this->instr=='align'|| - $this->instr=='salign'|| - $this->instr=='base'|| - $this->instr=='menu'|| - $this->instr=='wmode'|| - $this->instr=='SeamlessTabbing'|| - $this->instr=='flashvars'|| - $this->instr=='name'|| - $this->instr=='id') { - /* Create code for and */ - if($this->instr!='id') $this->codeEmbed .= ' ' . $this->instr . '="' . $this->value . '"'; - if($this->instr!='name') $this->codeObject .= ''; - } - } - - /* Generate big, final chunk of code */ - function genCode() { - // Possibly malicious settings: - $allowscriptaccess = 'false'; // allow / disallow scripts - $swliveconnect = 'false'; // start / do not start up java - - // Default version Setting: - $this->version='7,0,0,0'; // Version settings for - $this->url = $this->getTitle($this->file);//Flash::imageUrl( $this->file, $this->fromSharedDirectory ); // get Wiki internal url - - // if flashvars is set append to the url - if($this->flashvars) $this->url .= $this->flashvars; - - /* Final Code */ - $this->code = '' . $this->codeObject . 'codeEmbed . ' pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">'; - return $this->code; - } - function getTitle($file) { - $title = Title::makeTitleSafe("Image",$file); - $img = new Image($title); - $path = $img->getViewURL(false); - return $path; - } -} -function wfFlashExtension() { - global $wgParser; - $wgParser->setHook( "flash", "renderFlash" ); -} -function renderFlash( $input ) { - global $code; - - // Constructor - $flashFile = new Flash( $input ); - $code = $flashFile->code; - - return $code; // send the final code to the wiki -} diff --git a/documentacion/extensions/Gadgets/ApiQueryGadgetCategories.php b/documentacion/extensions/Gadgets/ApiQueryGadgetCategories.php deleted file mode 100644 index a5d328b..0000000 --- a/documentacion/extensions/Gadgets/ApiQueryGadgetCategories.php +++ /dev/null @@ -1,120 +0,0 @@ -extractRequestParams(); - $this->props = array_flip( $params['prop'] ); - $this->neededNames = isset( $params['names'] ) - ? array_flip( $params['names'] ) - : false; - - $this->getMain()->setCacheMode( 'public' ); - - $this->getList(); - } - - private function getList() { - $data = array(); - $result = $this->getResult(); - $gadgets = Gadget::loadStructuredList(); - - foreach ( $gadgets as $category => $list ) { - if ( !$this->neededNames || isset( $this->neededNames[$category] ) ) { - $row = array(); - if ( isset( $this->props['name'] ) ) { - $row['name'] = $category; - } - - if ( $category !== "" ) { - if ( isset( $this->props['title'] ) ) { - $row['desc'] = $this->msg( "gadget-section-$category" )->parse(); - } - } - - if ( isset( $this->props['members'] ) ) { - $row['members'] = count( $list ); - } - - $data[] = $row; - } - } - $result->setIndexedTagName( $data, 'category' ); - $result->addValue( 'query', $this->getModuleName(), $data ); - } - - public function getAllowedParams() { - return array( - 'prop' => array( - ApiBase::PARAM_DFLT => 'name', - ApiBase::PARAM_ISMULTI => true, - ApiBase::PARAM_TYPE => array( - 'name', - 'title', - 'members', - ), - ), - 'names' => array( - ApiBase::PARAM_TYPE => 'string', - ApiBase::PARAM_ISMULTI => true, - ), - ); - } - - public function getDescription() { - return 'Returns a list of gadget categories'; - } - - public function getParamDescription() { - return array( - 'prop' => array( - 'What gadget category information to get:', - ' name - Internal category name', - ' title - Category title', - ' members - Number of gadgets in category', - ), - 'names' => 'Name(s) of categories to retrieve', - ); - } - - public function getExamples() { - $params = $this->getAllowedParams(); - $allProps = implode( '|', $params['prop'][ApiBase::PARAM_TYPE] ); - - return array( - 'Get a list of existing gadget categories:', - ' api.php?action=query&list=gadgetcategories', - 'Get all information about categories named "foo" and "bar":', - " api.php?action=query&list=gadgetcategories&gcnames=foo|bar&gcprop=$allProps", - ); - } - - public function getVersion() { - return __CLASS__ . ': $Id$'; - } -} diff --git a/documentacion/extensions/Gadgets/ApiQueryGadgets.php b/documentacion/extensions/Gadgets/ApiQueryGadgets.php deleted file mode 100644 index 90e77a3..0000000 --- a/documentacion/extensions/Gadgets/ApiQueryGadgets.php +++ /dev/null @@ -1,225 +0,0 @@ -extractRequestParams(); - $this->props = array_flip( $params['prop'] ); - $this->categories = isset( $params['categories'] ) - ? array_flip( $params['categories'] ) - : false; - $this->neededIds = isset( $params['ids'] ) - ? array_flip( $params['ids'] ) - : false; - $this->listAllowed = isset( $params['allowedonly'] ) && $params['allowedonly']; - $this->listEnabled = isset( $params['enabledonly'] ) && $params['enabledonly']; - - $this->getMain()->setCacheMode( $this->listAllowed || $this->listEnabled - ? 'anon-public-user-private' : 'public' ); - - $this->applyList( $this->getList() ); - } - - /** - * @return array - */ - private function getList() { - $gadgets = Gadget::loadStructuredList(); - - $result = array(); - foreach ( $gadgets as $category => $list ) { - if ( $this->categories && !isset( $this->categories[$category] ) ) { - continue; - } - - foreach ( $list as $g ) { - if ( $this->isNeeded( $g ) ) { - $result[] = $g; - } - } - } - return $result; - } - - /** - * @param $gadgets array - */ - private function applyList( $gadgets ) { - $data = array(); - $result = $this->getResult(); - - /** - * @var $g Gadget - */ - foreach ( $gadgets as $g ) { - $row = array(); - if ( isset( $this->props['id'] ) ) { - $row['id'] = $g->getName(); - } - - if ( isset( $this->props['metadata'] ) ) { - $row['metadata'] = $this->fakeMetadata( $g ); - $this->setIndexedTagNameForMetadata( $row['metadata'] ); - } - - if ( isset( $this->props['desc'] ) ) { - $row['desc'] = $g->getDescription(); - } - - $data[] = $row; - } - - $result->setIndexedTagName( $data, 'gadget' ); - $result->addValue( 'query', $this->getModuleName(), $data ); - } - - /** - * @param $gadget Gadget - * - * @return bool - */ - private function isNeeded( Gadget $gadget ) { - $user = $this->getUser(); - - return ( $this->neededIds === false || isset( $this->neededIds[$gadget->getName()] ) ) - && ( !$this->listAllowed || $gadget->isAllowed( $user ) ) - && ( !$this->listEnabled || $gadget->isEnabled( $user ) ); - } - - /** - * @param $g Gadget - * @return array - */ - private function fakeMetadata( Gadget $g ) { - return array( - 'settings' => array( - 'rights' => $g->getRequiredRights(), - 'skins' => $g->getRequiredSkins(), - 'default' => $g->isOnByDefault(), - 'hidden' => false, // Only exists in RL2 branch - 'shared' => false, // Only exists in RL2 branch - 'category' => $g->getCategory(), - ), - 'module' => array( - 'scripts' => $g->getScripts(), - 'styles' => $g->getStyles(), - 'dependencies' => $g->getDependencies(), - 'messages' => array(), // Only exists in RL2 branch - ) - ); - } - - private function setIndexedTagNameForMetadata( &$metadata ) { - static $tagNames = array( - 'rights' => 'right', - 'skins' => 'skin', - 'scripts' => 'script', - 'styles' => 'style', - 'dependencies' => 'dependency', - 'messages' => 'message', - ); - - $result = $this->getResult(); - foreach ( $metadata as &$data ) { - foreach ( $data as $key => &$value ) { - if ( is_array( $value ) ) { - $tag = isset( $tagNames[$key] ) ? $tagNames[$key] : $key; - $result->setIndexedTagName( $value, $tag ); - } - } - } - } - - public function getAllowedParams() { - return array( - 'prop' => array( - ApiBase::PARAM_DFLT => 'id|metadata', - ApiBase::PARAM_ISMULTI => true, - ApiBase::PARAM_TYPE => array( - 'id', - 'metadata', - 'desc', - ), - ), - 'language' => null, - 'categories' => array( - ApiBase::PARAM_ISMULTI => true, - ApiBase::PARAM_TYPE => 'string', - ), - 'ids' => array( - ApiBase::PARAM_TYPE => 'string', - ApiBase::PARAM_ISMULTI => true, - ), - 'allowedonly' => false, - 'enabledonly' => false, - ); - } - - public function getDescription() { - return 'Returns a list of gadgets used on this wiki'; - } - - public function getParamDescription() { - return array( - 'prop' => array( - 'What gadget information to get:', - ' id - Internal gadget ID', - ' metadata - The gadget metadata', - ' desc - Gadget description transformed into HTML (can be slow, use only if really needed)', - ), - 'categories' => 'Gadgets from what categories to retrieve', - 'ids' => 'ID(s) of gadgets to retrieve', - 'allowedonly' => 'List only gadgets allowed to current user', - 'enabledonly' => 'List only gadgets enabled by current user', - ); - } - - public function getExamples() { - $params = $this->getAllowedParams(); - $allProps = implode( '|', $params['prop'][ApiBase::PARAM_TYPE] ); - return array( - 'Get a list of gadgets along with their descriptions:', - ' api.php?action=query&list=gadgets&gaprop=id|desc', - 'Get a list of gadgets with all possible properties:', - " api.php?action=query&list=gadgets&gaprop=$allProps", - 'Get a list of gadgets belonging to caregory "foo":', - ' api.php?action=query&list=gadgets&gacategories=foo', - 'Get information about gadgets "foo" and "bar":', - ' api.php?action=query&list=gadgets&gaids=foo|bar&gaprop=id|desc|metadata', - 'Get a list of gadgets enabled by current user:', - ' api.php?action=query&list=gadgets&gaenabledonly', - ); - } - - public function getVersion() { - return __CLASS__ . ': $Id$'; - } -} diff --git a/documentacion/extensions/Gadgets/Gadgets.alias.php b/documentacion/extensions/Gadgets/Gadgets.alias.php deleted file mode 100644 index 4f30aa1..0000000 --- a/documentacion/extensions/Gadgets/Gadgets.alias.php +++ /dev/null @@ -1,334 +0,0 @@ - array( 'Gadgets' ), -); - -/** Afrikaans (Afrikaans) */ -$specialPageAliases['af'] = array( - 'Gadgets' => array( 'Geriewe' ), -); - -/** Arabic (العربية) */ -$specialPageAliases['ar'] = array( - 'Gadgets' => array( 'إضافات' ), -); - -/** Egyptian Spoken Arabic (مصرى) */ -$specialPageAliases['arz'] = array( - 'Gadgets' => array( 'ادوات' ), -); - -/** Assamese (অসমীয়া) */ -$specialPageAliases['as'] = array( - 'Gadgets' => array( 'গেজেটসমূহ' ), -); - -/** Bulgarian (български) */ -$specialPageAliases['bg'] = array( - 'Gadgets' => array( 'Джаджи' ), -); - -/** Banjar (Bahasa Banjar) */ -$specialPageAliases['bjn'] = array( - 'Gadgets' => array( 'Pakakas' ), -); - -/** Breton (brezhoneg) */ -$specialPageAliases['br'] = array( - 'Gadgets' => array( 'Bitrakoù' ), -); - -/** Bosnian (bosanski) */ -$specialPageAliases['bs'] = array( - 'Gadgets' => array( 'Dodaci' ), -); - -/** Czech (česky) */ -$specialPageAliases['cs'] = array( - 'Gadgets' => array( 'Udělátka' ), -); - -/** German (Deutsch) */ -$specialPageAliases['de'] = array( - 'Gadgets' => array( 'Helferlein' ), -); - -/** Zazaki (Zazaki) */ -$specialPageAliases['diq'] = array( - 'Gadgets' => array( 'Gadgeti' ), -); - -/** Lower Sorbian (dolnoserbski) */ -$specialPageAliases['dsb'] = array( - 'Gadgets' => array( 'Gadgety' ), -); - -/** Greek (Ελληνικά) */ -$specialPageAliases['el'] = array( - 'Gadgets' => array( 'Εργαλεία', 'Προσαρτήματα' ), -); - -/** Esperanto (Esperanto) */ -$specialPageAliases['eo'] = array( - 'Gadgets' => array( 'Aldonaĵoj' ), -); - -/** Spanish (español) */ -$specialPageAliases['es'] = array( - 'Gadgets' => array( 'Artilugios', 'Accesorios' ), -); - -/** Estonian (eesti) */ -$specialPageAliases['et'] = array( - 'Gadgets' => array( 'Tööriistad' ), -); - -/** Basque (euskara) */ -$specialPageAliases['eu'] = array( - 'Gadgets' => array( 'Gadgetak' ), -); - -/** Persian (فارسی) */ -$specialPageAliases['fa'] = array( - 'Gadgets' => array( 'ابزارها' ), -); - -/** Finnish (suomi) */ -$specialPageAliases['fi'] = array( - 'Gadgets' => array( 'Pienoisohjelmat' ), -); - -/** Franco-Provençal (arpetan) */ -$specialPageAliases['frp'] = array( - 'Gadgets' => array( 'Outils' ), -); - -/** Galician (galego) */ -$specialPageAliases['gl'] = array( - 'Gadgets' => array( 'Trebellos' ), -); - -/** Swiss German (Alemannisch) */ -$specialPageAliases['gsw'] = array( - 'Gadgets' => array( 'Hälferli' ), -); - -/** Hawaiian (Hawai`i) */ -$specialPageAliases['haw'] = array( - 'Gadgets' => array( 'Hāmeʻa', 'Hamea' ), -); - -/** Hebrew (עברית) */ -$specialPageAliases['he'] = array( - 'Gadgets' => array( 'סקריפטים' ), -); - -/** Hindi (हिन्दी) */ -$specialPageAliases['hi'] = array( - 'Gadgets' => array( 'उपकरण', 'गैजेट' ), -); - -/** Croatian (hrvatski) */ -$specialPageAliases['hr'] = array( - 'Gadgets' => array( 'Dodaci' ), -); - -/** Upper Sorbian (hornjoserbsce) */ -$specialPageAliases['hsb'] = array( - 'Gadgets' => array( 'Specialne_funkcije' ), -); - -/** Haitian (Kreyòl ayisyen) */ -$specialPageAliases['ht'] = array( - 'Gadgets' => array( 'Gajèt' ), -); - -/** Hungarian (magyar) */ -$specialPageAliases['hu'] = array( - 'Gadgets' => array( 'Segédeszközök' ), -); - -/** Interlingua (interlingua) */ -$specialPageAliases['ia'] = array( - 'Gadgets' => array( 'Gadgetes' ), -); - -/** Indonesian (Bahasa Indonesia) */ -$specialPageAliases['id'] = array( - 'Gadgets' => array( 'Alat', 'Gadget' ), -); - -/** Italian (italiano) */ -$specialPageAliases['it'] = array( - 'Gadgets' => array( 'Accessori' ), -); - -/** Japanese (日本語) */ -$specialPageAliases['ja'] = array( - 'Gadgets' => array( 'ガジェット' ), -); - -/** Korean (한국어) */ -$specialPageAliases['ko'] = array( - 'Gadgets' => array( '소도구' ), -); - -/** Ladino (Ladino) */ -$specialPageAliases['lad'] = array( - 'Gadgets' => array( 'Instrumenticos' ), -); - -/** Luxembourgish (Lëtzebuergesch) */ -$specialPageAliases['lb'] = array( - 'Gadgets' => array( 'Gadgeten' ), -); - -/** Macedonian (македонски) */ -$specialPageAliases['mk'] = array( - 'Gadgets' => array( 'Алатки' ), -); - -/** Malayalam (മലയാളം) */ -$specialPageAliases['ml'] = array( - 'Gadgets' => array( 'കൂട' ), -); - -/** Marathi (मराठी) */ -$specialPageAliases['mr'] = array( - 'Gadgets' => array( 'सुविधा' ), -); - -/** Malay (Bahasa Melayu) */ -$specialPageAliases['ms'] = array( - 'Gadgets' => array( 'Gajet' ), -); - -/** Maltese (Malti) */ -$specialPageAliases['mt'] = array( - 'Gadgets' => array( 'Aġġeġġi', 'Aċċessorji' ), -); - -/** Norwegian Bokmål (norsk (bokmål)‎) */ -$specialPageAliases['nb'] = array( - 'Gadgets' => array( 'Tilleggsfunksjoner' ), -); - -/** Nedersaksisch (Nedersaksisch) */ -$specialPageAliases['nds-nl'] = array( - 'Gadgets' => array( 'Technies_spul' ), -); - -/** Dutch (Nederlands) */ -$specialPageAliases['nl'] = array( - 'Gadgets' => array( 'Extensies' ), -); - -/** Norwegian Nynorsk (norsk (nynorsk)‎) */ -$specialPageAliases['nn'] = array( - 'Gadgets' => array( 'Tilleggsfunksjonar' ), -); - -/** Occitan (occitan) */ -$specialPageAliases['oc'] = array( - 'Gadgets' => array( 'Gadgèts' ), -); - -/** Polish (polski) */ -$specialPageAliases['pl'] = array( - 'Gadgets' => array( 'Gadżety' ), -); - -/** Romanian (română) */ -$specialPageAliases['ro'] = array( - 'Gadgets' => array( 'Gadgeturi' ), -); - -/** Russian (русский) */ -$specialPageAliases['ru'] = array( - 'Gadgets' => array( 'Гаджеты' ), -); - -/** Sanskrit (संस्कृतम्) */ -$specialPageAliases['sa'] = array( - 'Gadgets' => array( 'सुविधा_(गॅजेट)' ), -); - -/** Sinhala (සිංහල) */ -$specialPageAliases['si'] = array( - 'Gadgets' => array( 'විජෙට්ටු' ), -); - -/** Slovak (slovenčina) */ -$specialPageAliases['sk'] = array( - 'Gadgets' => array( 'Hračky' ), -); - -/** Slovenian (slovenščina) */ -$specialPageAliases['sl'] = array( - 'Gadgets' => array( 'Vtičniki', 'Vticniki' ), -); - -/** Serbian (Cyrillic script) (српски (ћирилица)‎) */ -$specialPageAliases['sr-ec'] = array( - 'Gadgets' => array( 'Гаџети' ), -); - -/** Swedish (svenska) */ -$specialPageAliases['sv'] = array( - 'Gadgets' => array( 'Finesser' ), -); - -/** Thai (ไทย) */ -$specialPageAliases['th'] = array( - 'Gadgets' => array( 'อุปกรณ์เสริม', 'แกเจต' ), -); - -/** Tagalog (Tagalog) */ -$specialPageAliases['tl'] = array( - 'Gadgets' => array( 'Mga_gadyet' ), -); - -/** Turkish (Türkçe) */ -$specialPageAliases['tr'] = array( - 'Gadgets' => array( 'KüçükAraçlar' ), -); - -/** Tatar (Cyrillic script) (татарча) */ -$specialPageAliases['tt-cyrl'] = array( - 'Gadgets' => array( 'Гаджетлар' ), -); - -/** Ukrainian (українська) */ -$specialPageAliases['uk'] = array( - 'Gadgets' => array( 'Додатки' ), -); - -/** vèneto (vèneto) */ -$specialPageAliases['vec'] = array( - 'Gadgets' => array( 'Strumenti' ), -); - -/** Vietnamese (Tiếng Việt) */ -$specialPageAliases['vi'] = array( - 'Gadgets' => array( 'Công_cụ_đa_năng' ), -); - -/** Simplified Chinese (中文(简体)‎) */ -$specialPageAliases['zh-hans'] = array( - 'Gadgets' => array( '小工具' ), -); - -/** Traditional Chinese (中文(繁體)‎) */ -$specialPageAliases['zh-hant'] = array( - 'Gadgets' => array( '小工具' ), -); \ No newline at end of file diff --git a/documentacion/extensions/Gadgets/Gadgets.i18n.php b/documentacion/extensions/Gadgets/Gadgets.i18n.php deleted file mode 100644 index 0b518d4..0000000 --- a/documentacion/extensions/Gadgets/Gadgets.i18n.php +++ /dev/null @@ -1,3481 +0,0 @@ - 'Lets users select custom [[Special:Gadgets|CSS and JavaScript gadgets]] in their [[Special:Preferences#mw-prefsection-gadgets|preferences]]', - - # for Special:Preferences - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Below is a list of special gadgets you can enable for your account. -These gadgets are mostly based on JavaScript, so JavaScript has to be enabled in your browser for them to work. -Note that these gadgets will have no effect on this preferences page. - -Also note that these special gadgets are not part of the MediaWiki software, and are usually developed and maintained by users on your local wiki. -Local administrators can edit the [[MediaWiki:Gadgets-definition|definitions]] and [[Special:Gadgets|descriptions]] of available gadgets.', - - # for Special:Gadgets - 'gadgets' => 'Gadgets', - 'gadgets-definition' => '', # do not translate or duplicate this message to other languages - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => "Below is a list of special gadgets users can enable on their [[Special:Preferences#mw-prefsection-gadgets|preferences page]], as defined by the [[MediaWiki:Gadgets-definition|definitions]]. -This overview provides easy access to the system message pages that define each gadget's description and code.", - 'gadgets-uses' => 'Uses', - 'gadgets-required-rights' => 'Requires the following {{PLURAL:$2|right|rights}}: - -$1', - 'gadgets-required-skins' => 'Available on the {{PLURAL:$2|$1 skin|following skins: $1}}.', - 'gadgets-default' => 'Enabled for everyone by default.', - 'gadgets-export' => 'Export', - 'gadgets-export-title' => 'Gadget export', - 'gadgets-not-found' => 'Gadget "$1" not found.', - 'gadgets-export-text' => 'To export the $1 gadget, click on "{{int:gadgets-export-download}}" button, save the downloaded file, -go to Special:Import on destination wiki and upload it. Then add the following to MediaWiki:Gadgets-definition page: -
    $2
    -You must have appropriate permissions on destination wiki (including the right to edit system messages) and import from file uploads must be enabled.', - 'gadgets-export-download' => 'Download', -); - -/** Message documentation (Message documentation) - * @author EugeneZelenko - * @author Jon Harald Søby - * @author Kghbln - * @author Lloffiwr - * @author Mormegil - * @author Purodha - * @author SPQRobin - * @author Shirayuki - * @author Siebrand - * @author The Evil IP address - */ -$messages['qqq'] = array( - 'gadgets-desc' => '{{desc}}', - 'prefs-gadgets' => 'In Gadgets extension. The name of a tab in [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]] where user set their preferences for the extension. - -{{Identical|Gadgets}}', - 'gadgets-prefstext' => 'In Gadgets extension. This is the explanation text displayed under the Gadgets tab in [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]].', - 'gadgets' => '{{Identical|Gadgets}}', - 'gadgets-title' => '{{Identical|Gadgets}}', - 'gadgets-uses' => "This is used as a verb in third-person singular. It appears in front of a script name. Example: \"''Uses: Gadget-UTCLiveClock.js''\" - -See [http://meta.wikimedia.org/wiki/Special:Gadgets Gadgets page in meta.wikimedia.org]", - 'gadgets-required-rights' => 'Parameters: -* $1 - a list in wikitext. -* $2 - the number of items in list $1 for PLURAL use.', - 'gadgets-required-skins' => 'Parameters: -* $1 - a comma separated list. -* $2 - the number of items in list $1 for PLURAL use.', - 'gadgets-export' => 'Used on [[Special:Gadgets]]. This is a verb, not noun. -{{Identical|Export}}', - 'gadgets-export-title' => 'Used as page title. Example: [[Special:Gadgets/export/editbuttons]]', - 'gadgets-export-text' => 'Used as page description. See example: [[Special:Gadgets/export/editbuttons]]', - 'gadgets-export-download' => 'Use the verb for this message. Submit button. -{{Identical|Download}}', -); - -/** Afrikaans (Afrikaans) - * @author Anrie - * @author Naudefj - */ -$messages['af'] = array( - 'gadgets-desc' => 'Laat gebruikers toe om [[Special:Gadgets|CSS en JavaScripts]] geriewe te aktiveer in hulle [[Special:Preferences#mw-prefsection-gadgets|voorkeure]]', - 'prefs-gadgets' => 'Geriewe', - 'gadgets-prefstext' => "Hieronder is 'n lys van spesiale geriewe wat u kan aktiveer. -Hierdie geriewe maak hoofsaaklik van JavaScript gebruik. Dus moet JavaScript in u webblaaier geaktiveer wees. -Hierdie geriewe het geen invloed op hoe hierdie voorkeurbladsy vertoon nie. - -Hierdie geriewe is nie deel van die MediaWiki-sagteware nie en word gewoonlik deur gebruikers op u tuiswiki ontwikkel en onderhou. -Plaaslike administrateurs kan die beskikbare geriewe by [[MediaWiki:Gadgets-definition|definisies]] en [[Special:Gadgets|beskrywings]] wysig.", - 'gadgets' => 'Geriewe', - 'gadgets-title' => 'Geriewe', - 'gadgets-pagetext' => "Hieronder is 'n lys van spesiale geriewe wat gebruikers deur hulle [[Special:Preferences#mw-prefsection-gadgets|voorkeure]] kan aktiveer, soos gedefinieer in [[MediaWiki:Gadgets-definition]]. -Die oorsig bied maklike toegang tot die stelselboodskapblaaie wat elke gerief se beskrywing en kode wys.", - 'gadgets-uses' => 'Gebruik', - 'gadgets-export' => 'Eksporteer', - 'gadgets-export-download' => 'Laai af', -); - -/** Amharic (አማርኛ) - * @author Codex Sinaiticus - */ -$messages['am'] = array( - 'prefs-gadgets' => 'ተጨማሪ መሣርያዎች', - 'gadgets-prefstext' => 'ከዚህ ታች አንዳንድ ተጨማሪ መሣርያ ወይም መኪናነት በዝርዝር ሊገኝ ይችላል። እነዚህ በደንብ እንዲሠሩ በኮምፒውተርዎ ላይ ጃቫ-ስክሪፕት እንዲኖር አስፈላጊነት ነው። - -የዚህ ዊኪ መጋቢዎች [[MediaWiki:Gadgets-definition]] -እና [[Special:Gadgets]] በመጠቀም አዲስ መሣርያ ሊጨምሩ ይቻላል።', - 'gadgets' => 'ተጨማሪ መሣርያዎች', - 'gadgets-title' => 'ተጨማሪ መሣርያዎች', - 'gadgets-pagetext' => 'ተጨማሪ መሣርያዎች ወይም መኪናዎች በየዊኪ ፕሮዤ የለያያሉ። - -ተጨማሪ መሣሪያዎች ለማግኘት፣ ወደ [[Special:Preferences#mw-prefsection-gadgets|ምርጫዎች]] ይሂዱ። - -የዚህ ገጽ መራጃ በተለይ ለመጋቢዎችና አስተዳዳሪዎች ይጠቅማል። - -በዚህ {{SITENAME}} የሚገኙት ተቸማሪ መሣርያዎች እነኚህ ናቸው፦', - 'gadgets-uses' => 'የተጠቀመው ጃቫ-ስክሪፕት', -); - -/** Aragonese (aragonés) - * @author Juanpabl - */ -$messages['an'] = array( - 'gadgets-desc' => 'Deixa que os usuario seleccionen os [[Special:Gadgets|gadgets de CSS y JavaScript]] que quieran en as suyas [[Special:Preferences#mw-prefsection-gadgets|preferencias]]', - 'prefs-gadgets' => 'Trastes', - 'gadgets-prefstext' => "Contino ye una lista de trastes especials que puede fer servir en a suya cuenta. -Como quasi totz istos trastes son feitos en JavaScript, caldrá que tienga activato JavaScript en o suyo navegador ta que vaigan bien. Pare cuenta que istos trastes no tendrán garra efeuto en ista pachina de preferencias. - -Pare cuenta tamién que istos trastes especials no fan parte d'o software MediaWiki, y que gosan estar desenvolicatos y mantenitos por usuarios d'a suya wiki local. -Os almenistradors locals pueden editar os trastes disponibles en as pachinas de [[MediaWiki:Gadgets-definition|definicions]] y de [[Special:Gadgets|descripcions]].", - 'gadgets' => 'Trastes', - 'gadgets-title' => 'Trastes', - 'gadgets-pagetext' => "Contino ye una lista de trastes especials que os usuarios pueden activar en a suya [[Special:Preferences#mw-prefsection-gadgets|pachina de preferencias]], como se define en a pachina de [[MediaWiki:Gadgets-definition|definicions]]. -Ista lista premite ir facilment t'as pachinas de mensaches d'o sistema que definen a descripción y o codigo de cada traste.", - 'gadgets-uses' => 'Fa servir', - 'gadgets-required-rights' => 'Requiere {{PLURAL:$2|o siguient dreito|os siguients dreitos}}: - -$1', - 'gadgets-required-skins' => "Disponible {{PLURAL:$2|en l'apariencia $1|en as siguients apariencias: $1}}.", - 'gadgets-default' => 'Activau ta totz de traza predeterminada.', - 'gadgets-export' => 'Exportar', - 'gadgets-export-title' => 'Exportación de gadget', - 'gadgets-not-found' => 'No s\'ha trobau o gadget "$1".', - 'gadgets-export-text' => 'Ta exportar o gadget $1, faiga click en o botón "{{int:gadgets-export-download}}", alce o fichero descargau, -vaiga ta Special:Importar un wiki de destín y puye-lo. Dimpués adhiba lo siguient a MediaWiki:Gadgets-definition page: -
    $2
    -Has de tener permisos apropiaus en o wiki de destín (incluindo o dreito a editar mensaches de sistema) y importación dende fichers puyaus debe estar habilitau.', - 'gadgets-export-download' => 'Descargar', -); - -/** Arabic (العربية) - * @author Aiman titi - * @author DRIHEM - * @author Meno25 - * @author OsamaK - * @author روخو - */ -$messages['ar'] = array( - 'gadgets-desc' => 'يسمح للمستخدمين باختيار [[Special:Gadgets|إضافات سي إس إس وجافاسكريبت]] معدلة في [[Special:Preferences#mw-prefsection-gadgets|تفضيلاتهم]]', - 'prefs-gadgets' => 'الإضافات', - 'gadgets-prefstext' => 'بالأسفل قائمة بالإضافات الخاصة التي يمكن تفعيلها لحسابك. -هذه الإضافات مبنية على الأغلب على جافاسكريبت، لذا فالجافاسكريبت يجب أن تكون مفعلة في متصفحك لكي يعملوا. -لاحظ أن هذه الإضافات لن يكون لها أي تأثير على صفحة التفضيلات هذه. - -أيضا لاحظ أن هذه الإضافات الخاصة ليست جزءا من برنامج ميدياويكي، وعادة يتم تطويرها وصيانتها بواسطة مستخدمين في الويكي المحلي الخاص بك. -الإداريون المحليون يمكنهم تعديل الإضافات المتوفرة باستخدام [[MediaWiki:Gadgets-definition|التعريفات]] -و [[Special:Gadgets|الوصوفات]].', - 'gadgets' => 'إضافات', - 'gadgets-title' => 'إضافات', - 'gadgets-pagetext' => 'بالأسفل قائمة بالإضافات الخاصة التي يمكن أن يقوم المستخدمون بتفعيلها على [[Special:Preferences#mw-prefsection-gadgets|صفحة تفضيلاتهم]]، معرفة بواسطة [[MediaWiki:Gadgets-definition|التعريفات]]. -هذا العرض يوفر دخولا سهلا لصفحات رسائل النظام التي تعرف وصف وكود كل إضافة.', - 'gadgets-uses' => 'تستخدم', - 'gadgets-required-rights' => 'يتطلب {{PLURAL:$2|الحق|الحقوق}} التالية: - -$1', - 'gadgets-required-skins' => 'متاحة على {{PLURAL:$2|$1 skin|following skins: $1}}.', - 'gadgets-default' => 'تمكين الجميع بشكل افتراضي.', - 'gadgets-export' => 'صدّر', - 'gadgets-export-title' => 'أداة تصدير', - 'gadgets-not-found' => 'الأداة "$1" لم يتم العثور عليها.', - 'gadgets-export-text' => 'لتصدير $1 الأداة، انقر فوق "{{int:gadgets-export-download}}" زر حفظ الملف الذي تم تحميله، - الذهاب إلى الخاص: الاستيراد على واجهة الويكي وتحميله. قم بإضافة ما يلي إلى MediaWiki:Gadgets-definition الصفحة: -
    $2
    -يجب أن يكون لديك الأذونات المناسبة على الويكي (بما في ذلك الحق في تحرير رسائل النظام) ويجب أن يتم تمكين الاستيراد من تحميل الملف.', - 'gadgets-export-download' => 'نزّل', -); - -/** Aramaic (ܐܪܡܝܐ) - * @author Basharh - */ -$messages['arc'] = array( - 'gadgets' => 'ܬܘܣܦܝܬ̈ܐ', - 'gadgets-title' => 'ܬܘܣܦܝܬ̈ܐ', - 'gadgets-export-download' => 'ܐܚܬ:', -); - -/** Egyptian Spoken Arabic (مصرى) - * @author Ghaly - * @author Meno25 - * @author Ramsis II - */ -$messages['arz'] = array( - 'gadgets-desc' => 'بيسمح لليوزرز انهم يختارو [[Special:Gadgets|اضافاتCSS وJavaScript]] فى [[Special:Preferences#mw-prefsection-gadgets|التفضيلات]] بتاعتهم', - 'prefs-gadgets' => 'اضافات', - 'gadgets-prefstext' => 'تحت فى لستة بالضافات المخصوصة اللى انت ممكن تفعلها فى الحساب بتاعك. -الاضافات دى غالبا ما بتبقى مبينة على الجافاسكريبت،و علشان كده لازم تفعل الجافاسطريبت فى البراوزر بتاعك علشتن يشتغلو. -اعمل حسابك ان الاضافات دى مش ح يكون ليها اى تاثير على صفحة التفضيلات دى. - -كمان،خد بالك ان الاضافات المخصوصة دى مش جزء من برامج الميدياويكى ،و غالبا بيطورها و يعملها صيانة اليوزرز اللى فى الويكى المحلى بتاعك. -الادارى المحلى ممكن يعدل الاضافات الموجودة باستخدام [[MediaWiki:Gadgets-definition|التعريفات]] و [[Special:Gadgets|التوصيفات]].', - 'gadgets' => 'إضافات', - 'gadgets-title' => 'إضافات', - 'gadgets-pagetext' => 'تحت فى لستة بالاضافات المخصوصة و اللى اليوزرز ممكن يفعلوها على [[Special:Preferences#mw-prefsection-gadgets|صفحة التفضيلات]], زى ما بتعرفها [[MediaWiki:Gadgets-definition|التعريفات]]. -العرض دا بيوفر دخول سهل لصفحات رسايل النظام و اللى بتعرف وصف و كود كل اضافة.', - 'gadgets-uses' => 'إستخدامات', -); - -/** Assamese (অসমীয়া) - * @author Bishnu Saikia - * @author Gitartha.bordoloi - */ -$messages['as'] = array( - 'gadgets-desc' => "সদস্যসকলক তেওঁলোকৰ [[Special:Preferences#mw-prefsection-gadgets|পছন্দসমূহত]] কাষ্ট'ম [[Special:Gadgets|CSS আৰু JavaScript গেজেট]] বাছনি কৰাৰ সুযোগ দিয়ে", - 'prefs-gadgets' => 'গেজেট', - 'gadgets-prefstext' => "আপুনি এই একাউণ্টত সক্ৰিয় কৰিব পৰা বিশেষ গেজেটসমূহৰ তালিকা তলত দিয়া হ'ল। -এই গেজেটসমূহৰ বেছিভাগ জাভাস্ক্ৰিপ্ট ভিত্তিক, গতিকে সেইবোৰে কাম কৰিবলৈ আপোনাৰ ব্ৰাউজাৰৰ জাভাস্ক্ৰিপ্ট সক্ৰিয় হৈ থাকিব লাগিব। -মন কৰক যে এই পছন্দ পৃষ্ঠাত গেজেটসমূহে কোনো প্ৰভাৱ নেপেলায়। - -লগতে মন কৰক যে এই বিশেষ গেজেটসমূহ মিডিয়াৱিকি ছফ্টৱেৰৰ অংশ নহয়, আৰু সাধাৰণতে এইবোৰ আপোনাৰ স্থানীয় ৱিকিত সদস্যসকলে বিকাশ আৰু চোৱাচিতা কৰে। -স্থানীয় প্ৰশাসকসকলে উপলব্ধ গেজেটসমূহৰ [[MediaWiki:Gadgets-definition|সংজ্ঞা]] আৰু [[Special:Gadgets|বিৱৰণ]] সম্পাদনা কৰিব পাৰে।", - 'gadgets' => 'গেজেটসমূহ', - 'gadgets-title' => 'গেজেটসমূহ', - 'gadgets-pagetext' => 'সদস্যসকলে তেওঁলোকৰ [[Special:Preferences#mw-prefsection-gadgets|পছন্দ পৃষ্ঠাত]] সক্ৰিয় কৰিব পৰা আৰু [[MediaWiki:Gadgets-definition|সংজ্ঞা থকা]] বিশেষ গেজেটসমূহৰ তালিকা তলত দিয়া হৈছে। -এই সাৰাংশই প্ৰতিটো গেজেটৰ বিৱৰণ আৰু সংকেত থকা প্ৰণালী বাৰ্তাসমূহলৈ প্ৰৱেশাধিকাৰ দিয়ে।', - 'gadgets-uses' => 'ব্যৱহাৰ', - 'gadgets-required-rights' => 'তলৰ {{PLURAL:$2|অধিকাৰৰ|অধিকাৰসমূহৰ}} প্ৰয়োজন: -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 আৱৰণত|এই আৱৰণসমূহত: $1}} উপলব্ধ।', - 'gadgets-default' => 'ডিফল্ট অনুযায়ী সকলোৰে বাবে সক্ৰিয়।', - 'gadgets-export' => 'ৰপ্তানি কৰক', - 'gadgets-export-title' => 'গেজেট ৰপ্তানি', - 'gadgets-not-found' => '"$1" গেজেট পোৱা নগ\'ল।', - 'gadgets-export-text' => '$1 গেজেটটো ৰপ্তানি কৰিবলৈ "{{int:gadgets-export-download}}" বুটামটোত ক্লিক কৰক, ডাউনল\'ড ফাইলটো সাঁচি ৰাখক, -গন্তব্য ৱিকিৰ Special:Importলৈ যাওক আৰু ইয়াক আপল\'ড কৰক। তাৰপিছত তলৰ কথাখিনি MediaWiki:Gadgets-definition পৃষ্ঠাত যোগ দিয়ক: -
    $2
    -গন্তব্য ৱিকিত আপোনাৰ যথাযথ অনুমতি থাকিব লাগিব (প্ৰণালী বাৰ্তা সম্পাদনা কৰাৰ অনুমতিসহ) আৰু ফাইলা আপল\'ডৰ পৰা আমদানি সক্ৰিয় থাকিব লাগিব।', - 'gadgets-export-download' => 'ডাউনল’ড', -); - -/** Asturian (asturianu) - * @author Esbardu - * @author Xuacu - */ -$messages['ast'] = array( - 'gadgets-desc' => 'Permite a los usuarios seleicionar al gustu [[Special:Gadgets|accesorios CSS y JavaScript]] nes sos [[Special:Preferences#mw-prefsection-gadgets|preferencies]]', - 'prefs-gadgets' => 'Accesorios', - 'gadgets-prefstext' => "Embaxo amuésase una llista de los accesorios especiales que pues activar pa la to cuenta. -Estos accesorios tán mayormente basaos en JavaScript, polo qu'has tener activáu esti nel to navegador pa que funcionen. -Date cuenta de qu'estos accesorios nun tendrán efeutu nesta páxina de preferencies. - -Has decatate tamién de qu'estos accesorios especiales nun son parte del software MediaWiki, y que normalmente son -desenrollaos y manteníos por usuarios de la to wiki llocal. -Los alministradores llocales puen editar los accesorios disponibles usando les [[MediaWiki:Gadgets-definition|definiciones]] y les [[Special:Gadgets|descripciones]].", - 'gadgets' => 'Accesorios', - 'gadgets-title' => 'Accesorios', - 'gadgets-pagetext' => 'Embaxo amuésase una llista de los accesorios especiales que los usuarios puen activar na so [[Special:Preferences#mw-prefsection-gadgets|páxina de preferencies]], según queden definíos poles [[MediaWiki:Gadgets-definition|definiciones]]. -Esta visión xeneral proporciona un accesu fácil a les páxines de mensaxes del sistema que definen la descripción y el códigu de cada accesoriu.', - 'gadgets-uses' => 'Usa', - 'gadgets-required-rights' => 'Requier {{PLURAL:$2|el siguiente permisu|los siguientes permisos}}: - -$1', - 'gadgets-required-skins' => 'Disponible {{PLURAL:$2|nel aspeutu $1|nos siguientes aspeutos: $1}}.', - 'gadgets-default' => 'Activáu para toos de mou predetermináu.', - 'gadgets-export' => 'Esportar', - 'gadgets-export-title' => "Esportación d'accesorios", - 'gadgets-not-found' => 'Nun s\'alcontró l\'accesoriu "$1".', - 'gadgets-export-text' => 'Pa esportar l\'accesoriu $1, calca nel botón "{{int:gadgets-export-download}}", guarda\'l ficheru descargáu, -vete a Special:Import na wiki de destín y xúbilu. Darréu amiesta lo siguiente na páxina MediaWiki:Gadgets-definition: -
    $2
    -Has de tener los permisos afayadizos na wiki de destín (incluyendo permisu pa editar los mensaxes del sistema) y tien de tar activada la importación dende los ficheros xubíos.', - 'gadgets-export-download' => 'Descargar', -); - -/** Azerbaijani (azərbaycanca) - * @author Cekli829 - * @author PPerviz - * @author Vago - * @author Vugar 1981 - */ -$messages['az'] = array( - 'prefs-gadgets' => 'Qadjetlər', - 'gadgets' => 'Qadjetlər', - 'gadgets-title' => 'Qadjetlər', - 'gadgets-uses' => 'İstifadə', - 'gadgets-export' => 'İxrac', - 'gadgets-export-title' => 'Qadjet ixracı', - 'gadgets-not-found' => 'Qadjet "$1" tapılmadı.', - 'gadgets-export-download' => 'Yüklə', -); - -/** Bashkir (башҡортса) - * @author Рустам Нурыев - * @author ҒатаУлла - */ -$messages['ba'] = array( - 'prefs-gadgets' => 'Гаджеттар', - 'gadgets' => 'Гаджеттар', - 'gadgets-title' => 'Гаджеттар', - 'gadgets-uses' => 'Ҡулланыла', - 'gadgets-required-rights' => '{{PLURAL:$2|Хоҡуҡ талап ителә|Хоҡутар талап ителә}}: - -$1', - 'gadgets-export' => 'Сығарырға', - 'gadgets-not-found' => '"$1" гаджеты табылманы.', - 'gadgets-export-download' => 'Күсереп алырға', -); - -/** Bavarian (Boarisch) - * @author Mucalexx - */ -$messages['bar'] = array( - 'gadgets' => 'Gadgets (Helferlein)', - 'gadgets-title' => 'Gadgets (Helferlein)', - 'gadgets-export-download' => 'Owerloon', -); - -/** Southern Balochi (بلوچی مکرانی) - * @author Mostafadaneshvar - */ -$messages['bcc'] = array( - 'gadgets-desc' => 'اجازت دن کابرانء که انتخاب کنن دلواهی [[Special:Gadgets|گجت آنی سی اس اس و جاوا اسکرسپت]] ته وتی [[Special:Preferences#mw-prefsection-gadgets|ترجیحات]]', - 'prefs-gadgets' => 'گجت آن', - 'gadgets' => 'گجت آن', - 'gadgets-title' => 'گجت آن', - 'gadgets-uses' => 'استفاده بیت', -); - -/** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎) - * @author Cesco - * @author EugeneZelenko - * @author Jim-by - * @author Red Winged Duck - * @author Wizardist - * @author Zedlik - */ -$messages['be-tarask'] = array( - 'gadgets-desc' => 'Дазваляе ўдзельнікам выбіраць [[Special:Gadgets|CSS і JavaScript-дадаткі]] ў сваіх [[Special:Preferences#mw-prefsection-gadgets|наладах]]', - 'prefs-gadgets' => 'Гаджэты', - 'gadgets-prefstext' => 'Ніжэй знаходзіцца сьпіс спэцыяльных гаджэтаў, якія Вы можаце ўключыць для свайго рахунка. -Гэтыя гаджэты, пераважна, заснаваныя на JavaScript, таму Вам неабходна ўключыць JavaScript у сваім браўзэры для таго, каб яны працавалі. -Заўважце, што гэтыя гаджэты не працуюць на старонцы наладаў. - -Таксама заўважце, што гэтыя гаджэты не зьяўляюцца часткай праграмнага забесьпячэньня MediaWiki, і, звычайна, распрацоўваюцца ўдзельнікамі Вашай лякальнай вікі. -Лякальныя адміністратары маюць магчымасьць мяняць сьпіс гаджэтаў з дапамогай [[MediaWiki:Gadgets-definition|вызначэньняў]] і [[Special:Gadgets|апісаньняў]].', - 'gadgets' => 'Гаджэты', - 'gadgets-title' => 'Гаджэты', - 'gadgets-pagetext' => 'Ніжэй знаходзіцца сьпіс гаджэтаў, якія ўдзельнікі могуць уключыць у [[Special:Preferences#mw-prefsection-gadgets|сваіх наладах]], у адпаведнасьці са сьпісам на старонцы [[MediaWiki:Gadgets-definition|вызначэньняў]]. -Гэты сьпіс дазваляе лёгка атрымаць доступ да старонак сыстэмных паведамленьняў, якія вызначаюць апісаньні і крынічныя коды гаджэтаў.', - 'gadgets-uses' => 'Выкарыстоўвае', - 'gadgets-required-rights' => '{{PLURAL:$2|Патрабуецца права|Патрабуюцца наступныя правы}}: - -$1', - 'gadgets-required-skins' => 'Даступны ў {{PLURAL:$2|тэме $1|наступных тэмах: $1}}.', - 'gadgets-default' => 'Дазволеныя для ўсіх па змоўчваньні.', - 'gadgets-export' => 'Экспартаваць', - 'gadgets-export-title' => 'Экспарт гаджэта', - 'gadgets-not-found' => 'Гаджэт «$1» ня знойдзены.', - 'gadgets-export-text' => 'Каб экспартаваць гаджэт $1, націсьніце кнопку «{{int:gadgets-export-download}}», захавайце загружаны файл, зайдзіце на Special:Import у мэтавай вікі і загрузіце файл туды. Затым дадайце наступны зьмест на старонку MediaWiki:Gadgets-definition: -
    $2
    -Вы павінны мець адпаведныя правы ў мэтавай вікі (у тым ліку і правы на рэдагаваньне сыстэмных паведамленьняў), а ў вікі мусіць быць уключаная магчымасьць імпарту з файлаў.', - 'gadgets-export-download' => 'Загрузіць', -); - -/** Bulgarian (български) - * @author Borislav - * @author DCLXVI - * @author Spiritia - * @author Turin - */ -$messages['bg'] = array( - 'gadgets-desc' => 'Позволява на потребителите да избират и активират [[Special:Gadgets|CSS и JavaScript джаджи]] от своите [[Special:Preferences#mw-prefsection-gadgets|настройки]]', - 'prefs-gadgets' => 'Джаджи', - 'gadgets-prefstext' => 'По-долу е списъкът на специалните джаджи, които можете да активирате на своята потребителска сметка. -Тъй като почти всички джаджи са базирани на Джаваскрипт, трябва да го активирате на браузъра си, за да могат те да работят. -Имайте предвид, че тези джаджи няма да окажат влияние на тази страница с настройки. - -Също така, джаджите не са част от софтуера МедияУики, и обикновено се разработват и поддържат от потребители в локалното уики. Локалните администратори могат да редактират наличните джаджи посредством [[MediaWiki:Gadgets-definition|дефинициите]] и [[Special:Gadgets|описанията]].', - 'gadgets' => 'Джаджи', - 'gadgets-title' => 'Джаджи', - 'gadgets-pagetext' => 'По-долу е списъкът на специалните джаджи, които потребителите могат да активират чрез [[Special:Preferences#mw-prefsection-gadgets|страницата си с настройки]], както е указано на [[MediaWiki:Gadgets-definition]]. -Този списък дава лесен достъп до страниците със системни съобщения, съдържащи описанието и кода на всяка джаджа.', - 'gadgets-uses' => 'Използва', - 'gadgets-default' => 'Активирана за всички по подразбиране.', - 'gadgets-export' => 'Изнасяне', - 'gadgets-export-title' => 'Експорт на джаджи', - 'gadgets-not-found' => 'Джаджа "$1" не беше намерена.', - 'gadgets-export-text' => 'За да експортирате джаджата $1, щракнете на бутона "{{int:gadgets-export-download/bg}}", запазете файла на диска си, отидете на страницата Special:Import в целевото уики и го качете там. След това добавете към страницата MediaWiki:Gadgets-definition: -
    $2
    -В целевото уики трябва да се ползвате от съответните права (в това число правото да редактирате системни съобщения) и трябва да са разрешени локалните файлови качвания.', - 'gadgets-export-download' => 'Изтегляне', -); - -/** Bengali (বাংলা) - * @author Bellayet - * @author Nasir8891 - * @author Wikitanvir - * @author Zaheen - */ -$messages['bn'] = array( - 'gadgets-desc' => 'ব্যবহারকারীদের তাদের [[Special:Preferences#mw-prefsection-gadgets|পছন্দে]] স্বনির্বাচিত [[Special:Gadgets|সিএসএস এবং জাভাস্ক্রিপ্ট গ্যাজেট]] নির্বাচনের সুযোগ দাও', - 'prefs-gadgets' => 'গ্যাজেটগুলি', - 'gadgets-prefstext' => 'নিচে কিছু বিশেষ গ্যাজেটের তালিকা দেওয়া হল, যেগুলি আপনি আপনার অ্যাকাউন্টের জন্য সক্রিয় করতে পারেন। -এই গ্যাজেটগুলি বেশিরভাগই জাভাস্ক্রিপ্ট-ভিত্তিক, তাই এগুলি কাজ করতে হলে আপনার ব্রাউজারে জাভাস্ক্রিপ্ট সক্রিয় থাকতে হবে। -লক্ষ্য করুন, এই গ্যাজেটগুলি এই পছন্দ পাতায় কোন প্রভাব ফেলবে না। - -আরও লক্ষ্য করুন যে এই বিশেষ গ্যাজেটগুলি মিডিয়াউইকি সফটওয়্যারের অংশ নয়, এবং সাধারণত আপনার স্থানীয় উইকির ব্যবহারকারীরা এগুলি তৈরি করেন ও রক্ষণাবেক্ষণ করেন। স্থানীয় প্রশাসকেরা লভ্য গ্যাজেটগুলি [[MediaWiki:Gadgets-definition|সংজ্ঞা]] এবং [[Special:Gadgets|বর্ণনা]]-এর সাহায্যে সম্পাদনা করতে পারেন।', - 'gadgets' => 'গ্যাজেটগুলি', - 'gadgets-title' => 'গ্যাজেট', - 'gadgets-pagetext' => 'নিচে বিশেষ গ্যাজেটের একটি তালিকা রয়েছে, যা ব্যবহারকারী তাদের [[Special:Preferences#mw-prefsection-gadgets|প্রছন্দের পাতা]] থেকে সক্রিয় করে নিতে পারবেন এবং যা [[MediaWiki:Gadgets-definition|definitions]] পাতায় সংজ্ঞায়িত রয়েছে। পর্যালোচনা সিস্টেম বার্তা পাতায় সহজ প্রবেশাধিকার দিবে, যেখানে গ্যাজেটের বর্ণনা এবং কোড রয়েছে।', - 'gadgets-uses' => 'ব্যবহারসমূহ', - 'gadgets-required-rights' => 'নিচের {{PLURAL:$2|অধিকার|অধিকারগুলো}} প্রয়োজন: -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 স্কিন|স্কিনগুলো: $1}} থেকে ব্যবহার করা যাবে।', - 'gadgets-default' => 'সকলের জন্য সয়ংক্রিয়ভাবে সক্রিয়।', - 'gadgets-export' => 'রপ্তানি', - 'gadgets-export-title' => 'গ্যাজেট রফতানী', - 'gadgets-not-found' => 'গ্যাজেট "$1" খুজে পাওয়া যায়নি।', - 'gadgets-export-download' => 'ডাউনলোড', -); - -/** Breton (brezhoneg) - * @author Fulup - * @author Gwendal - * @author Y-M D - */ -$messages['br'] = array( - 'gadgets-desc' => 'Leuskel a ra an implijerien da bersonelaat [[Special:Gadgets|bitrakoù CSS ha JavaScript]] en o [[Special:Preferences#mw-prefsection-gadgets|fenndibaboù]]', - 'prefs-gadgets' => 'Bitrakoù', - 'gadgets-prefstext' => "A-is ez eus ur roll eus ar bitrakoù a c'hallit gweredekaat evit ho kont. -Evit ar pep brasañ eo diazezet ar bitrakoù-se war JavaScript, setu ma rank JavaScript bezañ gweredekaet war ho merdeer evit ma'z afent en-dro. -Notennit mat ne vo efed ebet gant ar bitrakoù-se war ar bajenn penndibaboù-mañ. - -Notennit ivez n'eus ket eus ar bitrakoù-se tammoù eus meziant MediaWiki; peurliesañ ez int diorroet ha trezalc'het gant implijerien war ho wiki lec'hel. -Gallout a ra ar verourien lec'hel degas cheñchamantoù er bitrakoù en ur ober gant an [[MediaWiki:Gadgets-definition|termenadurioù]] hag an [[Special:Gadgets|deskrivadurioù]].", - 'gadgets' => 'Bitrakoù', - 'gadgets-title' => 'Bitrakoù', - 'gadgets-pagetext' => "A-is ez eus ur roll eus ar bitrakoù a c'hall bezañ gweredekaet gant an implijerien war o fajenn [[Special:Preferences#mw-prefsection-gadgets|penndibaboù]], evel m'eo termenet en [[MediaWiki:Gadgets-definition|termenadurioù]]. -Ar sell hollek-mañ a bourchas ur moned aes d'ar pajennoù kemennadennoù reizhiad a dermen deskrivadur ha kod pep bitrak.", - 'gadgets-uses' => 'A implij', - 'gadgets-required-rights' => 'Rekis eo kaout an {{PLURAL:$2|aotre|aotreoù}} da-heul : -$1', - 'gadgets-required-skins' => 'Hegerz gant ar {{PLURAL:$2|gwiskadur $1|gwiskadurioù da-heul : $1}}.', - 'gadgets-default' => 'Gweredekaet dre ziouer evit an holl.', - 'gadgets-export' => 'Ezporzhiañ', - 'gadgets-export-title' => 'Ezporzhiañ bitrakoù', - 'gadgets-not-found' => 'N\'eo ket bet kavet ar bitrak "$1".', - 'gadgets-export-text' => 'Evit ezporzhiañ ar bitrak $1, klikañ war ar bouton "{{int:gadgets-export-download}}", enrollañ ar restr pellgarget, -mont d\'ar bajenn Dibar :Enporzh ar wiki tal hag enporzhiañ. Goude-se ouzhpennañ an destenn da-heul e pajenn MediaWiki:Gadgets-definition : -
    $2
    -Rankout a rit kaout ar gwirioù a zere war ar wiki tal (en o zouez ar gwir da zegas kemmoù er c\'hemennadennoù reizhiad) ha ret eo d\'an enporzhiañ adalek restroù bezañ gweredekaet.', - 'gadgets-export-download' => 'Pellgargañ', -); - -/** Bosnian (bosanski) - * @author CERminator - */ -$messages['bs'] = array( - 'gadgets-desc' => 'Omogućava korisnicima da odaberu vlastite [[Special:Gadgets|CSS i JavaScript dodatke]] (gadgets) u svojim [[Special:Preferences#mw-prefsection-gadgets|postavkama]]', - 'prefs-gadgets' => 'Dodaci', - 'gadgets-prefstext' => "Ovo je spisak specijalih gadgets (''dodataka'') koje možete omogućiti za Vaš korisnički račun. Ovi dodaci su najčešće bazirani na JavaScript, tako da se postavke JavaScript moraju omogućiti u Vašem web pregledniku da bi mogli raditi. -Zapamtite da ovi gadgets ne uzrokuju nikakve efekte na ovoj stranici za postavke. - -Također morate obratiti pažnju da ovi specijalni dodaci nisu dio MediaWiki software-a, a obično ih prave i razvijaju korisnici na lokalnim wikijima. -Administratori mogu mijenjati dostupne gadgetse koristeći [[MediaWiki:Gadgets-definition|definicije]] i [[Special:Gadgets|opise]].", - 'gadgets' => 'Dodaci (gadgets)', - 'gadgets-title' => 'Dodaci', - 'gadgets-pagetext' => 'Ispod je spisak posebnih dodataka koje korisnici mogu omogućiti na svojim [[Special:Preferences#mw-prefsection-gadgets|postavkama]], kako je to definisano u [[MediaWiki:Gadgets-definition|definicijama dodataka]]. -Ovaj pregled daje jednostavan pristup sistemu stranica poruka koje definišu svaki dodatak i njihov opis i kod.', - 'gadgets-uses' => 'Upotrebe', - 'gadgets-required-rights' => 'Zahtijeva {{PLURAL:$2|$1 pravo|slijedeća prava: $1}}.', - 'gadgets-default' => 'Omogućeno za svakog po postavkama.', - 'gadgets-export' => 'Izvoz', - 'gadgets-export-title' => 'Izvoz dodatka', - 'gadgets-not-found' => 'Dodatak "$1" nije pronađen.', - 'gadgets-export-text' => 'Za izvoz dodatka $1, kliknite na dugme "{{int:gadgets-export-download}}", spremite skinutu datoteku, -idite na Posebno:Uvoz na odredišnu wiki i postavite je. Zatim dodajte slijedeće na stranicu MediaWiki:Gadgets-definition: -
    $2
    -Morate imati odgovarajuća prava na odredišnoj wiki (uključujući pravo da uređujete sistemske poruke) i uvoz iz postavljenih datoteka mora biti omogućen.', - 'gadgets-export-download' => 'Skidanje', -); - -/** Catalan (català) - * @author Aleator - * @author Gemmaa - * @author Paucabot - * @author SMP - * @author Toniher - * @author Vriullop - */ -$messages['ca'] = array( - 'gadgets-desc' => 'Permet als usuaris personalitzar [[Special:Gadgets|ginys CSS i JavaScript]] a les seves [[Special:Preferences#mw-prefsection-gadgets|preferències]]', - 'prefs-gadgets' => 'Ginys', - 'gadgets-prefstext' => "A continuació teniu una llista de ginys especials que podeu activar al vostre compte.
    -La majoria d'aquests ginys fan servir JavaScript, per tant l'haureu de tenir activat al vostre navegador per a que funcionin. -Tingueu en compte que aquests ginys no tenen cap efecte sobre aquesta pàgina de preferències. - -Tingueu també present que aquests ginys especials no formen part del programari MediaWiki i que acostumen a estar fets i mantinguts per usuaris del vostre wiki local.
    -Els administradors locals poden editar els ginys disponibles fent servir [[MediaWiki:Gadgets-definition|definicions]] i [[Special:Gadgets|descripcions]].", - 'gadgets' => 'Ginys', - 'gadgets-title' => 'Ginys', - 'gadgets-pagetext' => 'A continuació teniu una llista de ginys especials que els usuaris poden activar a la seva [[Special:Preferences#mw-prefsection-gadgets|pàgina de preferències]], segons les [[MediaWiki:Gadgets-definition|seves definicions]]. -Aquesta llista permet un fàcil accés a les pàgines del sistema que defineixen la descripció i el codi de cada giny.', - 'gadgets-uses' => 'Usa', - 'gadgets-required-rights' => '{{PLURAL:$2|Es necessita el dret següent|Es necessiten els drets següents}}: - -$1', - 'gadgets-required-skins' => 'Disponible a la {{PLURAL:$2| $1 skin|following skins: $1 }}.', - 'gadgets-default' => 'Habilitat per a tothom per defecte.', - 'gadgets-export' => 'Exporta', - 'gadgets-export-title' => 'Exportació de ginys', - 'gadgets-not-found' => "No s'ha trobat el giny «$1».", - 'gadgets-export-text' => "Per a exportar el giny $1, feu clic al botó «{{int:gadgets-export-download}}», deseu el fitxer baixat, -aneu a Special:Import al wiki de destinació i pugeu-lo. Llavors afegiu el següent a la pàgina MediaWiki:Gadgets-definition: -
    $2
    -Heu de tenir els permisos adequats en el wiki de destinació (incloent-hi els permisos per editar missatges del sistema) i s'ha d'habilitar la importació de la pujada de fitxers.", - 'gadgets-export-download' => 'Baixa', -); - -/** Chechen (нохчийн) - * @author Sasan700 - */ -$messages['ce'] = array( - 'gadgets-desc' => 'Атто бо декъашхошна харжам ба [[Special:Preferences#mw-prefsection-gadgets|гIирс нисбарца]] CSS- а JavaScript-хIоттончаш, лато лууш йерш', - 'prefs-gadgets' => 'Хlоттончаш', - 'gadgets-prefstext' => 'Лаххьа балийна леррина хlоттончаш могlам, шуьга шайга латалур йолуш хьай долахь долучу дакъан. -Хlара хlоттончаш дукхачу хьоляхь болх беш ю оцу JavaScript тlяхь, цундела аша латоеза JavaScript шай дуьнена машан гlирса чохь, цаьрга болх байта. -Диц маделаш, хlара хlоттончаш болх бяш яз хlо гlирс нисбо агlон чохь. - -Ишта диц маде, хlара хlоттончаш юкъа йогуш яз кху MediaWiki гlирсашна, мадарра аьльча шу санна декъашхоша шаьш йеш ю. -Адманкуьйгалхошка шайг хийцало и хlоттончи могlам, хlокх могlам гlонца [[MediaWiki:Gadgets-definition|къастам бало]] а [[Special:Gadgets|церах лаьцна]].', - 'gadgets' => 'Хlоттончаш', - 'gadgets-title' => 'Хlоттончаш', - 'gadgets-pagetext' => 'Гlирса хааман могlамаш, къастош йолу хlоттончи цlераш, хуьлаш йолу хIокху [[MediaWiki:Gadgets-definition|къастамца]]]]. -ХIокху могIамо атто бо гIирсан хаамаш атта тIе кхочуш барца, цуьнах лаьцна хIоттош а йолш йолучу хIоттончи ишарца.', - 'gadgets-uses' => 'Лелош йу', -); - -/** Sorani Kurdish (کوردی) - * @author Asoxor - */ -$messages['ckb'] = array( - 'prefs-gadgets' => 'ئامرازەکان', - 'gadgets' => 'ئامرازەکان', - 'gadgets-title' => 'ئامرازەکان', -); - -/** Czech (česky) - * @author Danny B. - * @author Li-sung - * @author Mormegil - */ -$messages['cs'] = array( - 'gadgets-desc' => 'Umožňuje uživatelům vybrat si [[Special:Gadgets|CSS a JavaScriptové udělátko]] ve svém [[Special:Preferences#mw-prefsection-gadgets|nastavení]].', - 'prefs-gadgets' => 'Udělátka', - 'gadgets-prefstext' => 'Níže je přehled speciálních udělátek, která si můžete ve svém účtu zapnout. -Tato udělátka jsou založena převážně na JavaScriptu, takže je pro jejich funkčnost nutné mít v prohlížeči JavaScript zapnutý. -Udělátka nejsou aplikována na této stránce nastavení. - -Uvědomte si také, že speciální udělátka nejsou součástí softwaru MediaWiki a jsou vytvářena a spravována uživateli této wiki. -Místní správci mohou upravovat [[MediaWiki:Gadgets-definition|definice]] a [[Special:Gadgets|popisy]] dostupných udělátek.', - 'gadgets' => 'Udělátka', - 'gadgets-title' => 'Udělátka', - 'gadgets-pagetext' => 'Níže je přehled speciálních udělátek, která si uživatelé mohou zapnout ve svém [[Special:Preferences#mw-prefsection-gadgets|nastavení]]. Jejich seznam lze upravovat na stránce [[MediaWiki:Gadgets-definition]]. -Tento přehled poskytuje jednoduchý přístup k systémovým hlášením, která definují zdrojový kód a popis každého udělátka.', - 'gadgets-uses' => 'používá', - 'gadgets-required-rights' => 'Vyžaduje následující {{PLURAL:$2|oprávnění}}: - -$1', - 'gadgets-required-skins' => 'Dostupné {{PLURAL:$2|pro vzhled $1|pro následující vzhledy: $1}}.', - 'gadgets-default' => 'Implicitně zapnuto všem.', - 'gadgets-export' => 'Exportovat', - 'gadgets-export-title' => 'Export udělátka', - 'gadgets-not-found' => 'Udělátko „$1“ nebylo nalezeno.', - 'gadgets-export-text' => 'Chcete-li exportovat udělátko $1, klikněte na tlačítko „{{int:gadgets-export-download}}“, uložte stažený soubor, na cílové wiki přejděte na stránku Special:Import a soubor načtěte. Poté na tamní stránku MediaWiki:Gadgets-definition přidejte následující: -
    $2
    -Na cílové wiki musíte mít příslušná oprávnění (včetně práva editovat systémová hlášení) a musí tam být povolen import načtením souboru.', - 'gadgets-export-download' => 'Stáhnout', -); - -/** Church Slavic (словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ) - * @author ОйЛ - */ -$messages['cu'] = array( - 'gadgets-title' => 'доплънитєл҄ьнꙑ орѫдиꙗ', -); - -/** Welsh (Cymraeg) - * @author Lloffiwr - */ -$messages['cy'] = array( - 'gadgets-desc' => 'Yn galluogi defnyddwyr i ddewis [[Special:Gadgets|teclynnau CSS a JavaScript]] yn eu [[Special:Preferences#mw-prefsection-gadgets|dewisiadau]]', - 'prefs-gadgets' => 'Teclynnau', - 'gadgets-prefstext' => "Ceir rhestr isod o'r teclynnau y gallwch eu galluogi. -Mae'r rhan fwyaf o'r teclynnau yn defnyddio JavaScript, felly mae'n rhaid galluogi JavaScript ar eich porwr er mwyn iddynt weithio. -Sylwer na gaiff y teclynnau hyn unrhyw effaith ar y dudalen hon o ddewisiadau. - -Sylwer hefyd nad yw'r teclynnau hyn yn ran o feddalwedd MediaWiki; fel arfer defnyddwyr y wici hwn sydd wedi datblygu'r teclynnau ac sydd yn eu cynnal. -Mae gweinyddwyr y wici hwn yn gallu golygu [[MediaWiki:Gadgets-definition|diffiniadau]] a [[Special:Gadgets|disgrifiadau]]'r teclynnau sydd ar gael.", - 'gadgets' => 'Teclynnau', - 'gadgets-title' => 'Teclynnau', - 'gadgets-pagetext' => "Isod mae rhestr o declynnau arbennig y gall defnyddwyr eu galluogi ar eu [[Special:Preferences#mw-prefsection-gadgets|tudalennau dewisiadau]], sef rhestr a bennir yn y dudalen [[MediaWiki:Gadgets-definition|diffiniadau]]. -Mae'r trosolwg hwn yn cynnig mynediad rhwydd at y tudalennau negeseuon sustem sy'n diffinio disgrifiad a chod pob teclyn.", - 'gadgets-uses' => 'Yn defnyddio', - 'gadgets-required-rights' => 'Mae gofyn cael y {{PLURAL:$2||gallu|galluoedd|galluoedd|galluoedd|galluoedd}}: - -$1', - 'gadgets-required-skins' => 'Ar gael ar y {{PLURAL:$2|wedd $1|gweddau hyn: $1}}.', - 'gadgets-default' => 'Wedi ei alluogi i bawb yn ddiofyn.', - 'gadgets-export' => 'Allforio', - 'gadgets-export-title' => 'Allforio teclyn', - 'gadgets-not-found' => 'Heb ddod o hyd i\'r teclyn "$1".', - 'gadgets-export-text' => "I allforio'r teclyn \$1, pwyswch ar y botwm \"{{int:gadgets-export-download}}\", rhowch y ffeil a islwythir ar gadw, ewch i Special:Import ar wici'r pendraw a'i huwchlwytho. Yna ychwanegwch y canlynol at y dudalen MediaWiki:Gadgets-definition: -
    \$2
    -Mae'n rhaid bod y galluoedd pwrpasol gennych ar wici'r pendraw (gan gynnwys y gallu i olygu negeseuon y sustem), a rhaid bod mewnforio drwy uwchlwytho ffeiliau wedi ei alluogi.", - 'gadgets-export-download' => 'Islwyther', -); - -/** Danish (dansk) - * @author Byrial - * @author Peter Alberti - */ -$messages['da'] = array( - 'gadgets-desc' => 'Lader brugere vælge brugerdefinerede [[Special:Gadgets|CSS og JavaScript gadgets]] i deres [[Special:Preferences#mw-prefsection-gadgets|indstillinger]]', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Nedenstående er en liste over de gadgets som du kan aktivere for din brugerkonto. -Da disse gadgets hovedsageligt er baseret på JavaScript skal du slå JavaScript til i din browser for at få dem til at virke. -Bemærk at disse gadgets ikke vil have nogen effekt på denne side (indstillinger). - -Bemærk også at disse specielle gadgets ikke er en del af MediaWiki-softwaren og at de typisk bliver vedligeholdt af brugere på din lokale wiki. -Lokale administratorer kan redigere tilgængelige gadgets med [[MediaWiki:Gadgets-definition|definitioner]] og [[Special:Gadgets|beskrivelser]].', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Nedenstående er en liste med de specielle gadgets som brugere kan aktivere i deres [[Special:Preferences#mw-prefsection-gadgets|indstillinger]], som defineret i [[MediaWiki:Gadgets-definition|definitionerne]]. -Denne oversigtsside giver simpel adgang til de beskedsider som definerer hver gadgets beskrivelse og kode.', - 'gadgets-uses' => 'Bruger', - 'gadgets-required-rights' => 'Kræver {{PLURAL:$2|rettigheden|følgende rettigheder}}: - -$1', - 'gadgets-required-skins' => 'Tilgængelig for {{PLURAL:$2|$1-udseendet|de følgende udseender: $1}}.', - 'gadgets-default' => 'Aktiveret for alle som standard.', - 'gadgets-export' => 'Eksporter', - 'gadgets-export-title' => 'Eksporter gadget', - 'gadgets-not-found' => 'Gadget "$1" ikke fundet.', - 'gadgets-export-text' => 'For at eksportere værktøjet $1, klik på knappen "{{int:gadgets-export-download}}", gem den downloadede fil, gå til Special:Import på destinationswikien og læg den op. Tilføj så følgende til siden MediaWiki:Gadgets-definition: -
    $2
    -Du skal have de nødvendige rettigheder på destinationswikien (herunder rettigheden til at redigere systemmeddelelser) og importering via oplægning af filer skal være slået til.', - 'gadgets-export-download' => 'Download', -); - -/** German (Deutsch) - * @author Daniel Kinzler, brightbyte.de - * @author Kghbln - * @author Metalhead64 - * @author Raimond Spekking - * @author The Evil IP address - * @author Umherirrender - * @author ✓ - */ -$messages['de'] = array( - 'gadgets-desc' => 'Ermöglicht es Benutzern, in ihren [[Special:Preferences#mw-prefsection-gadgets|persönlichen Einstellungen]] vordefinierte [[Special:Gadgets|CSS- und JavaScript-Helferlein]] zu aktivieren', - 'prefs-gadgets' => 'Helferlein', - 'gadgets-prefstext' => 'Dies ist eine Liste spezieller Helferlein, die jeder Benutzer aktivieren kann. -Die Helferlein basieren zumeist auf JavaScript. Daher muss JavaScript im Browser aktiviert sein, damit sie funktionieren können. -Sie funktionieren allerdings nicht auf dieser Spezialseite mit den persönlichen Einstellungen. - -Außerdem ist zu beachten, dass diese Helferlein im Allgemeinen nicht Teil von MediaWiki sind, sondern meist von Benutzern lokaler Wikis entwickelt und gewartet werden. -Lokale Administratoren können die verfügbaren Helferlein bearbeiten. Dafür stehen die [[MediaWiki:Gadgets-definition|Definitionen]] und [[Special:Gadgets|Beschreibungen]] zur Verfügung.', - 'gadgets' => 'Helferlein', - 'gadgets-title' => 'Helferlein', - 'gadgets-pagetext' => 'Liste besonderer, in [[MediaWiki:Gadgets-definition]] festgelegter Helferlein, die für jeden Benutzer in seinen [[Special:Preferences#mw-prefsection-gadgets|persönlichen Einstellungen]] verfügbar sind. -Diese Übersicht bietet direkten Zugang zu den MediaWiki-Systemnachrichten, welche die Beschreibung sowie den Programmcode jedes Helferlein enthalten.', - 'gadgets-uses' => 'Benutzt', - 'gadgets-required-rights' => 'Erfordert die {{PLURAL:$2|folgende Berechtigung|folgenden Berechtigungen}}: - -$1', - 'gadgets-required-skins' => 'Verfügbar bei {{PLURAL:$2|der folgenden Benutzeroberfläche|den folgenden Benutzeroberflächen}}: $1.', - 'gadgets-default' => 'Für alle standardmäßig aktiviert.', - 'gadgets-export' => 'Export', - 'gadgets-export-title' => 'Export der Helferlein', - 'gadgets-not-found' => 'Helferlein „$1“ wurde nicht gefunden.', - 'gadgets-export-text' => 'Um das Helferlein $1 zu exportieren, klicke auf die Schaltfläche „{{int:gadgets-export-download}}“ und speichere die heruntergeladene Datei. Gehe sodann zur Spezialseite Spezial:Import auf dem für den Import vorgesehenen Wiki und lade die Datei hoch. Danach füge den folgenden Text der Seite MediaWiki:Gadgets-definition hinzu: -
    $2
    -Du musst über die notwendigen Berechtigungen auf dem für den Import vorgesehenen Wiki verfügen (einschließlich der Berechtigung MediaWiki-Systemnachrichten zu bearbeiten). Zudem muss der Import von Datei-Uploads aktiviert sein.', - 'gadgets-export-download' => 'Herunterladen', -); - -/** Swiss High German (Schweizer Hochdeutsch) - * @author Geitost - */ -$messages['de-ch'] = array( - 'gadgets-prefstext' => 'Dies ist eine Liste spezieller Helferlein, die jeder Benutzer aktivieren kann. -Die Helferlein basieren zumeist auf JavaScript. Daher muss JavaScript im Browser aktiviert sein, damit sie funktionieren können. -Sie funktionieren allerdings nicht auf dieser Spezialseite mit den persönlichen Einstellungen. - -Ausserdem ist zu beachten, dass diese Helferlein im Allgemeinen nicht Teil von MediaWiki sind, sondern meist von Benutzern lokaler Wikis entwickelt und gewartet werden. -Lokale Administratoren können die verfügbaren Helferlein bearbeiten. Dafür stehen die [[MediaWiki:Gadgets-definition|Definitionen]] und [[Special:Gadgets|Beschreibungen]] zur Verfügung.', - 'gadgets-default' => 'Für alle standardmässig aktiviert.', - 'gadgets-export-text' => 'Um das Helferlein $1 zu exportieren, klicke auf die Schaltfläche „{{int:gadgets-export-download}}“ und speichere die heruntergeladene Datei. Gehe sodann zur Spezialseite Spezial:Import auf dem für den Import vorgesehenen Wiki und lade die Datei hoch. Danach füge den folgenden Text der Seite MediaWiki:Gadgets-definition hinzu: -
    $2
    -Du musst über die notwendigen Berechtigungen auf dem für den Import vorgesehenen Wiki verfügen (einschliesslich der Berechtigung MediaWiki-Systemnachrichten zu bearbeiten). Zudem muss der Import von Datei-Uploads aktiviert sein.', -); - -/** German (formal address) (Deutsch (Sie-Form)‎) - * @author Kghbln - */ -$messages['de-formal'] = array( - 'gadgets-export-text' => 'Um das Helferlein $1 zu exportieren, klicken Sie auf die Schaltfläche „{{int:gadgets-export-download}}“ und speichern Sie die heruntergeladene Datei. Gehen Sie sodann zur Spezialseite Spezial:Import auf dem für den Import vorgesehenen Wiki und laden Sie die Datei hoch. Danach fügen Sie den folgenden Text der Seite MediaWiki:Gadgets-definition hinzu: -
    $2
    -Sie müssen über die notwendigen Berechtigungen auf dem für den Import vorgesehenen Wiki verfügen (einschließlich der Berechtigung MediaWiki-Systemnachrichten zu bearbeiten). Zudem muss der Import von Datei-Uploads aktiviert sein.', -); - -/** Zazaki (Zazaki) - * @author Erdemaslancan - * @author Olvörg - * @author Xoser - */ -$messages['diq'] = array( - 'gadgets-desc' => 'Karberan rê destur bide ke pê [[Special:Preferences#mw-prefsection-gadgets|opsiyonan]] ra [[Special:Gadgets|Xacetanê CSS u JavaScriptî]] biweçî', - 'prefs-gadgets' => 'Xacetî', - 'gadgets-prefstext' => 'Cor de yew listeyê xacetanê xasî estê ke ti eşkenî xesabê xo de a bike. -Enê xecatan ser JavaScript gure kenê, aya ra ti gani browser xo de JavaScript a bike. -Ena pela opsiyonî de xacetan etki nikenê. - -Enê xecatanê xasî parçê sofwarê Mediyawîkî niyo, aye ra karberanê localî enê xecetî virazeno. -Adminstorê localî eşkenê xacetî [[MediaWiki:Gadgets-definition|definitions]] u [[Special:Gadgets|descriptions]] ra bivurne.', - 'gadgets' => 'Xacetî', - 'gadgets-title' => 'Xacetî', - 'gadgets-pagetext' => 'Cor de yew listeyê xacetanê xasî estê ke ti eşkenî [[Special:Preferences#mw-prefsection-gadgets|xesabê xo]] de a bike, descripsiyon [[MediaWiki:Gadgets-definition|definitions]] de esto. -Ena descripisyon kerberanê îmkan dano ke aye meajanê sistemî ra asani cikewtê.', - 'gadgets-uses' => 'Karber', - 'gadgets-required-rights' => 'Cêrêni icab kenê {{PLURAL:$2|raşti|raşteya}}: - -$1', - 'gadgets-required-skins' => 'Zerrey {{PLURAL:$2|$1 skin|skino ke pawêno: $1}} dı esto.', - 'gadgets-default' => 'Merduman pêron rê aktiv ke.', - 'gadgets-export' => 'Teber de', - 'gadgets-export-title' => 'Teberdayışê gadgeti', - 'gadgets-not-found' => 'Gadget "$1" nêvineya.', - 'gadgets-export-text' => 'Qande gadgeto $1 teber rê rusnayış ,"{{int:gadgets-export-download}}" rê hengnayış kerên,u dosya ke download biyo,star kerên.Wikiyê hedef de şo pela Special:Import rê and download kerên.Bahdo nuşteyê ke cerên de dero pela MediaWiki:Gadgets-definition rê bınuse: -
    $2
    -Wikiyê ke hedefo de desturê lazımo (vurnayışê mesacanê sistemi daxilo) u dosya ra zerê rê rusnayışi enabled lazımo.', - 'gadgets-export-download' => 'Ron', -); - -/** Lower Sorbian (dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'gadgets-desc' => 'Dowólujo wužywarjam w jich [[Special:Preferences#mw-prefsection-gadgets|nastajenjach]] [[Special:Gadgets|gadgets CSS a JavaScript]] wubraś', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Dołojce jo lisćina specielnych gadgetow, kótarež móžoš za swójo konto zmóžniś. -Toś te gadgety se zwětšego bazěruju na JavaScripśe, togodla musy JavaScript w twójom wobglědowaku zmóžnjony byś, aby funkcioněrowali. -Glědaj, až toś te gadgety njewustatkuju se na bok nastajenjow. - -Glědaj teke, až toś te gadgety njejsu źěl softwary MediaWiki a se zwětšego wót wužywarjow na twójom lokalnem wikiju wuwijaju a wótwarduju. -Lokalne administratory mógu k dispoziciji stojece gadgety z pomocu [[MediaWiki:Gadgets-definition|definicijow ]] a [[Special:Gadgets|wopisanjow]] wobźełaś.', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Dołojce jo lisćina specialnych gadgetow, kótarež wužywarje mógu w [[Special:Preferences#mw-prefsection-gadgets|swójich nastajenjach]] zmóžniś, kaž w [[MediaWiki:Gadgets-definition]] definiěrowane. -Toś ten pśeglěd bitujo lažki pśistup k bokam systemowych powěsćow, kótarež wopisanje a kod gadgeta definěruju.', - 'gadgets-uses' => 'Wužywa', - 'gadgets-required-rights' => 'Pomina se {{PLURAL:$2|slědujuce pšawo|slědujucej pšawje|slědujuce pšawa|slědujuce pšawa}}: - -$1', - 'gadgets-required-skins' => 'Na {{PLURAL:$2|slědujucej drastwje|slědujucyma drastwoma|slědujucych drastwach|slědujucych drastwach}} k dispoziciji: $1', - 'gadgets-default' => 'Za wšych standardnje zmóžnjony.', - 'gadgets-export' => 'Eksportěrowaś', - 'gadgets-export-title' => 'Eksport specialneje funkcije', - 'gadgets-not-found' => 'Specialna funkcija "$1" njejo se namakała.', - 'gadgets-export-text' => 'Aby specialnu funkciju $1 eksportěrował, klikni na tłocašk "{{int:gadgets-export-download}}", składuj ześěgnjonu dataju, źi do Special:Import w celowem wikiju a nagraj ju. Pśidaj pótom slědujuce k bokoju MediaWiki:Gadgets-definition: -
    $2
    -Musyš trěbne pšawa na celowem wikiju měś (inkluziwnje pšawo za wobźěłowanje systemowych powěźeńkow) a import datajowych nagraśow musy znjemóžnjony byś.', - 'gadgets-export-download' => 'Ześěgnuś', -); - -/** Greek (Ελληνικά) - * @author AK - * @author Badseed - * @author Consta - * @author Dead3y3 - * @author Glavkos - * @author Lou - * @author ZaDiak - */ -$messages['el'] = array( - 'gadgets-desc' => 'Επιτρέπει στους χρήστες να διαλέξουν [[Special:Gadgets|CSS και JavaScript συσκευές]] στις [[Special:Preferences#mw-prefsection-gadgets|προτιμήσεις]] τους', - 'prefs-gadgets' => 'Ειδικές επιλογές', - 'gadgets-prefstext' => 'Ακολουθεί μια λίστα με ειδικές επιλογές που μπορείτε να ενεργοποιήσειτε για το λογαριασμό σας. -Αυτές οι επιλογές είναι βασισμένες κυρίως σε JavaScript, οπότε αυτή θα πρέπει να ενεργοποιηθεί στον φυλλομετρητή σας για να δουλέψουν. -Σημειώστε ότι οι επιλογές αυτές δεν θα έχουν καμία επίδραση σε αυτή τη σελίδα προτιμήσεων. - -Επίσης σημειώστε ότι αυτές οι ειδικές επιλογές δεν είναι μέρος του λογισμικού MediaWiki, και συνήθως αναπτύσσονται και συντηρούνται από χρήστες στο τοπικό σας wiki. -Οι τοπικοί διαχειριστές μπορούν να επεξεργαστούν τις διαθέσιμες επιλογές χρησιμοποιώντας τις σελίδες [[MediaWiki:Gadgets-definition]] και [[Special:Gadgets]].', - 'gadgets' => 'Ειδικές επιλογές', - 'gadgets-title' => 'Συσκευές', - 'gadgets-pagetext' => 'Παρακάτω βρίσκεται ένας κατάλογος με τις ειδικές λειτουργίες τις οποίες οι χρήστες μπορούν να ενεργοποιήσουν στη [[Special:Preferences#mw-prefsection-gadgets|σελίδα προτιμήσεών]] τους, όπως ορίζεται από τη σελίδα [[MediaWiki:Gadgets-definition|ορισμών]].
    -Αυτή η επισκόπηση παρέχει εύκολη πρόσβαση στις σελίδες μηνυμάτων του συστήματος που ορίζουν την περιγραφή και τον κώδικα κάθε λειτουργίας.', - 'gadgets-uses' => 'Χρήσεις', - 'gadgets-required-rights' => 'Απαιτεί {{PLURAL:$2|το εξής δικαίωμα|τα εξής δικαιώματα}}: - -$1', - 'gadgets-default' => 'Ενεργοποιήθηκε για τον καθένα από προεπιλογή.', - 'gadgets-export' => 'Εξαγωγή', - 'gadgets-export-title' => 'Μικροεφαρμογή εξαγωγής', - 'gadgets-not-found' => 'Μικροεφαρμογή "$1" δεν βρέθηκε.', - 'gadgets-export-text' => 'Για την εξαγωγή της μικροεφαρμογής (gadget) $1, κάντε κλικ στο κουμπί "{{int:gadgets-export-download}}", αποθηκεύστε το αρχείο που λάβατε, πάτε στο Special:Import του wiki προορισμού και ανεβάστε το. Μετά προσθέστε τα παρακάτω στη σελίδα ορισμού των MediaWiki:Gadgets: -
    $2
    -Πρέπει να έχετε τα κατάλληλα δικαιώματα στο wiki προορισμού (συμπεριλαμβανομένου και του δικαιώματος επεξεργασίας μηνυμάτων συστήματος) και να είναι ενεργοποιημένη η εισαγωγή αρχείων προς ανέβασμα.', - 'gadgets-export-download' => 'Λήψη', -); - -/** Esperanto (Esperanto) - * @author Yekrats - */ -$messages['eo'] = array( - 'gadgets-desc' => 'Permesas al uzantoj elekti proprajn [[Special:Gadgets|CSS kaj JavaScript aldonaĵojn]] en ties [[Special:Preferences#mw-prefsection-gadgets|preferoj]].', - 'prefs-gadgets' => 'Aldonaĵoj', - 'gadgets-prefstext' => 'Jen listo de specialaj aldonaĵoj kiujn vi povas aktivigi por via uzulkonto. -Plej multaj el ili baziĝas sur Ĵavaskriptoj, sekve Ĵavaskripto nepre estu aktivigita por ke ili funkciu. -Notu ke tiuj aldonaĵoj ne efikos sur viaj preferoj. - -Notu ankaŭ ke ili ne estas parto de la programaro MediaWiki, kaj estas kutime evoluigitaj kaj prizorgataj de uzuloj sur via loka vikio. -Lokaj administrantoj povas redakti liston de haveblaj aldonaĵoj per [[MediaWiki:Gadgets-definition|difinoj]] kaj [[Special:Gadgets|priskriboj]].', - 'gadgets' => 'Aldonaĵoj', - 'gadgets-title' => 'Aldonaĵoj', - 'gadgets-pagetext' => 'Jen listo da specialaj aldonaĵoj kiujn uzuloj povas aktivigi en [[Special:Preferences#mw-prefsection-gadgets|siaj preferoj]], kiel difinite en [[MediaWiki:Gadgets-definition|difinoj]]. -Ĉi tiu superrigardo provizas facilan aliron al la sistemaj mesaĝoj kiuj difinas la priskribon kaj la kodon de ĉiuj aldonaĵoj.', - 'gadgets-uses' => 'uzas', - 'gadgets-required-rights' => 'Bezonas la {{PLURAL:$2|jenan rajton|jenajn rajtojn}}: - -$1', - 'gadgets-required-skins' => 'Dispona kun la {{PLURAL:$2|$1 etoso|jenaj etosoj:$1}}.', - 'gadgets-default' => 'Ŝaltita por ĉiu defaŭlte.', - 'gadgets-export' => 'Eksporti', - 'gadgets-export-title' => 'Aldonaĵo-eksportado', - 'gadgets-not-found' => 'Aldonaĵo "$1" ne estis trovita.', - 'gadgets-export-text' => 'Eksporti la aldonaĵon $1, klaku butonon "{{int:gadgets-export-download}}", konservu la elŝutitan dosieron, -iru Special:Import en cela vikio kaj alŝutu ĝin. Poste aldonu la jenan signoĉenon al paĝo MediaWiki:Gadgets-definition: -
    $2
    -Vi nepras la taŭgajn rajtojn ĉe cela vikio (inkluzivante rajton redakti sistemajn mesaĝojn) kaj importebleco de dosieraj alŝutaĵojn devas esti ŝaltita.', - 'gadgets-export-download' => 'Elŝuti', -); - -/** Spanish (español) - * @author Crazymadlover - * @author Fitoschido - * @author Muro de Aguas - * @author Remember the dot - * @author Sanbec - * @author Vivaelcelta - */ -$messages['es'] = array( - 'gadgets-desc' => 'Permite a los usuarios seleccionar [[Special:Gadgets|accesorios de CSS y JavaScript personailzados]] -en sus [[Special:Preferences#mw-prefsection-gadgets|preferencias]].', - 'prefs-gadgets' => 'Accesorios', - 'gadgets-prefstext' => 'Debajo hay una lista de accesorios que puedes activar a tu gusto. -Ten en cuenta que la mayoría de ellos utilizan JavaScript para funcionar, así que debes tenerlo activado en tu navegador si quieres que los accesorios que actives funcionen. - -Ten en cuenta también que estos complementos no forman parte del software MediaWiki, y están desarrollados por usuarios de este wiki. - -Los administradores pueden editar los accesorios que están disponibles en las páginas [[MediaWiki:Gadgets-definition]] y [[Special:Gadgets]].', - 'gadgets' => 'Accesorios', - 'gadgets-title' => 'Accesorios', - 'gadgets-pagetext' => 'Debajo hay una lista de accesorios especiales que los usuarios pueden activar en sus [[Special:Preferences#mw-prefsection-gadgets|preferencias]], según la [[MediaWiki:Gadgets-definition|lista de definición de accesorios]]. Esta vista provee un acceso fácil a las páginas de mensajes del sistema que definen la descripción y el código de cada accesorio.', - 'gadgets-uses' => 'Usos', - 'gadgets-required-rights' => 'Requiere {{PLURAL:$2|el siguiente derecho|los siguientes derechos}}: - -$1', - 'gadgets-required-skins' => 'Disponible {{PLURAL:$2|en la apariencia $1|en las siguientes apariencias: $1}}.', - 'gadgets-default' => 'Activado para todos de manera predeterminada.', - 'gadgets-export' => 'Exportar', - 'gadgets-export-title' => 'Exportación de gadget', - 'gadgets-not-found' => 'Gadget "$1" no encontrado.', - 'gadgets-export-text' => 'Para exportar el gadget $1, haz click en el botón "{{int:gadgets-export-download}}", graba el archivo descargado, -ve a Special:Importar un wiki de destino y subirlo. Luego agrega lo siguiente a MediaWiki:Gadgets-definition page: -
    $2
    -Debes tener permisos apropiados en el wiki de destino (incluyendo el derecho a editar mensajes de sistema) e importación desde archivos subidos debe estar habilitado.', - 'gadgets-export-download' => 'Descargar', -); - -/** Estonian (eesti) - * @author Avjoska - * @author Pikne - */ -$messages['et'] = array( - 'gadgets-desc' => 'Võimaldab kasutajal [[Special:Preferences#mw-prefsection-gadgets|eelistuste leheküljel]] erinevaid [[Special:Gadgets|CSS- ja JavaScript-tööriistu]] valida.', - 'prefs-gadgets' => 'Tööriistad', - 'gadgets-prefstext' => 'Allpool on nimekiri eririistadest, mida kasutajad saavad oma konto jaoks sisse lülitada. -Enamasti põhinevad need riistad JavaScriptil, seega peab nende töötamiseks sinu veebilehitsejas JavaScript lubatud olema. -Pane tähele, et need riistad ei mõjuta kuidagi seda eelistuste lehekülge. - -Samuti pane tähele, et need eririistad ei ole osa MediaWiki tarkvarast ja on tavaliselt arendatud ja ülalpeetud sinu kohalikus vikis. -Kohalikud administraatorid saavad olemasolevaid riistu muuta [[MediaWiki:Gadgets-definition|määratluste]] ja [[Special:Gadgets|kirjelduste]] abil.', - 'gadgets' => 'Tööriistad', - 'gadgets-title' => 'Tööriistad', - 'gadgets-pagetext' => 'Allpool on nimekiri eririistadest, mida kasutajad saavad oma [[Special:Preferences#mw-prefsection-gadgets|eelistuste leheküljel]] sisse lülitada, nii nagu [[MediaWiki:Gadgets-definition|määratlustes]] määratletud. See ülevaade võimaldab kergesti ligi pääseda süsteemi sõnumilehekülgedele, milles on iga riista kirjeldus ja kood.', - 'gadgets-uses' => 'Kasutab', - 'gadgets-required-rights' => 'Tarvis on {{PLURAL:$2|järgmist õigust|järgmisi õigusi}}: - -$1', - 'gadgets-required-skins' => 'Saadaval {{PLURAL:$2|järgmise kujundusega|järgmiste kujundustega}}: $1.', - 'gadgets-default' => 'Vaikimisi kõigile lubatud.', - 'gadgets-export' => 'Ekspordi', - 'gadgets-export-title' => 'Tööriista eksportimine', - 'gadgets-not-found' => 'Tööriista "$1" ei leidu.', - 'gadgets-export-text' => 'Klõpsa nuppu "{{int:gadgets-export-download}}", et eksportida tööriist $1; salvesta allalaaditav fail; -mine sihtvikis leheküljele Special:Import ja laadi see üles. Seejärel lisa järgnev leheküljele MediaWiki:Gadgets-definition: -
    $2
    -Sul peavad olema sihtvikis vajalikud õigused (kaasa arvatud õigus redigeerida süsteemi sõnumeid) ja üleslaaditavate failide kaudu importimine peab olema lubatud.', - 'gadgets-export-download' => 'Laadi alla', -); - -/** Basque (euskara) - * @author An13sa - * @author Inorbez - * @author Unai Fdz. de Betoño - * @author පසිඳු කාවින්ද - */ -$messages['eu'] = array( - 'gadgets-desc' => 'Lankideek [[Special:Gadgets|CSS eta JavaScript gadgetak]] aukeratu ditzazkete beraien [[Special:Preferences#mw-prefsection-gadgets|hobespenetan]]', - 'prefs-gadgets' => 'Gadgetak', - 'gadgets-prefstext' => 'Zure kontuan erabili ditzakezun gadgeten zerrenda bat agertzen da behean. -JavaScript-en oinarritzen dira gehienbat gadget hauek; beraz, funtzionatzeko zure nabigatzailean JavaScript gaituta egon behar da. -Kontuan izan gadget hauek ez dutela eraginik izango hobespen orri honetan. - -Kontuan izan baita gadget berezi hauek ez direla MediaWiki softwarearen zati bat. Gehienetan guneko wikietako garatzaileek sortu eta mantentzen dituzte. -Administratzaileek [[MediaWiki:Gadgets-definition|definizioak]] eta [[Special:Gadgets|deskribapenak]] erabiliz aldatu dezakete eskuragarri dauden gadgetak.', - 'gadgets' => 'Gadgetak', - 'gadgets-title' => 'Gadgetak', - 'gadgets-pagetext' => 'Erabiltzaile bakoitzak bere [[Special:Preferences#mw-prefsection-gadgets|hobespen orrian]] erabili ditzakeen gadgeten zerrenda bat agertzen da behean, [[MediaWiki:Gadgets-definition|definizioek]] zehaztu bezala. -Ikuspegi orokor honek gadget bakoitza definitzen duen deskribapen eta kode orrietarako lotura errazak eskaintzen ditu.', - 'gadgets-uses' => 'Erabilerak', - 'gadgets-export' => 'Esportatu', - 'gadgets-export-download' => 'Jaitsi', -); - -/** Extremaduran (estremeñu) - * @author Better - */ -$messages['ext'] = array( - 'gadgets-uses' => 'Usus', -); - -/** Persian (فارسی) - * @author Bersam - * @author Ebraminio - * @author Huji - * @author Ladsgroup - * @author Wayiran - * @author ZxxZxxZ - */ -$messages['fa'] = array( - 'gadgets-desc' => 'به کاربرها امکان انتخاب ابزارهای شخصی CSS و JavaScript را از طریق صفحهٔ [[Special:Preferences#mw-prefsection-gadgets|ترجیحات]] می‌دهد', - 'prefs-gadgets' => 'ابزارها', - 'gadgets-prefstext' => 'در زیر فهرستی از ابزارهای ویژه‌ای که می‌توانید برای حساب کاربری‌تان فعال کنید را می‌بینید. -این ابزارها در بیشتر موارد مبتنی بر جاوااسکریپت هستند، پس برای استفاده از آن‌ها باید جاوااسکرپیت را در مرورگر خودتان فعال کنید. -توجه کنید که این ابزارها نمی‌توانند صفحهٔ ترجیحات را تغییر دهند. - -دقت داشته باشد که این ابزارها جزئی از نرم‌افزار مدیاویکی نیستند، و معمولاً توسط کاربران هر ویکی ساخته و نگهداری می‌شوند. -مدیران هر ویکی می‌توانند با استفاده از صفحه‌های [[MediaWiki:Gadgets-definition|تعاریف]] و [[Special:Gadgets|توضیحات]] به ویرایش ابزارها بپردازند.', - 'gadgets' => 'ابزارها', - 'gadgets-title' => 'ابزارها', - 'gadgets-pagetext' => 'در زیر فهرستی از ابزارهای ویژه‌ای که کاربران می‌توانند از طریق [[Special:Preferences#mw-prefsection-gadgets|صفحهٔ ترجیحاتشان]] فعال کنند می‌بینید، که مطابق آن چه است که در صفحهٔ [[MediaWiki:Gadgets-definition|تعاریف]] تعریف شده‌است. -این خلاصه کمک می‌کند که به صفحه‌های پیغام سیستمی که توضیحات و کد هر ابزار را شامل می‌شوند به راحتی دست پیدا کنید.', - 'gadgets-uses' => 'برنامه', - 'gadgets-required-rights' => 'به {{PLURAL:$2|دسترسی|دسترسی‌های}} روبرو نیاز است: - -$1', - 'gadgets-required-skins' => 'قابل دسترس در {{PLURAL:$2|پوستهٔ $1|پوسته‌های $1}}.', - 'gadgets-default' => 'به‌طور پیش‌فرض برای همه فعال است.', - 'gadgets-export' => 'برون‌بری', - 'gadgets-export-title' => 'برون‌بری ابزار', - 'gadgets-not-found' => 'ابزار «$1» یافت نشد.', - 'gadgets-export-text' => 'برای برون‌بری ابزار $1، بر دکمهٔ «{{int:gadgets-export-download}}» کلیک کنید، پروندهٔ بارگیری‌شده را ذخیره کنید، به ویژه:درون‌ریزی در ویکی مقصد بروید و بارگذاری‌اش کنید. سپس این را به صفحهٔ مدیاویکی:Gadgets-definition بیفزایید: -
    $2
    -لازم است تا در ویکی مقصد دسترسی‌های مناسب (شامل حق ویرایش پیغام‌های سامانه) را داشته باشید و درون‌ریزی از بارگذاری‌های پرونده باید فعال شده باشد.', - 'gadgets-export-download' => 'بارگیری', -); - -/** Finnish (suomi) - * @author Crt - * @author Nike - * @author Olli - */ -$messages['fi'] = array( - 'gadgets-desc' => 'Tarjoaa mahdollisuuden käyttäjille ottaa käyttöön [[Special:Gadgets|määritettyjä CSS- ja JavaScript-pienoisohjelmia]] omista [[Special:Preferences#mw-prefsection-gadgets|asetuksistaan]].', - 'prefs-gadgets' => 'Pienoisohjelmat', - 'gadgets-prefstext' => 'Alla on lista pienoisohjelmista, joita käyttäjät voivat ottaa käyttöön. Nämä pienoisohjelmat pohjautuvat usein JavaScriptiin, joten toimiakseen selaimessasi pitää olla JavaScript käytössä. - -Huomio myös, että nämä pienoisohjelmat eivät ole osa MediaWiki-ohjelmistoa – tavallisesti niitä kehittävät ja ylläpitävät paikallisen wikin käyttäjät. Paikalliset ylläpitäjät voivat muokata saatavilla olevia pienoisohjelmia [[MediaWiki:Gadgets-definition|määrityssivulla]] ja [[Special:Gadgets|kuvauksista]].', - 'gadgets' => 'Pienoisohjelmat', - 'gadgets-title' => 'Pienoisohjelmat', - 'gadgets-pagetext' => 'Alla on lista pienoisohjelmista, joita käyttäjät voivat ottaa käyttöön [[Special:Preferences#mw-prefsection-gadgets|asetussivulta]]. Pienoisohjelmat määritetään [[MediaWiki:Gadgets-definition|täältä]]. - -Tämä lista antaa helpon pääsyn järjestelmäviesteihin, jotka sisältävät pienoisohjelmien kuvauksen ja koodin.', - 'gadgets-uses' => 'Käyttää', - 'gadgets-required-rights' => 'Edellyttää {{PLURAL:$2|seuraavaa oikeutta|seuraavia oikeuksia}}: - -$1', - 'gadgets-required-skins' => 'Saatavilla {{PLURAL:$2|seuraavaan ulkoasuun|seuraaviin ulkoasuihin}}: $1.', - 'gadgets-default' => 'Oletusarvoisesti käytössä kaikille.', - 'gadgets-export' => 'Vie', - 'gadgets-export-title' => 'Pienoisohjelmien vienti', - 'gadgets-not-found' => 'Pienoisohjelmaa $1 ei löytynyt.', - 'gadgets-export-text' => 'Jos haluat kopioida pienoisohjelman $1 omaan wikiisi, toimi seuraavasti: Napsauta »{{int:gadgets-export-download}}» ja tallenna tiedosto. Mene oman wikisi sivulle Special:Import ja syötä tallennettu tiedosto. Lisää seuraava koodinpätkä sivulle MediaWiki:Gadgets-definition omassa wikissäsi: -
    $2
    -Sinulla pitää olla tarvittavat oikeudet omassa wikissäsi, kuten järjestelmäviestien muokkaus ja sivujen tuonti tiedostoja tallentamalla.', - 'gadgets-export-download' => 'Lataa', -); - -/** Faroese (føroyskt) - * @author EileenSanda - */ -$messages['fo'] = array( - 'gadgets-uses' => 'Brúkar', - 'gadgets-required-rights' => 'Krevur fylgjandi {{PLURAL:$2|rættindi|rættindi}}: - -$1', - 'gadgets-required-skins' => 'Tøk á {{PLURAL:$2|$1 útsjónd|fylgjandi útsjóndum: $1}}.', - 'gadgets-default' => 'Gjørt virkið fyri øllum sum standard', - 'gadgets-export' => 'Útflyt', -); - -/** French (français) - * @author Delhovlyn - * @author Dr Brains - * @author Grondin - * @author IAlex - * @author Meno25 - * @author Peter17 - * @author PieRRoMaN - * @author Sherbrooke - * @author Urhixidur - * @author Zcqsc06 - * @author Zetud - */ -$messages['fr'] = array( - 'gadgets-desc' => 'Permet aux utilisateurs de choisir des [[Special:Gadgets|gadgets CSS et Javascripts]] personnalisés dans leurs [[Special:Preferences#mw-prefsection-gadgets|préférences]]', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Ci-dessous apparaît une liste de gadgets que vous pouvez activer pour votre compte. Ils font appel à JavaScript, lequel doit donc être activé pour votre navigateur Web. - -Notez aussi que ces gadgets spéciaux ne font nullement partie du logiciel MediaWiki. De plus, ils sont généralement développés et maintenus par les utilisateurs sur votre wiki local. Les administrateurs locaux peuvent modifier les gadgets disponibles en utilisant [[MediaWiki:Gadgets-definition|les définitions]] et les [[Special:Gadgets|descriptions]].', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Voici une liste de gadgets que les utilisateurs peuvent activer dans leur [[Special:Preferences#mw-prefsection-gadgets|page de préférences]], tel que défini dans les [[MediaWiki:Gadgets-definition|définitions]]. -Cette vue d’ensemble donne un accès rapide aux pages de messages système qui définissent la description et le code de chaque gadget.', - 'gadgets-uses' => 'Utilise', - 'gadgets-required-rights' => 'Requiert {{PLURAL:$2|le droit suivant|les droits suivants}} : - -$1.', - 'gadgets-required-skins' => 'Disponible sur le {{PLURAL:$2| $1 skin|following skins: $1 }}.', - 'gadgets-default' => 'Activé pour tout le monde par défaut.', - 'gadgets-export' => 'Exporter', - 'gadgets-export-title' => 'Export de gadget', - 'gadgets-not-found' => 'Gadget « $1 » non trouvé.', - 'gadgets-export-text' => 'Pour exporter le gadget $1, cliquer sur le bouton « {{int:gadgets-export-download}} », enregistrer le fichier téléchargé puis aller sur la page Special:Import du wiki de destination et l’importer. Ajouter ensuite le texte suivant dans la page MediaWiki:Gadgets-definition: -
    $2
    -Il est nécessaire de disposer des droits correspondants sur le wiki de destination (y compris celui de modifier les messages système) et l’import depuis des fichiers doit être activé.', - 'gadgets-export-download' => 'Télécharger', -); - -/** Franco-Provençal (arpetan) - * @author ChrisPtDe - */ -$messages['frp'] = array( - 'gadgets-desc' => 'Pèrmèt ux usanciérs de chouèsir des [[Special:Gadgets|outils CSS et JavaScript]] pèrsonalisâs dens lors [[Special:Preferences#mw-prefsection-gadgets|prèferences]].', - 'prefs-gadgets' => 'Outils', - 'gadgets-prefstext' => 'Vê-que una lista d’outils que vos pouede activar por voutron compto. -Font apèl a JavaScript, que dêt vêr étre activâ sur voutron navigator por que fonccionont. -Notâd que celos outils ont gins de rèsultat sur ceta pâge de prèferences. - -Notâd asse-ben que celos outils spèciâls sont pas du tot avouéc la programeria MediaWiki, et pués que sont en g·ènèral dèvelopâs et mantegnus per des usanciérs sur voutron vouiqui local. -Los administrators locals pôvont changiér los outils disponiblos en utilisent les [[MediaWiki:Gadgets-definition|dèfinicions]] et les [[Special:Gadgets|dèscripcions]].', - 'gadgets' => 'Outils', - 'gadgets-title' => 'Outils', - 'gadgets-pagetext' => 'Vê-que una lista d’outils que los usanciérs pôvont activar dens lor [[Special:Preferences#mw-prefsection-gadgets|pâge de prèferences]], coment dèfeni dens les [[MediaWiki:Gadgets-definition|dèfinicions]]. -Ceti apèrçu balye un accès vito fêt a les pâges de mèssâjos sistèmo que dèfenéssont la dèscripcion et lo code de châque outil.', - 'gadgets-uses' => 'Utilise', - 'gadgets-required-rights' => 'At fôta de cet{{PLURAL:$2|i drêt|os drêts}} : - -$1', - 'gadgets-required-skins' => 'Disponiblo sur {{PLURAL:$2|l’habelyâjo « $1 »|cetos habelyâjos : « $1 »}}.', - 'gadgets-default' => 'Activâ por tot lo mondo per dèfôt.', - 'gadgets-export' => 'Èxportacion', - 'gadgets-export-title' => 'Èxportacion d’outil', - 'gadgets-not-found' => 'Outil « $1 » pas trovâ.', - 'gadgets-export-text' => 'Por èxportar l’outil $1, clicar sur lo boton « {{int:gadgets-export-download}} », encartar lo fichiér tèlèchargiê, -pués alar sur la pâge « Spèciâl:Importacion du vouiqui de dèstinacion » et pués l’importar. Apondre aprés ceti tèxto dens la pâge « MediaWiki:Gadgets-definition » : -
    $2
    -O est nècèssèro de d’avêr los drêts corrèspondents sur lo vouiqui de dèstinacion (celi de changiér los mèssâjos sistèmo avouéc) et pués l’importacion dês des fichiérs dêt étre activâ.', - 'gadgets-export-download' => 'Tèlèchargiér', -); - -/** Irish (Gaeilge) - * @author පසිඳු කාවින්ද - */ -$messages['ga'] = array( - 'gadgets-export' => 'Easportáil', -); - -/** Galician (galego) - * @author Alma - * @author Toliño - */ -$messages['gl'] = array( - 'gadgets-desc' => 'Deixa que os usuarios seleccionen [[Special:Gadgets|trebellos CSS e JavaScript]] nas súas [[Special:Preferences#mw-prefsection-gadgets|preferencias]]', - 'prefs-gadgets' => 'Trebellos', - 'gadgets-prefstext' => 'A continuación hai unha lista de trebellos especiais que pode activar para a súa conta. -A maioría destes trebellos baséanse no JavaScript, así que ten que ter o JavaScript activado no seu navegador para que funcionen. -Teña en conta que estes trebellos non funcionarán nesta páxina de preferencias. - -Teña tamén en conta que estes trebellos especiais non son parte do software de MediaWiki e que os crean e manteñen os usuarios no seu wiki local. Os administradores locais poden editar os trebellos dispoñíbeis mediante [[MediaWiki:Gadgets-definition|definicións]] e [[Special:Gadgets|descricións]].', - 'gadgets' => 'Trebellos', - 'gadgets-title' => 'Trebellos', - 'gadgets-pagetext' => 'Embaixo hai unha lista dos trebellos especiais que os usuarios poden habilitar na súa páxina de preferencias, tal e como se describe nas [[MediaWiki:Gadgets-definition|definicións]]. -Este panorama xeral é de doado acceso ao sistema das páxinas de mensaxes que define cada descrición e código dos trebellos.', - 'gadgets-uses' => 'Usa', - 'gadgets-required-rights' => '{{PLURAL:$2|Cómpre o seguinte dereito|Cómpren os seguintes dereitos}}: - -$1', - 'gadgets-required-skins' => 'Dispoñible {{PLURAL:$2|na aparencia $1|nas seguintes aparencias: $1}}.', - 'gadgets-default' => 'Activar para todos por defecto.', - 'gadgets-export' => 'Exportar', - 'gadgets-export-title' => 'Exportación de trebellos', - 'gadgets-not-found' => 'Non se atopou o trebello "$1".', - 'gadgets-export-text' => 'Para exportar o trebello $1, prema sobre o botón "{{int:gadgets-export-download}}", garde o ficheiro descargado, -vaia á páxina especial Special:Import do wiki de destino e cárgueo. A continuación, engada o seguinte texto na páxina MediaWiki:Gadgets-definition: -
    $2
    -Debe ter os permisos axeitados no wiki de destino (incluído o dereito de modificar as mensaxes do sistema) e a importación desde a carga de ficheiros debe estar activada.', - 'gadgets-export-download' => 'Descargar', -); - -/** Ancient Greek (Ἀρχαία ἑλληνικὴ) - * @author Omnipaedista - */ -$messages['grc'] = array( - 'prefs-gadgets' => 'Μηχανήματα', - 'gadgets' => 'Μηχανήματα', - 'gadgets-title' => 'Μηχανήματα', - 'gadgets-uses' => 'Χρήσεις', -); - -/** Swiss German (Alemannisch) - * @author Als-Chlämens - * @author Als-Holder - */ -$messages['gsw'] = array( - 'gadgets-desc' => 'Macht s Benutzer megli, in ihre [[Special:Preferences#mw-prefsection-gadgets|persenlige Yystellige]] vordefinierti [[Special:Gadgets|CSS- und JavaScript-Gadgets]] z aktiviere', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Unter git s e Lischt vu spezielle Gadgets, wu for jede Benutzer chenne aktiviert wäre. -D Gadgets basiere zmeischt uf JavaScript, wäge däm muess JavaScript im Browser aktiviert syy, ass si funktioniere. -D Gadgets funktionieren aber nit uf däre Syte mit persenlige Yystellige. - -Mer muess au Acht gee, ass die Gadgets im Allgmeinen nit Teil vu MediaWiki sin, sundern meischt vu -Benutzer vum lokale Wikis entwicklet un gwartet wäre. Lokali Wiki-Ammanne chenne d Lischt vu dr verfiegbare Gadgets iber d Syte [[MediaWiki:Gadgets-definition]] un [[Special:Gadgets]] bearbeite', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Lischt vu spezielle Gadgets, wu fir jede Benutzer in syyne [[Special:Preferences#mw-prefsection-gadgets|persenlige Yystellige]] verfiegbar sin, wie s [[MediaWiki:Gadgets-definition|definiert]] isch. -Die Ibersicht bietet e direkte Zuegang zue dr Syschtemnochrichte, wu d Bschryybig un dr Programmcode vu jedem Gadget din sin.', - 'gadgets-uses' => 'Bruucht', - 'gadgets-required-rights' => 'Brucht {{PLURAL:$2|des folgendi Rächt|die folgende Rächt}}: -$1', - 'gadgets-required-skins' => 'Verfiegbar uff {{PLURAL:$2|derre Benutzeroberflächi|dänne Benutzeroberflächene}}: $1.', - 'gadgets-default' => 'Fir alli standardmäßig aktiviert.', - 'gadgets-export' => 'Exportiere', - 'gadgets-export-title' => 'Hälferli exportiere', - 'gadgets-not-found' => 'Hälferli „$1“ isch nit gfunde wore.', - 'gadgets-export-text' => 'Go s Hälferli $1 exportiere, klick uf d Schaltflechi „{{int:gadgets-export-download}}“ un tue di abeglade Datei spychere. Gang derno uf d Spezialsyte Spezial:Import uf em Wiki, wu fir dr Import vorgsäh isch, un lad d Datei ufe. Derno fieg dää Text in d Syte MediaWiki:Gadgets-definition yy: -
    $2
    -Du muesch iber di notwändige Rächt uf em Wiki verfiege, wu fir dr Import vorgsäh isch (mitsamt em Rächt MediaWiki-Syschtemnochrichte z bearbeite). Derzue mueß dr Import vu Datei-Upload aktiviert syy.', - 'gadgets-export-download' => 'Abelade', -); - -/** Gujarati (ગુજરાતી) - * @author Dsvyas - * @author KartikMistry - * @author Sushant savla - */ -$messages['gu'] = array( - 'gadgets-desc' => 'સભ્યોને [[Special:Preferences#mw-prefsection-gadgets|મારી પસંદ]] માં પોતાના [[Special:Gadgets|CSS અને JavaScript ગેજેટ્સ]] પસંદ કરવા દે છે.', - 'prefs-gadgets' => 'યંત્રો/સાધનો', - 'gadgets-prefstext' => "નીચે એવા વિશેષ સાધનોની યાદી નીચે આપી છે જે તમે તમારા ખાતામાં સક્રિય કરી શકો છો. -આ સાધનો મહદ્ અંશે જાવા સ્ક્રિપ્ટ આધારિત છે માટે તે યોગ્ય રીતે કામ કરે તે માટે આપના બ્રાઉઝરમાં જાવા સ્ક્રિપ્ટ સક્રિય (ઍનેબલ) કરેલી હોવી જરૂરી છે. -એ બાબત નોંધમાં લેશો કે આ સાધનોની અસર તમારા 'મારી પસંદ'ના પાના ઉપર થશે નહી. - -એ વાત પણ ધ્યાનમાં રાખશો કે આ વિશેષ સાધનો મિડિયાવિકિ સૉફ્ટવેરનો ભાગ નથી, સામાન્ય રીતે તે આપના સ્થાનીક વિકિના સભ્યો દ્વારા વિકસાવવામાં આવ્યા હોય છે અને તેઓજ તેનું ધ્યાન રાખે છે. સ્થાનિક પ્રબંધકો [[MediaWiki:Gadgets-definition|વ્યાખ્યા]] અને [[Special:Gadgets|વર્ણન]]નો ઉપયોગ કરીને આ સાધનોમાં ફેરફાર કરી શકે છે.", - 'gadgets' => 'યંત્રો/સાધનો', - 'gadgets-title' => 'યંત્રો/સાધનો', - 'gadgets-pagetext' => 'નીચે એવા વિશેષ સાધનોની યાદી આપી છે જેમાથી જરૂરીયાત પ્રમાણેના સાધનો સભ્ય તેમના [[Special:Preferences#mw-prefsection-gadgets|મારી પસંદ]] પાના ઉપર સક્રિય કરી શકે છે ([[MediaWiki:Gadgets-definition|વ્યાખ્યા]]મા વર્ણવ્યા મુજબ). - -આ નિરિક્ષણથી સહેલાઇથી સિસ્ટમ સંદેશા વાળા પાના ખોલી શકશો જ્યાં દરેક સાધનનું વર્ણન અને તેનો કોડ આપેલો છે.', - 'gadgets-uses' => 'ઉપયોગો', - 'gadgets-required-rights' => 'નીચેના {{PLURAL:$2|હક્ક|હક્કો}} જરૂરી: - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 ત્વચા|નીચેની ત્વચા: $1}} માં મોજૂદ.', - 'gadgets-default' => 'મૂળ થકી સૌ માટે સક્રીય કરો', - 'gadgets-export' => 'નિકાસ', - 'gadgets-export-title' => 'સાધન નિકાસ', - 'gadgets-not-found' => 'સાધન જૂથ "$1" ન મળ્યું.', - 'gadgets-export-text' => '$1 યંત્રને નિકાસિત કરવા, "{{int:gadgets-export-download}}" બટન પર ક્લિક કરો, અને કાઉનલોડ કરેલી ફાઈલ સાચવો, -Special:Import નિયોજીત વિકિ પર Special:Import પર જાવ અને અપલોડ કરો. અને પછી નીચેનાને MediaWiki:Gadgets-definition page પર ઉમેરો: -
    $2
    -નોયોજિત વિકિ પર તમને યોગ્ય પરવાનગીઓ હોવી જોઈએ (સિસ્ટમ સંદેશામાં ફેરફાર કરવા સહિતની) અને ફાઈલ અપલોડ માં આયત વિકલ્પ સક્રીય હોવો જોઇએ', - 'gadgets-export-download' => 'ડાઉનલોડ', -); - -/** Hebrew (עברית) - * @author Amire80 - * @author Rotem Liss - * @author YaronSh - */ -$messages['he'] = array( - 'gadgets-desc' => 'אפשרות למשתמשים לבחור [[Special:Gadgets|סקריפטים בקוד JavaScript וסגנונות בקוד CSS]] ב[[Special:Preferences#mw-prefsection-gadgets|העדפות]] שלהם', - 'prefs-gadgets' => "גאדג'טים", - 'gadgets-prefstext' => 'להלן רשימה של סקריפטים שתוכלו להתקין בחשבון שלכם. -הסקריפטים מבוססים ברובם על שפת JavaScript, ולכן יש לאפשר את הפעלתה בדפדפן כדי שהם יעבדו. -שימו לב שלא תהיה לסקריפטים כל השפעה על דף ההעדפות הזה. - -כמו כן, הסקריפטים אינם חלק מתוכנת מדיה־ויקי, והם בדרך כלל מפותחים ומתוחזקים על ידי משתמשים בוויקי המקומי. -מפעילי המערכת יכולים לערוך את ב[[MediaWiki:Gadgets-definition|דף ההגדרות]] ו[[Special:Gadgets|התיאורים]] של הסקריפטים.', - 'gadgets' => "גאדג'טים", - 'gadgets-title' => 'סקריפטים', - 'gadgets-pagetext' => 'זוהי רשימה של סקריפטים שמשתמשים יכולים להתקין באמצעות [[Special:Preferences#mw-prefsection-gadgets|דף ההעדפות]] שלהם, כפי שהוגדרו ב[[MediaWiki:Gadgets-definition|הודעת המערכת המתאימה]]. -מכאן ניתן לגשת בקלות לדפי הודעות המערכת שמגדירים את התיאור והקוד של כל סקריפט.', - 'gadgets-uses' => 'משתמש בדפים', - 'gadgets-required-rights' => '{{PLURAL:$2|נדרשת ההרשאה הבאה|נדרשות ההרשאות הבאות}}: - -$1', - 'gadgets-required-skins' => 'זמין {{PLURAL:$2|בערכות העיצוב הבאות: $1|בערכת העיצוב $1}}', - 'gadgets-default' => 'מופעל לכולם לפי בררת מחדל.', - 'gadgets-export' => 'יצוא', - 'gadgets-export-title' => 'יצוא גאדג׳טים', - 'gadgets-not-found' => 'הגאדג׳ט "$1" לא נמצא.', - 'gadgets-export-text' => 'כדי לייצא את הגאדג׳ט $1, יש ללחוץ על הלחצן "{{int:gadgets-export-download}}", לשמור את הקובץ שהתקבל, -לגשת אל Special:Import באתר הוויקי המיועד ולהעלות אותו. ואז להוסיף את הדברים הבאים לדף MediaWiki:Gadgets-definition: -
    $2
    -עליך להיות עם הרשאות מתאימות באתר הוויקי המיועד (לרבות הרשאות לעריכת הודעות מערכת) והאפשרות לייבוא מקובץ חייבת להיות מופעלת.', - 'gadgets-export-download' => 'הורדה', -); - -/** Hindi (हिन्दी) - * @author Ansumang - * @author Kaustubh - * @author Mayur - * @author Shyam - * @author Siddhartha Ghai - */ -$messages['hi'] = array( - 'gadgets-desc' => 'सदस्यों को उनकी [[Special:Preferences#mw-prefsection-gadgets|वरीयताओं]] में से चुनिंदा [[Special:Gadgets|CSS और जावालिपि जुगत]] चुनने दो।', - 'prefs-gadgets' => 'उपकरण (गैज़ेट)', - 'gadgets-prefstext' => 'नीचे विशेष उपकरणों की सूची दी गई है, जिन्हें आप अपने खाते के लिये सक्षम कर सकते हैं। -ये उपकरण अधिकांशतः जावास्क्रिप्ट पर आधारित है, इसलिए इनके कार्यशील होने के लिए आपके ब्राउज़र में जावास्क्रिप्ट सक्षम होनी चाहिये। -ध्यान दें कि इन उपकरणों से आपके वरीयता पृष्ठ पर कोई असर नहीं होगा। - -यह भी ध्यान दें कि ये विशेष उपकरण मीडियाविकी सॉफ़्टवेयर का भाग नहीं हैं, और प्रायः सदस्यों द्वारा उनकी स्थानीय विकी पर विकसित एवं अनुरक्षित किए जाते हैं। -स्थानीय प्रबंधक उपकरणों की [[MediaWiki:Gadgets-definition|परिभाषाएँ]] एवं [[Special:Gadgets|विवरण]] संपादित कर सकते हैं।', - 'gadgets' => 'उपकरण', - 'gadgets-title' => 'उपकरण', - 'gadgets-pagetext' => 'नीचे सभी [[MediaWiki:Gadgets-definition|परिभाषित]] विशेष उपकरणों की सूची दी गई है, जिन्हें सदस्य [[Special:Preferences#mw-prefsection-gadgets|अपनी वरीयताओं]] से सक्षम कर सकते हैं। -यह समीक्षा सभी उपकरणों के विवरण और कोड वाले अंतरफल संदेश पृष्ठों की कड़ियाँ प्रदान करती है।', - 'gadgets-uses' => 'उपयोग', - 'gadgets-required-rights' => 'निम्नलिखित की आबश्यकता है {{PLURAL:$2|अधिकार|अधिकार}}: - -$1', - 'gadgets-required-skins' => 'उपलब्ध है {{PLURAL:$2|$1 स्किन|निम्नलिखित स्किन: $1}}.', - 'gadgets-default' => 'डिफ़ॉल्ट रूप से सभी के लिए सक्षम है।', - 'gadgets-export' => 'निर्यात', - 'gadgets-export-title' => 'गैजेट निर्यात', - 'gadgets-not-found' => 'गैजेट "$1" मिला नहीं ।', - 'gadgets-export-text' => '$1 उपकरण निर्यात करने के लिये "{{int:gadgets-export-download}}" बटन पर क्लिक करें, डाउनलोड की गई फ़ाइल सहेजें, लक्ष्य विकि पर Special:Import पर जाएँ और फ़ाइल अपलोड करें। तत्पश्चात MediaWiki:Gadgets-definition में निम्न पाठ जोड़ें: -
    $2
    -आपके पास लक्ष्य विकि पर उपयुक्त अधिकार होने चाहिये (जिसमें अंतरफल संदेशों को सम्पादित करने का अधिकार शामिल है) और विकि पर फ़ाइल द्वारा आयात सक्षम होना चाहिये।', - 'gadgets-export-download' => 'डाउनलोड', -); - -/** Croatian (hrvatski) - * @author Anton008 - * @author Dalibor Bosits - * @author Ex13 - * @author Roberta F. - * @author SpeedyGonsales - */ -$messages['hr'] = array( - 'gadgets-desc' => 'Omogućava suradnicama biranje osobnih [[Special:Gadgets|CSS i JavaScript dodataka]] u svojim [[Special:Preferences#mw-prefsection-gadgets|postavkama]]', - 'prefs-gadgets' => 'Dodaci', - 'gadgets-prefstext' => 'Slijedi popis posebnih dodataka koje možete omogućiti. -One su većinom napisane u JavaScriptu, stoga JavaScript mora biti omogućen u vašem web pregledniku da bi dodaci radili. -Nijedan dodatak nema učinka na ovu stranicu s postavkama. - -Ovi posebni dodaci nisu dio MediaWiki softvera, najčešće su razvijane i održavane od suradnika na lokalnom wikiju. -Lokalni administratori mogu uređivati dostupne dodatke putem [[MediaWiki:Gadgets-definition|definicija]] i [[Special:Gadgets|opisa]].', - 'gadgets' => 'Dodaci', - 'gadgets-title' => 'Dodatci', - 'gadgets-pagetext' => 'Slijedi popis posebnih JavaScript dodataka koje suradnici mogu omogućiti u svojim [[Special:Preferences#mw-prefsection-gadgets|postavkama]], kako je definirano stranicom [[MediaWiki:Gadgets-definition|definicija]]. -Ovaj pregled omogućava lak pristup porukama sustava koje opisuju dodatke i njihov kod.', - 'gadgets-uses' => 'Rabi', - 'gadgets-required-rights' => 'Zahtijeva {{PLURAL:$2|$1 pravo|sljedeća prava: $1}}.', - 'gadgets-export' => 'Izvezi', - 'gadgets-export-title' => "Izvoz JS skripti (''gadgets'')", - 'gadgets-not-found' => "''Gadget'' \"\$1\" nije pronađen.", - 'gadgets-export-text' => 'Za izvoz $1 JavaScript pomoćne skripte (\'\'gadgeta\'\'), kliknite na "{{int:gadgets-export-download}}" gumb, snimiti preuzetu datoteku, -zatim idete na Special:Import na odredišnoj wiki i postavite skriptu tamo. Zatim dodajte sljedeće na "MediaWiki:Gadgets-definition stranici: -
    $2
    -Morate imati odgovarajuća prava na odredišnoj wiki (uključujući i pravo na uređivanje sistemskih poruka) i uvoz iz snimljenih datoteka mora biti omogućen.', - 'gadgets-export-download' => 'Preuzmi', -); - -/** Upper Sorbian (hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'gadgets-desc' => 'Zmóžnja wužiwarjam swójske [[Special:Gadgets|přisłuški za CSS a JavaScript]] w jich [[Special:Preferences#mw-prefsection-gadgets|nastajenjach]] wubrać', - 'prefs-gadgets' => 'Specialne funkcije', - 'gadgets-prefstext' => 'Deleka je lisćina specialnych funkcijow, kotrež móžeš za swoje wužiwarske konto zmóžnić. Tute specialne funkcije zwjetša na JavaScripće bazěruja, tohodla dyrbi JavaScript we wobhladowaku zmóžnjeny być, zo bychu fungowali. -Wobkedźbuj tež, zo so tute specialne funkcije na tutu stronu z wosobinskimi nastajenjemi njewuskutkuja. - -Nimo toho wobkedźbuj, zo tute specialne funkcije dźěl softwary MediaWiki njejsu a so zwjetša wot wužiwarjow na jich lokalnym wikiju wuwiwaja a wothladuja. Lokalni administratorojo móža lisćinu k dispoziciji stejacych specialnych funkcijow z pomocu [[MediaWiki:Gadgets-definition|definicijow]] a [[Special:Gadgets|wopisanjow]] wobdźěłać.', - 'gadgets' => 'Specialne funkcije', - 'gadgets-title' => 'Specialne funkcije', - 'gadgets-pagetext' => 'Deleka je lisćina specialnych funkcijow, kotrež wužiwarjo móža na swojej [[Special:Preferences#mw-prefsection-gadgets|stronje nastajenjow]] zmóžnić, kaž přez [[MediaWiki:Gadgets-definition|definicije]] definowane. -Tutón přehlad skići lochki přistup k systemowym zdźělenkam, kotrež wopisanje a kod kóždeje specialneje funkcije definuja.', - 'gadgets-uses' => 'Wužiwa', - 'gadgets-required-rights' => 'Wužaduje sej {{PLURAL:$2|slědowace prawo|slědowacej prawje|slědowace prawa|slědowace prawa}}: - -$1', - 'gadgets-required-skins' => 'Na {{PLURAL:$2|slědowacej drasće|slědowacymaj drastomaj|slědowacych drastach|slědowacych drastach}} k dispoziciji: $1', - 'gadgets-default' => 'Za wšěch standardnje zmóžnjeny.', - 'gadgets-export' => 'Eksportować', - 'gadgets-export-title' => 'Specialnu funkciju eksportować', - 'gadgets-not-found' => 'Specialna funkcija "$1" njeje so namakała.', - 'gadgets-export-text' => 'Zo by specialnu funkciju $1 eksportował, klikń na tłóčatko "{{int:gadgets-export-download}}", składuj sćehnjenu dataju, dźi do Special:Import w cilowym wikiju a nahraj ju. Přidaj potom slědowace k MediaWiki:Gadgets-definition: -
    $2
    -Dyrbiš trěbne prawa na cilowym wikiju měć (inkluziwnje prawo systemowe powěsće wobdźěłać) a a import datajowych nahraćow dyrbi zmóžnjeny być.', - 'gadgets-export-download' => 'Sćahnyć', -); - -/** Hungarian (magyar) - * @author BáthoryPéter - * @author Dani - * @author Tgr - */ -$messages['hu'] = array( - 'gadgets-desc' => 'A felhasználók saját [[Special:Gadgets|CSS és JavaScript eszközöket]] választhatnak ki a [[Special:Preferences#mw-prefsection-gadgets|beállításaiknál]]', - 'prefs-gadgets' => 'Segédeszközök', - 'gadgets-prefstext' => 'Az alábbi listában látható segédeszközök bekapcsolásával kényelmesebbé teheted a wiki használatát és szerkesztését. -Legtöbbjük JavaScriptet használ, így ezt engedélyezned kell a böngésződben, hogy működjenek. -A segédeszközök nem működnek ezen a beállításoldalon, így probléma esetén ki tudod őket kapcsolni. - -Ezek az eszközök nem részei a [[MediaWiki]] szoftvernek, általában a wiki felhasználói tartják karban őket. -Az adminisztrátorok a [[MediaWiki:Gadgets-definition|definíciókat]] és a [[Special:Gadgets|leírásokat]] tartalmazó lapok segítségével tudják módosítani az elérhető eszközök listáját.', - 'gadgets' => 'Segédeszközök', - 'gadgets-title' => 'Segédeszközök', - 'gadgets-pagetext' => 'Itt látható azon segédeszközök listája, amiket a felhasználók bekapcsolhatnak a beállításaiknál. A lista a [[MediaWiki:Gadgets-definition|definíciókat]] tartalmazó lapon módosítható. -Ez az áttekintő lap egyszerű hozzáférést nyúlt az eszközök kódját, illetve leírását tartalmazó rendszerüzenet-lapokhoz.', - 'gadgets-uses' => 'Kód', - 'gadgets-required-rights' => 'A következő {{PLURAL:$2|jogosultságra|jogosultságokra}} van szükség: - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 felületen érhető el|Az alábbi felületeken érhető el: $1}}.', - 'gadgets-default' => 'Mindenki számára engedélyezett alapértelmezettként.', - 'gadgets-export' => 'Exportálás', - 'gadgets-export-title' => 'Segédeszköz exportálás', - 'gadgets-not-found' => 'A(z) „$1“ segédeszköz nem található.', - 'gadgets-export-text' => 'A(z) $1 segédeszköz exportálásához kattints a „{{int:gadgets-export-download}}“ gombra, mentsd el a fájlt, majd a célwikiben a Special:Import lapon töltsd fel. Ezután a MediaWiki:Gadgets-definition laphoz add hozzá a következőket: -
    $2
    -A célwikiben rendelkezned kell a megfelelő jogokkal (beleértve a rendszerüzenetek szerkesztését) és engedélyezve kell lennie a fájlimportálásnak.', - 'gadgets-export-download' => 'Letöltés', -); - -/** Interlingua (interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'gadgets-desc' => 'Permitte que usatores selige [[Special:Gadgets|gadgets CSS e JavaScript]] personalisate in lor [[Special:Preferences#mw-prefsection-gadgets|preferentias]]', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Infra es un lista de gadgets special que tu pote activar in tu conto. -Iste gadgets se basa pro le major parte in JavaScript, ergo JavaScript debe esser active in tu navigator pro permitter que illos functiona. -Nota que iste gadgets non habera effecto in iste pagina de preferentias. - -Nota etiam que iste gadgets special non face parte del software de MediaWiki, e es normalmente disveloppate e mantenite per usatores in tu wiki local. -Le administratores local pote modificar le gadgets disponibile per medio de [[MediaWiki:Gadgets-definition|definitiones]] e [[Special:Gadgets|descriptiones]].', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Infra es un lista de gadgets special que le usatores pote activar in lor [[Special:Preferences#mw-prefsection-gadgets|paginas de preferentias]], secundo le [[MediaWiki:Gadgets-definition|definitiones]]. -Iste supervista permitte le accesso commode al paginas de messages de systema que defini le description e codice de cata gadget.', - 'gadgets-uses' => 'Usa', - 'gadgets-required-rights' => 'Require le sequente {{PLURAL:$2|derecto|derectos}}: - -$1', - 'gadgets-required-skins' => 'Disponibile con le {{PLURAL:$2|apparentia $1|sequente apparentias: $1}}.', - 'gadgets-default' => 'Activate pro omnes per predefinition.', - 'gadgets-export' => 'Exportar', - 'gadgets-export-title' => 'Exportation de gadget', - 'gadgets-not-found' => 'Gadget "$1" non trovate.', - 'gadgets-export-text' => 'Pro exportar le gadget $1, clicca super le button "{{int:gadgets-export-download}}", salveguarda le file discargate, -va a Special:Import in le wiki de destination e incarga lo. Postea adde lo sequente al pagina MediaWiki:Gadgets-definition: -
    $2
    -Tu debe haber le permissiones appropriate in le wiki de destination (includente le derecto de modificar le messages de systema) e le importation ex files incargate debe esser activate.', - 'gadgets-export-download' => 'Discargar', -); - -/** Indonesian (Bahasa Indonesia) - * @author Bennylin - * @author Farras - * @author IvanLanin - * @author Kenrick95 - */ -$messages['id'] = array( - 'gadgets-desc' => 'Memungkinkan pengguna memilih [[Special:Gadgets|perkakas CSS dan JavaScript]] melalui [[Special:Preferences#mw-prefsection-gadgets|preferensi]] mereka', - 'prefs-gadgets' => 'Perkakas', - 'gadgets-prefstext' => 'Berikut adalah daftar perkakas istimewa yang dapat Anda aktifkan untuk akun Anda. Semua perkakas tersebut sebagian besar berbasis JavaScript sehingga Anda harus mengaktifkan JavaScript pada penjelajah Anda untuk dapat menjalankannya. Perhatikan bahwa berbagai perkakas tersebut tidak memiliki pengaruh terhadap halaman preferensi ini. - -Juga perhatikan bahwa perkakas istimewa ini bukanlah bagian dari perangkat lunak MediaWiki dan biasanya dikembangkan dan dipelihara oleh para pengguna di wiki lokal Anda. Pengurus lokal dapat menyunting perkakas yang tersedia melalui [[MediaWiki:Gadgets-definition]] dan [[Special:Gadgets]].', - 'gadgets' => 'Perkakas', - 'gadgets-title' => 'Perkakas', - 'gadgets-pagetext' => 'Berikut adalah daftar perkakas istimewa yang dapat diaktifkan pengguna melalui [[Special:Preferences#mw-prefsection-gadgets|halaman preferensi]] mereka sebagaimana didefinisikan oleh [[MediaWiki:Gadgets-definition]]. Tinjauan berikut memberikan kemudahan akses ke dalam halaman pesan sistem yang mendefinisikan deskripsi dan kode masing-masing perkakas.', - 'gadgets-uses' => 'Penggunaan', - 'gadgets-required-rights' => 'Memerlukan {{PLURAL:$2|hak|hak-hak}} berikut: - -$1', - 'gadgets-required-skins' => 'Tersedia dalam {{PLURAL:$2|$1 kulit|kulit berikut: $1}}.', - 'gadgets-default' => 'Diaktifkan untuk semua orang secara bawaan.', - 'gadgets-export' => 'Ekspor', - 'gadgets-export-title' => 'Ekspor perkakas', - 'gadgets-not-found' => 'Perkakas "$1" tidak ditemukan.', - 'gadgets-export-text' => 'Untuk mengekspor perkakas $1, klik tombol "{{int:gadgets-export-download}}", simpan berkas yang diunduh, -tuju ke Special:Import pada wiki tujuan dan unggah berkas itu. Kemudian tambahkan berkas tersebut ke halaman MediaWiki:Gadgets-definition: -
    $2
    -Anda harus memeroleh izin pada wiki tujuan (termasuk hak menyunting pesan sistem) dan mengimpor dari unggahan berkas yang harus diaktifkan.', - 'gadgets-export-download' => 'Unduh', -); - -/** Iloko (Ilokano) - * @author Lam-ang - */ -$messages['ilo'] = array( - 'gadgets-desc' => 'Mabalin dagiti agar-aramat nga agpili iti [[Special:Gadgets|CSS ken JavaScript gadgets]] idiay [[Special:Preferences#mw-prefsection-gadgets|kaykayat da]]', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Adda dita baba ti listaan ti naipangruna a gadgets nga usaren idiay pakabilangam. -Dagitoy a gadgets ket naibasta iti JavaScript, masapul a pakabaelan ti JavaScript idiay "pagbasabasam" tapno agbalin da. -Saan a mabalin nga usaren dagitoy a gadgets ditoy kaykayat a panid. - -Dagitoy a gadgets ket saan a paset ti MediaWiki software, inaramid ken inayaywanan dagiti agar-aramat ti lokal a wiki. -Mabaliwan dagita administrador nga urnosen ti [[MediaWiki:Gadgets-definition|pinakailawag]] ken [[Special:Gadgets|deskripsion]] ti gadgets.', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Dita baba ket adda listaan dagiti naipangruna a gadgets a dagiti agar-aramat ket mapagbalin da idiay [[Special:Preferences#mw-prefsection-gadgets|kaykayat da a panid]], a naipalawag iti [[MediaWiki:Gadgets-definition|dagiti pinakailawag]]. -Daytoy a pinakabuklan ket mangted ti nalaka a pinagserrek kadagit mensahe ti sistema a panid a nagpailawag iti deskripsion ti gadget ken kodigo.', - 'gadgets-uses' => 'Usar', - 'gadgets-required-rights' => 'Masapul dagiti sumaganad {{PLURAL:$2|a karbengan|dagiti karbengan}}: - -$1', - 'gadgets-required-skins' => 'Adda mabalin idiay {{PLURAL:$2|$1 a kudil|dagiti sumaganad a kudil: $1}}.', - 'gadgets-default' => 'Pakabaelan a kinasigud iti amin nga agar-aramat.', - 'gadgets-export' => 'Agipan', - 'gadgets-export-title' => 'Agipan ti gadget', - 'gadgets-not-found' => 'Saan a nabirukan ti "$1" a gadget.', - 'gadgets-export-text' => 'Ti pinag-ipan ti $1 a gadget, agtakla idiay "{{int:gadgets-export-download}}" a buton, idulin ti inkarga nga agpababa a papeles, -mapan idiay Special:Import ti papanan a wiki ken ikarga nga agpangato. Ken inayon dagiti sumaganad idiay MediaWiki:Gadgets-definition page: -
    $2
    -Masapul nga addaan ka ti husto a pammalubos iti papanan a wiki (nairaman ti karbegnan a pinagbaliw dagiti mensahe ti sistema) ken naipabalin ti pinagala kadagiti naggapu a papeles a naikarga nga agpangato.', - 'gadgets-export-download' => 'Ikarga nga agpababa', -); - -/** Ido (Ido) - * @author Malafaya - */ -$messages['io'] = array( - 'gadgets-uses' => 'Ol uzas', -); - -/** Icelandic (íslenska) - * @author Jóna Þórunn - * @author Maxí - * @author Snævar - */ -$messages['is'] = array( - 'gadgets-desc' => 'Gerir notendum kleift að velja [[Special:Gadgets|CSS og JavaScript-forrit]] í [[Special:Preferences#mw-prefsection-gadgets|stillingum sínum]]', - 'prefs-gadgets' => 'Smáforrit', - 'gadgets-prefstext' => 'Eftirfarandi er listi yfir smáforrit sem þú getur notað á notandareikningi þínum. Þessi forrit eru að mestu byggð á JavaScript svo vafrinn þarf að styðja JavaScript til að þau virki. Athugaðu einnig að forritin hafa engin áhrif á stillingasíðunni. - -Forritin eru ekki hluti af MediaWiki-hugbúnaðinum heldur eru skrifuð og viðhaldin af notendum á þessu wiki-verkefni. Möppudýr geta breytt forritunum á [[MediaWiki:Gadgets-definition]] og [[Special:Gadgets]].', - 'gadgets' => 'Smáforrit', - 'gadgets-title' => 'Smáforrit', - 'gadgets-pagetext' => 'Eftirfarandi er listi yfir smáforrit sem notendur geta virkjað í [[Special:Preferences#mw-prefsection-gadgets|stillingunum sínum]] og eru tilgreind á [[MediaWiki:Gadgets-definition]]. -Þessi listi veitir auðveldan aðgang að lýsingum á smáforritunum og kóðanum þeirra.', - 'gadgets-uses' => 'Notar', - 'gadgets-required-rights' => 'Þarfnast eftifarandi {{PLURAL:$2|réttinda}}: - -$1', - 'gadgets-required-skins' => 'Aðgengileg með eftirfarandi {{PLURAL:$2|þema|$2 þemum}}: $1', - 'gadgets-default' => 'Virkt fyrir alla notendur.', - 'gadgets-export' => 'Flytja út', - 'gadgets-export-title' => 'Flytja út smától', - 'gadgets-not-found' => 'Smátólið "$1" fannst ekki.', - 'gadgets-export-text' => 'Til þess að flytja út smátólið $1, smelltu á "{{int:gadgets-export-download}}", vistaðu skránna, -farðu á þann wiki sem á að flytja smátólið á, farðu á kerfisíðuna Special:Import og hladdu því inn. Síðan bættu eftirfarandi við meldinguna MediaWiki:Gadgets-definition: -
    $2
    -Þú verður af hafa tilskilin réttindi á þeim wiki sem á að færa smátólið á (þar með talið réttindi til að breyta meldingum) og möguleikinn að flytja inn skrár þarf að vera virkur.', - 'gadgets-export-download' => 'Hlaða niður', -); - -/** Italian (italiano) - * @author Beta16 - * @author BrokenArrow - * @author Darth Kule - * @author Melos - * @author Nemo bis - */ -$messages['it'] = array( - 'gadgets-desc' => 'Consente agli utenti di selezionare [[Special:Gadgets|accessori CSS e JavaScript]] nelle proprie [[Special:Preferences#mw-prefsection-gadgets|preferenze]]', - 'prefs-gadgets' => 'Accessori', - 'gadgets-prefstext' => "Di seguito viene presentata una lista di accessori speciali (''gadget'') che è possibile abilitare per il proprio account. -La maggior parte di questi accessori è basata su JavaScript, è quindi necessario abilitare JavaScript nel proprio browser perché funzionino correttamente. Si noti che gli accessori non hanno alcun effetto in questa pagina di preferenze. - -Inoltre, si noti che questi accessori speciali non sono compresi nel software MediaWiki e vengono di solito realizzati e gestiti dagli utenti di ciascun sito wiki. Gli amministratori del sito possono modificare la lista degli accessori disponibili tramite le pagine delle [[MediaWiki:Gadgets-definition|definizioni]] e delle [[Special:Gadgets|descrizioni]].", - 'gadgets' => 'Accessori', - 'gadgets-title' => 'Accessori', - 'gadgets-pagetext' => "Di seguito sono elencati gli accessori (''gadget'') che gli utenti possono abilitare sulla propria pagina delle [[Special:Preferences#mw-prefsection-gadgets|preferenze]], seguendo le [[MediaWiki:Gadgets-definition|definizioni]]. Questa panoramica fornisce un comodo meccanismo per accedere ai messaggi di sistema nei quali sono definiti la descrizione e il codice di ciascun accessorio.", - 'gadgets-uses' => 'Utilizza', - 'gadgets-required-rights' => 'Richiede {{PLURAL:$2|il seguente diritto|i seguenti diritti}}: - -$1', - 'gadgets-required-skins' => 'Disponibile {{PLURAL:$2|per la skin $1|per le seguenti skin: $1}}.', - 'gadgets-default' => 'Attivato per tutti, per impostazione predefinita.', - 'gadgets-export' => 'Esporta', - 'gadgets-export-title' => 'Esporta accessorio', - 'gadgets-not-found' => 'Accessorio "$1" non trovato.', - 'gadgets-export-text' => 'Per esportare l\'accessorio $1, fai clic sul pulsante "{{int:gadgets-export-download}}", salva il file scaricato, -vai alla pagina Special:Import nella wiki di destinazione e carica il file. Poi aggiungi quanto segue alla pagina MediaWiki:Gadgets-definition: -
    $2
    -Devi disporre dei permessi appropriati nella wiki di destinazione (incluso il diritto di modificare i messaggi di sistema) e l\'importazione da file deve essere abilitata.', - 'gadgets-export-download' => 'Scarica', -); - -/** Japanese (日本語) - * @author Aotake - * @author Fryed-peach - * @author JtFuruhata - * @author Mzm5zbC3 - * @author Shirayuki - * @author Whym - * @author 青子守歌 - */ -$messages['ja'] = array( - 'gadgets-desc' => '利用者が [[Special:Gadgets|CSS や JavaScript のカスタム ガジェット]]を[[Special:Preferences#mw-prefsection-gadgets|{{int:preferences}}]]で選択できるようにする', - 'prefs-gadgets' => 'ガジェット', - 'gadgets-prefstext' => '以下はあなたのアカウントで利用できるガジェットの一覧です。これらのガジェットはほとんどがJavaScriptベースのため、動作させるにはブラウザーのJavaScriptを有効にする必要があります。なお、{{int:preferences}}ページ上では動作しません。 - -また、これらのガジェットは MediaWiki ソフトウェアの一部ではなく、通常はローカル ウィキの利用者が開発とメンテナンスをしていることにも注意してください。管理者は[[MediaWiki:Gadgets-definition|ガジェットの定義]]や[[Special:Gadgets|ガジェットの説明]]から利用できるガジェットを編集できます。', - 'gadgets' => 'ガジェット', - 'gadgets-title' => 'ガジェット', - 'gadgets-pagetext' => '以下は、利用者が[[Special:Preferences#mw-prefsection-gadgets|{{int:preferences}}]]で有効化できるガジェットの一覧です。これらは[[MediaWiki:Gadgets-definition|定義ページ]]で定義されています。 -この概要ページでは、各ガジェットの説明やプログラム コードを定義しているシステム メッセージ ページへの簡単なアクセスを提供します。', - 'gadgets-uses' => '使用するファイル', - 'gadgets-required-rights' => '以下の{{PLURAL:$2|権限}}が必要です: - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1外装で利用できます|以下の外装で利用できます: $1}}。', - 'gadgets-default' => '既定では全員に有効です。', - 'gadgets-export' => '書き出し', - 'gadgets-export-title' => 'ガジェットの書き出し', - 'gadgets-not-found' => 'ガジェット「$1」が見つかりません。', - 'gadgets-export-text' => '$1 ガジェットを書き出すには、「{{int:gadgets-export-download}}」ボタンをクリックし、ダウンロードしたファイルを保存し、 -配布先ウィキの Special:Import に行ってアップロードしてください。そして、以下を MediaWiki:Gadgets-definition ページに追加してください: -
    $2
    -この操作には、配布先のウィキで適切な権限 (システムメッセージの編集権限を含む) が必要で、さらにファイル アップロードによる取り込みが有効になっている必要があります。', - 'gadgets-export-download' => 'ダウンロード', -); - -/** Jutish (jysk) - * @author Huslåke - */ -$messages['jut'] = array( - 'prefs-gadgets' => 'Gøreter', - 'gadgets-prefstext' => 'Nedenstående er en liste over de gadgets som du kan aktivere for din brugerkonto. Da disse gadgets hovedsageligt er baseret på JavaScript skal du slå JavaScript til i din browser for at få dem til at virke. Bemærk at disse gadgets ikke vil have nogen effekt på denne side (indstillinger). - -Bemærk også at disse specielle gadgets ikke er en del af MediaWiki-softwaren og at de typisk bliver vedligeholdt af brugere på din lokale wiki. Lokale administratorer kan redigere tilgængelige gadgets med [[MediaWiki:Gadgets-definition]] og [[Special:Gadgets]].', - 'gadgets' => 'Gøreter', - 'gadgets-title' => 'Gøreter', - 'gadgets-pagetext' => 'Nedenstående er en liste med de specielle gadgets som brugere kan aktivere i deres indstillinger som defineret i [[MediaWiki:Gadgets-definition]]. Denne oversigtsside giver simpel adgang til de systembeskeder som definerer hver gadgets beskrivelse og kode.', - 'gadgets-uses' => 'Brugere', -); - -/** Javanese (Basa Jawa) - * @author Meursault2004 - * @author NoiX180 - * @author Pras - */ -$messages['jv'] = array( - 'gadgets-desc' => 'Marengaké para panganggo milih [[Special:Gadgets|gadget CSS lan JavaScript]] ngliwati [[Special:Preferences#mw-prefsection-gadgets|préferènsi]] dhéwé-dhéwé.', - 'prefs-gadgets' => 'Gadget', - 'gadgets-prefstext' => 'Ing ngisor iki daftar gadget astaméwa sing bisa panjenangan aktifaké kanggo rékening panjenengan. Gadget-gadget iki sabagéyan gedhé adhedhasar JavaScript dadi panjenengan kudu ngaktifaké JavaScript ing panjlajah wèb panjenengan supaya bisa nglakokaké. -Mangga diwigatèkaké yèn gadget-gadget iki ora ndarbèni pangaruh marang kaca préferènsi iki. - -Uga mangga diwigatèkaké yèn gadget astaméwa iki dudu bagéyan saka piranti empuk MediaWiki lan biasané dikembangaké lan diopèni déning panganggo-panganggo ing wiki lokal panjenengan. Pangurus lokal bisa nyunting gadget sing kasedyakaké nganggo [[MediaWiki:Gadgets-definition|dhéfinisi]] lan [[Special:Gadgets|uraian]].', - 'gadgets' => 'Gadget', - 'gadgets-title' => 'Gadget', - 'gadgets-pagetext' => 'Ing ngisor iki daftar gadget astaméwa sing bisa diaktifaké ing [[Special:Preferences#mw-prefsection-gadgets|kaca prèferènsi]] panganggo, kayadéné didéfinisi déning [[MediaWiki:Gadgets-definition|dhéfinisi]]. -Tinjoan iki mènèhi aksès sing gampang menyang kaca-kaca pesen sistem sing ngawedhar saben gadget lan kodhe.', - 'gadgets-uses' => 'Kagunan', - 'gadgets-required-rights' => 'Mbutuhaké {{PLURAL:$2|hak|hak-hak}}: - -$1', - 'gadgets-required-skins' => 'Sumadhiya nèng {{PLURAL:$2|$1 kulit|kulit-kulit iki: $1}}.', - 'gadgets-default' => 'Diurubaké kanggo kabèh wong sacara gawan.', - 'gadgets-export' => 'Èkspor', - 'gadgets-export-title' => 'Èkspor perkakas', - 'gadgets-not-found' => 'Perkasas "$1" ora ditemokaké.', - 'gadgets-export-download' => 'Undhuh', -); - -/** Georgian (ქართული) - * @author BRUTE - * @author David1010 - */ -$messages['ka'] = array( - 'gadgets-desc' => 'მოხმარებლებს საშუალებას აძლევთ [[Special:Preferences#mw-prefsection-gadgets|კონფიგურაციაში]] აირჩიონ [[Special:Gadgets|CSS და JavaScript გაჯეტები]], რომელთა ჩართვაც სურთ', - 'prefs-gadgets' => 'გაჯეტები', - 'gadgets-prefstext' => 'ქვემოთ მოცემულია სპეციალური გაჯეტების სია, რომელთა ჩართვაც თქვენ შეგიძლიათ თქვენი ანგარიშისათვის. -ეს გაჯეტები უპირატესად დაფუძნებულია JavaScript-ზე, ამიტომ თქვენ უნდა ჩართოთ JavaScript თქვენ ბრაუზერში, რათა მათ იმუშაონ. -გაითვალისწინეთ, რომ ეს გაჯეტები არ მუშაობენ კონფიგურაციის გვერდზე. - -აგრეთვე გაითვალისწინეთ, რომ ეს გაჯეტები არ წარმოადგენს MediaWiki-ს ნაწილს და ჩვეულებრივ მუშავდება და ნარჩუნდება თქვენი ლოკალური ვიკის მომხმარებლების მიერ. -ადმინისტრატორებს შეუძლიათ შეცვალონ გაჯეტების სია [[MediaWiki:Gadgets-definition|განმარტებებისა]] და [[Special:Gadgets|აღწერების]] გვერდების დახმარებით.', - 'gadgets' => 'გაჯეტები', - 'gadgets-title' => 'გაჯეტები', - 'gadgets-pagetext' => 'ქვემოთ მოცემულია სპეციალური გაჯეტების სია, რომლების ჩართვაც შეუძლიათ მომხმარებლებს თავიანთი [[Special:Preferences#mw-prefsection-gadgets|კონფიგურაციის გვერდზე]], სიის შესაბამისად [[MediaWiki:Gadgets-definition|განმარტებების]] გვერდზე. -ეს სია საშუალებას იძლევა მარტივად მივიღოთ სისტემური შეტყობინებების გვერდებთან წვდომა, რომლებიც განსაზღვრავენ გაჯეტების აღწერასა და გამავალ კოდებს.', - 'gadgets-uses' => 'გამოიყენება', - 'gadgets-required-rights' => '{{PLURAL:$2|საჭიროა უფლება|საჭიროა უფლება}}: - -$1', - 'gadgets-required-skins' => 'ხელმისაწვდომია {{PLURAL:$2|გაფორმების თემისათვის $1|შემდეგი გაფორმების თემებისათვის: $1}}.', - 'gadgets-default' => 'ჩართულია ყველასათვის ნაგულისხმევად.', - 'gadgets-export' => 'ექსპორტი', - 'gadgets-export-title' => 'გაჯეტის ექსპორტი', - 'gadgets-not-found' => 'გაჯეტი "$1" ვერ მოიძებნა.', - 'gadgets-export-text' => 'გაჯეტი $1 ექსპორტისათვის, დააჭირეთ ღილაკს „{{int:gadgets-export-download}}“, შეინახეთ ჩამოტვირთული ფაილი, -გადადით გვერდზე Special:Import სამიზნო ვიკიში და ატვირთეთ ფაილი. შემდეგ დაამატეთ შემდეგი ხაზები MediaWiki:Gadgets-definition-ის გვერდზე: -
    $2
    -თქვენ უნდა გქონდეთ შესაბამისი უფლება სამიზნო ვიკიში (მათ შორის სისტემური შეტყობინებების თარგმნის უფლება), აგრეთვე სერვერზე ჩართული უნდა იყოს ფაილების იმპორტის პარამეტრები.', - 'gadgets-export-download' => 'ჩამოტვირთვა', -); - -/** Kazakh (Arabic script) (قازاقشا (تٴوتە)‏) */ -$messages['kk-arab'] = array( - 'prefs-gadgets' => 'قاجەت قۇرالدار', - 'gadgets-prefstext' => 'تومەندە ٴوز تىركەلگىڭىزدە قوسا الاتىن ارناۋلى قاجەت قۇرالدار ٴتىزىمى بەرىلەدى. -وسى قاجەت قۇرالدار كوبىنەسە JavaScript امىرلەرىنە نەگىزدەلىنەدى, سوندىقتان بۇلار جۇمىس ىستەۋى ٴۇشىن شولعىشىڭىزدا JavaScript قوسىلعان بولۋى كەرەك. -بۇل باپتاۋ بەتىنە وسى قاجەت قۇرالدار اسەر ەتپەيتىنىڭ ەسكەرىڭىز. - -تاعى دا ەسكەرىڭىز: وسى قاجەت قۇرالدار MediaWiki باعدارلاماسىنىڭ بولىگى ەمەس, جانە دە بۇلاردى جايشىلىقتا جەرگىلىكتى ۋىيكىيدىڭ قاتىسۋشىلارى دامىتادى جانە قوشتايدى. -جەرگىلىكتى اكىمشىلەر جەتىمدى قاجەت نارسە ٴتىزىمىن [[{{ns:mediawiki}}:Gadgets-definition]] جانە [[{{ns:special}}:Gadgets]] بەتتەرى ارقىلى -وڭدەي الادى.', - 'gadgets' => 'قاجەت قۇرالدار', - 'gadgets-title' => 'قاجەت قۇرالدار', - 'gadgets-pagetext' => 'تومەندە ارناۋلى قاجەت قۇرالدار ٴتىزىمى بەرىلەدى. [[{{ns:mediawiki}}:Gadgets-definition]] بەتىندە انىقتالعان قاجەت قۇرالداردى قاتىسۋشىلار ٴوزىنىڭ باپتاۋىندا قوسا الادى. -بۇل شولۋ بەتى ارقىلى ٴاربىر قاجەت قۇرالدىڭ سىيپاتتاماسى مەن ٴامىرىن انىقتايتىن جۇيە حابار بەتتەرىنە جەڭىل قاتىناي الاسىز.', - 'gadgets-uses' => 'قولدانۋداعىلار', -); - -/** Kazakh (Cyrillic script) (қазақша (кирил)‎) */ -$messages['kk-cyrl'] = array( - 'prefs-gadgets' => 'Қажет құралдар', - 'gadgets-prefstext' => 'Төменде өз тіркелгіңізде қоса алатын арнаулы қажет құралдар тізімі беріледі. -Осы қажет құралдар көбінесе JavaScript әмірлеріне негізделінеді, сондықтан бұлар жұмыс істеуі үшін шолғышыңызда JavaScript қосылған болуы керек. -Бұл баптау бетіне осы қажет құралдар әсер етпейтінің ескеріңіз. - -Тағы да ескеріңіз: осы қажет құралдар MediaWiki бағдарламасының бөлігі емес, және де бұларды жайшылықта жергілікті уикидің қатысушылары дамытады және қоштайды. -Жергілікті әкімшілер жетімді қажет нәрсе тізімін [[{{ns:mediawiki}}:Gadgets-definition]] және [[{{ns:special}}:Gadgets]] беттері арқылы -өңдей алады.', - 'gadgets' => 'Қажет құралдар', - 'gadgets-title' => 'Қажет құралдар', - 'gadgets-pagetext' => 'Төменде арнаулы қажет құралдар тізімі беріледі. [[{{ns:mediawiki}}:Gadgets-definition]] бетінде анықталған қажет құралдарды қатысушылар өзінің баптауында қоса алады. -Бұл шолу беті арқылы әрбір қажет құралдың сипаттамасы мен әмірін анықтайтын жүйе хабар беттеріне жеңіл қатынай аласыз.', - 'gadgets-uses' => 'Қолданудағылар', -); - -/** Kazakh (Latin script) (qazaqşa (latın)‎) */ -$messages['kk-latn'] = array( - 'prefs-gadgets' => 'Qajet quraldar', - 'gadgets-prefstext' => 'Tömende öz tirkelgiñizde qosa alatın arnawlı qajet quraldar tizimi beriledi. -Osı qajet quraldar köbinese JavaScript ämirlerine negizdelinedi, sondıqtan bular jumıs istewi üşin şolğışıñızda JavaScript qosılğan bolwı kerek. -Bul baptaw betine osı qajet quraldar äser etpeýtiniñ eskeriñiz. - -Tağı da eskeriñiz: osı qajet quraldar MediaWiki bağdarlamasınıñ böligi emes, jäne de bulardı jaýşılıqta jergilikti wïkïdiñ qatıswşıları damıtadı jäne qoştaýdı. -Jergilikti äkimşiler jetimdi qajet närse tizimin [[{{ns:mediawiki}}:Gadgets-definition]] jäne [[{{ns:special}}:Gadgets]] betteri arqılı -öñdeý aladı.', - 'gadgets' => 'Qajet quraldar', - 'gadgets-title' => 'Qajet quraldar', - 'gadgets-pagetext' => 'Tömende arnawlı qajet quraldar tizimi beriledi. [[{{ns:mediawiki}}:Gadgets-definition]] betinde anıqtalğan qajet quraldardı qatıswşılar öziniñ baptawında qosa aladı. -Bul şolw beti arqılı ärbir qajet quraldıñ sïpattaması men ämirin anıqtaýtın jüýe xabar betterine jeñil qatınaý alasız.', - 'gadgets-uses' => 'Qoldanwdağılar', -); - -/** Khmer (ភាសាខ្មែរ) - * @author Chhorran - * @author Lovekhmer - * @author Thearith - * @author គីមស៊្រុន - * @author វ័ណថារិទ្ធ - */ -$messages['km'] = array( - 'prefs-gadgets' => 'គ្រឿងបន្ទាប់បន្សំ', - 'gadgets' => 'គ្រឿងបន្ទាប់បន្សំ', - 'gadgets-title' => 'គ្រឿងបន្ទាប់បន្សំ', - 'gadgets-uses' => 'ប្រើ', - 'gadgets-export-download' => 'ទាញយក', -); - -/** Korean (한국어) - * @author Ficell - * @author IRTC1015 - * @author Klutzy - * @author Kwj2772 - * @author 아라 - */ -$messages['ko'] = array( - 'gadgets-desc' => '각 사용자가 [[Special:Gadgets|CSS와 자바스크립트 소도구]]를 [[Special:Preferences#mw-prefsection-gadgets|사용자 환경 설정]]을 통해 사용할 수 있도록 허용', - 'prefs-gadgets' => '소도구', - 'gadgets-prefstext' => '아래 목록은 현재 사용 가능한 소도구의 목록입니다. -대부분의 소도구는 자바스크립트로 동작하며, 웹 브라우저에서 자바스크립트를 사용할 수 있어야 동작합니다. -소도구는 이 환경 설정 페이지에는 영향을 주지 않습니다. - -이 소도구는 미디어위키의 기능이 아니며, 일반적으로 각 위키의 사용자가 개발 및 관리하고 있습니다. -각 위키의 관리자는 [[MediaWiki:Gadgets-definition|소도구 정의 문서]]와 [[Special:Gadgets|소도구 설명 문서]]를 통해 소도구를 관리할 수 있습니다.', - 'gadgets' => '소도구 목록', - 'gadgets-title' => '소도구', - 'gadgets-pagetext' => '[[Special:Preferences#mw-prefsection-gadgets|사용자 환경 설정]]에서 설정할 수 있는 소도구 목록입니다. 해당 목록은 [[MediaWiki:Gadgets-definition|소도구 정의]]에서 편집할 수 있습니다. -이 문서에서는 각 소도구의 각 설명 문서와 코드의 시스템 메시지 링크를 제공합니다.', - 'gadgets-uses' => '다음 코드를 이용', - 'gadgets-required-rights' => '다음 {{PLURAL:$2|권한}}이 필요합니다: - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 스킨에서 사용 가능합니다.|다음 스킨에서 사용 가능합니다: $1}}', - 'gadgets-default' => '기본적으로 모든 사람에게 활성화되어 있습니다.', - 'gadgets-export' => '내보내기', - 'gadgets-export-title' => '소도구 내보내기', - 'gadgets-not-found' => '"$1" 소도구를 찾을 수 없습니다.', - 'gadgets-export-text' => '$1 소도구를 내보내려면 "{{int:gadgets-export-download}}" 버튼을 클릭하여 다운로드된 파일을 저장한 후, -내보내려는 위키에서 Special:Import로 가서 올리십시오. 그 다음 MediaWiki:Gadgets-definition 문서에 다음을 추가하세요: -
    $2
    -해당 위키에서 시스템 메시지 편집 등 특정 권한을 갖고 있어야 합니다. 또한 파일 올리기를 통한 가져오기 기능이 활성화되어 있어야 합니다.', - 'gadgets-export-download' => '다운로드', -); - -/** Karachay-Balkar (къарачай-малкъар) - * @author Iltever - */ -$messages['krc'] = array( - 'gadgets' => 'Гаджетле', -); - -/** Colognian (Ripoarisch) - * @author Hoo - * @author Purodha - */ -$messages['ksh'] = array( - 'gadgets-desc' => 'En iere [[Special:Preferences#mw-prefsection-gadgets|Enstellunge]] künne Metmaacher [[Special:Gadgets|CSS- un JavaScrip-Gadgets]] en- un ußschallde.', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Hee is en Liss met bestemmpte Gadgets, -di för jede Metmaacher enjeschalldt wäde könne. -Di boue miets op Javascrip op, drom moß mer\'t em Brauser -enschallde, domet dat klapp. -Gadgets werke nimmohls op dä Sigg hee, -met Dinge persönleche Enstellunge. - -Opjepaß! Gadgets, sin kei Schtöck vun MediaWiki, -söndern sin extra em Wiki installeet, un sin vun de Wiki-Bedriever -oder Metmaacher ußjedaach un enjerescht. -Wä et Rääsch doför hät, kann se övver de Sigge -[[MediaWiki:Gadgets-definition|Gadgets fäßlääje]] -un [[Special:Gadgets|Gadgets beschriewe]] -enreschte un ändere.', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'He kütt en Liss met spezielle Gadgets, -di jede Metmaacher övver sing -[[Special:Preferences#mw-prefsection-gadgets|päsönlije Enstellunge]] enschallte kann. -Se wääde üvver [[MediaWiki:Gadgets-definition]] enjerecht. -Die Övverseech hee jit enne direkte Zohjang op di Texte em Wiki, -wo de Projramme, un de Erklierunge för de Gadgets dren enthallde -sin.', - 'gadgets-uses' => 'Bruch', - 'gadgets-required-rights' => 'Bruch {{PLURAL:$2|dat Rääsch:|de Rääschde:|kein besönder Rääschde.}} - -$1', - 'gadgets-required-skins' => 'Kann jebruch wääde met {{PLURAL:$2|dä Bedeenbovverfläsch:|dä Bedeenbovverfläsche:|keine vun dä Bedeenbovverfläsche.}} $1', - 'gadgets-default' => 'Shtandattmääßesh för jeeder_ein ennjeschalldt.', - 'gadgets-export' => 'Expotteere', - 'gadgets-export-title' => 'Gadgets expotteere', - 'gadgets-not-found' => 'Gadget „$1“ nit jefonge.', - 'gadgets-export-text' => 'Öm dat Gadget „$1“ ze expotteere, donn op dä Knopp „{{int:gadgets-export-download}}“ klecke, un donn dann de eronger jelaade Dattei faßhallde. Dann jangk en dat Wiki, woh De dat empotteere wells, un doh op die Extrasigg Spezial:Import, un donn se huh laade. Dann deihs De en däm Wiki op dä Sigg MediaWiki:Gadgets-definition dat heh dobei: -
    $2
    -Do moß en däm Wiki de nüüdijje Rääschde han, och dat Rääsch, aan Täxte un Nohreeschte vum Systeem ze ändere, un et Empoteere vun huhjelaade Dateije moß zohjelohße sin.', - 'gadgets-export-download' => 'Eronger laade', -); - -/** Kurdish (Latin script) (Kurdî (latînî)‎) - * @author George Animal - */ -$messages['ku-latn'] = array( - 'gadgets-not-found' => ' Gadget "$1" nehate dîtin.', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Les Meloures - * @author Robby - */ -$messages['lb'] = array( - 'gadgets-desc' => 'Erméiglecht de Benotzer et perséinlech [[Special:Gadgets|CSS a JavaScript Gadgeten]] an hiren [[Special:Preferences#mw-prefsection-gadgets|Astellunge]] festzeleeën.', - 'prefs-gadgets' => 'Gadgeten', - 'gadgets-prefstext' => "Lëscht vu spezielle Gadgeten déi fir Äre Benotzerkont aktivéiert kënne ginn. -D'Gadgete baséiere meeschtens op engem JavaScript, dofir muss JavaScript an Ärem Browser aktivéiert sinn, fir datt se fonctionéieren. -D'Gadgete fonctionéieren awer net op dëser Säit mat de perséinlechen Astellungen. - -Ausserdeem sollt Dir wëssen, datt dës Gadgete generell net Deel vu MediaWiki sinn, a meeschtens vu Benotzer vu lokale Wikien entwéckelt an ënnerhale ginn. -Lokal Wiki-Administrateure kënnen d'Lëscht von den disponibele Gadgeten op de Säiten [[MediaWiki:Gadgets-definition|Definitioune vun Gadgeten]] a [[Special:Gadgets|Beschreiwunge vu Gadgeten]] änneren.", - 'gadgets' => 'Gadgeten', - 'gadgets-title' => 'Gadgeten', - 'gadgets-pagetext' => "Ënnendrënner ass eng Lëscht vun de spezielle Gadgeten déi d'Benotzer op hire [[Special:Preferences#mw-prefsection-gadgets|Benotzer-Astellungen]] aschalte kënnen, esou wéi dat op [[MediaWiki:Gadgets-definition|definéiert]] ass. -Dës Iwwersiicht gëtt einfachen Zougang zu de Systemmessage-Säiten, déi all Gadget beschreiwen an zum Programméiercode vun dem Gadget.", - 'gadgets-uses' => 'Benotzt', - 'gadgets-required-rights' => "Erfuerdert {{PLURAL:$2|d'Recht|dës Rechter}}: $1.", - 'gadgets-required-skins' => "Disponibel fir {{PLURAL:$2|d'Ausgesinn $1|dës $2 Ausgesinn: $1}}.", - 'gadgets-default' => 'Fir jiddwereen als Standard ageschalt.', - 'gadgets-export' => 'Export', - 'gadgets-export-title' => 'Export vu Gadgeten', - 'gadgets-not-found' => 'Gadget "$1" net fonnt.', - 'gadgets-export-text' => 'Fir de Gadget $1 z\'exportéieren klickt w.e.g. op de(n) "{{int:gadgets-export-download}}"-Knäppchen, späichert den erofgelueden Fichier, gitt op Spezial:Import op der Zil-Wiki a lued en do erop. Duerno setzt der op d\'MediaWiki:Gadgets-Definitiouns Säit dëst derbäi:
    $2
    -Dir musst déi erfuerdert Rechter(inklusiv d\'Recht fir System-Messagen z\'änneren) op der Zil-Wiki hunn an den Import vun eropgelueden Fichiere muss ageschalt sinn.', - 'gadgets-export-download' => 'Eroflueden', -); - -/** Lezghian (лезги) - * @author Soul Train - */ -$messages['lez'] = array( - 'gadgets' => 'Гаджетар', -); - -/** Limburgish (Limburgs) - * @author Matthias - * @author Ooswesthoesbes - * @author Tibor - */ -$messages['li'] = array( - 'gadgets-desc' => 'Laot gebroekers [[Special:Gadgets|CSS en JavaScripts]] activere in häör [[Special:Preferences#mw-prefsection-gadgets|veurkeure]]', - 'prefs-gadgets' => 'Biedènger', - 'gadgets-prefstext' => 'Hiejónger sjtaon de sjpeciaal oetbreijinge dies te veur dien gebroekersaccount kèns insjakele. -De oetbreijinge zeen veurnamelik gebaseerd op JavaScript, dus JavaScript mót veur diene browser ingesjakeld zeen óm die te laote wirke. -De oetbreijinge höbbe geine invlood op dees pazjena mit veurkäöre. - -Dees sjpeciaal oetbreijinge zeen ouch gein óngerdeil van de MediaWiki-software en die mótte meistal óntwikkeld en óngerhauwe waere door gebroekers van diene wiki. -Lokaal beheerders kónne de besjikbaar oetbreijinge aangaeve in [[MediaWiki:Gadgets-definition]] en [[Special:Gadgets]].', - 'gadgets' => 'Oetbreijinger', - 'gadgets-title' => 'Oetbreijinger', - 'gadgets-pagetext' => 'Hiej ónger staon de speciaal oetbreijinger die gebroekers kinne insjakele via häöre [[Special:Preferences#mw-prefsection-gadgets|veurkeure]] wie ingesteldj is in [[MediaWiki:Gadgets-definition]]. -Dit euverzich bi-jtj uch einvoudige toegank toet de systeemtekspazjena wo de besjrieving en de programmacode van edere oetbreijing steit.', - 'gadgets-uses' => 'Gebroek', - 'gadgets-required-rights' => "{{PLURAL:$2|'t Volgend rech is|De volgende rechte zeen}} vereis: $1.", - 'gadgets-required-skins' => 'Besjikbaar op de {{PLURAL:$2|vormgaeving $1|volgende vormgaevinge: $1}}.', - 'gadgets-default' => 'Standerd aan veur edert.', - 'gadgets-export' => 'Veur oet', - 'gadgets-export-title' => 'Exporteer oetbreijing', - 'gadgets-not-found' => 'Oetbreiding "$1" neet gevonje.', - 'gadgets-export-text' => 'Klik óppe knoep "{{int:gadgets-export-download}}" óm de oetbreiding "$1" oet te veure. -Slaon daonao \'t gedownloadj bestandj óp. -Gank nao "Special:Import" inne doelwiki en laaj \'t oetgeveurdj bestandj óp. -Veug daonao \'t vólgendje toe ane pagina "MediaWiki:Gadgets-definition": -
    $2
    -Doe mós de juuste rèchte höbben óppe doelwie, ouch óm bewirkinge aan systeemberichte te make en in te veure oet bestenj.', - 'gadgets-export-download' => 'Haol óp', -); - -/** Lithuanian (lietuvių) - * @author Eitvys200 - * @author Homo - * @author Vpovilaitis - */ -$messages['lt'] = array( - 'gadgets-desc' => 'Leidžia naudotojams pasirinkti savo [[Special:Gadgets|CSS ir JavaScript priemones]] jų [[Special:Preferences#mw-prefsection-gadgets|nustatymuose]]', - 'prefs-gadgets' => 'Priemonės', - 'gadgets-prefstext' => 'Žemiau yra sąrašas specialių priemonių, kurias jūs galite įjungti naudojimui. -Šios priemonės daugiausiai yra sukurtos naudojant JavaScript, todėl, kad jos veiktų, jūsų naršyklėje turi būti įjungtas JavaScript palaikymas. -Atsiminkite, kad šios priemonės neturi įtakos jūsų nustatymų puslapiui. - -Taip pat žinokite, kad šios specialios priemonės nėra MediaWiki programinės įrangos dalis ir yra sukurtos bei palaikomos vietinio vikiprojekto naudotojų. Vietiniai administratoriai gali redaguoti suteikiamų specialių priemonių sąrašą, naudodami puslapius [[MediaWiki:Gadgets-definition|priemonių aprašymas]] ir [[Special:Gadgets|priemonės]].', - 'gadgets' => 'Priemonės', - 'gadgets-title' => 'Priemonės', - 'gadgets-pagetext' => 'Žemiau yra sąrašas specialių priemonių, kurias naudotojai gali įjungti savo [[Special:Preferences#mw-prefsection-gadgets|nustatymų puslapyje]]. Jos apibūdintos [[MediaWiki:Gadgets-definition|priemonių aprašyme]]. Ši apžvalga suteikia lengvą priėjimą prie sisteminių pranešimų puslapių, kuriuose pateiktas kiekvienos priemonės trumpas aprašas ir kodas.', - 'gadgets-uses' => 'Panaudojimai', - 'gadgets-export' => 'Eksportas', - 'gadgets-export-title' => 'Įtaiso eksportas', - 'gadgets-not-found' => 'Įtaisas " $1 " nerastas.', - 'gadgets-export-download' => 'Parsisiųsti', -); - -/** Lushai (Mizo ţawng) - * @author RMizo - */ -$messages['lus'] = array( - 'gadgets-desc' => 'Hmangtute [[Special:Gadgets|CSS leh JavaScript hmanrelhte]] an [[Special:Preferences#mw-prefsection-gadgets|duhthlanna phêk]]a duhthlantir theihna.', - 'prefs-gadgets' => 'Hmanrelhte', - 'gadgets-prefstext' => 'A hnuaiah hian i siangchana hmanrelh i tihnun theihho kan rawn chhawp chhuak a. -Hêng hmanrelhte hi JavaScript-a innghat a ni deuh ber a, chuvang tak chuan hengte hman theihna tùrin i rangpuifannaah JavaScript i tihnun a ngai a ni. -Hë duhthlanna phêkah erawh hi chuan hêng hmanrelhte hian nghawng a nei lo vang tih hria ang che. - -Hëng hmanrelh bîkte hi MediaWiki khawlthluak zinga mi a ni lo va, a tlangpuiin i khawsakna hmun wiki-a hmangtute duan leh enkawl a ni hlawm. -Chü wiki-a roreltute chuan hmanrelh hman theiha awmte [[MediaWiki:Gadgets-definition|hrilhfiahna]] leh [[Special:Gadgets|sawifiahna]] an siamṭha thei a ni.', - 'gadgets' => 'Hmanrelhte', - 'gadgets-title' => 'Hmanrelhte', - 'gadgets-uses' => 'Hmante', - 'gadgets-required-rights' => 'A hnuaia {{PLURAL:$2|dikna-chanvo|dikna-chanvote}} hi neih a ngái: - -$1', - 'gadgets-required-skins' => 'A hnuaia {{PLURAL:$2|vunah hian a hman theih: $1 |vunahte hian a hman theih: $1}}.', - 'gadgets-default' => 'Mi zawng zawng tana tihnun sa vek a ni.', - 'gadgets-export' => 'Thawnchhuahna', - 'gadgets-export-title' => 'Hmanrelh thawnchhuah', - 'gadgets-not-found' => 'Hmanrelh "$1" hmuh a ni lo.', - 'gadgets-export-download' => 'Hnuhthlâkna', -); - -/** Latvian (latviešu) - * @author Marozols - * @author Papuass - */ -$messages['lv'] = array( - 'prefs-gadgets' => 'Rīki', - 'gadgets' => 'Rīki', - 'gadgets-title' => 'Rīki', - 'gadgets-export-download' => 'Lejupielādēt', -); - -/** Malagasy (Malagasy) - * @author Jagwar - */ -$messages['mg'] = array( - 'gadgets' => 'Gadget', - 'gadgets-title' => 'Gadget', - 'gadgets-uses' => 'Mampiasa', - 'gadgets-export' => 'Hamoaka', - 'gadgets-export-title' => 'Famoahana gadget', - 'gadgets-not-found' => 'Tsy hita ny gadget « $1 ».', - 'gadgets-export-download' => 'Hampidina', -); - -/** Macedonian (македонски) - * @author Bjankuloski06 - * @author Brest - */ -$messages['mk'] = array( - 'gadgets-desc' => 'Им овозможува на корисниците во нивните [[Special:Preferences#mw-prefsection-gadgets|нагодувања]] да одберат свои сопствени [[Special:Gadgets|CSS- и JavaScript-алатки]]', - 'prefs-gadgets' => 'Алатки', - 'gadgets-prefstext' => 'Ова е список на специјални алатки кои можете да ги активирате за вашата корисничка сметка. -Алатките се основани претежно на JavaScript, па затоа морате да имате овозможено JavaScript на вашиот прелистувач за да можат да работат. -Имајте предвид дека алатките нема да имаат никаков ефект врз оваа страница за нагодување. - -Исто така имајте на ум дека овие специјални алатки не се дел од програмската опрема на МедијаВики и истите се создаваат и одржуваат од корисници на вашето локално вики. -Локалните администратори можат да ги уредуваат и прилагодуваат алатките користејќи се со [[MediaWiki:Gadgets-definition|определувања]] и [[Special:Gadgets|описи]].', - 'gadgets' => 'Алатки', - 'gadgets-title' => 'Алатки', - 'gadgets-pagetext' => 'Ова е список на специјални алатки кои корисниците можат да ги активираат на нивната [[Special:Preferences#mw-prefsection-gadgets|страница за нагодување]], наведени во [[MediaWiki:Gadgets-definition|определувањата]]. -Овој преглед дава лесен пристап до системските пораки кои го определуваат описот и кодот на секоја алатка.', - 'gadgets-uses' => 'Користи', - 'gadgets-required-rights' => '{{PLURAL:$2|Го бара следново право|Ги бара следниве права}}: - -$1', - 'gadgets-required-skins' => 'Достапно во {{PLURAL:$2|рувото $1|следниве рува: $1}}.', - 'gadgets-default' => 'Достапно за сите по основно', - 'gadgets-export' => 'Извези', - 'gadgets-export-title' => 'Извоз на алатка', - 'gadgets-not-found' => 'Алатката „$1“ не е пронајдена.', - 'gadgets-export-text' => 'За да ја извезете алатката $1, кликнете на копчето „{{int:gadgets-export-download}}“, зачувајте ја преземената податотека, -одете на Special:Import на целното вики и подигнете ја. Потоа на страницата MediaWiki:Gadgets-definition внесете го следново: -
    $2
    -Мора да имате соодветни дозволи на целното вики (вклучувајќи го правото за уредување на системски пораки), и мора да биде овозможен увозот од подигања.', - 'gadgets-export-download' => 'Преземи', -); - -/** Malayalam (മലയാളം) - * @author Praveenp - * @author Shijualex - */ -$messages['ml'] = array( - 'gadgets-desc' => 'ഉപയോക്താക്കൾ [[Special:Preferences#mw-prefsection-gadgets|ക്രമീകരണങ്ങളിൽ നിന്നു]] അവർക്കിഷ്ടമുള്ള [[Special:Gadgets|സി.എസ്.എസ്., ജാവാസ്ക്രിപ്റ്റ് ഗാഡ്ജറ്റുകൾ]] തിരഞ്ഞെടുക്കാൻ അനുവദിക്കൽ.', - 'prefs-gadgets' => 'ഗാഡ്ജറ്റ്', - 'gadgets-prefstext' => 'താങ്കളുടെ അംഗത്വത്തിനു ഉപയോഗിക്കാവുന്ന പ്രത്യേക ഗാഡ്ജറ്റുകളുടെ പട്ടികയാണ് താഴെയുള്ളത്. -ഈ ഗാഡ്‌‌ജറ്റുകൾ പ്രധാനമായും ജാവാസ്ക്രിപ്റ്റിൽ അധിഷ്ഠിതമായതിനാൽ ഇവ പ്രവർത്തിക്കുവാൻ താങ്കളുടെ ബ്രൗസറിൽ ജാവാസ്ക്രിപ്റ്റ് സജ്ജമാക്കി നൽകിയിരിക്കണം. -ഈ ക്രമീകരണങ്ങൾ താളിൽ ഈ ഗാഡ്ജറ്റുകൾക്ക് യാതൊരു സ്വാധീനവുമില്ലന്നറിയുക. - -ഈ പ്രത്യേക ഗാഡ്‌‌ജറ്റുകൾ മീഡിയവിക്കി സോഫ്റ്റ്‌‌വേറിന്റെ ഭാഗമേയല്ല എന്നും മനസ്സിലാക്കുക, അവ വികസിപ്പിക്കുന്നതും പരിപാലിക്കുന്നതും താങ്കളുടെ പ്രാദേശിക വിക്കിയിലെ ഉപയോക്താക്കളായിരിക്കും. -പ്രാദേശിക കാര്യനിർവാഹകർക്ക് ലഭ്യമായ ഗാഡ്‌‌ജറ്റുകളെ [[MediaWiki:Gadgets-definition|നിർവചനങ്ങളും]] [[Special:Gadgets|വിവരണങ്ങളും]] ഉപയോഗിച്ച് തിരുത്താൻ കഴിയുന്നതാണ്.', - 'gadgets' => 'ഗാഡ്ജറ്റ്', - 'gadgets-title' => 'ഗാഡ്ജറ്റ്', - 'gadgets-pagetext' => 'ഉപയോക്താക്കൾക്ക് അവരുടെ [[Special:Preferences#mw-prefsection-gadgets|ക്രമീകരണങ്ങൾ താളിൽ]] നിന്നും സജ്ജമാക്കാവുന്ന ഗാഡ്ജറ്റുകളുടെ പട്ടിക [[MediaWiki:Gadgets-definition|അവ നിർവ്വചിക്കപ്പെട്ട പ്രകാരം]] താഴെ കൊടുത്തിരിക്കുന്നു. -ഓരോ ഗാഡ്ജറ്റിന്റേയും വിവരണവും കോഡും ഉള്ള സന്ദേശ താളുകളിലേക്കു പോകാനുള്ള എളുപ്പവഴി ഈ പട്ടിക നൽകുന്നു.', - 'gadgets-uses' => 'ഉപയോഗങ്ങൾ', - 'gadgets-required-rights' => 'താഴെപ്പറയുന്ന {{PLURAL:$2|അവകാശം|അവകാശങ്ങൾ}} ആവശ്യമാണ്: - -$1', - 'gadgets-required-skins' => 'ലഭ്യമായ {{PLURAL:$2|ദൃശ്യരൂപം: $1|ദൃശ്യരൂപങ്ങൾ: $1}}.', - 'gadgets-default' => 'എല്ലാവർക്കും സ്വതേ പ്രവർത്തനസജ്ജമായിരിക്കും.', - 'gadgets-export' => 'കയറ്റുമതി ചെയ്യുക', - 'gadgets-export-title' => 'ഗാഡ്ജറ്റ് കയറ്റുമതി ചെയ്യുക', - 'gadgets-not-found' => 'ഗാഡ്ജറ്റ് "$1" കണ്ടെത്താനായില്ല.', - 'gadgets-export-text' => '$1 എന്ന ഗാഡ്ജറ്റ് കയറ്റുമതി ചെയ്യാൻ, "{{int:gadgets-export-download}}" എന്ന ബട്ടണിൽ ഞെക്കുക, ഡൗൺലോഡ് ചെയ്ത് ലഭിക്കുന്ന പ്രമാണം സേവ് ചെയ്യുക, ലക്ഷ്യവിക്കിയിലെ Special:Import എന്ന താളിൽ ചെന്ന ശേഷം അത് അവിടെ അപ്‌ലോഡ് ചെയ്യുക. താഴെ കൊടുത്തിരിക്കുന്നത് MediaWiki:Gadgets-definition താളിൽ ചേർക്കുക: -
    $2
    -ലക്ഷ്യവിക്കിയിൽ താങ്കൾക്ക് ആവശ്യമായ അനുമതികൾ (വ്യവസ്ഥാസന്ദേശങ്ങൾ തിരുത്താനുള്ള അവകാശമടക്കം) ഉണ്ടായിരിക്കണം ഒപ്പം പ്രമാണ അപ്‌ലോഡ് വഴിയുള്ള ഇറക്കുമതി അവിടെ പ്രവർത്തനസജ്ജമായിരിക്കുകയും വേണം.', - 'gadgets-export-download' => 'ഡൗൺലോഡ്', -); - -/** Marathi (मराठी) - * @author Kaustubh - * @author Mahitgar - * @author Rahuldeshmukh101 - * @author V.narsikar - */ -$messages['mr'] = array( - 'gadgets-desc' => 'सदस्यांना त्यांच्या [[Special:Preferences#mw-prefsection-gadgets|पसंतीची]] [[Special:Gadgets|CSS व जावास्क्रीप्ट गॅजेट्स]] निवडण्याची परवानगी देते.', - 'prefs-gadgets' => 'उपकरण(गॅजेट)', - 'gadgets-prefstext' => 'खाली तुम्ही तुमच्या सदस्यखात्यासाठी वापरू शकत असलेल्या गॅजेट्सची यादी दिलेली आहे. ही गॅजेट्स मुख्यत्वे जावास्क्रीप्टवर अवलंबून असल्यामुळे तुमच्या ब्राउझर मध्ये जावास्क्रीप्ट एनेबल असणे आवश्यक आहे. या गॅजेट्समुळे या पसंतीच्या पानावर कुठलेही परिणाम होणार नाहीत याची कृपया नोंद घ्यावी. - -तसेच ही गॅजेट्स मीडियाविकी प्रणालीचा हिस्सा नाहीत, व ही मुख्यत्वे स्थानिक विकिवर सदस्यांद्वारे उपलब्ध केली जातात. - -स्थानिक प्रचालक उपलब्ध गॅजेट्स [[MediaWiki:Gadgets-definition|व्याख्या]] व [[Special:Gadgets|वर्णने]] वापरून बदलू शकतात.', - 'gadgets' => 'सुविधा (गॅजेट)', - 'gadgets-title' => 'गॅजेट', - 'gadgets-pagetext' => 'खाली तुम्ही तुमच्या सदस्यत्वासाठी [[Special:Preferences#mw-prefsection-gadgets|माझ्या पसंती]] पानावर वापरू शकत असलेल्या [[MediaWiki:Gadgets-definition|व्याख्या]]ने सांगितलेल्या गॅजेट्सची यादी दिलेली आहे. हे पान तुम्हाला प्रत्येक गॅजेट्सचा कोड व व्याख्या देणार्‍या पानासाठी सोपी संपर्क सुविधा पुरविते.', - 'gadgets-uses' => 'उपयोग', - 'gadgets-required-rights' => 'खलील गोष्ठी साठी विनंती {{PLURAL:$2|right|rights}}: - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 skin|खालील देखाव्यांवर : $1}} उपलब्ध आहेत', - 'gadgets-default' => 'सर्वांसाठी डिफॉल्ट उपलब्ध केले आहे', - 'gadgets-export' => 'निर्यात करा', - 'gadgets-export-title' => 'उपकरण निर्यात', - 'gadgets-not-found' => 'उपकरण "$1" सापडत नाही.', - 'gadgets-export-text' => '$1 उपकरण-सुविधा निर्यातकरण्या करिता, "{{int:gadgets-export-download}}" कलीवर टिचकी मारा, उतरवलेली संचिका-फाईल जतन करा -डेस्टिनेशन विकिच्या विशेष:आयात पानावर जाऊन संचिका-फाईल चढवावी.नंतर खालील MediaWiki:Gadgets-definition पान चढवावे : -
    $2
    -तुमच्याकडे डेस्टिनेशन विकिवर (सिस्टीम मेसेजेस सुद्धा संपादीत करण्यासहीत ) सुयोग्य परवानग्या उपलब्ध असणे अत्यावश्यक आहे आणि चढवलेल्या संचिकाकरिता आयात सुविधा सक्षम असणे आवश्यक आहे.', - 'gadgets-export-download' => 'उतरवा', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - * @author Aviator - * @author Zamwan - */ -$messages['ms'] = array( - 'gadgets-desc' => 'Membolehkan pengguna memilih [[Special:Gadgets|gajet CSS dan JavaScript]] tempahan melalui [[Special:Preferences#mw-prefsection-gadgets|laman keutamaan]]', - 'prefs-gadgets' => 'Gajet', - 'gadgets-prefstext' => 'Yang berikut ialah senarai gajet khas yang anda boleh hidupkan untuk akaun anda. Kebanyakan daripada gajet-gajet ini memerlukan JavaScript, oleh itu anda perlu menghidupkan ciri JavaScript dalam pelayar web anda untuk menggunakannya. Sila ambil perhatian bahawa gajet-gajet ini tidak menjejaskan laman keutamaan ini. - -Sila ambil perhatian juga bahawa gajet-gajet khas ini bukan sebahagian daripada perisian MediaWiki, dan biasanya dibangunkan dan diselenggara oleh para pengguna di wiki tempatan anda. Pentadbir tempatan boleh mengubah gajet-gajet yang sedia ada menggunakan [[MediaWiki:Gadgets-definition|takrif]] dan [[Special:Gadgets|keterangan]].', - 'gadgets' => 'Gajet', - 'gadgets-title' => 'Gajet', - 'gadgets-pagetext' => 'Yang berikut ialah senarai gajet khas yang boleh dihidupkan oleh pengguna melalui [[Special:Preferences#mw-prefsection-gadgets|laman keutamaan]], sebagai mana yang telah [[MediaWiki:Gadgets-definition|ditakrifkan]]. Laman ini menyediakan capaian mudah kepada laman pesanan sistem yang mentakrifkan setiap kod dan keterangan gajet.', - 'gadgets-uses' => 'Menggunakan', - 'gadgets-required-rights' => '{{PLURAL:$2|Hak|Hak-hak}} yang berikut diperlukan: - -$1', - 'gadgets-required-skins' => 'Terdapat pada {{PLURAL:$2|kulit $1|kulit-kulit berikut: $1}}.', - 'gadgets-default' => 'Dihidupkan untuk semua orang secara sediaan.', - 'gadgets-export' => 'Eksport', - 'gadgets-export-title' => 'Eksport gajet', - 'gadgets-not-found' => 'Gajet "$1" tiada.', - 'gadgets-export-text' => 'Untuk mengeksport gajet $1, klik butang "{{int:gadgets-export-download}}", simpan fail yang dimuat turun, pergi ke Khas:Import di wiki sasaran dan muat naik fail tadi di situ. Kemudian tambah kod berikut dalam laman MediaWiki:Gadgets-definition: -
    $2
    -Anda hendaklah mempunyai keizinan yang bersesuaian di wiki sasaran (termasuklah hak untuk menyunting pesanan sistem) dan ciri import daripada fail muat naik hendaklah dibolehkan.', - 'gadgets-export-download' => 'Muat turun', -); - -/** Maltese (Malti) - * @author Chrisportelli - */ -$messages['mt'] = array( - 'gadgets-desc' => 'Tħalli lill-utenti jagħżlu [[Special:Gadgets|aċċessorji CSS u JavaScript]] fil-[[Special:Preferences#mw-prefsection-gadgets|preferenzi]] tagħhom', - 'prefs-gadgets' => 'Aċċessorji', - 'gadgets-prefstext' => "Hawn taħt hawn lista ta' aġġeġġi speċjali li inti tista' tippermetti għall-kont tiegħek. -Dawn l-aġġeġġi huma l-aktar ibbażati fuq JavaScript, u għalhekk il-JavaScript trid tkun awtorizzata fil-browżer tiegħek sabiex ikunu jistgħu jaħdmu. -Kun af li dawn l-aġġeġġi mhu se jħallu ebda effett fuq din il-paġna tal-preferenzi. - -Għandek tkun taf ukoll li dawn l-aġġeġġi spe1jali mhumiex parti mis-softwer tal-MediaWiki, u huma ħafna drabi żviluppati u mantenuti minn utenti fuq il-wiki lokali tiegħek. -L-amministraturi lokali jistgħu jimmodifikaw id-[[MediaWiki:Gadgets-definition|definizzjonijiet]] u d-[[Special:Gadgets|deskrizzjonijiet]] tal-aġġeġġi disponibbli.", - 'gadgets' => 'Aċċessorji', - 'gadgets-title' => 'Aċċessorji', - 'gadgets-pagetext' => "Hawn taħt hawn lista ta' aġġeġġi speċjali li l-utenti jistgħu jippermettu fil-[[Special:Preferences#mw-prefsection-gadgets|paġna tal-preferenzi]], kif definit fid-[[MediaWiki:Gadgets-definition|definizzjonijiet]]. -Din il-ħarsa tipprovdi aċċess faċli għall-messaġġi tas-sistema li fihom hemm deskrizzjoni u s-sors ta' kull aġġeġġ.", - 'gadgets-uses' => 'Juża', - 'gadgets-required-rights' => 'Għandu bżonn id-{{PLURAL:$2|dritt|drittijiet}} segwenti: - -$1', - 'gadgets-required-skins' => 'Disponibbli fuq {{PLURAL:$2|l-iskema $1|l-iskemi segwenti: $1}}.', - 'gadgets-export' => 'Esporta', - 'gadgets-export-title' => 'Esporta aċċessorju', - 'gadgets-not-found' => 'L-aċċessorju "$1" ma nstabx.', - 'gadgets-export-download' => 'Niżżel', -); - -/** Mazanderani (مازِرونی) - * @author Mehdi - */ -$messages['mzn'] = array( - 'gadgets-prefstext' => 'پائین فهرست دله اته سری ابزارون درنه که شما بتوننی از شه کاروری خواستنی‌ئون، یان ره شه وسه فعال هاکنین. -این ابزارون ویشترشون جاوااسکریپت رو کار کننه، اگه خواننی یانه جا استفاده هاکنین ونه حتماً شه اینترنت مرورگر رو جاواسکریپت ره فعال هاکنین. -البته ونه توجه دارین که این ابزارون نتوننه شمه خواستنی‌ئون صفحه ره تغییر هادن. - -توجه دارین که این ابزارون مدیاویکی نرم‌افزار جمع نینه، و معمولاً شمه ویکی کارورون دست (مدیرون) بسات بینه و نگهداری بوننه. -هرویکی مدیرون بتوننه از [[MediaWiki:Gadgets-definition|تعاریف]] و [[Special:Gadgets|توضیحات]] صفحات جا استفاده هاکنن و ابزارون ره تغییر هادن.', - 'gadgets' => 'ابزارون', - 'gadgets-title' => 'ابزارون', -); - -/** Norwegian Bokmål (norsk (bokmål)‎) - * @author Laaknor - * @author Nghtwlkr - * @author Sjurhamre - */ -$messages['nb'] = array( - 'gadgets-desc' => 'Lar brukere velge egendefinerte [[Special:Gadgets|CSS- og JavaScript-verktøy]] i [[Special:Preferences#mw-prefsection-gadgets|innstillingene sine]]', - 'prefs-gadgets' => 'Tilleggsfunksjoner', - 'gadgets-prefstext' => 'Nedenfor er en liste over tilleggsfunksjoner du kan slå på for kontoen din. -Disse funksjonene er for det meste basert på JavaScript, så du må ha dette slått på i nettleseren din for at de skal fungere. -Merk at funksjonene ikke vil ha noen innvirkning på denne innstillingssiden. - -Merk også at disse verktøyene ikke er del av MediaWiki-programvaren, og vanligvis utvikles og vedlikeholdes av brukere på den lokale wikien. Lokale administratorer kan redigere tilgjengelig verktøy ved å endre [[MediaWiki:Gadgets-definition|definisjonene]] og [[Special:Gadgets|beskrivelsene]].', - 'gadgets' => 'Tilleggsfunksjoner', - 'gadgets-title' => 'Tilleggsfunksjoner', - 'gadgets-pagetext' => 'Nedenfor er en liste over tilleggsfunksjoner brukere kan slå på i [[Special:Preferences#mw-prefsection-gadgets|innstillingene]], som definert på [[MediaWiki:Gadgets-definition]]. Denne oversikten gir lett tilgang til systembeskjedsidene som definerer hvert verktøys beskrivelse og kode.', - 'gadgets-uses' => 'Bruk', - 'gadgets-required-rights' => 'Krever følgende {{PLURAL:$2|rettighet|rettigheter}}: - -$1', - 'gadgets-required-skins' => 'Tilgjengelig i {{PLURAL:$2|drakta $1|følgende drakter: $1}}.', - 'gadgets-default' => 'Aktivert for alle som standard', - 'gadgets-export' => 'Eksporter', - 'gadgets-export-title' => 'Tilleggsfunksjon eksport', - 'gadgets-not-found' => 'Tilleggsfunksjon «$1» ikke funnet.', - 'gadgets-export-text' => 'For å eksportere verktøyet $1, klikk på «{{int:gadgets-export-download}}»-knappen, lagre den nedlastede filen, gå til Special:Import på destinasjonswikien og last den opp. Deretter legger du til følgende på siden MediaWiki:Gadgets-definition: -
    $2
    -Du må ha de nødvendige tillatelsene på destinasjonswikien (inkludert retten til å redigere systemmeldinger) og import fra filopplastinger må være aktivert.', - 'gadgets-export-download' => 'Last ned', -); - -/** Low German (Plattdüütsch) - * @author Slomox - */ -$messages['nds'] = array( - 'gadgets-desc' => 'Lett Brukers vörgeven [[Special:Gadgets|CSS- un JavaScript-Gadgets]] in jemehr [[Special:Preferences#mw-prefsection-gadgets|Instellungen]] aktiveren', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Ünnen steit en List vun spezielle Warktüüch, de elkeen Bruker för sik anstellen kann. -Disse Warktüüch loopt tomehrst mit Javascript. Dat mutt also in’n Browser anstellt wesen, dat dat löppt. -Wees aver gewohr, dat de Warktüüch hier direkt op disse Sied mit de persönlichen Instellungen nix bewarkt. - -De Warktüüch sünd denn ok keen offiziellen Deel vun MediaWiki, sünnern warrt normalerwies vun enkelte Brukers vun dat lokale Wiki schreven. De Administraters vun dat Wiki köönt de List mit de Warktüüch över de Sieden [[MediaWiki:Gadgets-definition]] un [[Special:Gadgets]] ännern.', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Ünnen steit en List mit spezielle Warktüüch, de för all Brukers in de [[Special:Preferences#mw-prefsection-gadgets|Instellungen]] anstellt warrn köönt. Defineert sünd de Warktüüch in [[MediaWiki:Gadgets-definition]]. -Disse Översicht gifft direkten Togang to de Systemnarichten, in de de Text to de Warktüüch un jemehr Programmkood steit.', - 'gadgets-uses' => 'Bruukt', -); - -/** Nedersaksisch (Nedersaksisch) - * @author Servien - */ -$messages['nds-nl'] = array( - 'gadgets-desc' => 'Laot gebrukers [[Special:Gadgets|CSS en JavaScripts]] aktiveren in der eigen [[Special:Preferences#mw-prefsection-gadgets|veurkeuren]]', - 'prefs-gadgets' => 'Technies spul', - 'gadgets-prefstext' => "Hieronder steet spesiaal techiniese spul da'j inschakelen kunnen. -'t Is veurnamelik ebaseerd op JavaScript, dus JavaScript mö'j an hebben staon in joew webkieker um t te laoten warken. -Al dit techniese spul hef gien invleud op disse veurkeurenpagina. - -Disse techniese snufjes maken oek gien deel uut van de MediaWiki-programmatuur, en t wörden meestentieds ontwikkeld en onderhouwen -deur gebrukers van joew eigen wiki. -Beheerders kunnen t beschikbaore techniese spul angeven in [[MediaWiki:Gadgets-definition|defenisies]] en [[Special:Gadgets|beschrievingen]].", - 'gadgets' => 'Technies spul', - 'gadgets-title' => 'Technies spul', - 'gadgets-pagetext' => 'Hieronder steet spesiaal technies spul die gebrukers in kunnen schakelen bie [[Special:Preferences#mw-prefsection-gadgets|mien veurkeuren]], zo as in-esteld in de [[MediaWiki:Gadgets-definition|defenisies]]. -Dit overzichte biejt eenvoudige toegang tot de systeemtekstzied waor de beschrieving en de programmakode van elke technies snufjen steet.', - 'gadgets-uses' => 'Gebruuk', -); - -/** Nepali (नेपाली) - * @author Bhawani Gautam - */ -$messages['ne'] = array( - 'gadgets-desc' => 'प्रयोगकर्ताको [[Special:Preferences#mw-prefsection-gadgets|अभिरुचि अनुसार]] [[Special:Gadgets|CSS र जाभास्क्रीप्ट उपकरणहरु]] छान्न दिनुहोस्', - 'prefs-gadgets' => 'उपकरणहरु', - 'gadgets-prefstext' => 'विशेष उपकरणहरुको सूची तल दिइएकोछ तपाईंले आफ्नो खातामा सक्रिय पार्न सक्नुहुन्छ। -प्राय सबै उपकरणहरु जाभास्क्रीप्टमा आधारित छन्, यस कारण ब्राउजरमा काम गराउनको लागि जाभास्क्रीप्टलाई सक्रिय गर्नु पर्छ। -याद राख्नुहोस् ती उपकरणहरुले अभिरुचि पृष्ठमा असर गर्दैनन्। -यो पनि याद राखुहोस् यी विशेष उपकरणहरु मीडिया विकि सफ्टवेयरभित्र पर्दैनन् र प्राय स्थानीय विकि प्रयोगकर्ताहरुले विकास यसको विकास र सञ्चालन गर्दछन्। स्थानीय प्रबन्धकहरुले उपलब्ध उपकरणहरुका [[MediaWiki:Gadgets-definition|परिभाषाहरु]] र [[Special:Gadgets|विवरणहरु]] सम्पादन गर्दछन्।', - 'gadgets' => 'उपकरणहरु', - 'gadgets-title' => 'उपकरणहरु', - 'gadgets-pagetext' => 'विशेष उपकरणहरुको सूची तल दिइएकोछ प्रयोगकर्ताहरुले [[MediaWiki:Gadgets-definition|परिभाषाहरु]]मा जनाए अनुसार आफ्नो [[Special:Preferences#mw-prefsection-gadgets|अभिरुचि पृष्ठमा]], सक्रिय पार्न सक्नेछन्।। -यस सिंहावलोकनले प्रणाली सन्देश पृष्ठ सजिलै प्राप्त गर्न सकिनेछ जसले प्रत्येक उपकरणको विवरण र कोडलाई परिभाषित गरेको छ।', - 'gadgets-uses' => 'प्रयोगहरु', - 'gadgets-required-rights' => 'आवश्यकता छ {{PLURAL:$2|$1 अधिकारको|निम्न अधिकारहरुको: $1}}.', - 'gadgets-default' => 'सबैको निम्ति सुरुदेखि नैं सक्रिय छ।', - 'gadgets-export' => 'निर्यात गर्ने', - 'gadgets-export-title' => 'उपकरण निर्यात', - 'gadgets-not-found' => 'उपकरण "$1" पाइएन।', - 'gadgets-export-text' => '$1 उपरणलाई निर्यात गर्न, "{{int:gadgets-export-download}}" बटनमा क्लिक गर्नुहोस्, डाउनलोड गरिएको फाइललाई संग्रह गर्नुहोस्, -जानुहोस् विशेष:लक्षित विकिमा निर्यात गर्नुहोस् र अपलोड गरुहोस्। त्यसपछि तल दिएका मीडियाविकि: उपकरण परिभाषाहरु परिभाषा पृष्ठमा थप्नुहोस्: -
    $2
    -तपाईंसित लक्षित विकिमा प्रणाली सन्देशहरु सम्पादन गर्ने अधिकार सहित आयात गर्ने समुचित अनुमति र फाइल अपलोड पनि सक्रिय गरिएको हुनुपर्छ।', - 'gadgets-export-download' => 'डाउनलोड गर्ने', -); - -/** Dutch (Nederlands) - * @author Annabel - * @author SPQRobin - * @author Siebrand - */ -$messages['nl'] = array( - 'gadgets-desc' => 'Laat gebruikers [[Special:Gadgets|CSS en JavaScripts]] activeren in hun [[Special:Preferences#mw-prefsection-gadgets|voorkeuren]]', - 'prefs-gadgets' => 'Uitbreidingen', - 'gadgets-prefstext' => 'Hieronder staan de speciale uitbreidingen die u kunt inschakelen. -De uitbreidingen zijn voornamelijk gebaseerd op JavaScript, dus JavaScript moet voor uw browser ingeschakeld zijn om ze te laten werken. -De uitbreidingen hebben geen invloed op deze pagina met voorkeuren. - -Deze speciale uitbreidingen zijn geen onderdeel van de MediaWiki-software en worden meestal ontwikkeld en onderhouden door gebruikers van uw wiki. -Beheerders kunnen de beschikbare uitbreidingen aangeven in [[MediaWiki:Gadgets-definition|definities]] en [[Special:Gadgets|beschrijvingen]].', - 'gadgets' => 'Uitbreidingen', - 'gadgets-title' => 'Uitbreidingen', - 'gadgets-pagetext' => 'Hieronder staan de speciale uitbreidingen die gebruikers kunnen inschakelen via hun [[Special:Preferences#mw-prefsection-gadgets|voorkeuren]], zoals ingesteld in de [[MediaWiki:Gadgets-definition|definities]]. -Dit overzicht biedt eenvoudige toegang tot de systeemtekstpagina waar de beschrijving en de programmacode van iedere uitbreiding staat.', - 'gadgets-uses' => 'Gebruikt', - 'gadgets-required-rights' => '{{PLURAL:$2|Het volgende recht is|De volgende rechten zijn}} vereist: - -$1.', - 'gadgets-required-skins' => 'Beschikbaar in de {{PLURAL:$2|vormgeving $1|volgende vormgevingen: $1}}.', - 'gadgets-default' => 'Standaard ingeschakeld voor iedereen.', - 'gadgets-export' => 'Exporteren', - 'gadgets-export-title' => 'Uitbreiding exporteren', - 'gadgets-not-found' => 'Uitbreiding "$1" niet gevonden.', - 'gadgets-export-text' => 'Klik op de knop "{{int:gadgets-export-download}}" om de uitbreiding "$1" te exporteren. -Sla daarna het gedownloade bestand op. -Ga naar "Special:Import" in de doelwiki en upload het geëxporteerde bestand. -Voeg daarna het volgende toe aan de pagina "MediaWiki:Gadgets-definition": -
    $2
    -U moet de juiste rechten hebben op de doelwiki, inclusief het recht om bewerkingen te maken aan de systeemberichten, en importeren uit bestanden moet ingeschakeld zijn.', - 'gadgets-export-download' => 'Downloaden', -); - -/** Nederlands (informeel)‎ (Nederlands (informeel)‎) - * @author Siebrand - */ -$messages['nl-informal'] = array( - 'gadgets-prefstext' => 'Hieronder staan de speciale uitbreidingen die je kunt inschakelen. -De uitbreidingen zijn voornamelijk gebaseerd op JavaScript, dus JavaScript moet voor je browser ingeschakeld zijn om ze te laten werken. -De uitbreidingen hebben geen invloed op deze pagina met voorkeuren. - -Deze speciale uitbreidingen zijn geen onderdeel van de MediaWiki-software en worden meestal ontwikkeld en onderhouden door gebruikers van jouw wiki. -Beheerders kunnen de beschikbare uitbreidingen aangeven in [[MediaWiki:Gadgets-definition|definities]] en [[Special:Gadgets|beschrijvingen]].', - 'gadgets-export-text' => 'Klik op de knop "{{int:gadgets-export-download}}" om de uitbreiding "$1" te exporteren. -Sla daarna het gedownloade bestand op. -Ga naar "Special:Import" in de doelwiki en upload het geëxporteerde bestand. -Voeg daarna het volgende toe aan de pagina "MediaWiki:Gadgets-definition": -
    $2
    -Je moet de juiste rechten hebben op de doelwiki, inclusief het recht om bewerkingen te maken aan de systeemberichten, en importeren uit bestanden moet ingeschakeld zijn.', -); - -/** Norwegian Nynorsk (norsk (nynorsk)‎) - * @author Eirik - * @author Harald Khan - * @author Nghtwlkr - * @author Njardarlogar - */ -$messages['nn'] = array( - 'gadgets-desc' => 'Lèt brukarane velje eigendefinerte [[Special:Gadgets|CSS- og JavaScript-verktøy]] i [[Special:Preferences#mw-prefsection-gadgets|innstillingane sine]].', - 'prefs-gadgets' => 'Tilleggsfunksjonar', - 'gadgets-prefstext' => 'Under finn du ei liste over tilleggsfunksjonar som du kan slå på på kontoen din. Desse tilleggsfunksjonane er for det meste baserte på JavaScript, så JavaScript må vere slått på i nettlesaren din for at dei skal verke. Merk at desse tilleggsfunksjonane ikkje har nokon effekt på denne innstillingssida. - -Merk også at tilleggsfunksjonane ikkje er ein del av MediaWiki-programvara, og at dei vanlegvis er utvikla og vedlikehaldne av brukarar på din lokale wiki. Lokale administratorar kan endre dei tilgjengelege tilleggsfunksjonane ved å endre [[MediaWiki:Gadgets-definition|definisjonane]] og [[Special:Gadgets|skildringane]].', - 'gadgets' => 'Tilleggsfunksjonar', - 'gadgets-title' => 'Tilleggsfunksjonar', - 'gadgets-pagetext' => 'Under finn du ei liste over tilleggsfunksjonar som brukarane kan slå på på [[Special:Preferences#mw-prefsection-gadgets|innstillingane]] sine, som oppgjevne i [[MediaWiki:Gadgets-definition|definisjonane]]. -Dette oversynet gjev enkel tilgang til systemmeldingssidene som inneheld skildringa og koden til kvar enkelt tilleggsfunksjon.', - 'gadgets-uses' => 'Brukar', - 'gadgets-export' => 'Eksporter', - 'gadgets-export-download' => 'Last ned', -); - -/** Occitan (occitan) - * @author Boulaur - * @author Cedric31 - */ -$messages['oc'] = array( - 'gadgets-desc' => 'Daissa als utilizaires los [[Special:Gadgets|gadgets CSS e JavaScript]] dins lor [[Special:Preferences#mw-prefsection-gadgets|preferéncias]]', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => "Çaijós apareis una tièra de gadgets que podètz activar per vòstre compte. Fan ampèl a JavaScript, deu doncas èsser activat per vòstre navigador Web. - -An pas cap d'incidéncia sus aquesta pagina de preferéncias. E mai, son generalament desvolopats e mantenguts sus aqueste wiki. -Los administrators pòdon modificar los gadgets en passant per [[MediaWiki:Gadgets-definition|las definicions]] e las [[Special:Gadgets|descripcions]].", - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => "Çaijós apareis una lista de gadgets que los utilizaires pòdon activar dins lor [[Special:Preferences#mw-prefsection-gadgets|pagina de preferéncias]], coma definit dins ''[[MediaWiki:Gadgets-definition|las definicions]]''. -Aqueste susvòl dona un accès rapid a las paginas de messatges del sistèma que definisson cada descripcion e cada còde dels gadgets.", - 'gadgets-uses' => 'Utiliza', - 'gadgets-export' => 'Exportar', - 'gadgets-export-download' => 'Telecargar', -); - -/** Oriya (ଓଡ଼ିଆ) - * @author Ansumang - * @author Odisha1 - * @author Psubhashish - */ -$messages['or'] = array( - 'gadgets-desc' => 'ସଭ୍ୟମାନଙ୍କୁ ଆପଣା ମନପସନ୍ଦର [[Special:Gadgets|CSS ଓ ଜାଭାସ୍କ୍ରିପ୍ଟ ଗ୍ୟାଜେଟ]] ସେମାନଙ୍କର [[Special:Preferences#mw-prefsection-gadgets|ପସନ୍ଦସବୁ]]ରେ ବାଛିବାକୁ ଦିଅନ୍ତୁ', - 'prefs-gadgets' => 'ଗ୍ୟାଜେଟ', - 'gadgets-prefstext' => 'ତଳେ ଆପଣଙ୍କ ଖାତା ଲାଗି କେତେକ ବିଶେଷ ଗ୍ୟାଜେଟର ତାଲିକା ଦିଆଗଲା । -ଏହି ଗ୍ୟାଜେଟମାନ ମୂଳତ ଜାଭାସ୍କ୍ରିପ୍ଟକୁ ଆଧାର କରି ତିଆରି, ତେଣୁ ସେମାନଙ୍କୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଆପଣଙ୍କୁ ନିଜ ବ୍ରାଉଜରରେ ଜାଭାସ୍କ୍ରିପ୍ଟ ସଚଳ କରିବାକୁ ପଡ଼ିବ । -ଜାଣିରଖନ୍ତୁ ଯେ ଏହିସବୁ ଗ୍ୟାଜେଟ ଆପଣଙ୍କର ପସନ୍ଦ ପୃଷ୍ଠା ଉପରେ କିଛି ପ୍ରଭାବ ପକାଇବେ ନାହିଁ । - -ଆହୁରି ଜାଣିରଖନ୍ତୁ ଯେ ଏହି ବିଶେଷ ଗ୍ୟାଜେଟସବୁ ମିଡ଼ିଆଉଇକି ସଫ୍ଟଵେର ଅନ୍ତଭୁକ୍ତ ନୁହଁନ୍ତି । ଏହିସବୁ ସାଧାରଣତ ଆପଣଙ୍କ ଆଞ୍ଚଳିକ ଉଇକିର ସଭ୍ୟ ମାନଙ୍କ ଦେଇ ତିଆରି ଓ ପରିଚାଳିତ ହୋଇଥାଏ । -ଆଞ୍ଚଳିକ ପରିଚାଳକଗଣ ଗ୍ୟାଜେଟର [[MediaWiki:Gadgets-definition|ସଜ୍ଞା]] ଓ [[Special:Gadgets|ବିବରଣୀ]]ସବୁ ବଦଳାଇପାରିବେ ।', - 'gadgets' => 'ଗ୍ୟାଜେଟ', - 'gadgets-title' => 'ଗ୍ୟାଜେଟ', - 'gadgets-pagetext' => '[[MediaWiki:Gadgets-definition|ସଜ୍ଞା]] ଅନୁସାରେ ତଳେ ସଭ୍ୟମାନଙ୍କ [[Special:Preferences#mw-prefsection-gadgets|ପସନ୍ଦ ପୃଷ୍ଠା]]ରୁ ସଚଳ କରାଯାଇପାରିବା ଭଳି କେତେକ ବିଶେଷ ଗ୍ୟାଜେଟର ତାଲିକା ଦିଆଗଲା । -ଏହି ଅବଲୋକନ ପ୍ରତ୍ୟେକ ଗ୍ୟାଜେଟର ବିବରଣୀ ଓ କୋଡ଼ ନିର୍ଦ୍ଧାରଣ କରୁଥିବା ସିଷ୍ଟମ ମେସେଜ ପୃଷ୍ଠା ସବୁକୁ ସହଜ ଯିବାଆସିବାର ସୁବିଧା ଦେଇଥାଏ ।', - 'gadgets-uses' => 'ବ୍ୟବହାର', - 'gadgets-required-rights' => 'ଏହି {{PLURAL:$2|ଅଧିକାରଟି|ଅଧିକାରସମୂହ}} ଲୋଡ଼ା : - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 ବହିରାବରଣ|ଏହି ସବୁ ବହିରାବରଣରେ: $1}} ମିଳୁଅଛି ।', - 'gadgets-default' => 'ଆପେଆପେ ସଭିଙ୍କ ପାଇଁ ସଚଳ କରାଗଲା ।', - 'gadgets-export' => 'ରପ୍ତାନୀ', - 'gadgets-export-title' => 'ଗ୍ୟାଜେଟ ରପ୍ତାନି', - 'gadgets-not-found' => '"$1" ଗ୍ୟାଜେଟଟି ମିଳିଲା ନାହିଁ ।', - 'gadgets-export-text' => '$1 ଗ୍ୟାଜେଟ ରପ୍ତାନି କରିବା ନିମନ୍ତେ "{{int:gadgets-export-download}}" ବୋତାମରେ କ୍ଲିକ କରି ଫାଇଲଟି ଆହରଣ କରନ୍ତୁ ଓ ସାଇତି ରଖନ୍ତୁ, -ମୁକାମ ଉଇକିରେ Special:Import କୁ ଯାଇ ଏହାକୁ ଅପଲୋଡ଼ କରନ୍ତୁ । ତାହାପରେ MediaWiki:Gadgets-definition ପୃଷ୍ଠାରେ ରେ ତଳ ଲେଖାଟିକୁ ଯୋଡ଼ନ୍ତୁ: -
    $2
    -ମୁକାମ ଉଇକିରେ ଆପଣଙ୍କ ପାଖରେ ଦରକାରୀ ଅନୁମୋଦନ ଥିବା ଲୋଡ଼ା (ସିଷ୍ଟମ ମେସେଜକୁ ବଦଲାଇବାର ଅଧିକାର ସହିତ) ତଥା ଫାଇଲ ଅପଲୋଡ଼ରୁ ଆହରଣ ମଧ୍ୟ ସଚଳ ହୋଇଥିବା ଲୋଡ଼ା ।', - 'gadgets-export-download' => 'ଡାଉନଲୋଡ଼', -); - -/** Pampanga (Kapampangan) - * @author Katimawan2005 - */ -$messages['pam'] = array( - 'gadgets-desc' => 'Didinan nong tsansa/pamikatagun a mamiling pasadiang [[Special:Gadgets|CSS ampong JavaScript gadget]] ketang karelang [[Special:Preferences#mw-prefsection-gadgets|pinili]] (preferences)', - 'prefs-gadgets' => 'Deng gadget', - 'gadgets-prefstext' => 'Ating tala (listaan) da reng espesial a gadget a agamit mu ba meng apaliari (enable) ing kekang account. -Uling makabasi la king JavaScript deng keraklan kareting gadget, kailangan yang papaliari ing JavaScript king kekang browser ba lang gumada deti. -Tandanan mung ala lang epektu king bulung da ring pinili (preferences page) deng gadget a reti. - -Tandanan mu muring e la kayabe king MediaWiki software deting gadget, at keraklan, gagawan da la ampong mamantinian deng talagamit ketang kekayung lokal a wiki. -Maliari lang makapag-edit deng talapanibala (administrator) kareng gadget a atiu nung gamitan de ing [[MediaWiki:Gadgets-definition]] ampo ing [[Special:Gadgets]].', - 'gadgets' => 'Deng gadget', - 'gadgets-title' => 'Deng gadget', - 'gadgets-pagetext' => 'Makabili ya king lalam ing tala (listaan) da reng espesial a gadget a apaliari (enable) da reng talagamit ketang karelang bulung da ring pinili (preferences page), agpang king kabaldugan king [[MediaWiki:Gadgets-definition]]. -Gawa nang malagua niting piyakitan (overview) ing pamanintun kareng bulung a maki system message a milalarawan king balang gadget at babie king kayang code.', - 'gadgets-uses' => 'Gamit', -); - -/** Deitsch (Deitsch) - * @author Xqt - */ -$messages['pdc'] = array( - 'prefs-gadgets' => 'Gadgets', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-export-download' => 'Runnerdraage', -); - -/** Polish (polski) - * @author Derbeth - * @author Marcin Łukasz Kiejzik - * @author Sp5uhe - */ -$messages['pl'] = array( - 'gadgets-desc' => 'Pozwala użytkownikom wybrać [[Special:Gadgets|gadżety CSS i JavaScript]] na [[Special:Preferences#mw-prefsection-gadgets|stronie preferencji]]', - 'prefs-gadgets' => 'Gadżety', - 'gadgets-prefstext' => 'Poniżej znajduje się lista specjalnych gadżetów, które możesz włączyć dla swojego konta użytkownika. -Gadżety najczęściej wykorzystują JavaScript, więc by działały musisz mieć w swojej przeglądarce włączoną obsługę JavaScriptu. Gadżety nie mają wpływu na tę stronę preferencji. - -Gadżety nie są częścią oprogramowania MediaWiki i najprawdopodobniej zostały stworzone przez użytkowników tego wiki. -Lokalni administratorzy mogą edytować dostępne gadżety używając stron [[MediaWiki:Gadgets-definition|Definicje gadżetów]] oraz [[Special:Gadgets|Gadżety]].', - 'gadgets' => 'Gadżety', - 'gadgets-title' => 'Gadżety', - 'gadgets-pagetext' => 'Poniżej znajduje się lista specjalnych gadżetów, które użytkownicy mogą włączyć na swojej [[Special:Preferences#mw-prefsection-gadgets|stronie preferencji]]. Lista ta jest zdefiniowana na stronie [[MediaWiki:Gadgets-definition|definicji]]. -Poniższy przegląd ułatwia dostęp do komunikatów systemu, które definiują opis i kod każdego z gadżetów.', - 'gadgets-uses' => 'Użycie', - 'gadgets-required-rights' => 'Wymaga {{PLURAL:$2|uprawnienia|następujących uprawnień:}} - -$1', - 'gadgets-required-skins' => 'Działa wyłącznie ze {{PLURAL:$2|skórką $1|skórkami: $1}}.', - 'gadgets-default' => 'Domyślnie włączone dla wszystkich.', - 'gadgets-export' => 'Eksportuj', - 'gadgets-export-title' => 'Eksportowanie gadżetów', - 'gadgets-not-found' => 'Nie odnaleziono gadżetu „$1”.', - 'gadgets-export-text' => 'Jeśli chcesz wyeksportować gadżet „$1” kliknij na przycisk „{{int:gadgets-export-download}}”, zapisz pobrany plik, wejdź na stronę „Special:Import” w docelowej wiki i prześlij go. Następnie dodaj poniższy kod do strony MediaWiki:Gadgets-definition: -
    $2
    -Musisz mieć właściwe uprawnienia na wiki docelowej (w tym do edycji komunikatów systemowych) oraz musi być włączony import na serwer poprzez przesłanie pliku.', - 'gadgets-export-download' => 'Pobierz', -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Bèrto 'd Sèra - * @author Dragonòt - */ -$messages['pms'] = array( - 'gadgets-desc' => "A lassa che j'utent a selession-o dij [[Special:Gadgets|component CSS e JavaScript]] ant ij [[Special:Preferences#mw-prefsection-gadgets|sò gust]]", - 'prefs-gadgets' => 'Component', - 'gadgets-prefstext' => "Ambelessì sota a-i é na lista ëd component ch'a peul vischesse ant sò cont personal. -Sti component-sì a son dzortut basà ansima a JavaScript, donca a venta anans tut che JavaScript a sia avisch ant sò navigator, s'a veul che ij component a travajo. -Ch'a ten-a present che sti component a l'han gnun efet ansima a la pàgina dij \"sò gust\". - -Ch'a nòta ëdcò che a son nen part dël programa MediaWiki e che për sòlit a resto dësvlupà e mantnù da dj'utent dla wiki andova chiel/chila as treuva adess. -J'aministrator locaj a peulo regolé ij component disponibij ën dovrand le pàgine [[MediaWiki:Gadgets-definition|definission dij component]] e [[Special:Gadgets|component]].", - 'gadgets' => 'Component', - 'gadgets-title' => 'Component', - 'gadgets-pagetext' => "Ambelessì-sota a-i é na lista ëd component speciaj che j'utent a peulo butesse avisch ant ij [[Special:Preferences#mw-prefsection-gadgets|sò gust]], conforma a la [[MediaWiki:Gadgets-definition|definission dij component]]. -Sta lista complessiva a smon na stra còmoda për rivé a le pàgine ëd messagi ëd sistema ch'a definisso descrission e còdes ëd minca component.", - 'gadgets-uses' => 'a dòvra', - 'gadgets-required-rights' => 'A ciama {{PLURAL:$1|ël drit|ij drit}} sì-dapress: - -$2', - 'gadgets-required-skins' => 'Disponìbil an {{PLURAL:$2|$1 sla pel|sle pej sì-dapress: $1}}.', - 'gadgets-default' => 'Abilità për tuti coma stàndard', - 'gadgets-export' => 'Esporté', - 'gadgets-export-title' => "Esportassion d'acessòri", - 'gadgets-not-found' => 'Acessòri "$1" pa trovà.', - 'gadgets-export-text' => "Për esporté l'acessòri \$1, sgnaché an sël boton \"{{int:gadgets-export-download}}\", salvé l'archivi dëscarià, andé a Special:Import an sla wiki ëd destinassion e carielo. Peui gionté lòn ch'a-i é sì-sota a la pàgina MediaWiki:Gadgets-definition: -
    \$2
    -A-i é da manca d'avèj ij përmess aproprià an sla wiki ëd destinassion (comprèis ij drit për modifiché ij mëssagi ëd sistema) e l'amportassion da archivi carià a dev esse abilità.", - 'gadgets-export-download' => 'Dëscaria', -); - -/** Western Punjabi (پنجابی) - * @author Khalid Mahmood - */ -$messages['pnb'] = array( - 'gadgets-desc' => 'ورتن والیاں نوں کسٹم [[Special:Gadgets|CSS and JavaScript gadgets]] چنن دیو اپنیاں [[Special:Preferences#mw-prefsection-gadgets|تانگاں]] چ', - 'prefs-gadgets' => 'گیجٹ', - 'gadgets-prefstext' => 'تھلے خاص گیجٹ دی لسٹ اے جینون تسیں اپنے کھاتے ج چلاسکدے او۔ -ایہ گیجٹ جاواسکرپٹ تے چلدے نیں، ایس لئی جاواسکرپٹ تواڈے چ چلنا چائیدا اے اوناں نوں چلان لئی۔ -ایہ گل یاد رکھنا جے ایناں گیجٹ دا اثر ایس تانگ صفے تے نئیں ہوندا۔ - -ایہ وی گل یاد رکھنا جے ایہ خاص گیجٹ میڈیاوکی سوفٹوئیر دا انگ نئیں، تے ایہ بناۓ جاندے نیں یا ورتن والے رکھدے نیں اپنے لوکل وکی تے۔ -مکھۓ تبدیل کرسکدے نیں [[MediaWiki:Gadgets-definition|definitions]] تے [[Special:Gadgets|descriptions]] اپنے کول ہیگے گیجٹاں چ۔', - 'gadgets' => 'گیجٹ', - 'gadgets-title' => 'گیجٹ', - 'gadgets-pagetext' => 'تھلے خاص گیجٹاں دی اک لسٹ جینوں ورتن والے اپنے [[Special:Preferences#mw-prefsection-gadgets|تانگاں والا صفہ]] ، جیویں کے [[MediaWiki:Gadgets-definition|ڈیفینیشن]] چ دسیا گیا اے۔ -ایہ وکھالہ اسان راہ پربندھ سنیعہ دا راہ دسدا اے جیدے چ ہر گیجٹ دا کم کاج تے کوڈ دتا گیا اے۔', - 'gadgets-uses' => 'ورتن آلے', - 'gadgets-required-rights' => '{{PLURAL:$2|$1 حق|تھلے دتے گۓ حق: $1}} دی لوڑ اے۔', - 'gadgets-default' => 'ہر اک لئی ڈیفالٹ راہیں قابل کیتا گیا۔', - 'gadgets-export' => 'برامد کرو', - 'gadgets-export-title' => 'گیجٹ برامد کرو', - 'gadgets-not-found' => '"$1" گیجٹ نئیں لبیا', - 'gadgets-export-text' => '$1 گیجٹ نوں اگے پیجن لئی "{{int:gadgets-export-download}}" بٹن تے کلک کرو، کاپی کیتیاں فاغلاں نوں بچاؤ، -Special:Import تے جاؤ وکی تے ، چرھاؤ اینوں۔ فیر تھلے دتے گۓ نوں MediaWiki:Gadgets-definition page گۓ نوں جوڑو:
    $2
    -تواڈے کول لازمی اجازت ہونی چائیدی وکی تے (پربندھ سنیعے نوں تبدیل کرن دا) تے لیاندے ہوۓ چڑھائیاں فائلاں نوں قابل کیتے۔', - 'gadgets-export-download' => 'ڈاؤنلوڈ', -); - -/** Pashto (پښتو) - * @author Ahmed-Najib-Biabani-Ibrahimkhel - */ -$messages['ps'] = array( - 'prefs-gadgets' => 'ګاډجېټ', - 'gadgets' => 'ګاډجېټ', - 'gadgets-title' => 'ګاډجېټ', - 'gadgets-uses' => 'کارونې', - 'gadgets-export' => 'صادرول', - 'gadgets-not-found' => 'د "$1" ګاډجېټ و نه موندل شو.', - 'gadgets-export-download' => 'ښکته کول', -); - -/** Portuguese (português) - * @author 555 - * @author Hamilton Abreu - * @author Helder.wiki - * @author Malafaya - */ -$messages['pt'] = array( - 'gadgets-desc' => "Permite que os utilizadores seleccionem [[Special:Gadgets|''\"gadgets\"'' em JavaScript e CSS]] personalizados nas suas [[Special:Preferences#mw-prefsection-gadgets|preferências]]", - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => "Segue-se uma lista de ''\"gadgets\"'' especiais que pode activar na sua conta. -Estes ''gadgets'' são baseados principalmente em JavaScript, sendo necessário activar o suporte a JavaScript no seu browser para que funcionem. -Note que não terão efeito nesta página de preferências. - -Note também que estes ''gadgets'' especiais não fazem parte do programa MediaWiki, sendo geralmente desenvolvidos e mantidos por utilizadores na sua wiki local. -Administradores locais podem editar os ''gadgets'' disponíveis usando as [[MediaWiki:Gadgets-definition|definições]] e [[Special:Gadgets|descrições]].", - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => "Segue-se uma lista de ''\"gadgets\"'' que podem ser activados pelos utilizadores nas suas [[Special:Preferences#mw-prefsection-gadgets|preferências]], como estabelecido pelas [[MediaWiki:Gadgets-definition|definições]]. -Este resumo proporciona acesso fácil às páginas das mensagens de sistema que definem a descrição e o código de cada ''gadget''.", - 'gadgets-uses' => 'Utiliza', - 'gadgets-required-rights' => 'Requer {{PLURAL:$2|o seguinte privilégio|os seguintes privilégios}}: - -$1', - 'gadgets-required-skins' => 'Disponível {{PLURAL:$2|no tema $1|nos seguintes temas: $1}}', - 'gadgets-default' => 'Activado para todos por padrão.', - 'gadgets-export' => 'Exportar', - 'gadgets-export-title' => 'Exportação de gadget', - 'gadgets-not-found' => 'O gadget "$1" não foi encontrado.', - 'gadgets-export-text' => 'Para exportar o gadget $1, clique o botão "{{int:gadgets-export-download}}", grave o ficheiro transferido, -vá à página Special:Import na wiki de destino e faça o upload do ficheiro. Depois adicione o seguinte à página MediaWiki:Gadgets-definition: -
    $2
    -Na wiki de destino, tem de ter as permissões necessárias (incluindo o privilégio de editar mensagens de sistema) e têm de ser permitidas importações por upload de ficheiros.', - 'gadgets-export-download' => 'Download', -); - -/** Brazilian Portuguese (português do Brasil) - * @author Eduardo.mps - * @author Giro720 - * @author GoEThe - * @author Helder.wiki - * @author Rafael Vargas - */ -$messages['pt-br'] = array( - 'gadgets-desc' => 'Permite aos utilizadores selecionarem [[Special:Gadgets|"gadgets" JavaScript e CSS]] personalizados nas suas [[Special:Preferences#mw-prefsection-gadgets|preferências]]', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Segue-se uma lista de "gadgets" que podem ser ativados em sua conta. -Tais gadgets normalmente são baseados em JavaScript, o que faz com que seja necessário que o suporte a JavaScript esteja ativado em seu navegador para que os mesmos funcionem. -Note que os gadgets não possuem efeito nesta página (a página de preferências). - -Note também que tais gadgets não são parte do software MediaWiki, geralmente sendo desenvolvidos e mantidos por usuários de sua wiki local. -Administradores locais podem editar os gadgets disponíveis através de [[MediaWiki:Gadgets-definition|definições]] e [[Special:Gadgets|descrições]].', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Segue-se uma lista de "gadgets" que podem ser ativados por utilizadores através de [[Special:Preferences#mw-prefsection-gadgets|suas páginas de preferências]], definidos em [[MediaWiki:Gadgets-definition|definições]]. -Esta visão geral proporciona um acesso fácil para as mensagens de sistema que definem as descrições e códigos de cada um dos gadgets.', - 'gadgets-uses' => 'Utiliza', - 'gadgets-required-rights' => 'Requer {{PLURAL:$2|o seguinte privilégio|os seguintes privilégios}}: - -$1', - 'gadgets-required-skins' => 'Disponível {{PLURAL:$2|no skin $1|nos seguintes skins: $1}}.', - 'gadgets-default' => 'Ativado para todos por padrão.', - 'gadgets-export' => 'Exportar', - 'gadgets-export-title' => 'Exportação de gadget', - 'gadgets-not-found' => '*Gadget "$1" não encontrado.', - 'gadgets-export-text' => 'Para exportar o gadget $1, clique no botão "{{int:gadgets-export-download}}", salve o arquivo transferido, -vá à página Special:Import na wiki de destino e faça o upload do arquivo. Depois adicione o seguinte à página MediaWiki:Gadgets-definition: -
    $2
    -Na wiki de destino, você deve ter as permissões necessárias (incluindo o privilégio de editar mensagens de sistema) e a importação por upload de arquivos deve estar habilitada na wiki.', - 'gadgets-export-download' => 'Baixar', -); - -/** Quechua (Runa Simi) - * @author AlimanRuna - */ -$messages['qu'] = array( - 'prefs-gadgets' => 'Yanapaqchakuna', - 'gadgets' => 'Yanapaqchakuna', - 'gadgets-title' => 'Yanapaqchakuna', -); - -/** Romanian (română) - * @author Cin - * @author Firilacroco - * @author KlaudiuMihaila - * @author Minisarm - * @author Stelistcristi - */ -$messages['ro'] = array( - 'gadgets-desc' => 'Permite utilizatorilor să își aleagă [[Special:Gadgets|gadgeturi CSS și JavaScript]] în [[Special:Preferences#mw-prefsection-gadgets|preferințele]] lor', - 'prefs-gadgets' => 'Gadgeturi', - 'gadgets' => 'Gadgeturi', - 'gadgets-title' => 'Gadgeturi', - 'gadgets-uses' => 'Utilizări', - 'gadgets-required-rights' => 'Necesită {{PLURAL:$2|următorul drept|următoarele drepturi}}: - -$1', - 'gadgets-required-skins' => 'Disponibil pe {{PLURAL:$2|tema $1|următoarele teme: $1}}.', - 'gadgets-default' => 'Activat pentru toată lumea în mod implicit.', - 'gadgets-export' => 'Exportă', - 'gadgets-export-title' => 'Exportul de gadgeturi', - 'gadgets-not-found' => 'Gadgetul „$1” nu a fost găsit.', - 'gadgets-export-download' => 'Descarcă', -); - -/** tarandíne (tarandíne) - * @author Joetaras - */ -$messages['roa-tara'] = array( - 'gadgets-desc' => "Lasse scacchià a l'utinde le [[Special:Gadgets|gadget CSS e JavaScript]] personalizzate jndr'à le lore [[Special:Preferences#mw-prefsection-gadgets|preferenze]]", - 'prefs-gadgets' => 'Gadget', - 'gadgets-prefstext' => "Sotte stè 'n'elenghe de gadget speciale ca tu abbilità sus a 'u cunde tune. -Ste riale sò assaije basate sus a Javascript, accussì Javascript addà essere abbilitate jndr'à 'u browser tune pe le fà fatià. -Vide che ste riale non ge tènene effette sus a sta pàgene de preferenze. - -Pò vide pure ca ste gadget non ge sonde parte d'u software de MediaUicchi e sonde normalmende sviluppate e mandenute da l'utinde d'a Uicchipèdie locale tune. -Le amministrature locale ponne cangià le gadget disponibbele ausanne le [[MediaWiki:Gadgets-definition|definiziune]] e le [[Special:Gadgets|descriziune]].", - 'gadgets' => 'Gadget', - 'gadgets-title' => 'Gadget', - 'gadgets-pagetext' => "Sotte stè 'n'elenghe de gadget speciale ca l'utinde ponne abbilità sus a lore [[Special:Preferences#mw-prefsection-gadgets|pàgene de le preferenze]], cumme definite da le [[MediaWiki:Gadgets-definition|definiziune]]. -Stu riepileghe prevede 'nu facile facile accesse a le pàggene de le messagge d'u sisteme ca definiscene ogne descrizione e codece de le gadget.", - 'gadgets-uses' => 'Ause', - 'gadgets-required-rights' => 'Richiede {{PLURAL:$2|deritte|deritte}}: - -$1', - 'gadgets-required-skins' => "Disponibbele sus a {{PLURAL:$2|$1 'u skin|le seguende skin: $1}}.", - 'gadgets-default' => 'Abbilete pe ogneune pe default.', - 'gadgets-export' => 'Esporte', - 'gadgets-export-title' => "Esporte 'u gadget", - 'gadgets-not-found' => 'Gadget "$1" none acchiate.', - 'gadgets-export-text' => "Pe esportà 'u \$1 gadget, cazze sus a 'u buttone \"{{int:gadgets-export-download}}\", reggistre 'u file scarecate, veje'a pàgene Special:Import sus 'a Uicchi de destinazione e carechele. Pò aggiunge 'a seguende pàgene MediaWiki:Gadgets-definition: -
    \$2
    -Tu a ave le permesse appropriate sus 'a Uicchi de destinazione (ingludenne le deritte a cangià le messagge d'u sisteme) e 'a 'mbortazione da file carecate adda essere abbilitate.", - 'gadgets-export-download' => 'Scareche', -); - -/** Russian (русский) - * @author Ahonc - * @author Eleferen - * @author Ignatus - * @author Illusion - * @author MaxSem - * @author VasilievVV - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'gadgets-desc' => 'Позволяет участникам выбирать в своих [[Special:Preferences#mw-prefsection-gadgets|настройках]] те или иные [[Special:Gadgets|CSS- и JavaScript-гаджеты]]', - 'prefs-gadgets' => 'Гаджеты', - 'gadgets-prefstext' => 'Ниже приведён список специальных гаджетов, которые вы можете включить для своей учётной записи. -Эти гаджеты преимущественно основаны на JavaScript, поэтому вы должны включить JavaScript в своём браузере для того, чтобы они работали. -Учтите, что эти гаджеты не работают на странице настроек. - -Также учтите, что эти гаджеты не являются частью MediaWiki и обычно разрабатываются и обслуживаются участниками вашей локальной вики. -Администраторы могут изменять список гаджетов с помощью страниц [[MediaWiki:Gadgets-definition|определений]] и [[Special:Gadgets|описаний]].', - 'gadgets' => 'Гаджеты', - 'gadgets-title' => 'Гаджеты', - 'gadgets-pagetext' => 'Ниже приведён список гаджетов, которые участники могут включить на своей странице настроек, в соответствии со списком на странице [[MediaWiki:Gadgets-definition|определений]]. -Этот список позволяет легко получить доступ к страницам системных сообщений, определяющих описания и исходные коды гаджетов.', - 'gadgets-uses' => 'Использует', - 'gadgets-required-rights' => '{{PLURAL:$2|Требуется право|Требуются права}}: - -$1', - 'gadgets-required-skins' => 'Доступен при {{PLURAL:$2|теме оформления $1|следующих темах оформления: $1}}.', - 'gadgets-default' => 'Включён для всех по умолчанию.', - 'gadgets-export' => 'Экспортировать', - 'gadgets-export-title' => 'Экспорт гаджета', - 'gadgets-not-found' => 'Гаджет «$1» не найден.', - 'gadgets-export-text' => 'Для экспорта гаджета $1, нажмите кнопку «{{int:gadgets-export-download}}», сохраните загруженный файл, -перейдите на страницу Special:Import целевой вики и загрузите файл. Затем добавьте следующие строки на страницу MediaWiki:Gadgets-definition: -
    $2
    -Вы должны иметь соответствующие разрешения в целевой вики (в том числе право на редактирование системных сообщений), также на сервере должна быть включена настройка импорта из файлов.', - 'gadgets-export-download' => 'Загрузить', -); - -/** Rusyn (русиньскый) - * @author Gazeb - */ -$messages['rue'] = array( - 'gadgets-desc' => 'Уможнює хоснователям собі выбрати [[Special:Gadgets|CSS і JavaScript додаток]] у своїм [[Special:Preferences#mw-prefsection-gadgets|наставлїню]].', - 'prefs-gadgets' => 'Додаткы', - 'gadgets-prefstext' => 'Ниже є перегляд шпеціалный додатків, котры собі можете у своїм контї запнути. -Тоты додаткы суть основаны переважно на JavaScript-і, также є про їх функчность треба мати запнутый JavaScript в переглядачі. -Додаткы не суть аплікованы на тій сторінцї наставлїня. - -Усвідомте собі тыж, же шпеціалны додаткы не суть частёв софтверу MediaWiki і суть сторёваны і адміністрованы хоснователями той вікі. -Локалны адміністраторы можуть управляти [[MediaWiki:Gadgets-definition|дефініції]] і [[Special:Gadgets|пописы]] доступных додатків.', - 'gadgets' => 'Додаткы', - 'gadgets-title' => 'Додаткы', - 'gadgets-pagetext' => 'Ниже є перегляд шпеціалных додатків, котры собі хоснователї можуть запнути у своїм [[Special:Preferences#mw-prefsection-gadgets|наставлїню]]. Їх список ся дасть управляти на сторінцї [[MediaWiki:Gadgets-definition]]. -Тот перегляд додавать простый приступ к сістемным повідомлїням, котры дефінують код і попис каждого додатку.', - 'gadgets-uses' => 'Хоснує', - 'gadgets-required-rights' => 'Потребує слїдуючі {{PLURAL:$2|права}}: - -$1', - 'gadgets-required-skins' => 'Доступне {{PLURAL:$2|про взгляд $1|про слїдуючі взгляды: $1}}.', - 'gadgets-default' => 'Імпліцітно запнуте вшыткым.', - 'gadgets-export' => 'Експортовати', - 'gadgets-export-title' => 'Експорт додатку', - 'gadgets-not-found' => 'Додато „$1“ не найдженый.', - 'gadgets-export-text' => 'Кідь хочете експортовати додаток $1, кликните на клапку „{{int:gadgets-export-download}}“, уложте скачаный файл, на цілёвій вікі перейдьте на сторінку Special:Import і файл начітайте. Пак на сторінку MediaWiki:Gadgets-definition придайте наступне: -
    $2
    -На цілёвій вікі мусите мати одповідны права (шпеціално права едітовати сістемны повідомлїня) і мусить быти поволеный імпорт з файлу.', - 'gadgets-export-download' => 'Скачати', -); - -/** Sanskrit (संस्कृतम्) - * @author Shubha - */ -$messages['sa'] = array( - 'gadgets-desc' => 'योजकाः स्वस्य [[Special:Preferences#mw-prefsection-gadgets|इष्टतमानि]] इत्यत्र [[Special:Gadgets|CSS जावालिपि-उपकरणं च]] चीयताम् ।', - 'prefs-gadgets' => 'उपकरणानि', - 'gadgets-prefstext' => 'अधः विशेषोपकरणानां सूची प्रदत्ता अस्ति याः भवान् भवतः लेखायां सक्रियाः कर्तुम् अर्हति । -एतानि जावालिप्याधारितानि विद्यन्ते, अतः कार्यकरणाय भवतः जालगवेषके जावालिपिः सक्रिया करणीया । -ज्ञायतां यत् एतानि उपकरणानि भवतः इष्टतमानि इत्येतस्मिन् पृष्ठे कार्यं न कुर्वन्ति । - -इदमपि जानातु यत् एतानि विशेषोपकरणानि विकिमाध्यमतन्त्रांशस्य भागभूताः न, भवतः स्थानीयविक्यामेव योजकैः निर्मितं निरूह्यमानञ्च वर्तते । -विद्यमानानाम् उपकरणानां [[MediaWiki:Gadgets-definition|definitions]] [[Special:Gadgets|descriptions]] च स्थानीयप्रबन्धकैः सम्पादयितुं शक्यते ।', - 'gadgets' => 'उपकरणानि', - 'gadgets-title' => 'उपकरणानि', - 'gadgets-pagetext' => '[[MediaWiki:Gadgets-definition|निर्वचन]]स्य अनुगुणम् अधः विशेषोपकरणानाम् अवली निर्दिष्टा अस्ति यानि भवतः [[Special:Preferences#mw-prefsection-gadgets|इष्टतमानि]] इत्यस्मिन् पृष्ठे सक्रियाणि कर्तुम् अर्हति । -इयं समीक्षा सर्वेषाम् उपकरणानां विवरणं कूटसङ्ख्यां च तन्त्रसन्देशे सुलभतया प्राप्तुं सहकरोति ।', - 'gadgets-uses' => 'उपयोगः', - 'gadgets-required-rights' => 'अधोनिर्दिष्टम् अपेक्षते {{PLURAL:$2|अधिकारः|अधिकारः}}: - -$1', - 'gadgets-required-skins' => 'उपलभ्यते {{PLURAL:$2|$1 विन्यासः|अधोनिर्दिष्टः विन्यासः: $1}}.', - 'gadgets-default' => 'पूर्वनिर्दिष्टरूपेण सर्वेषां कृते सक्रियं विद्यते।', - 'gadgets-export' => 'निर्यातः', - 'gadgets-export-title' => 'उपकरणनिर्यातः', - 'gadgets-not-found' => '"$1" उपकरणं न प्राप्तम् ।', - 'gadgets-export-text' => '$1 उपकरणस्य निर्याताय "{{int:gadgets-export-download}}" पिञ्जः नोदनीयः, अवारोपिता सञ्चिका रक्ष्यताम्, लक्ष्यविक्यां Special:Import प्रति गम्यताम् उपारोप्यताञ्च । तत्पश्चात् MediaWiki:Gadgets-definition इत्यस्मिन् अधोनिर्दिष्टं योज्यताम् :
    $2
    -लक्ष्यविक्यां भवतः उप्युक्ताधिकारः स्यात् (तन्त्रसन्देशसम्पादनस्य अधिकारः अन्तर्भूतः) सञ्चिकोपरोपणात् आयातः सक्षमः करणीयः', - 'gadgets-export-download' => 'अवतार्यताम्', -); - -/** Sakha (саха тыла) - * @author HalanTul - */ -$messages['sah'] = array( - 'gadgets-desc' => 'Бэйэлэрин [[Special:Preferences#mw-prefsection-gadgets|туруорууларыгар]] кыттааччылар [[Special:Gadgets|CSS уонна JavaScript гаджеттары]] холбонуохтарын сөп.', - 'prefs-gadgets' => 'Гаджеттар', - 'gadgets-prefstext' => 'Аллара аналлаах гаджеттар испииһэктэрэ көстөллөр. Балары бэйэҥ бэлиэтэммит ааккынан киирэн туһаныаххын сөп. -Бу үнүстүрүмүөннэр үксүлэрэ JavaScript көмөтүнэн үлэлииллэр, онон туһаныаххын баҕарар буоллаххына JavaScript холбоо. -Бу гаджеттар туроуорууларгын уларытар сирэйгэр үлэлээбэттэрин умнума. - -Өссө маны умнума: бу гаджеттар MediaWiki сорҕото буолбатахтар, кинилэри кыттааччылар бэйэлэрэ айаллар уонна көрөллөр-истэллэр. Дьаһабыллар гаджеттар испииһэктэрин [[MediaWiki:Gadgets-definition|быһаарыы сирэйдэр]] уонна [[Special:Gadgets|ойуулуур сирэйдэр]] көмөлөрүнэн уларытыахтарын сөп.', - 'gadgets' => 'Гаджеттар', - 'gadgets-title' => 'Гаджеттар', - 'gadgets-pagetext' => 'Манна [[MediaWiki:Gadgets-definition|быһаарыы сирэйигэр]] суруллубутун курдук [[Special:Preferences#mw-prefsection-gadgets|туруоруу сирэйин]] көмөтүнэн холбонуон сөптөөх гаджеттар тиһиктэрэ көрдөрүлүннэ. -Этот список позволяет легко получить доступ к страницам системных сообщений, определяющих описания и исходные коды гаджетов.', - 'gadgets-uses' => 'Туһанар', - 'gadgets-required-rights' => '$2 бэйэбил (быраап) ирдэнэр: «$1»', - 'gadgets-default' => 'Барыларыгар холбоно сылдьар.', - 'gadgets-export' => 'Экспортаа', - 'gadgets-export-title' => 'Ҕааддьыты таһаарыы (экспорт)', - 'gadgets-not-found' => '"$1" ҕааддьыт көстүбэтэ.', - 'gadgets-export-text' => '$1 ҕааддьыты таһаарарга (экспорт), «{{int:gadgets-export-download}}» тимэҕи баттаа, хачайдаммыт билэни бигэргэт, -онтон угуохтаах биикиҥ Special:Import сирэйигэр киирэн уган кэбис. Ол кэннэ MediaWiki:Gadgets-definition сирэйгэ бу устуруокалары эп: -
    $2
    -Угуохтаах биикигэр аналлаах көҥүллээх буолуохтааххын (ол иһигэр тиһилик биллэриилэрин эрэдээксийэлиир кыах), эбиитин сиэрбэргэ билэни киллэрии көҥүллэммит буолуохтаах.', - 'gadgets-export-download' => 'Хачайдааһын', -); - -/** Samogitian (žemaitėška) - * @author Hugo.arg - */ -$messages['sgs'] = array( - 'gadgets' => 'Rakondā', -); - -/** Sinhala (සිංහල) - * @author Budhajeewa - * @author නන්දිමිතුරු - * @author පසිඳු කාවින්ද - * @author බිඟුවා - */ -$messages['si'] = array( - 'gadgets-desc' => 'උපයෝග්‍ය [[Special:Gadgets|CSS හා ජාවාස්ක්‍රිප්ට් මෙවලම්]] ඔවුන්ගේ [[Special:Preferences#mw-prefsection-gadgets|අභිරුචීන්හිදී]] තෝරාගැනුමට පරිශීලකයන් හට ඉඩ සලසයි', - 'prefs-gadgets' => 'මෙවලම්', - 'gadgets-prefstext' => 'පහත දැක්වෙන්නේ ඔබේ ගිණුම සඳහා සක්‍රීය කළ හැකි විශේෂ ගැජටයන් ලයිස්තුවකි. -මෙම ගැජටයන් බොහෝ විට JavaScript මත පදනම් වේ, එම නිසා ඒවා ක්‍රියාත්මක වීම සඳහා ඔබේ පිරික්සකයේ JavaScript සක්‍රීය කොට තිබිය යුතුය. -මෙම රිසිකෙරුම් පිටුව තුළ මෙම ගැජටයන් ක්‍රියාත්මක නොවන බව සලකන්න. - -මෙම විශේෂ ගැජටයන් MediaWiki මෘදුකාංගයේ කොටසක් නොවන බව සලකන්න, බොහෝ විට ඒවා ඔබේ ප්‍රාදේශීය විකියේ පරිශීලකයන් විසින් නිර්මාණය කර නඩත්තු කරනු ලැබේ. -ප්‍රාදේශික පරිපාලකයන් හට ගැජටයන්හි [[MediaWiki:Gadgets-definition|අර්ථ දැක්වීම්]] හා [[Special:Gadgets|පැහැදිළිකෙරුම්]] වෙනස් කළ හැක.', - 'gadgets' => 'මෙවලම්', - 'gadgets-title' => 'මෙවලම්', - 'gadgets-pagetext' => 'පහත දැක්වෙන්නේ [[MediaWiki:Gadgets-definition|අර්ථදැක්වීම්]] කරන ලද ආකාරය අනුව පරිශීලකයන්ට ඔවුන්ගේ [[Special:Preferences#mw-prefsection-gadgets|රිසිකෙරුම් පිටුව]] මතදී සක්‍රීය කළ හැකි විශේෂ ගැජටයන් ලයිස්තුවකි. -මෙම දළ විශ්ලේෂණය සියළු ගැජටයන්ගේ විස්තර කෙරුම් හා කේතයන් අර්ථ දක්වන පද්ධති පණිවුඩ පිටු වෙත පහසු ළඟාවීම් ලබාදේ.', - 'gadgets-uses' => 'පරිශීලනය කරයි', - 'gadgets-required-rights' => 'මෙම {{PLURAL:$2|හිමිකම|හිමිකම්}} අවශ්‍ය වේ: - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 චර්මයෙන්|චර්මයන්ගෙන් ලබා ගත හැක: $1}}.', - 'gadgets-default' => 'සාමාන්‍යයෙන් සෑම දෙනාටම සක්‍රීය කර ඇත.', - 'gadgets-export' => 'අපනයනය කරන්න', - 'gadgets-export-title' => 'ගැජටය අපනයනය කරන්න', - 'gadgets-not-found' => '"$1" ගැජටය හමුවුනේ නැත.', - 'gadgets-export-text' => '$1 ගැජටය අපනයනය කෙරුමට, "{{int:gadgets-export-download}}" බොත්තම මත ක්ලික් කර අදාළ ගොනුව බා සුරැකගන්න. අනතුරුව ගමනාන්ත විකියේදී Special:Import වෙත ගොස් එය පටවන්න. පසුව MediaWiki:Gadgets-definition පිටුවට පහත දැක්වෙන්න ඇතුලත් කරන්න: - -
    $2
    - -මේ සඳහා ගමනාන්ත විකියේදී ඔබ සතුව අවසරයන් කිහිපයක් (පද්ධති පණිවුඩ වෙනස් කිරීම ඇතුළුව) සහ ගොනුවකින් ආනයනය කිරීම සක්‍රීයව තිබිය යුතුය.', - 'gadgets-export-download' => 'බාගන්න', -); - -/** Slovak (slovenčina) - * @author Helix84 - * @author Teslaton - */ -$messages['sk'] = array( - 'gadgets-desc' => 'Umožňuje používateľovi vybrať [[Special:Gadgets|CSS a JavaScriptové nástroje]] vo svojich [[Special:Preferences#mw-prefsection-gadgets|nastaveniach]]', - 'prefs-gadgets' => 'Nástroje', - 'gadgets-prefstext' => 'Dolu je zoznam špeciálnych nástrojov, ktoré môžete zapnúť v rámci svojho účtu. -Tieto nástroje sú zväčša založené na JavaScripte, takže aby fungovali, musíte mať v prehliadači JavaScript zapnutý. -Nástroje nemajú vplyv na túto stránku nastavení. - -Majte tiež na pamäti, že tieto nástroje nie sú súčasťou MediaWiki a zvyčajne ich vyvíjajú a udržiavajú používatelia vašej lokálnej wiki. -Lokálni správcovia môžu upraviť zoznam dostupných nástrojov pomocou [[MediaWiki:Gadgets-definition|definícií]] a [[Special:Gadgets|popisov]].', - 'gadgets' => 'Nástroje', - 'gadgets-title' => 'Nástroje', - 'gadgets-pagetext' => 'Dolu je zoznam špeciálnych nástrojov, ktoré môžu používatelia zapnúť v rámci svojho účtu na svojej stránke [[Special:Preferences#mw-prefsection-gadgets|nastavení]]. Tento zoznam definuje stránka [[MediaWiki:Gadgets-definition]]. Tento prehľad poskytuje jednoduchý prístup k systémovým stránkam, ktoré definujú popis a kód každého z nástrojov.', - 'gadgets-uses' => 'Použitia', - 'gadgets-required-rights' => 'Vyžaduje nasledovné {{PLURAL:$2|právo|práva}}: - -$1', - 'gadgets-required-skins' => 'Dostupné {{PLURAL:$2|pre tému vzhľadu $1|pre nasledovné témy vzhľadu: $1}}.', - 'gadgets-default' => 'Povolené pre každého v predvolenom nastavení.', - 'gadgets-export' => 'Exportovať', - 'gadgets-export-title' => 'Export nástroja', - 'gadgets-not-found' => 'Nástroj „$1” nebol nájdený.', - 'gadgets-export-text' => 'Ak chcete exportovať nástroj $1, kliknite na tlačidlo „{{int:gadgets-export-download}}“, uložte stiahnutý súbor, - choďte na stránku Special:Import na cieľovej wiki a nahrajte ho. Potom pridajte nasledujúce na stránku MediaWiki:Gadgets-definition: -
    $2
    -Musíte mať príslušné oprávnenia na cieľovej wiki (vrátane práva na úpravu systémových správ) a import z nahraného súboru musí byť povolený.', - 'gadgets-export-download' => 'Stiahnuť', -); - -/** Slovenian (slovenščina) - * @author Dbc334 - * @author Smihael - */ -$messages['sl'] = array( - 'gadgets-desc' => 'Omogoča uporabnikom, da vključijo [[Special:Gadgets|vtičnike CSS in JavaScript]] v [[Special:Preferences#mw-prefsection-gadgets|nastavitvah]]', - 'prefs-gadgets' => 'Vtičniki', - 'gadgets-prefstext' => 'Prikazan je seznam posebnih vtičnikov, ki jih lahko omogočite za vaš račun. -Večinoma temeljijo na JavaScriptu, zato mora biti za njihovo delovanje omogočen v vašem brskalniku. -Ti vtičniki nimajo nobenega vpliva na to nastavitveno stran. - -Prav tako pomnite, da ti vtičniki niso del programja MediaWiki in jih običajno razvijajo ter vzdržujejo uporabniki na vašem lokalnem wikiju. -Administratorji lahko uredite seznam vtičnikov z uporabo [[MediaWiki:Gadgets-definition|opredelitev]] in [[Special:Gadgets|posebne strani]].', - 'gadgets' => 'Vtičniki', - 'gadgets-title' => 'Vtičniki', - 'gadgets-pagetext' => 'Spodaj je seznam posebnih vtičnikov (opredeljenih z [[MediaWiki:Gadgets-definition|definicijami]]), ki jih lahko uporabniki vključijo v svojih [[Special:Preferences#mw-prefsection-gadgets|nastavitvah]]. -Ta pregled omogoča enostaven dostop do sistema za nastavljanje opisa in kode vsakega vtičnika posebej.', - 'gadgets-uses' => 'Uporablja', - 'gadgets-required-rights' => 'Zahteva {{PLURAL:$2|naslednjo pravico|naslednji pravici|naslednje pravice}}: - -$1', - 'gadgets-required-skins' => 'Na voljo na {{PLURAL:$2|koži $1|naslednjih kožah: $1}}.', - 'gadgets-default' => 'Privzeto omogočeno za vsakogar.', - 'gadgets-export' => 'Izvozi', - 'gadgets-export-title' => 'Izvoz vtičnika', - 'gadgets-not-found' => 'Vtičnika »$1« ni mogoče najti.', - 'gadgets-export-text' => 'Za izvoz vtičnika $1 kliknite na gumb »{{int:gadgets-export-download}}«, shranite preneseno datoteko, -pojdite na Special:Import na ciljnem wikiju in jo naložite. Nato dodajte naslednjo vrstico na stran MediaWiki:Gadgets-definition: -
    $2
    -Na ciljnem wikiju morate imeti ustrezna dovoljenja (vključno s pravico urejanja sistemskih sporočil) in omogočeni morajo biti uvozi iz naloženih datotek.', - 'gadgets-export-download' => 'Prenesi', -); - -/** Albanian (shqip) - * @author Mikullovci11 - * @author Olsi - * @author Vinie007 - */ -$messages['sq'] = array( - 'gadgets-desc' => 'Lejin përdoruesit të zgjedhin [[Special:Gadgets|CSS dhe JavaScript gadgets]] në [[Special:Preferences#mw-prefsection-gadgets|preferencat]] e tyre', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => "Më poshtë është një listë e mjeteve shtesë speciale që mund të aktivizohen për llogarinë tuaj. -Këto mjete shtesë janë të bazuara kryesisht në JavaScript, pra JavaScript-i duhet aktivizuar në shfletuesin tuaj që ato të punojnë. -Vini re se këto mjete shtesë nuk do të kenë efekt në këtë faqe preferencash. - -Gjithashtu vini re se këto mjete shtesë speciale nuk janë pjesë e softuerit MediaWiki, dhe zakonisht janë zhvilluar dhe mirëmbajtur nga përdoruesit në wiki-n tuaj lokal. -Administratorët lokalë mund t'i ndryshojnë [[MediaWiki:Gadgets-definition|përkufizimet]] dhe [[Special:Gadgets|përshkrimet]] e mjeteve shtesë të mundshme.", - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Më poshtë është një listë e mjeteve shtesë speciale që mund të aktivizohen në [[Special:Preferences#mw-prefsection-gadgets|faqen e preferencave]] të tyre, siç është përcaktuar nga [[MediaWiki:Gadgets-definition|përkufizimet]]. -Kjo pasqyrë siguron qasje të lehtë në faqet e mesazheve të sistemit që përkufizon përshkrimin e çdo mjeti shtesë dhe kodin.', - 'gadgets-uses' => 'Përdorues', - 'gadgets-required-rights' => 'Kërkon {{PLURAL:$2|të drejtën|të drejtat}} e mëposhtme: - -$1', - 'gadgets-required-skins' => 'E mundshme në {{PLURAL:$2|$1 pamje|pamjet e mëposhtme: $1}}.', - 'gadgets-default' => 'Aktivizuar për të gjithë nga default.', - 'gadgets-export' => 'Eksporto', - 'gadgets-export-title' => 'Eksport mjetesh shtesë', - 'gadgets-not-found' => 'Mjeti shtesë "$1" nuk u gjet.', - 'gadgets-export-text' => 'Për eksportimin e mjetit shtesë $1, klikoni në butonin "{{int:gadgets-export-download}}", ruani skedën e shkarkuar, -shkoni tek Speciale:Import në wiki-n e destinuar dhe ngarkojeni. Më pas shtoni atë që shihni më poshtë tek MediaWiki: -
    $2
    -Ju duhet të keni leje të përshtatshme në wiki-n e destinuar (duke përfshirë të drejtën e redaktimit të mesazheve të sistemit) dhe importi nga ngarkimet e skedave duhet të jetë i aktizuar.', - 'gadgets-export-download' => 'Shkarko', -); - -/** Serbian (Cyrillic script) (српски (ћирилица)‎) - * @author Millosh - * @author Nikola Smolenski - * @author Rancher - * @author Жељко Тодоровић - */ -$messages['sr-ec'] = array( - 'gadgets-desc' => 'Омогућава корисницима да изаберу прилагођене [[Special:Gadgets|CSS и јаваскрипт гаџете]] у својим [[Special:Preferences#mw-prefsection-gadgets|подешавањима]]', - 'prefs-gadgets' => 'Гаџети', - 'gadgets-prefstext' => 'Испод се налази списак посебних гаџета које можете да омогућите на свом налогу. -Ове справице су углавном засноване на јаваскрипти, тако да она мора бити омогућена. -Гаџети неће утицати на страницу за подешавање. - -Они нису део софтвера Медијавики, већ се развијају и одржавају од стране корисника ваше викије. -Администратори могу да измене [[MediaWiki:Gadgets-definition|значења]] и [[Special:Gadgets|описе]] доступних гаџета.', - 'gadgets' => 'Гаџети', - 'gadgets-title' => 'Гаџети', - 'gadgets-pagetext' => 'Испод је списак посебних гаџета које корисници могу да омогуће на својој [[Special:Preferences#mw-prefsection-gadgets|страници за подешавање]], као што је наведено у [[MediaWiki:Gadgets-definition|дефиницијама]]. -Овај преглед пружа брз приступ системским порукама које дефинишу сваки опис и кoд гаџета.', - 'gadgets-uses' => 'Користи', - 'gadgets-required-rights' => 'Захтева {{PLURAL:$2|следеће право|следећа права}}: - -$1', - 'gadgets-required-skins' => 'Доступно у {{PLURAL:$2|теми $1|следећим темама: $1}}.', - 'gadgets-default' => 'Подразумевано укључен за сваког.', - 'gadgets-export' => 'Извези', - 'gadgets-export-title' => 'Извоз гаџета', - 'gadgets-not-found' => 'Гаџет „$1“ није пронађен.', - 'gadgets-export-text' => "Да бисте извезли $1 гаџет, кликните на дугме „{{int:gadgets-export-download}}“, сачувајте преузету датотеку, -пређите на ''Special:Import'' на жељеној викији и пошаљите гаџет. Након тога, додајте следеће на ''MediaWiki:Gadgets-definition'' страницу: -
    $2
    -Морате имати одређене дозволе на наведеној викији (укључујући и право за уређивање системских порука), док увоз преко датотека мора бити омогућен.", - 'gadgets-export-download' => 'Преузми', -); - -/** Serbian (Latin script) (srpski (latinica)‎) - * @author Michaello - * @author Жељко Тодоровић - */ -$messages['sr-el'] = array( - 'gadgets-desc' => 'Omogućava korisnicima da izaberu prilagođene [[Special:Gadgets|CSS i javaskript gadžete]] u svojim [[Special:Preferences#mw-prefsection-gadgets|podešavanjima]]', - 'prefs-gadgets' => 'Gedžeti', - 'gadgets-prefstext' => 'Ispod se nalazi spisak posebnih gadžeta koje možete da omogućite na svom nalogu. -Ove spravice su uglavnom zasnovane na javaskripti, tako da ona mora biti omogućena. -Gadžeti neće uticati na stranicu za podešavanje. - -Oni nisu deo softvera Medijaviki, već se razvijaju i održavaju od strane korisnika vaše vikije. -Administratori mogu da izmene [[MediaWiki:Gadgets-definition|značenja]] i [[Special:Gadgets|opise]] dostupnih gadžeta.', - 'gadgets' => 'gedžeti', - 'gadgets-title' => 'gedžeti', - 'gadgets-pagetext' => 'Ispod je spisak posebnih gadžeta koje korisnici mogu da omoguće na svojoj [[Special:Preferences#mw-prefsection-gadgets|stranici za podešavanje]], kao što je navedeno u [[MediaWiki:Gadgets-definition|definicijama]]. -Ovaj pregled pruža brz pristup sistemskim porukama koje definišu svaki opis i kod gadžeta.', - 'gadgets-uses' => 'koristi se', - 'gadgets-required-rights' => 'Zahteva {{PLURAL:$2|sledeće pravo|sledeća prava}}: - -$1', - 'gadgets-required-skins' => 'Dostupno u {{PLURAL:$2|temi $1|sledećim temama: $1}}.', - 'gadgets-default' => 'Podrazumevano uključen za svakog.', - 'gadgets-export' => 'Izvezi', - 'gadgets-export-title' => 'Izvoz gadžeta', - 'gadgets-not-found' => 'Gadžet „$1“ nije pronađen.', - 'gadgets-export-text' => "Da biste izvezli $1 gadžet, kliknite na dugme „{{int:gadgets-export-download}}“, sačuvajte preuzetu datoteku, -pređite na ''Special:Import'' na željenoj vikiji i pošaljite gadžet. Nakon toga, dodajte sledeće na ''MediaWiki:Gadgets-definition'' stranicu: -
    $2
    -Morate imati određene dozvole na navedenoj vikiji (uključujući i pravo za uređivanje sistemskih poruka), dok uvoz preko datoteka mora biti omogućen.", - 'gadgets-export-download' => 'Preuzmi', -); - -/** Seeltersk (Seeltersk) - * @author Pyt - */ -$messages['stq'] = array( - 'gadgets-desc' => 'Lät Benutsere in hiere [[Special:Preferences#mw-prefsection-gadgets|persöönelke Ienstaalengen]] foardefinierde [[Special:Gadgets|CSS- un JavaScript-Gadgets]] aktivierje', - 'prefs-gadgets' => 'Gadgets', - 'gadgets-prefstext' => 'Lieste fon spezielle Hälpere do der fon älken Benutser aktivierd wäide konnen. -Do Hälpere basierje maastens ap Javascript, deeruum mout Javascript in dän Browser aktivierd weese, uumdät jo funktionierje. -Do Hälpere funktionierje oawers nit ap disse Siede mäd persöönelke Ienstaalengen. - -Buutendät is tou beoachtjen, dät disse Hälpere in Algemeenen nit Paat fon MediaWiki sunt, man maast fon -Benutsere fon lokoale Wikis äntwikkeld un fersuurged wäide. Lokoale Wiki-Administratore konnen do ferföichboare Hälpere beoarbaidje. Deerfoar stounde do [[MediaWiki:Gadgets-definition|Definitione]] un [[Special:Gadgets|Beskrieuwengen]] tou Ferföigenge.', - 'gadgets' => 'Gadgets', - 'gadgets-title' => 'Gadgets', - 'gadgets-pagetext' => 'Lieste fon spezielle Hälpere, do der foar älken Benutser in sien [[Special:Preferences#mw-prefsection-gadgets|persöönelke Ienstaalengen]] ferföichboar sunt, as [[MediaWiki:Gadgets-definition| definierd]]. -Disse Uursicht bjut direkten Tougoang tou do Systemättergjuchte, do ju Beskrieuwenge as uk dän Programkode fon älken Hälper änthoolde.', - 'gadgets-uses' => 'Benutsed', -); - -/** Sundanese (Basa Sunda) - * @author Irwangatot - */ -$messages['su'] = array( - 'gadgets-desc' => 'Matak bisa pamaké milih [[Special:Gadgets|Gajet CSS sarta Javascript]] ngaliwatan [[Special:Preferences#mw-prefsection-gadgets|Préferénsi]] maranéhanana', -); - -/** Swedish (svenska) - * @author Ainali - * @author Boivie - * @author Cohan - * @author Diupwijk - * @author Lejonel - * @author M.M.S. - */ -$messages['sv'] = array( - 'gadgets-desc' => 'Låter användare aktivera personliga [[Special:Gadgets|CSS- och JavaScript-finesser]] genom sina [[Special:Preferences#mw-prefsection-gadgets|inställningar]]', - 'prefs-gadgets' => 'Finesser', - 'gadgets-prefstext' => 'Härunder finns en lista över finesser som du kan aktivera för ditt konto. -De flesta funktionerna är baserade på JavaScript, så du måste ha JavaScript aktiverat i din webbläsare för att de ska fungera. -Notera att de här tilläggsfunktionerna inte kommer ha någon effekt den här inställningssidan. - -Notera också att dessa finesser inte är en del av MediaWiki-programvaran, och är för det mesta utvecklade och underhållna av användare på den här wikin. -Lokala administratörer kan redigera [[MediaWiki:Gadgets-definition|definitionerna]] och [[Special:Gadgets|beskrivningarna]] av de tillgängliga finesserna.', - 'gadgets' => 'Finesser', - 'gadgets-title' => 'Finesser', - 'gadgets-pagetext' => 'Härunder finns en lista över finesser som användare kan aktivera i sina [[Special:Preferences#mw-prefsection-gadgets|inställningar]], definierad av [[MediaWiki:Gadgets-definition|definieringarna]]. -Den här översikten ger enkel åtkomst till de systemmeddelanden som definierar beskrivningarna och koden för varje finess.', - 'gadgets-uses' => 'Använder', - 'gadgets-required-rights' => 'Kräver följande {{PLURAL:$2|rättighet|rättigheter}}: - -$1', - 'gadgets-required-skins' => 'Tillgängligt i {{PLURAL:$2|$1-utseendet|följande utseenden: $1}}.', - 'gadgets-default' => 'Som standard aktiverat för alla.', - 'gadgets-export' => 'Exportera', - 'gadgets-export-title' => 'Exportera finess', - 'gadgets-not-found' => 'Tillägg "$1" hittades inte.', - 'gadgets-export-text' => 'För att exportera tillägg $1, klicka på "{{int:gadgets-export-download}}"-knappen, spara den nedladdade filen, gå till Special:Importera på destinationswikin och ladda upp den. Lägg sedan till följande till MediaWiki:Gadgets-definition sidan: -
    $2
    -Du måste ha tillräckliga behörigheter på destinationswikin (inklusive möjlighet att ändra systemmeddelanden) och att importera från filuppladningar måste vara aktiverad.', - 'gadgets-export-download' => 'Ladda ner', -); - -/** Swahili (Kiswahili) - * @author Kwisha - * @author Stephenwanjau - */ -$messages['sw'] = array( - 'gadgets' => 'Vifaa', - 'gadgets-title' => 'Vifaa', - 'gadgets-uses' => 'Inatumia', - 'gadgets-export-download' => 'Pakua', -); - -/** Tamil (தமிழ்) - * @author TRYPPN - * @author மதனாஹரன் - */ -$messages['ta'] = array( - 'prefs-gadgets' => 'கருவிகள்', - 'gadgets' => 'கருவிகள்', - 'gadgets-title' => 'கருவிகள்', - 'gadgets-uses' => 'பயன்பாடுகள்', - 'gadgets-required-rights' => 'பின்வரும் {{PLURAL:$2|உரிமை|உரிமைகள்}} வேண்டப்படுகின்றன: - -$1', - 'gadgets-required-skins' => '{{PLURAL:$2|$1 தோலில்|பின்வரும் தோல்களில்: $1} கிடைக்கும்.', - 'gadgets-default' => 'இயல்பாக அனைவருக்கும் செயற்பட வைக்கப்பட்டது.', - 'gadgets-export' => 'ஏற்றுமதி செய்', - 'gadgets-export-title' => 'கருவியை ஏற்றுமதி செய்', - 'gadgets-not-found' => "''$1'' என்ற கருவி காணப்படவில்லை.", - 'gadgets-export-download' => 'பதிவிறக்கம் செய்', -); - -/** Telugu (తెలుగు) - * @author Kiranmayee - * @author Mpradeep - * @author Veeven - */ -$messages['te'] = array( - 'gadgets-desc' => 'వాడుకర్లను వారి [[Special:Preferences#mw-prefsection-gadgets|అభిరుచుల]]లో ప్రత్యేక [[Special:Gadgets|CSS మరియు జావాస్క్రిప్ట్ గాడ్జెట్లను]] ఎంచుకోనిస్తుంది', - 'prefs-gadgets' => 'ఉపకరణాలు', - 'gadgets-prefstext' => 'ఈ దిగువ ఉన్న ప్రత్యేక ఉపకరణాల నుండి మీకు కావలసిన వాటికి టిక్కు పెట్టి మీ ఖాతాకు వీటిని చేతనం చేసుకొవచ్చు. -ఈ ఉపకరణాలు జావాస్క్రిప్టుపై ఆధారపడి పనిచేస్తాయి కాబట్టి ఇవి సరిగా పనిచెయ్యాలంటే మీ విహారిణిలో జావాస్క్రిప్టు చేతనం చేసి ఉండాలి. -ఈ ఉపకరణాలు అభిరుచుల పేజీపై ఎటువంటి ప్రభావాన్ని కలుగజేయవని గమనించాలి. - -అలాగే ఈ ప్రత్యేక ఉపకరణాలు మీడియావికీ సాఫ్టువేరులో భాగము కాదని గమనించాలి. వీటిని సాధారణంగా మీ స్థానిక వికీలోని వాడుకరులే తయారుచేసి నిర్వహిస్తూ ఉంటారు. అందుబాటులో ఉన్న ఉపకరణాలకు [[MediaWiki:Gadgets-definition|ఉపకరణాల నిర్వచన]] మరియు [[Special:Gadgets|ఉపకరణాల వివరణ]] పేజీలను ఉపయోగించి స్థానిక వికీ నిర్వాహకులు మార్పులు చేయవచ్చు.', - 'gadgets' => 'ఉపకరణాలు', - 'gadgets-title' => 'ఉపకరణాలు', - 'gadgets-pagetext' => 'ఈ దిగువన ఉన్న ప్రత్యేక ఉపకరణాల నుండి సభ్యులు తమకు కావలసినవి తమ [[Special:Preferences#mw-prefsection-gadgets|అభిరుచులు పేజీ]]లోని ఉపకరణాల టాబులో టిక్కు పెట్టి ఎనేబుల్ చేసుకొనే అవకాశం ఉన్నది. వీటిని [[MediaWiki:Gadgets-definition|ఉపకరణాల నిర్వచన]] పేజీలో నిర్వచించడం జరిగింది. ఈ చిన్న పరిచయం ఆయా ఉపకరణాల నిర్వచన మరియు కోడుకు సంబంధించిన మీడియావికీ సందేశాలకు సులువుగా చేరుకునేందుకు లింకులను సమకూర్చుతుంది.', - 'gadgets-uses' => 'ఉపయోగించే ఫైళ్ళు', - 'gadgets-required-rights' => 'ఈ క్రింది {{PLURAL:$2|హక్కు|హక్కులు}} కావాలి: - -$1', - 'gadgets-export' => 'ఎగుమతించు', - 'gadgets-not-found' => '"$1" ఉపకరణం కనబడలేదు.', - 'gadgets-export-download' => 'దింపుకోండి', -); - -/** Tajik (Cyrillic script) (тоҷикӣ) - * @author Ibrahim - */ -$messages['tg-cyrl'] = array( - 'gadgets-desc' => 'Аз тариқи саҳифаи [[Special:Preferences#mw-prefsection-gadgets|тарҷиҳот]] ба корбарон имконияти интихоби абзорҳои шахсии [[Special:Gadgets|CSS ва ҶаваСкрипт]]ро медиҳад.', - 'prefs-gadgets' => 'Абзорҳо', - 'gadgets-prefstext' => 'Дар зер феҳристи аз абзорҳои вижаеро мебинед, ки барои ҳисобатон метавонед фаъол кунед. Ин абзорҳо бештар дар асоси ҶаваСкрипт ҳастанд, пас барои истфода аз онҳо бояд ҶаваСкриптро дар мурургаратон фаъол кунед. Таваҷҷӯҳ кунед, ки ин абзорҳо наметавонанд саҳифаи тарҷиҳотро тағйир диҳанд. - -Диққат дошта бошед, ки ин абзорҳои ҷузъӣ аз нармафзори МедиаВики нестанд ва ҳамчун яке аз қисмҳои он ба ҳисоб намераванд, ва одатан аз тарафи корбарони ҳар вики сохта ва нигаҳдорӣ мешаванд. Мудирони ҳар вики метавонанд бо истифода аз саҳифаҳои [[MediaWiki:Gadgets-definition]] ва [[Special:Gadgets]] ба вироиши абзорҳо бипардозанд.', - 'gadgets' => 'Абзорҳо', - 'gadgets-title' => 'Абзорҳо', - 'gadgets-pagetext' => 'Дар зер феҳристи абзорҳои вижаро мебинед, ки корбарон метавонанд дар саҳифаи тарҷиҳоти худ мутобиқи [[MediaWiki:Gadgets-definition]] фаъол кунанд. Ин хулоса дастрасии осонро ба саҳифаи пайғомҳои системавӣ, ки шомили тавзеҳот ва коди ҳар абзор аст, пешкаш мекунад.', - 'gadgets-uses' => 'Корбурдҳо', -); - -/** Tajik (Latin script) (tojikī) - * @author Liangent - */ -$messages['tg-latn'] = array( - 'gadgets-desc' => 'Az tariqi sahifai [[Special:Preferences#mw-prefsection-gadgets|tarçihot]] ba korbaron imkonijati intixobi abzorhoi şaxsiji [[Special:Gadgets|CSS va ÇavaSkript]]ro medihad.', - 'prefs-gadgets' => 'Abzorho', - 'gadgets' => 'Abzorho', - 'gadgets-title' => 'Abzorho', - 'gadgets-uses' => 'Korburdho', -); - -/** Thai (ไทย) - * @author Ans - * @author Passawuth - */ -$messages['th'] = array( - 'gadgets-desc' => 'ให้ผู้ใช้สามารถเลือกใช้ [[Special:Gadgets|CSS และ จาวาสคริปต์]] ที่สร้างขึ้นเป็นการเฉพาะ ในหน้า [[Special:Preferences#mw-prefsection-gadgets|ตั้งค่า]] ได้', - 'prefs-gadgets' => 'อุปกรณ์เสริม', - 'gadgets-prefstext' => 'ด้านล่างเป็นรายการอุปกรณ์เสริม ที่บัญชีผู้ใช้ของคุณสามารถเปิดใช้งานได้ -อุปกรณ์เสริมเหล่านี้ส่วนใหญ่จะทำงานผ่านจาวาสคริปต์ ดังนั้นเบราเซอร์ของคุณต้องเปิดใช้งานจาวาสคริปต์จึงจะสามารถใช้อุปกรณ์เสริมเหล่านี้ได้ -อย่างไรก็ตามอุปกรณ์เสริมเหล่านี้จะไม่ส่งผลหรือประมวลผลใดๆ ในหน้าตั้งค่านี้ - -นอกจากนี้อุปกรณ์เสริมพิเศษเหล่านี้ไม่ได้เป็นส่วนหนึ่งของซอฟต์แวร์มีเดียวิกิ แต่พัฒนาและดูแลโดยผู้ใช้งานในวิกิที่คุณใช้อยู่ -โดยผู้ดูแลของวิกินั้นๆ สามารถแก้ไขอุปกรณ์เสริมที่มีอยู่ผ่านทางหน้า [[MediaWiki:Gadgets-definition|definition]] และ [[Special:Gadgets|คำอธิบาย]]', - 'gadgets' => 'อุปกรณ์เสริม', - 'gadgets-title' => 'อุปกรณ์เสริม', - 'gadgets-pagetext' => 'รายการด้านล่างเป็นรายการอุปกรณ์เสริมพิเศษที่ผู้ใช้สามารถเปิดใช้ในส่วน[[Special:Preferences#mw-prefsection-gadgets|การตั้งค่าส่วนตัว]] อุปกรณ์เสริมทั้งหมดได้ถูกกำหนดไว้ใน [[MediaWiki:Gadgets-definition|ส่วนกำหนดอุปกรณ์เสริม]] -ขณะที่หน้านี้จะกล่าวโดยรวมเกี่ยวกับ คำอธิบายการใช้งาน และ โค้ดของอุปกรณ์เสริมแต่ละตัว', - 'gadgets-uses' => 'เรียกใช้', -); - -/** Turkmen (Türkmençe) - * @author Hanberke - */ -$messages['tk'] = array( - 'gadgets-desc' => 'Ulanyjylaryň [[Special:Preferences#mw-prefsection-gadgets|ileri tutmalarynda]] ýörite [[Special:Gadgets|CSS we JavaScript gajetlerini]] saýlamaklaryna rugsat berýär', - 'prefs-gadgets' => 'Gajetler', - 'gadgets' => 'Gajetler', - 'gadgets-title' => 'Gajetler', - 'gadgets-uses' => 'Ulanýar', - 'gadgets-export' => 'Eksportirle', - 'gadgets-export-title' => 'Gajet eksporty', - 'gadgets-not-found' => '"$1" gajeti tapylmady.', - 'gadgets-export-download' => 'Göçürip al', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'gadgets-desc' => 'Nagpapahintulot sa mga tagagamit na makapili ng pinasadyang [[Special:Gadgets|mga gadyet na pang-CSS at pang-JavaScript]] sa kanilang [[Special:Preferences#mw-prefsection-gadgets|mga kagustuhan]]', - 'prefs-gadgets' => 'Mga gadyet (kasangkapan)', - 'gadgets-prefstext' => "Nasa ibaba ang isang talaan ng mga natatanging kasangkapan (gadyet) na maaari mong paganahin para sa iyong kuwenta/akawnt. -Karamihan sa mga gadyet na ito ang nakaugnay/nakabatay sa ''JavaScript'', kaya dapat na paandarin ang ''JavaScript'' sa iyong pantingin-tingin (''browser'') upang gumana. -Pakitandaang walang magiging epekto sa pahina ng mga kagustuhang ito ang ganitong mga gadyet. - -Pakitandaan din na ang mga natatanging gadyet na ito ay hindi kabahagi ng sopwer ng MediaWiki, at karaniwang pinaunlad at pinananatili ng mga tagagamit sa katutubo/lokal mong wiki. -Maaaring baguhin ng pampook/lokal na mga tagapangasiwa ang makukuhang mga gadyet sa pamamagitan ng [[MediaWiki:Gadgets-definition|mga kahulugan]] at [[Special:Gadgets|mga paglalarawan]].", - 'gadgets' => 'Mga gadyet (kasangkapan)', - 'gadgets-title' => 'Mga gadyet (kasangkapan)', - 'gadgets-pagetext' => 'Nasa ibaba ang isang talaan ng natatanging mga kasangkapan (gadyet) na mapapagana ng mga tagagamit sa kanilang [[Special:Preferences#mw-prefsection-gadgets|pahina ng mga kagustuhan]], ayon sa nilalarawan ng [[MediaWiki:Gadgets-definition|mga kahulugan]]. -Nagbibigay ang pagtalakay na ito ng magaang na daan/akseso patungo sa mga pahina ng sistemang pangmensahe na nagbibigay kahulugan sa paglalarawan at kodigo ng bawat gadyet.', - 'gadgets-uses' => 'Mga mapaggagamitan', - 'gadgets-required-rights' => 'Nangangailangan ng sumusunod na {{PLURAL:$2|karapatan|mga karapatan:}}: - -$1', - 'gadgets-required-skins' => 'Makukuha sa ibabaw ng {{PLURAL:$2|$1 na pabalat|sumusunod na mga pabalat: $1}}.', - 'gadgets-default' => 'Likas ang pagkakatakda na pinapagana para sa lahat.', - 'gadgets-export' => 'Iluwas', - 'gadgets-export-title' => 'Pagluluwas ng gadyet', - 'gadgets-not-found' => 'Hindi natagpuan ang gadyet na "$1".', - 'gadgets-export-text' => 'Upang iluwas ang gadyet na $1, pindutin ang pindutang "{{int:gadgets-export-download}}", sagipin ang talaksang ikinargang paibaba, -pumunta sa Special:Import na nasa kapupuntahang wiki at ikarga itong paitaas. Pagkaraan ay idagdag ang sumusunod sa pahina ng MediaWiki:Gadgets-definition: -
    $2
    -Dapat kang mayroong nararapat na mga pahintulot sa kapupuntahang wiki (kasama ang karapatang mamatnugot ng mga mensahe ng sistema) at dapat na gumagana ang mga inangkat mula sa mga talaksang ikinargang paitaas', - 'gadgets-export-download' => 'Ikargang pababa', -); - -/** Turkish (Türkçe) - * @author Emperyan - * @author Erkan Yilmaz - * @author Joseph - * @author Karduelis - * @author Koc61 - */ -$messages['tr'] = array( - 'gadgets-desc' => 'Kullanıcıların [[Special:Preferences#mw-prefsection-gadgets|tercihlerinde]] özel [[Special:Gadgets|CSS ve JavaScript gadgetlerini]] seçmelerine izin verir', - 'prefs-gadgets' => 'Küçük araçlar', - 'gadgets-prefstext' => 'Aşağıdaki, hesabınız için etkinleştirebileceğiniz özel araçların listesidir. -Bu küçük araçlar çoğunlukla JavaScript temellidir, bu yüzden çalışmaları için tarayıcınızda JavaScript etkinleştirilmelidir. Bu küçük araçların tercihler sayfasına bir etkisinin olmayacağını unutmayın. - -Ayrıca unutmayın ki, bu özel araçlar MedyaViki yazılımının bir parçası değildir ve genellikle yerel vikinizdeki kullanıcılar tarafından geliştirilip, devam ettirilirler. -Yerel yöneticiler [[MediaWiki:Gadgets-definition|tanımları]] ve [[Special:Gadgets|açıklamaları]] kullanarak uygun araçları değiştirebilirler.', - 'gadgets' => 'Küçük araçlar', - 'gadgets-title' => 'Küçük araçlar', - 'gadgets-pagetext' => "Aşağıdaki, kullanıcıların [[Special:Preferences#mw-prefsection-gadgets|tercihler sayfasında]] etkin hale getirebileceği, [[MediaWiki:Gadgets-definition|tanımlarla]] belirtildiği gibi, özel gadgetlerin bir listesidir. -Bu genel bakış, her gadget'in tanımını ve kodunu belirten sistem mesaj sayfalarına kolay erişim sağlar.", - 'gadgets-uses' => 'Kullanıyor', - 'gadgets-export' => 'Dışa aktar', - 'gadgets-export-title' => 'Gadget dışa aktarımı', - 'gadgets-not-found' => 'Gadget "$1" bulunamadı.', - 'gadgets-export-text' => '$1 gadgetini dışa aktarmak için "{{int:gadgets-export-download}}" düğmesine tıklayın, yüklenen dosyayı kaydedin, hedef vikide Special:Import sayfasına gidin ve yükleyin. Sonra aşağıdakini MediaWiki:Gadgets-definition sayfasına ekleyin: -
    $2
    -Hedef vikide uygun izinlerinizin olması (sistem mesajlarını değiştirmek yetkisi dahil) ve dosyadan içe aktarmanın etkinleştirilmiş olması gerekir.', - 'gadgets-export-download' => 'İndir', -); - -/** Tatar (Cyrillic script) (татарча) - * @author Ильнар - */ -$messages['tt-cyrl'] = array( - 'prefs-gadgets' => 'Гаджетлар', - 'gadgets' => 'Гаджетлар', - 'gadgets-title' => 'Гаджетлар', -); - -/** Ukrainian (українська) - * @author AS - * @author Ahonc - * @author Dim Grits - * @author Olvin - * @author Prima klasy4na - * @author Riwnodennyk - * @author Sodmy - * @author Тест - */ -$messages['uk'] = array( - 'gadgets-desc' => 'Дозволяє користувачам обирати [[Special:Gadgets|CSS- та JavaScript-додатки]] у своїх [[Special:Preferences#mw-prefsection-gadgets|налаштуваннях]]', - 'prefs-gadgets' => 'Додатки', - 'gadgets-prefstext' => 'Нижче наведено перелік особливих додатків, які ви можете ввімкнути для свого облікового запису. -Ці додатки переважно засновані на JavaScript, тому ви маєте ввімкнути JavaScript для того, щоб вони працювали. -Зауважте, що на цій сторінці налаштувань такі додатки не працюватимуть. - -Також зауважте, що ці додатки не є частиною MediaWiki й зазвичай розробляються та обслуговуються дописувачами цієї локальної вікі. -Адміністратори можуть змінювати перелік додатків за допомогою сторінок їх [[MediaWiki:Gadgets-definition|визначення]] та [[Special:Gadgets|опису]].', - 'gadgets' => 'Додатки', - 'gadgets-title' => 'Додатки', - 'gadgets-pagetext' => 'Нижче наведено перелік додатків, які можна ввімкнути на [[Special:Preferences#mw-prefsection-gadgets|сторінці налаштувань]]. Цей перелік задано на [[MediaWiki:Gadgets-definition|сторінці визначень]]. -Таким чином, можна отримати простий доступ до системних сторінок, де задається опис кожного додатку та його код.', - 'gadgets-uses' => 'Використовує', - 'gadgets-required-rights' => '{{PLURAL:$2|Потрібне право|Потрібні такі права}}: - -$1', - 'gadgets-required-skins' => 'Доступний на {{PLURAL:$2|$1 skin|наступних темах оформлення: $1}}.', - 'gadgets-default' => 'Увімкнено для всіх за замовчуванням.', - 'gadgets-export' => 'Експортувати', - 'gadgets-export-title' => 'Експорт додатка', - 'gadgets-not-found' => 'Додаток "$1" не знайдено.', - 'gadgets-export-text' => 'Аби експортувати додаток $1, натисніть на ґудзик "{{int:gadgets-export-download}}", збережіть завантажений файл, -перейдіть до Special:Import на потібній віці і відвантажте його там. Тоді додайте наступний текст на сторінку MediaWiki:Gadgets-definition: -
    $2
    -Ви повинні мати відповідні права на цільовій віці (зокрема на редагування системних повідомлень), окрім того має бути ввімкнена можливість імпорту з файлу.', - 'gadgets-export-download' => 'Завантажити', -); - -/** Urdu (اردو) - * @author පසිඳු කාවින්ද - */ -$messages['ur'] = array( - 'prefs-gadgets' => 'گیجٹ', - 'gadgets' => 'گیجٹ', - 'gadgets-title' => 'گیجٹ', - 'gadgets-uses' => 'استعمال کرتا ہے', - 'gadgets-export' => 'برآمد', - 'gadgets-export-title' => 'گیجٹ برآمد', -); - -/** Uzbek (oʻzbekcha) - * @author CoderSI - */ -$messages['uz'] = array( - 'prefs-gadgets' => 'Gadjetlar', - 'gadgets' => 'Gadjetlar', - 'gadgets-title' => 'Gadjetlar', -); - -/** vèneto (vèneto) - * @author Candalua - */ -$messages['vec'] = array( - 'gadgets-desc' => 'Consente ai utenti de selezionar [[Special:Gadgets|acessori CSS e JavaScript]] ne le proprie [[Special:Preferences#mw-prefsection-gadgets|preferense]]', - 'prefs-gadgets' => 'Acessori', - 'gadgets-prefstext' => "De seguito se cata na lista de acessori speciali (''gadget'') che se pol abilitar par el proprio account. -La mazor parte de sti acessori la se basa su JavaScript, e quindi te ghè da abilitar JavaScript sul to browser se te vol che i funsiona coretamente. Nota che i accessori no i gà nissun efeto in sta pagina de preferense. - -Nota anca che sti acessori speciali no i fa parte del software MediaWiki e i vien de solito realizà e gestìi dai utenti de ogni sito wiki. I aministradori del sito i pol modificar la lista dei acessori disponibili tramite le pagine [[MediaWiki:Gadgets-definition|definissioni]] e [[Special:Gadgets|descrissioni]].", - 'gadgets' => 'Acessori', - 'gadgets-title' => 'Acessori', - 'gadgets-pagetext' => "De seguito vien presentà n'elenco de acessori (''gadget'') che i utenti i pol abilitar su la so [[Special:Preferences#mw-prefsection-gadgets|pagina de le preferenze]], seguendo le definizion riportà in [[MediaWiki:Gadgets-definition]]. -Sta panoramica la fornisse un comodo mecanismo par accédar ai messagi de sistema nei quali xe definìo la descrizion e el codice de ciascun acessorio.", - 'gadgets-uses' => 'Dopara', - 'gadgets-export' => 'Esporta', - 'gadgets-export-title' => 'Esporta acessorio', - 'gadgets-not-found' => 'Acessorio "$1" mia catà.', - 'gadgets-export-text' => 'Par esportar el gadget $1, struca "{{int:gadgets-export-download}}", salva el file, va su Special:Import de la wiki de destinassion e carichelo. Dopo zonta sta roba qua su MediaWiki:Gadgets-definition: -
    $2
    -Te serve i parmessi su la wiki de destinassion (compreso quelo de modificar i messaji de sistema) e l\'inportassion dei file la deve essar ativà.', - 'gadgets-export-download' => 'Descarga', -); - -/** Veps (vepsän kel’) - * @author Игорь Бродский - */ -$messages['vep'] = array( - 'prefs-gadgets' => 'Gadžetad', - 'gadgets' => 'Gadžetad:', - 'gadgets-title' => 'Gadžetad', - 'gadgets-uses' => 'Kävutab', - 'gadgets-export' => 'Eksportiruida', - 'gadgets-export-title' => 'Gadžetan eksportiruind', -); - -/** Vietnamese (Tiếng Việt) - * @author Meno25 - * @author Minh Nguyen - * @author Vinhtantran - */ -$messages['vi'] = array( - 'gadgets-desc' => 'Để các thành viên chọn những [[Special:Gadgets|công cụ đa năng]] đặc chế bằng CSS và JavaScript trong [[Special:Preferences#mw-prefsection-gadgets|tùy chọn]]', - 'prefs-gadgets' => 'Công cụ đa năng', - 'gadgets-prefstext' => 'Dưới đây là danh sách các công cụ đa năng đặc biệt mà bạn có thể kích hoạt cho tài khoản của mình. -Những công cụ này chủ yếu dựa trên JavaScript, do đó bạn phải kích hoạt JavaScript trong trình duyệt để các công cụ này hoạt động. -Chú ý rằng những công cụ đa năng này sẽ không có tác dụng trong trang tùy chọn cá nhân. - -Cũng chú ý rằng những công cụ đặc biệt này không phải là một phần của phần mềm MediaWiki, mà thường được phát triển và bảo trì bởi những thành viên ở wiki của họ. Những quản lý ở từng ngôn ngữ có thể sửa đổi các công cụ đa năng có sẵn từ các danh sách [[MediaWiki:Gadgets-definition|định nghĩa]] và [[Special:Gadgets|miêu tả]].', - 'gadgets' => 'Công cụ đa năng', - 'gadgets-title' => 'Công cụ đa năng', - 'gadgets-pagetext' => 'Dưới đây là danh sách các công cụ đa năng đặc biệt mà thành viên có thể dùng tại [[Special:Preferences#mw-prefsection-gadgets|trang tùy chọn cá nhân]] của họ, theo [[MediaWiki:Gadgets-definition|định nghĩa]]. Trang tổng quan này cung cấp cách tiếp cận dễ dàng đến trang các thông báo hệ thống để định nghĩa miêu tả và mã của từng công cụ.', - 'gadgets-uses' => 'Sử dụng', - 'gadgets-required-rights' => 'Cần {{PLURAL:$2|quyền|các quyền}} sau: - -$1', - 'gadgets-required-skins' => 'Có sẵn trên {{PLURAL:$2|hình dạng $1|các hình dạng: $1}}.', - 'gadgets-default' => 'Được kích hoạt cho tất cả mọi người theo mặc định.', - 'gadgets-export' => 'Xuất', - 'gadgets-export-title' => 'Xuất công cụ đa năng', - 'gadgets-not-found' => 'Không tìm thấy công cụ đa năng “$1”.', - 'gadgets-export-text' => 'Để xuất công cụ đa năng $1, hãy bấm nút “{{int:gadgets-export-download}}”, lưu tập tin được tải về, mở trang Special:Import trên wiki đích và tải nó lên. Sau đó, thêm mã này vào trang MediaWiki:Gadgets-definition: -
    $2
    -Bạn phải có đủ quyền truy cập trên wiki đích (bao gồm quyền sửa đổi thông điệp hệ thống) và wiki phải bật chức năng xuất từ tập tin tải lên.', - 'gadgets-export-download' => 'Tải về', -); - -/** Volapük (Volapük) - * @author Smeira - */ -$messages['vo'] = array( - 'gadgets-uses' => 'Gebs', -); - -/** Yiddish (ייִדיש) - * @author פוילישער - */ -$messages['yi'] = array( - 'gadgets-desc' => 'דערמעגלעכט באניצער אויסקלייבן [[Special:Gadgets|CSS און JavaScript דזשימדזשיקעס]] אין זייערע [[Special:Preferences#mw-prefsection-gadgets|פרעפֿערענצן]]', - 'prefs-gadgets' => 'דזשימדזשיקעס', - 'gadgets' => 'דזשימדזשיקעס', - 'gadgets-title' => 'דזשימדזשיקעס', - 'gadgets-pagetext' => 'אונטן איז א רשימה פון דזשימדזשיקעס וואס באניצער קענען אקטיוויזירן דורך זיין [[Special:Preferences#mw-prefsection-gadgets|פרעפֿערענצן בלאט]], לויט ווי זיי זענען באשטימט אין די [[MediaWiki:Gadgets-definition|דעפֿיניציעס]]. -דער איבערבליק גיט א גרינגן צוטריט צו די סיסטעם בלעטער וואס דעפֿינירן די שילדערונג און קאד פון יעדן דזשימדזשיק.', - 'gadgets-uses' => 'באניצט', - 'gadgets-required-rights' => 'פֿאדערט {{PLURAL:$2|דאס פֿאלגנדע רעכט|די פֿאלגנדע רעכטן}}: - -$1', - 'gadgets-required-skins' => 'פֿאראן ביי {{PLURAL:$2|$1 דער באניצער אייבערפֿלאך|פֿאלגנדע באניצער אייבערפֿלאכן: $1}}.', - 'gadgets-default' => 'אקטיווירט פֿאר אלעמען סטאנדארדמעסיק.', - 'gadgets-export' => 'עקספארטירן', - 'gadgets-export-title' => 'דזשימדזשיק עקספארט', - 'gadgets-not-found' => 'דזשימדזשיק "$1" נישט געטראפֿן.', - 'gadgets-export-text' => 'כדי צו עקספארטירן דעם $1 דזשימדזשיק, קליקט אויפן "{{int:gadgets-export-download}}" קנעפל, שפייכלערט איין די אראפגעלאדענע טעקע, -גייט צו Special:Import אין דער ציל וויקי און טוט זי ארויפלאדן. דערנאך לייגט צו דעם פאלגנד צום בלאט MediaWiki:Gadgets-definition page: -
    $2
    -איר דארפט האבן פאסיגע ערלויבנישן אויף דער ציל וויקי (כולל די רעכט צו רעדאקטירן סיסטעם מעלדונגען) און אימפארט פון טעקע ארויפלאדן מוז זיין אקטיווירט.', - 'gadgets-export-download' => 'אַראָפלאָדן', -); - -/** Yoruba (Yorùbá) - * @author Demmy - */ -$messages['yo'] = array( - 'gadgets-uses' => 'Àwọn ìlò', - 'gadgets-export' => 'Ìkójáde', - 'gadgets-export-download' => 'Ìrùsílẹ̀', -); - -/** Cantonese (粵語) - * @author Shinjiman - */ -$messages['yue'] = array( - 'gadgets-desc' => '畀用戶響佢哋嘅[[Special:Preferences#mw-prefsection-gadgets|喜好設定]]度設定自定嘅[[Special:Gadgets|CSS同埋JavaScript小工具]]', - 'prefs-gadgets' => '小工具', - 'gadgets-prefstext' => '下面係一個特別小工具,你可以響你個戶口度啟用。 -呢啲小工具多數都係基於JavaScript建造,如果要開佢哋,噉個瀏覽器嘅JavaScript就需要啟用咗先至用得到。 -要留意嘅就係呢啲小工具響呢個喜好設定版度係無效果嘅。 - -亦都同時留意呢啲小工具嘅特別頁唔係MediaWiki軟件嘅一部份,通常都係由你本地嘅wiki度開發同維護。本地管理員可以響[[MediaWiki:Gadgets-definition]]同埋[[Special:Gadgets]]編輯可以用到嘅小工具。', - 'gadgets' => '小工具', - 'gadgets-title' => '小工具', - 'gadgets-pagetext' => '下面係一個按照[[MediaWiki:Gadgets-definition]]嘅定義特別小工具清單,用戶可以響佢哋嘅喜好設定頁度開佢哋。 -呢個概覽提供嘅系統信息頁嘅簡易存取,可以定義每個小工具嘅描述同埋碼。', - 'gadgets-uses' => '用', -); - -/** Simplified Chinese (中文(简体)‎) - * @author Anakmalaysia - * @author Bencmq - * @author Gaoxuewei - * @author Hydra - * @author Liangent - * @author Shinjiman - * @author Xiaomingyan - * @author 阿pp - */ -$messages['zh-hans'] = array( - 'gadgets-desc' => '允许用户在其[[Special:Preferences#mw-prefsection-gadgets|系统设置]]中选择自定义[[Special:Gadgets|CSS和JavaScript工具]]', - 'prefs-gadgets' => '小工具', - 'gadgets-prefstext' => '以下是一个特殊小工具,您可以在您的账户中激活。 -这些小工具多数都是基于JavaScript建造,如果要激活它们,那么浏览器的JavaScript就需要激活后方可使用。 -要留意的是这些小工具在这个参数设置页面中是没有效果的。 - -亦都同时留意这些小工具的特殊页面不是MediaWiki软件的一部份,通常都是由您本地的wiki中开发以及维护。本地管理员可以编辑可供使用的小工具的[[MediaWiki:Gadgets-definition|定义]]以及[[Special:Gadgets|描述]]。', - 'gadgets' => '小工具', - 'gadgets-title' => '小工具', - 'gadgets-pagetext' => '以下是一个按照[[MediaWiki:Gadgets-definition]]定义的特殊小工具列表,用户可以在他们的[[Special:Preferences#mw-prefsection-gadgets|参数设置页面]]中激活它们。 -通过这个概览可以方便的获得系统信息页面,从而可以定义每个小工具的描述以及源码。', - 'gadgets-uses' => '使用', - 'gadgets-required-rights' => '需要以下{{PLURAL:$2|权限|权限}}: - -$1', - 'gadgets-required-skins' => '可用在{{PLURAL:$2|$1外观|以下外观:$1}}。', - 'gadgets-default' => '默认所有人启用。', - 'gadgets-export' => '导出', - 'gadgets-export-title' => '导出小工具', - 'gadgets-not-found' => '找不到“$1”小工具。', - 'gadgets-export-text' => '要导出 $1 小工具,请单击“{{int:gadgets-export-download}}”按钮,保存下载的文件,前往目标wiki的Special:Import并将文件上传。随后将以下内容加入MediaWiki:Gadgets-definition: -
    $2
    -您必须在目标wiki上具有适当的权限(包括编辑系统消息的权利),且站点必须启用由上传文件导入的功能。', - 'gadgets-export-download' => '下载', -); - -/** Traditional Chinese (中文(繁體)‎) - * @author Anakmalaysia - * @author Horacewai2 - * @author Liangent - * @author Mark85296341 - * @author Shinjiman - * @author Waihorace - */ -$messages['zh-hant'] = array( - 'gadgets-desc' => '讓使用者可以在[[Special:Preferences#mw-prefsection-gadgets|偏好設定]]中自訂 [[Special:Gadgets|CSS與JavaScript工具]]', - 'prefs-gadgets' => '小工具', - 'gadgets-prefstext' => '以下是一個特殊小工具,您可以在您的帳戶中啟用。 -這些小工具多數都是基於JavaScript建造,如果要啟用它們,那麼瀏覽器的JavaScript就需要啟用後方可使用。 -要留意的是這些小工具在這個偏好設定頁面中是沒有效果的。 - -亦都同時留意這些小工具的特殊頁面不是MediaWiki軟體的一部份,通常都是由您本地的wiki中開發以及維護。本地管理員可以編輯可供使用的小工具的[[MediaWiki:Gadgets-definition|定義]]以及[[Special:Gadgets|描述]]。', - 'gadgets' => '小工具', - 'gadgets-title' => '小工具', - 'gadgets-pagetext' => '以下是一個按照 [[MediaWiki:Gadgets-definition]] 的定義特殊小工具清單,用戶可以在它們的[[Special:Preferences#mw-prefsection-gadgets|偏好設定頁面]]中啟用它們。 -這個概覽提供的系統資訊頁面的簡易存取,可以定義每個小工具的描述以及原始碼。', - 'gadgets-uses' => '使用', - 'gadgets-required-rights' => '需要以下{{PLURAL:$2|權限|權限}}: - -$1', - 'gadgets-required-skins' => '可用在{{PLURAL:$2|$1面板|以下面板:$1}}。', - 'gadgets-default' => '預設所有人啟用。', - 'gadgets-export' => '匯出', - 'gadgets-export-title' => '匯出小工具', - 'gadgets-not-found' => '找不到「$1」小工具。', - 'gadgets-export-text' => '要匯出 $1 小工具,請點擊「{{int:gadgets-export-download}}」按鈕,儲存下載的檔案 -轉到 Special:Import 目標 wiki 上並將其上傳。然後將以下新增到 MediaWiki:Gadgets-definition: -
    $2
    -您必須具有適當的權限 (包括編輯系統訊息的權利) 的目標維基上,必須啟用匯入的檔案上傳。', - 'gadgets-export-download' => '下載', -); - diff --git a/documentacion/extensions/Gadgets/Gadgets.php b/documentacion/extensions/Gadgets/Gadgets.php deleted file mode 100644 index 25c22af..0000000 --- a/documentacion/extensions/Gadgets/Gadgets.php +++ /dev/null @@ -1,53 +0,0 @@ - __FILE__, - 'name' => 'Gadgets', - 'author' => array( 'Daniel Kinzler', 'Max Semenik' ), - 'url' => 'https://mediawiki.org/wiki/Extension:Gadgets', - 'descriptionmsg' => 'gadgets-desc', -); - -$wgHooks['ArticleSaveComplete'][] = 'GadgetHooks::articleSaveComplete'; -$wgHooks['BeforePageDisplay'][] = 'GadgetHooks::beforePageDisplay'; -$wgHooks['UserGetDefaultOptions'][] = 'GadgetHooks::userGetDefaultOptions'; -$wgHooks['GetPreferences'][] = 'GadgetHooks::getPreferences'; -$wgHooks['ResourceLoaderRegisterModules'][] = 'GadgetHooks::registerModules'; -$wgHooks['UnitTestsList'][] = 'GadgetHooks::unitTestsList'; - -$dir = dirname( __FILE__ ) . '/'; -$wgExtensionMessagesFiles['Gadgets'] = $dir . 'Gadgets.i18n.php'; -$wgExtensionMessagesFiles['GadgetsAlias'] = $dir . 'Gadgets.alias.php'; - -$wgAutoloadClasses['ApiQueryGadgetCategories'] = $dir . 'ApiQueryGadgetCategories.php'; -$wgAutoloadClasses['ApiQueryGadgets'] = $dir . 'ApiQueryGadgets.php'; -$wgAutoloadClasses['Gadget'] = $dir . 'Gadgets_body.php'; -$wgAutoloadClasses['GadgetHooks'] = $dir . 'Gadgets_body.php'; -$wgAutoloadClasses['GadgetResourceLoaderModule'] = $dir . 'Gadgets_body.php'; -$wgAutoloadClasses['SpecialGadgets'] = $dir . 'SpecialGadgets.php'; - -$wgSpecialPages['Gadgets'] = 'SpecialGadgets'; -$wgSpecialPageGroups['Gadgets'] = 'wiki'; - -$wgAPIListModules['gadgetcategories'] = 'ApiQueryGadgetCategories'; -$wgAPIListModules['gadgets'] = 'ApiQueryGadgets'; diff --git a/documentacion/extensions/Gadgets/Gadgets_body.php b/documentacion/extensions/Gadgets/Gadgets_body.php deleted file mode 100644 index 330a154..0000000 --- a/documentacion/extensions/Gadgets/Gadgets_body.php +++ /dev/null @@ -1,656 +0,0 @@ -getTitle(); - if ( $title->getNamespace() == NS_MEDIAWIKI && $title->getText() == 'Gadgets-definition' ) { - Gadget::loadStructuredList( $text ); - } - return true; - } - - /** - * UserGetDefaultOptions hook handler - * @param $defaultOptions Array of default preference keys and values - * @return bool - */ - public static function userGetDefaultOptions( &$defaultOptions ) { - $gadgets = Gadget::loadStructuredList(); - if ( !$gadgets ) { - return true; - } - - /** - * @var $gadget Gadget - */ - foreach ( $gadgets as $thisSection ) { - foreach ( $thisSection as $gadgetId => $gadget ) { - if ( $gadget->isOnByDefault() ) { - $defaultOptions['gadget-' . $gadgetId] = 1; - } - } - } - - return true; - } - - /** - * GetPreferences hook handler. - * @param $user User - * @param $preferences Array: Preference descriptions - * @return bool - */ - public static function getPreferences( $user, &$preferences ) { - $gadgets = Gadget::loadStructuredList(); - if ( !$gadgets ) { - return true; - } - - $options = array(); - $default = array(); - foreach ( $gadgets as $section => $thisSection ) { - $available = array(); - - /** - * @var $gadget Gadget - */ - foreach ( $thisSection as $gadget ) { - if ( $gadget->isAllowed( $user ) ) { - $gname = $gadget->getName(); - # bug 30182: dir="auto" because it's often not translated - $desc = '' . $gadget->getDescription() . ''; - $available[$desc] = $gname; - if ( $gadget->isEnabled( $user ) ) { - $default[] = $gname; - } - } - } - - if ( $section !== '' ) { - $section = wfMessage( "gadget-section-$section" )->parse(); - - if ( count ( $available ) ) { - $options[$section] = $available; - } - } else { - $options = array_merge( $options, $available ); - } - } - - $preferences['gadgets-intro'] = - array( - 'type' => 'info', - 'label' => ' ', - 'default' => Xml::tags( 'tr', array(), - Xml::tags( 'td', array( 'colspan' => 2 ), - wfMessage( 'gadgets-prefstext' )->parseAsBlock() ) ), - 'section' => 'gadgets', - 'raw' => 1, - 'rawrow' => 1, - ); - - $preferences['gadgets'] = - array( - 'type' => 'multiselect', - 'options' => $options, - 'section' => 'gadgets', - 'label' => ' ', - 'prefix' => 'gadget-', - 'default' => $default, - ); - - return true; - } - - /** - * ResourceLoaderRegisterModules hook handler. - * @param $resourceLoader ResourceLoader - * @return bool - */ - public static function registerModules( &$resourceLoader ) { - $gadgets = Gadget::loadList(); - if ( !$gadgets ) { - return true; - } - - /** - * @var $g Gadget - */ - foreach ( $gadgets as $g ) { - $module = $g->getModule(); - if ( $module ) { - $resourceLoader->register( $g->getModuleName(), $module ); - } - } - return true; - - } - - /** - * BeforePageDisplay hook handler. - * @param $out OutputPage - * @return bool - */ - public static function beforePageDisplay( $out ) { - wfProfileIn( __METHOD__ ); - - $gadgets = Gadget::loadList(); - if ( !$gadgets ) { - wfProfileOut( __METHOD__ ); - return true; - } - - $lb = new LinkBatch(); - $lb->setCaller( __METHOD__ ); - $pages = array(); - - /** - * @var $gadget Gadget - */ - $user = $out->getUser(); - foreach ( $gadgets as $gadget ) { - if ( $gadget->isEnabled( $user ) && $gadget->isAllowed( $user ) ) { - if ( $gadget->hasModule() ) { - $out->addModuleStyles( $gadget->getModuleName() ); - $out->addModules( $gadget->getModuleName() ); - } - - foreach ( $gadget->getLegacyScripts() as $page ) { - $lb->add( NS_MEDIAWIKI, $page ); - $pages[] = $page; - } - } - } - - $lb->execute( __METHOD__ ); - - $done = array(); - - foreach ( $pages as $page ) { - if ( isset( $done[$page] ) ) { - continue; - } - - $done[$page] = true; - self::applyScript( $page, $out ); - } - wfProfileOut( __METHOD__ ); - - return true; - } - - /** - * Adds one legacy script to output. - * - * @param $page String: Unprefixed page title - * @param $out OutputPage - */ - private static function applyScript( $page, $out ) { - global $wgJsMimeType; - - # bug 22929: disable gadgets on sensitive pages. Scripts loaded through the - # ResourceLoader handle this in OutputPage::getModules() - # TODO: make this extension load everything via RL, then we don't need to worry - # about any of this. - if ( $out->getAllowedModules( ResourceLoaderModule::TYPE_SCRIPTS ) < ResourceLoaderModule::ORIGIN_USER_SITEWIDE ) { - return; - } - - $t = Title::makeTitleSafe( NS_MEDIAWIKI, $page ); - if ( !$t ) { - return; - } - - $u = $t->getLocalURL( 'action=raw&ctype=' . $wgJsMimeType ); - $out->addScriptFile( $u, $t->getLatestRevID() ); - } - - /** - * UnitTestsList hook handler - * @param $files Array: List of extension test files - * @return bool - */ - public static function unitTestsList( $files ) { - $files[] = dirname( __FILE__ ) . '/Gadgets_tests.php'; - - return true; - } -} - -/** - * Wrapper for one gadget. - */ -class Gadget { - /** - * Increment this when changing class structure - */ - const GADGET_CLASS_VERSION = 6; - - private $version = self::GADGET_CLASS_VERSION, - $scripts = array(), - $styles = array(), - $dependencies = array(), - $name, - $definition, - $resourceLoaded = false, - $requiredRights = array(), - $requiredSkins = array(), - $onByDefault = false, - $category; - - /** - * Creates an instance of this class from definition in MediaWiki:Gadgets-definition - * @param $definition String: Gadget definition - * @return Gadget|bool Instance of Gadget class or false if $definition is invalid - */ - public static function newFromDefinition( $definition ) { - $m = array(); - if ( !preg_match( '/^\*+ *([a-zA-Z](?:[-_:.\w\d ]*[a-zA-Z0-9])?)(\s*\[.*?\])?\s*((\|[^|]*)+)\s*$/', $definition, $m ) ) { - return false; - } - // NOTE: the gadget name is used as part of the name of a form field, - // and must follow the rules defined in http://www.w3.org/TR/html4/types.html#type-cdata - // Also, title-normalization applies. - $gadget = new Gadget(); - $gadget->name = trim( str_replace( ' ', '_', $m[1] ) ); - $gadget->definition = $definition; - $options = trim( $m[2], ' []' ); - - foreach ( preg_split( '/\s*\|\s*/', $options, -1, PREG_SPLIT_NO_EMPTY ) as $option ) { - $arr = preg_split( '/\s*=\s*/', $option, 2 ); - $option = $arr[0]; - if ( isset( $arr[1] ) ) { - $params = explode( ',', $arr[1] ); - $params = array_map( 'trim', $params ); - } else { - $params = array(); - } - - switch ( $option ) { - case 'ResourceLoader': - $gadget->resourceLoaded = true; - break; - case 'dependencies': - $gadget->dependencies = $params; - break; - case 'rights': - $gadget->requiredRights = $params; - break; - case 'skins': - $gadget->requiredSkins = $params; - break; - case 'default': - $gadget->onByDefault = true; - break; - } - } - - foreach ( preg_split( '/\s*\|\s*/', $m[3], -1, PREG_SPLIT_NO_EMPTY ) as $page ) { - $page = "Gadget-$page"; - - if ( preg_match( '/\.js/', $page ) ) { - $gadget->scripts[] = $page; - } elseif ( preg_match( '/\.css/', $page ) ) { - $gadget->styles[] = $page; - } - } - - return $gadget; - } - - /** - * @return String: Gadget name - */ - public function getName() { - return $this->name; - } - - /** - * @return String: Gadget description parsed into HTML - */ - public function getDescription() { - return wfMessage( "gadget-{$this->getName()}" )->parse(); - } - - /** - * @return String: Wikitext of gadget description - */ - public function getRawDescription() { - return wfMessage( "gadget-{$this->getName()}" )->plain(); - } - - /** - * @return String: Name of category (aka section) our gadget belongs to. Empty string if none. - */ - public function getCategory() { - return $this->category; - } - - /** - * @return String: Name of ResourceLoader module for this gadget - */ - public function getModuleName() { - return "ext.gadget.{$this->name}"; - } - - /** - * Checks whether this is an instance of an older version of this class deserialized from cache - * @return Boolean - */ - public function isOutdated() { - return $this->version != self::GADGET_CLASS_VERSION; - } - - /** - * Checks whether this gadget is enabled for given user - * - * @param $user User: user to check against - * @return Boolean - */ - public function isEnabled( $user ) { - return (bool)$user->getOption( "gadget-{$this->name}", $this->onByDefault ); - } - - /** - * Checks whether given user has permissions to use this gadget - * - * @param $user User: user to check against - * @return Boolean - */ - public function isAllowed( $user ) { - return count( array_intersect( $this->requiredRights, $user->getRights() ) ) == count( $this->requiredRights ) - && ( !count( $this->requiredSkins ) || in_array( $user->getOption( 'skin' ), $this->requiredSkins ) ); - } - - /** - * @return Boolean: Whether this gadget is on by default for everyone (but can be disabled in preferences) - */ - public function isOnByDefault() { - return $this->onByDefault; - } - - /** - * @return Boolean: Whether all of this gadget's JS components support ResourceLoader - */ - public function supportsResourceLoader() { - return $this->resourceLoaded; - } - - /** - * @return Boolean: Whether this gadget has resources that can be loaded via ResourceLoader - */ - public function hasModule() { - return count( $this->styles ) - + ( $this->supportsResourceLoader() ? count( $this->scripts ) : 0 ) - > 0; - } - - /** - * @return String: Definition for this gadget from MediaWiki:gadgets-definition - */ - public function getDefinition() { - return $this->definition; - } - - /** - * @return Array: Array of pages with JS not prefixed with namespace - */ - public function getScripts() { - return $this->scripts; - } - - /** - * @return Array: Array of pages with CSS not prefixed with namespace - */ - public function getStyles() { - return $this->styles; - } - - /** - * @return Array: Array of all of this gadget's resources - */ - public function getScriptsAndStyles() { - return array_merge( $this->scripts, $this->styles ); - } - - /** - * Returns module for ResourceLoader, see getModuleName() for its name. - * If our gadget has no scripts or styles suitable for RL, false will be returned. - * @return Mixed: GadgetResourceLoaderModule or false - */ - public function getModule() { - $pages = array(); - - foreach ( $this->styles as $style ) { - $pages['MediaWiki:' . $style] = array( 'type' => 'style' ); - } - - if ( $this->supportsResourceLoader() ) { - foreach ( $this->scripts as $script ) { - $pages['MediaWiki:' . $script] = array( 'type' => 'script' ); - } - } - - if ( !count( $pages ) ) { - return null; - } - - return new GadgetResourceLoaderModule( $pages, $this->dependencies ); - } - - /** - * Returns list of scripts that don't support ResourceLoader - * @return Array - */ - public function getLegacyScripts() { - if ( $this->supportsResourceLoader() ) { - return array(); - } - return $this->scripts; - } - - /** - * Returns names of resources this gadget depends on - * @return Array - */ - public function getDependencies() { - return $this->dependencies; - } - - /** - * Returns array of permissions required by this gadget - * @return Array - */ - public function getRequiredRights() { - return $this->requiredRights; - } - - /** - * Returns array of skins where this gadget works - * @return Array - */ - public function getRequiredSkins() { - return $this->requiredSkins; - } - - /** - * Loads and returns a list of all gadgets - * @return Mixed: Array of gadgets or false - */ - public static function loadList() { - static $gadgets = null; - - if ( $gadgets !== null ) { - return $gadgets; - } - - wfProfileIn( __METHOD__ ); - $struct = self::loadStructuredList(); - - if ( !$struct ) { - $gadgets = $struct; - wfProfileOut( __METHOD__ ); - return $gadgets; - } - - $gadgets = array(); - foreach ( $struct as $entries ) { - $gadgets = array_merge( $gadgets, $entries ); - } - wfProfileOut( __METHOD__ ); - - return $gadgets; - } - - /** - * Checks whether gadget list from cache can be used. - * @param $gadgets array - * @return Boolean - */ - private static function isValidList( $gadgets ) { - if ( !is_array( $gadgets ) ) { - return false; - } - // Check if we have 1) array of gadgets 2) the gadgets are up to date - // One check is enough - /** - * @var $g Gadget - */ - foreach ( $gadgets as $list ) { - foreach ( $list as $g ) { - if ( !( $g instanceof Gadget ) || $g->isOutdated() ) { - return false; - } else { - return true; - } - } - } - - return true; // empty array - } - - /** - * Loads list of gadgets and returns it as associative array of sections with gadgets - * e.g. array( 'sectionnname1' => array( $gadget1, $gadget2), - * 'sectionnname2' => array( $gadget3 ) ); - * @param $forceNewText String: New text of MediaWiki:gadgets-sdefinition. If specified, will - * force a purge of cache and recreation of the gadget list. - * @return Mixed: Array or false - */ - public static function loadStructuredList( $forceNewText = null ) { - global $wgMemc; - - static $gadgets = null; - if ( $gadgets !== null && $forceNewText === null ) { - return $gadgets; - } - - wfProfileIn( __METHOD__ ); - $key = wfMemcKey( 'gadgets-definition', self::GADGET_CLASS_VERSION ); - - if ( $forceNewText === null ) { - // cached? - $gadgets = $wgMemc->get( $key ); - if ( self::isValidList( $gadgets ) ) { - wfProfileOut( __METHOD__ ); - return $gadgets; - } - - $g = wfMessage( "gadgets-definition" )->inContentLanguage(); - if ( !$g->exists() ) { - $gadgets = false; - wfProfileOut( __METHOD__ ); - return $gadgets; - } - $g = $g->plain(); - } else { - $g = $forceNewText; - } - - $g = preg_replace( '//s', '', $g ); - $g = preg_split( '/(\r\n|\r|\n)+/', $g ); - - $gadgets = array(); - $section = ''; - - foreach ( $g as $line ) { - $m = array(); - if ( preg_match( '/^==+ *([^*:\s|]+?)\s*==+\s*$/', $line, $m ) ) { - $section = $m[1]; - } else { - $gadget = self::newFromDefinition( $line ); - if ( $gadget ) { - $gadgets[$section][$gadget->getName()] = $gadget; - $gadget->category = $section; - } - } - } - - // cache for a while. gets purged automatically when MediaWiki:Gadgets-definition is edited - $wgMemc->set( $key, $gadgets, 60 * 60 * 24 ); - $source = $forceNewText !== null ? 'input text' : 'MediaWiki:Gadgets-definition'; - wfDebug( __METHOD__ . ": $source parsed, cache entry $key updated\n" ); - wfProfileOut( __METHOD__ ); - - return $gadgets; - } -} - -/** - * Class representing a list of resources for one gadget - */ -class GadgetResourceLoaderModule extends ResourceLoaderWikiModule { - private $pages, $dependencies; - - /** - * Creates an instance of this class - * @param $pages Array: Associative array of pages in ResourceLoaderWikiModule-compatible - * format, for example: - * array( - * 'MediaWiki:Gadget-foo.js' => array( 'type' => 'script' ), - * 'MediaWiki:Gadget-foo.css' => array( 'type' => 'style' ), - * ) - * @param $dependencies Array: Names of resources this module depends on - */ - public function __construct( $pages, $dependencies ) { - $this->pages = $pages; - $this->dependencies = $dependencies; - } - - /** - * Overrides the abstract function from ResourceLoaderWikiModule class - * @param $context ResourceLoaderContext - * @return Array: $pages passed to __construct() - */ - protected function getPages( ResourceLoaderContext $context ) { - return $this->pages; - } - - /** - * Overrides ResourceLoaderModule::getDependencies() - * @return Array: Names of resources this module depends on - */ - public function getDependencies() { - return $this->dependencies; - } -} diff --git a/documentacion/extensions/Gadgets/Gadgets_tests.php b/documentacion/extensions/Gadgets/Gadgets_tests.php deleted file mode 100644 index 2b1e6a7..0000000 --- a/documentacion/extensions/Gadgets/Gadgets_tests.php +++ /dev/null @@ -1,81 +0,0 @@ -assertEquals( 'Gadget', get_class( $g ) ); - - return $g; - } - - function testInvalidLines() { - $this->assertFalse( Gadget::newFromDefinition( '' ) ); - $this->assertFalse( Gadget::newFromDefinition( '' ) ); - } - - function testSimpleCases() { - $g = $this->create( '* foo bar| foo.css|foo.js|foo.bar' ); - $this->assertEquals( 'foo_bar', $g->getName() ); - $this->assertEquals( 'ext.gadget.foo_bar', $g->getModuleName() ); - $this->assertEquals( array( 'Gadget-foo.js' ), $g->getScripts() ); - $this->assertEquals( array( 'Gadget-foo.css' ), $g->getStyles() ); - $this->assertEquals( array( 'Gadget-foo.js', 'Gadget-foo.css' ), - $g->getScriptsAndStyles() ); - $this->assertEquals( array( 'Gadget-foo.js' ), $g->getLegacyScripts() ); - $this->assertFalse( $g->supportsResourceLoader() ); - $this->assertTrue( $g->hasModule() ); - } - - function testRLtag() { - $g = $this->create( '*foo [ResourceLoader]|foo.js|foo.css' ); - $this->assertEquals( 'foo', $g->getName() ); - $this->assertTrue( $g->supportsResourceLoader() ); - $this->assertEquals( 0, count( $g->getLegacyScripts() ) ); - } - - function testDependencies() { - $g = $this->create( '* foo[ResourceLoader|dependencies=jquery.ui]|bar.js' ); - $this->assertEquals( array( 'Gadget-bar.js' ), $g->getScripts() ); - $this->assertTrue( $g->supportsResourceLoader() ); - $this->assertEquals( array( 'jquery.ui' ), $g->getDependencies() ); - } - - function testPreferences() { - global $wgUser, $wgOut, $wgTitle; - - // This test makes call to the parser which requires valids Outputpage - // and Title objects. Set them up there, they will be released at the - // end of the test. - $old_wgOut = $wgOut; - $old_wgTitle = $wgTitle; - $wgTitle = Title::newFromText( 'Parser test for Gadgets extension' ); - - // Proceed with test setup: - $prefs = array(); - $context = new RequestContext(); - $wgOut = $context->getOutput(); - $wgOut->setTitle( Title::newFromText( 'test' ) ); - - Gadget::loadStructuredList( '* foo | foo.js -==keep-section1== -* bar| bar.js -==remove-section== -* baz [rights=embezzle] |baz.js -==keep-section2== -* quux [rights=read] | quux.js' ); - $this->assertTrue( GadgetHooks::getPreferences( $wgUser, $prefs ), 'GetPrefences hook should return true' ); - - $options = $prefs['gadgets']['options']; - $this->assertFalse( isset( $options['<gadget-section-remove-section>'] ), 'Must not show empty sections' ); - $this->assertTrue( isset( $options['<gadget-section-keep-section1>'] ) ); - $this->assertTrue( isset( $options['<gadget-section-keep-section2>'] ) ); - - // Restore globals - $wgOut = $old_wgOut; - $wgTitle = $old_wgTitle; - } -} diff --git a/documentacion/extensions/Gadgets/README b/documentacion/extensions/Gadgets/README deleted file mode 100644 index cbe0862..0000000 --- a/documentacion/extensions/Gadgets/README +++ /dev/null @@ -1,42 +0,0 @@ --------------------------------------------------------------------------- -README for the Gadgets extension -Copyright © 2007 Daniel Kinzler -Licenses: GNU General Public Licence (GPL) - GNU Free Documentation License (GFDL) --------------------------------------------------------------------------- - -The Gadgets extension provides a way for users to pick JavaScript or CSS -based "gadgets" that other wiki users provide. - - - -The Gadgets extension was originally written by Daniel Kinzler in 2007 -and is released under the GNU General Public Licence (GPL). -The internationalization files may contain contributions by several people; -they should be mentioned in each file individually. - -== Prerequisites == -This version of Gadgets requires MediaWiki 1.19 or later. To get a version -compatible with earlier MediaWiki release, visit - https://www.mediawiki.org/wiki/Special:ExtensionDistributor/Gadgets - -== Installing == -Copy the Gadgets directory into the extensions folder of your -MediaWiki installation. Then add the following lines to your -LocalSettings.php file (near the end): - - require_once( "$IP/extensions/Gadgets/Gadgets.php" ); - -== Usage == -See http://www.mediawiki.org/wiki/Extension:Gadgets#Usage - -== Caveats == - -* Gadgets do not apply to Special:Preferences, Special:UserLogin and - Special:ResetPass so users can always disable any broken gadgets they - may have enabled, and malicious gadgets will be unable to steal passwords. -* Uses BeforePageDisplay hook, thus only works with MonoBook based skins; - specifically, does not work with CologneBlue. -* Gadget code is included after user code - that means that user JS has no - access to things defined in gadgets, and user CSS is overwritten by CSS - from gadgets. (pending a better way to insert things into the HTML head) diff --git a/documentacion/extensions/Gadgets/SpecialGadgets.php b/documentacion/extensions/Gadgets/SpecialGadgets.php deleted file mode 100644 index 888ba6e..0000000 --- a/documentacion/extensions/Gadgets/SpecialGadgets.php +++ /dev/null @@ -1,204 +0,0 @@ -showExportForm( $parts[1] ); - } else { - $this->showMainForm(); - } - } - - /** - * Displays form showing the list of installed gadgets - */ - public function showMainForm() { - global $wgContLang; - - $output = $this->getOutput(); - $this->setHeaders(); - $output->setPagetitle( $this->msg( 'gadgets-title' ) ); - $output->addWikiMsg( 'gadgets-pagetext' ); - - $gadgets = Gadget::loadStructuredList(); - if ( !$gadgets ) { - return; - } - - $lang = $this->getLanguage(); - $langSuffix = ""; - if ( $lang->getCode() != $wgContLang->getCode() ) { - $langSuffix = "/" . $lang->getCode(); - } - - $listOpen = false; - - $editInterfaceMessage = $this->getUser()->isAllowed( 'editinterface' ) - ? 'edit' - : 'viewsource'; - - foreach ( $gadgets as $section => $entries ) { - if ( $section !== false && $section !== '' ) { - $t = Title::makeTitleSafe( NS_MEDIAWIKI, "Gadget-section-$section$langSuffix" ); - $lnkTarget = $t - ? Linker::link( $t, $this->msg( $editInterfaceMessage )->escaped(), array(), array( 'action' => 'edit' ) ) - : htmlspecialchars( $section ); - $lnk = "    [$lnkTarget]"; - - $ttext = $this->msg( "gadget-section-$section" )->parse(); - - if ( $listOpen ) { - $output->addHTML( Xml::closeElement( 'ul' ) . "\n" ); - $listOpen = false; - } - - $output->addHTML( Html::rawElement( 'h2', array(), $ttext . $lnk ) . "\n" ); - } - - /** - * @var $gadget Gadget - */ - foreach ( $entries as $gadget ) { - $t = Title::makeTitleSafe( NS_MEDIAWIKI, "Gadget-{$gadget->getName()}$langSuffix" ); - - if ( !$t ) { - continue; - } - - $links = array(); - $links[] = Linker::link( - $t, - $this->msg( $editInterfaceMessage )->escaped(), - array(), - array( 'action' => 'edit' ) - ); - $links[] = Linker::link( - $this->getTitle( "export/{$gadget->getName()}" ), - $this->msg( 'gadgets-export' )->escaped() - ); - - $ttext = $this->msg( "gadget-{$gadget->getName()}" )->parse(); - - if ( !$listOpen ) { - $listOpen = true; - $output->addHTML( Xml::openElement( 'ul' ) ); - } - - $lnk = '  ' . $this->msg( 'parentheses', $lang->pipeList( $links ) )->text(); - $output->addHTML( Xml::openElement( 'li' ) . - $ttext . $lnk . "
    " . - $this->msg( 'gadgets-uses' )->escaped() . - $this->msg( 'colon-separator' )->escaped() - ); - - $lnk = array(); - foreach ( $gadget->getScriptsAndStyles() as $codePage ) { - $t = Title::makeTitleSafe( NS_MEDIAWIKI, $codePage ); - - if ( !$t ) { - continue; - } - - $lnk[] = Linker::link( $t, htmlspecialchars( $t->getText() ) ); - } - $output->addHTML( $lang->commaList( $lnk ) ); - - $rights = array(); - foreach ( $gadget->getRequiredRights() as $right ) { - $rights[] = '* ' . $this->msg( "right-$right" )->plain(); - } - if ( count( $rights ) ) { - $output->addHTML( '
    ' . - $this->msg( 'gadgets-required-rights', implode( "\n", $rights ), count( $rights ) )->parse() - ); - } - - $skins = array(); - $validskins = Skin::getSkinNames(); - foreach ( $gadget->getRequiredSkins() as $skinid ) { - if ( isset( $validskins[$skinid] ) ) { - $skins[] = $this->msg( "skinname-$skinid" )->plain(); - } else { - $skins[] = $skinid; - } - } - if ( count( $skins ) ) { - $output->addHTML( - '
    ' . - $this->msg( 'gadgets-required-skins', $lang->commaList( $skins ) ) - ->numParams( count( $skins ) )->parse() - ); - } - - if ( $gadget->isOnByDefault() ) { - $output->addHTML( '
    ' . $this->msg( 'gadgets-default' )->parse() ); - } - - $output->addHTML( Xml::closeElement( 'li' ) . "\n" ); - } - } - - if ( $listOpen ) { - $output->addHTML( Xml::closeElement( 'ul' ) . "\n" ); - } - } - - /** - * Exports a gadget with its dependencies in a serialized form - * @param $gadget String Name of gadget to export - */ - public function showExportForm( $gadget ) { - global $wgScript; - - $output = $this->getOutput(); - $gadgets = Gadget::loadList(); - if ( !isset( $gadgets[$gadget] ) ) { - $output->showErrorPage( 'error', 'gadgets-not-found', array( $gadget ) ); - return; - } - - /** - * @var $g Gadget - */ - $g = $gadgets[$gadget]; - $this->setHeaders(); - $output->setPagetitle( $this->msg( 'gadgets-export-title' ) ); - $output->addWikiMsg( 'gadgets-export-text', $gadget, $g->getDefinition() ); - - $exportList = "MediaWiki:gadget-$gadget\n"; - foreach ( $g->getScriptsAndStyles() as $page ) { - $exportList .= "MediaWiki:$page\n"; - } - - $output->addHTML( Html::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ) - . Html::hidden( 'title', SpecialPage::getTitleFor( 'Export' )->getPrefixedDBKey() ) - . Html::hidden( 'pages', $exportList ) - . Html::hidden( 'wpDownload', '1' ) - . Html::hidden( 'templates', '1' ) - . Xml::submitButton( $this->msg( 'gadgets-export-download' )->text() ) - . Html::closeElement( 'form' ) - ); - } -} diff --git a/documentacion/extensions/Gadgets/install.settings b/documentacion/extensions/Gadgets/install.settings deleted file mode 100644 index f67255a..0000000 --- a/documentacion/extensions/Gadgets/install.settings +++ /dev/null @@ -1 +0,0 @@ -require_once( "{{path}}/Gadgets.php" ); diff --git a/documentacion/extensions/HTMLets.php~ b/documentacion/extensions/HTMLets.php~ deleted file mode 100644 index e69de29..0000000 diff --git a/documentacion/extensions/HTMLets/HTMLets.i18n.php b/documentacion/extensions/HTMLets/HTMLets.i18n.php deleted file mode 100644 index c4a089c..0000000 --- a/documentacion/extensions/HTMLets/HTMLets.i18n.php +++ /dev/null @@ -1,446 +0,0 @@ - 'Lets you inline HTML snippets from files using the <htmlet> tag', - 'htmlets-filenotfound' => 'Cannot find HTML file $1', - 'htmlets-loadfailed' => 'Failed to load HTML file $1', -); - -/** Message documentation (Message documentation) - * @author Purodha - * @author The Evil IP address - */ -$messages['qqq'] = array( - 'htmlets-desc' => '{{desc}}', -); - -/** Arabic (العربية) - * @author Meno25 - */ -$messages['ar'] = array( - 'htmlets-desc' => 'يسمح لك باستخدام صيغ HTML من الملفات باستخدام وسم <htmlet>', -); - -/** Egyptian Spoken Arabic (مصرى) - * @author Meno25 - */ -$messages['arz'] = array( - 'htmlets-desc' => 'يسمح لك باستخدام صيغ HTML من الملفات باستخدام وسم <htmlet>', -); - -/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) - * @author EugeneZelenko - * @author Wizardist - */ -$messages['be-tarask'] = array( - 'htmlets-desc' => 'Дазваляе Вам выводзіць з файлаў фрагмэнты HTML з дапамогай тэга <htmlet>', - 'htmlets-filenotfound' => 'Немагчыма знайсьці HTML-файл $1', - 'htmlets-loadfailed' => 'Немагчыма загрузіць HTML-файл $1', -); - -/** Breton (Brezhoneg) - * @author Fulup - */ -$messages['br'] = array( - 'htmlets-desc' => "Talvezout a ra da ensoc'hañ lodennoù HTML adalek restroù a ra gant ar valizenn <htmlet> tag", - 'htmlets-filenotfound' => "N'eus ket bet gallet kavout ar restr HTML $1", - 'htmlets-loadfailed' => "N'eus ket bet gallet kargañ ar restr HTML $1", -); - -/** Bosnian (Bosanski) - * @author CERminator - */ -$messages['bs'] = array( - 'htmlets-desc' => 'Dopunjava oznaku <htmlet> za ubacivanje HTML snippeta', - 'htmlets-filenotfound' => 'Ne mogu pronaći HTML datoteku $1', - 'htmlets-loadfailed' => 'Nije uspjelo učitavanje HTML datoteke $1', -); - -/** Catalan (Català) - * @author Paucabot - */ -$messages['ca'] = array( - 'htmlets-desc' => "Permet inserir snippets HTML de fitxers usant l'etiqueta <htmlet>", -); - -/** Czech (Česky) - * @author Mormegil - */ -$messages['cs'] = array( - 'htmlets-desc' => 'Umožňuje vkládání kousků HTML ze souborů pomocí značky <htmlet>', -); - -/** German (Deutsch) - * @author Kghbln - * @author Raimond Spekking - */ -$messages['de'] = array( - 'htmlets-desc' => 'Ergänzt das <htmlet>-Tag zum Einfügen von HTML-Schnipseln', - 'htmlets-filenotfound' => 'Die Datei $1 mit dem HTML-Code konnte nicht gefunden werden', - 'htmlets-loadfailed' => 'Die Datei $1 mit dem HTML-Code konnte nicht geladen werden', -); - -/** Lower Sorbian (Dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'htmlets-desc' => 'Zasuwa HTML-kuski z datajow z pomocu toflicki <htmlet>', - 'htmlets-filenotfound' => 'HTML-dataja $1 njedajo se namakaś', - 'htmlets-loadfailed' => 'HTML-dataja $1 njedajo se zacytaś', -); - -/** Greek (Ελληνικά) - * @author Omnipaedista - */ -$messages['el'] = array( - 'htmlets-desc' => 'Σας επιτρέπει να εισάγετε μέσα στη γραμμή αποσπάσματα κώδικα HTML από αρχεία χρησιμοποιώντας την ετικέτα <htmlet>', -); - -/** Esperanto (Esperanto) - * @author Yekrats - */ -$messages['eo'] = array( - 'htmlets-desc' => 'Permesas al vi enigi HTML-kodpecojn de dosieroj uzante la etikedon <htmlet>', -); - -/** Spanish (Español) - * @author Sanbec - */ -$messages['es'] = array( - 'htmlets-desc' => 'Permite incorporar fragmentos de HTML desde archivos por medio de la etiqueta <htmlet>', -); - -/** Basque (Euskara) - * @author Theklan - */ -$messages['eu'] = array( - 'htmlets-desc' => '<htmlet> etiketa erabiliz fitxategietako HTML zatiak lerroen artean sartzea baimentzen du', -); - -/** Finnish (Suomi) - * @author Crt - */ -$messages['fi'] = array( - 'htmlets-desc' => 'Mahdollistaa HTML-katkelmien lisäämisen tiedostosta käyttäen elementtiä <htmlet>.', -); - -/** French (Français) - * @author Grondin - * @author Peter17 - * @author Verdy p - */ -$messages['fr'] = array( - 'htmlets-desc' => 'Vous permet d’insérer en ligne des extraits de code HTML depuis les fichiers utilisant la balise <htmlet>', - 'htmlets-filenotfound' => 'Impossible de trouver le fichier HTML $1', - 'htmlets-loadfailed' => 'Impossible de charger le fichier HTML $1', -); - -/** Galician (Galego) - * @author Toliño - */ -$messages['gl'] = array( - 'htmlets-desc' => 'Déixalle introducir liñas de conversa HTML dende ficheiros usando a etiqueta <htmlet>', - 'htmlets-filenotfound' => 'Non se pode atopar o ficheiro HTML $1', - 'htmlets-loadfailed' => 'Erro ao cargar o ficheiro HTML $1', -); - -/** Swiss German (Alemannisch) - * @author Als-Holder - */ -$messages['gsw'] = array( - 'htmlets-desc' => 'Ergänzt s <htmlet>-Tag zum Yyfiege vu HTML-Schnipfel', - 'htmlets-filenotfound' => 'D Datei $1 mit em HTML-Code isch nit gfunde wore', - 'htmlets-loadfailed' => 'D Datei $1 mit em HTML-Code het nit chenne glade wäre', -); - -/** Hebrew (עברית) - * @author Rotemliss - * @author YaronSh - */ -$messages['he'] = array( - 'htmlets-desc' => 'אפשרות להוספת קטעי קוד HTML מקבצים באמצעות שימוש בתגית <htmlet>', - 'htmlets-filenotfound' => 'לא ניתן למצוא את קובץ ה־HTML ‏$1', - 'htmlets-loadfailed' => 'אירע כשל בטעינת קובץ ה־HTML ‏$1', -); - -/** Hindi (हिन्दी) - * @author Kaustubh - */ -$messages['hi'] = array( - 'htmlets-desc' => '<htmlet> टैग का इस्तेमाल करके फ़ाइलमें इन-लाइन HTML स्निपेट्ट्स डालने की अनुमति देता हैं', -); - -/** Hiligaynon (Ilonggo) - * @author Tagimata - */ -$messages['hil'] = array( - 'htmlets-desc' => 'Nagahatag sa imo inline HTML snippets halin sa mga file nga ang ginagamit <htmlet> tag', -); - -/** Upper Sorbian (Hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'htmlets-desc' => 'Zmóžnja zasunjenje HTML-kuskow z datajow z pomocu taflički <htmlet>', - 'htmlets-filenotfound' => 'HTML-dataja $1 njeda so namakać', - 'htmlets-loadfailed' => 'HTML-dataja $1 njeda so začitać', -); - -/** Hungarian (Magyar) - * @author Glanthor Reviol - */ -$messages['hu'] = array( - 'htmlets-desc' => 'Lehetővé teszi HTML használatát oldalon belül a <htmlet> tag segítségével', -); - -/** Interlingua (Interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'htmlets-desc' => 'Permitte incorporar fragmentos HTML ab files per medio del etiquetta <htmlet>', - 'htmlets-filenotfound' => 'Non pote trovar le file HTML $1', - 'htmlets-loadfailed' => 'Falleva de cargar le file HTML $1', -); - -/** Indonesian (Bahasa Indonesia) - * @author Bennylin - * @author IvanLanin - */ -$messages['id'] = array( - 'htmlets-desc' => 'Mengijinkan cukilan HTML inline dari berkas dengan menggunakan tag <htmlet>', - 'htmlets-filenotfound' => 'Tidak dapat menemukan berkas HTML $1', - 'htmlets-loadfailed' => 'Gagal memuat file HTML $1', -); - -/** Italian (Italiano) - * @author Uno - */ -$messages['it'] = array( - 'htmlets-desc' => 'Permette di includere frammenti di codice HTML da file usando il tag <htmlet>', -); - -/** Japanese (日本語) - * @author Fryed-peach - * @author 青子守歌 - */ -$messages['ja'] = array( - 'htmlets-desc' => '<htmlet> タグを使うことでファイルからHTMLの断片をインラインに埋め込むことができる', - 'htmlets-filenotfound' => 'HTMLファイル$1が見つかりません', - 'htmlets-loadfailed' => 'HTMLファイル$1の読み込みに失敗しました', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'htmlets-desc' => 'Määt Schnibbel fun HTML em Wiki müjjelesch övver der <htmlet>-Befäähl.', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Les Meloures - * @author Robby - */ -$messages['lb'] = array( - 'htmlets-desc' => 'Léisst Iech HTML-Schnëppele vu Fichiere mat Hellëf vun der <htmlet> Markéierung asetzen', - 'htmlets-filenotfound' => 'Den HTML-Fichier $1 gouf net fonnt', - 'htmlets-loadfailed' => 'Den HTML-Fichier $1 konnt net geluede ginn', -); - -/** Macedonian (Македонски) - * @author Bjankuloski06 - */ -$messages['mk'] = array( - 'htmlets-desc' => 'Дозволува вметнување на HTML снипети (парчиња код) во самиот текст од податоци кои ја користат ознаката <htmlet>', - 'htmlets-filenotfound' => 'Не можам да ја пронајдам HTML-податотеката $1', - 'htmlets-loadfailed' => 'Не успеав да ја вчитам HTML-податотеката $1', -); - -/** Marathi (मराठी) - * @author Kaustubh - */ -$messages['mr'] = array( - 'htmlets-desc' => '<htmlet> खूण वापरून संचिकेमध्ये अंतरओळ स्निपेट्ट्स टाकायची परवानगी देते', -); - -/** Dutch (Nederlands) - * @author Siebrand - */ -$messages['nl'] = array( - 'htmlets-desc' => 'Voegt de tag <htmlet> toe om HTML snippets uit bestanden te kunnen gebruiken', - 'htmlets-filenotfound' => 'Het HTML-bestand $1 is niet gevonden', - 'htmlets-loadfailed' => 'Fout bij het laden van HTML-bestand $1', -); - -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬) - * @author Harald Khan - */ -$messages['nn'] = array( - 'htmlets-desc' => 'Lèt deg nytta HTML-fragment frå filer ved bruk av merket <htmlet>', -); - -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬) - * @author Jon Harald Søby - * @author Nghtwlkr - */ -$messages['no'] = array( - 'htmlets-desc' => 'Lar deg bruke HTML-fragmenter fra filer ved bruk av taggen <htmlet>', - 'htmlets-filenotfound' => 'Finner ikke HTML-filen $1', - 'htmlets-loadfailed' => 'Kunne ikke laste HTML-filen $1', -); - -/** Occitan (Occitan) - * @author Cedric31 - */ -$messages['oc'] = array( - 'htmlets-desc' => 'Vos daissa lo ligam HTML abrejat en linha dempuèi los fichièrs utilizant la balisa <htmlet>', -); - -/** Polish (Polski) - * @author Sp5uhe - */ -$messages['pl'] = array( - 'htmlets-desc' => 'Umożliwia włączanie kodu HTML z plików przy użyciu znacznika <htmlet>', - 'htmlets-filenotfound' => 'Nie można odnaleźć pliku HTML $1', - 'htmlets-loadfailed' => 'Nie można załadować pliku HTML $1', -); - -/** Piedmontese (Piemontèis) - * @author Dragonòt - */ -$messages['pms'] = array( - 'htmlets-desc' => 'At përmëtt d\'anserì djë "snippet" HTML da file an dovrand ël tag <htmlet>', - 'htmlets-filenotfound' => 'As peul pa trovess ël file HTML $1', - 'htmlets-loadfailed' => 'Falì a carié ël file HTML $1', -); - -/** Portuguese (Português) - * @author Hamilton Abreu - * @author Malafaya - */ -$messages['pt'] = array( - 'htmlets-desc' => 'Permite-lhe incluir fragmentos de HTML em linha a partir de ficheiros, usando o elemento <htmlet>', - 'htmlets-filenotfound' => 'Não foi possível localizar o ficheiro HTML $1', - 'htmlets-loadfailed' => 'Erro ao carregar o ficheiro HTML $1', -); - -/** Brazilian Portuguese (Português do Brasil) - * @author Eduardo.mps - * @author Giro720 - */ -$messages['pt-br'] = array( - 'htmlets-desc' => 'Permite-lhe inserir blocos de HTML a partir de arquivos usando a marca <htmlet>', - 'htmlets-filenotfound' => 'Não foi possível localizar o arquivo HTML $1', - 'htmlets-loadfailed' => 'Erro ao carregar o arquivo HTML $1', -); - -/** Tarandíne (Tarandíne) - * @author Joetaras - */ -$messages['roa-tara'] = array( - 'htmlets-desc' => "Fa ausà le snippets inline de l'HTML da le file usanne 'u tag <htmlet>", -); - -/** Russian (Русский) - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'htmlets-desc' => 'Позволяет вам включать из файлов фрагменты HTML с помощью тега <htmlet>', - 'htmlets-filenotfound' => 'Не удается найти HTML-файл $1', - 'htmlets-loadfailed' => 'Не удалось загрузить HTML-файл $1', -); - -/** Slovak (Slovenčina) - * @author Helix84 - */ -$messages['sk'] = array( - 'htmlets-desc' => 'Umožňuje vkladať kúsky HTML kódu zo súborov pomocou značky <htmlet>', -); - -/** Serbian Cyrillic ekavian (Српски (ћирилица)) - * @author Михајло Анђелковић - */ -$messages['sr-ec'] = array( - 'htmlets-desc' => 'Омогућава убацивање HTML делова из фајлова, коришћењем <htmlet> тага', -); - -/** Serbian Latin ekavian (Srpski (latinica)) */ -$messages['sr-el'] = array( - 'htmlets-desc' => 'Omogućava ubacivanje HTML delova iz fajlova, korišćenjem <htmlet> taga', -); - -/** Seeltersk (Seeltersk) - * @author Pyt - */ -$messages['stq'] = array( - 'htmlets-desc' => 'Benutset dät <htmlet>-Tag toun Ienföigjen fon HTML-Snipsele', -); - -/** Swedish (Svenska) - * @author Lejonel - * @author M.M.S. - */ -$messages['sv'] = array( - 'htmlets-desc' => 'Låter dig infoga HTML-kod från filer med hjälp av taggen <htmlet>', -); - -/** Telugu (తెలుగు) - * @author Veeven - */ -$messages['te'] = array( - 'htmlets-desc' => '<htmlet> అనే ట్యాగుని ఉపయోగించడం ద్వారా ఫైళ్ళనుండి HTML ముక్కలని పేజీలలో చేర్చుకోనిస్తుంది', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'htmlets-desc' => 'Nagpapahintulot sa iyo na maihanay sa guhit ang maliliit na mga piraso ng HTML mula sa mga talaksan na ginagamit ang tatak na <htmlet>', -); - -/** Turkish (Türkçe) - * @author Vito Genovese - */ -$messages['tr'] = array( - 'htmlets-desc' => '<htmlet> etiketini kullanarak dosyalardan alınan HTML parçalarını hizalamanızı sağlar', -); - -/** Ukrainian (Українська) - * @author Prima klasy4na - * @author Тест - */ -$messages['uk'] = array( - 'htmlets-desc' => 'Дозволяє вам включати фрагменти HTML з файлів за допомогою тегу <htmlet>', - 'htmlets-filenotfound' => 'Не вдалося знайти HTML-файл $1', - 'htmlets-loadfailed' => 'Не вдалося завантажити HTML-файл $1', -); - -/** Vietnamese (Tiếng Việt) - * @author Vinhtantran - */ -$messages['vi'] = array( - 'htmlets-desc' => 'Cho phép bạn nhúng những đoạn HTML từ tập tin dùng thẻ <htmlet>', -); - -/** Cantonese (粵語) */ -$messages['yue'] = array( - 'htmlets-desc' => '令你可以用<htmlet>標籤響檔案度用HTML插件', -); - -/** Simplified Chinese (‪中文(简体)‬) */ -$messages['zh-hans'] = array( - 'htmlets-desc' => '令您可以利用<htmlet>标签于文件中使用HTML插件', -); - -/** Traditional Chinese (‪中文(繁體)‬) */ -$messages['zh-hant'] = array( - 'htmlets-desc' => '令您可以利用<htmlet>標籤於檔案中使用HTML插件', -); - diff --git a/documentacion/extensions/HTMLets/HTMLets.php b/documentacion/extensions/HTMLets/HTMLets.php deleted file mode 100644 index bfd3bab..0000000 --- a/documentacion/extensions/HTMLets/HTMLets.php +++ /dev/null @@ -1,141 +0,0 @@ -foobar.html from the htmlets directory. The htmlets directory can be - * configured using $wgHTMLetsDirectory; it defaults to $IP/htmlets, i.e. the - * directory htmlets in the installation root of MediaWiki. - * - * @file - * @ingroup Extensions - * @author Daniel Kinzler, brightbyte.de - * @copyright © 2007 Daniel Kinzler - * @license GNU General Public Licence 2.0 or later - */ - -if( !defined( 'MEDIAWIKI' ) ) { - echo( "This file is an extension to the MediaWiki software and cannot be used standalone.\n" ); - die( 1 ); -} - -$wgExtensionCredits['parserhook'][] = array( - 'path' => __FILE__, - 'name' => 'HTMLets', - 'author' => 'Daniel Kinzler', - 'url' => 'http://mediawiki.org/wiki/Extension:HTMLets', - 'descriptionmsg' => 'htmlets-desc', -); -$wgExtensionMessagesFiles['HTMLets'] = dirname(__FILE__) . '/HTMLets.i18n.php'; - -/** -* Pass file content unchanged. May get mangeled by late server pass. -**/ -define( 'HTMLETS_NO_HACK', 'none' ); - -/** -* Normalize whitespace, apply special stripping and escaping to avoid mangeling. -* This will break pre-formated text (pre tags), and may interfere with JavaScript -* code under some circumstances. -**/ -define( 'HTMLETS_STRIP_HACK', 'strip' ); - -/** -* bypass late parser pass using ParserAfterTidy. -* This will get the file content safely into the final HTML. -* There's no obvious trouble with it, but it just might interfere with other extensions. -**/ -define( 'HTMLETS_BYPASS_HACK', 'bypass' ); - -$wgHTMLetsHack = HTMLETS_BYPASS_HACK; #hack to use to work around bug #8997. see constant declarations. - -$wgHTMLetsDirectory = null; - -$wgExtensionFunctions[] = "wfHTMLetsExtension"; - -function wfHTMLetsExtension() { - global $wgParser; - $wgParser->setHook( "htmlet", "wfRenderHTMLet" ); -} - -# The callback function for converting the input text to HTML output -function wfRenderHTMLet( $name, $argv, $parser ) { - global $wgHTMLetsDirectory, $wgHTMLetsHack, $IP; - - if ( @$argv['nocache'] ) { - $parser->disableCache(); - } - - #HACKs for bug 8997 - $hack = @$argv['hack']; - if ( $hack == 'strip' ) { - $hack = HTMLETS_STRIP_HACK; - } elseif ( $hack == 'bypass' ) { - $hack = HTMLETS_BYPASS_HACK; - } else if ( $hack == 'none' || $hack == 'no' ) { - $hack = HTMLETS_NO_HACK; - } else { - $hack = $wgHTMLetsHack; - } - - $dir = $wgHTMLetsDirectory; - if ( !$dir ) { - $dir = "$IP/htmlets"; - } - - $name = preg_replace( '@[\\\\/!]|^\.+?&#@', '', $name ); #strip path separators and leading dots. - $name .= '.html'; #append html ending, for added security and conveniance - - $f = "$dir/$name"; - - if ( !preg_match('!^\w+://!', $dir ) && !file_exists( $f ) ) { - $output = Html::rawElement( 'div', array( 'class' => 'error' ), wfMsgForContent( 'htmlets-filenotfound', htmlspecialchars( $name ) ) ); - } else { - $output = file_get_contents( $f ); - if ( $output === false ) { - $output = Html::rawElement( 'div', array( 'class' => 'error' ), wfMsgForContent( 'htmlets-loadfailed', htmlspecialchars( $name ) ) ); - } - } - - #HACKs for bug 8997 - if ( $hack == HTMLETS_STRIP_HACK ) { - $output = trim( preg_replace( '![\r\n\t ]+!', ' ', $output ) ); //normalize whitespace - $output = preg_replace( '!(.) *:!', '\1:', $output ); //strip blanks before colons - - if ( strlen( $output ) > 0 ) { //escape first char if it may trigger wiki formatting - $ch = substr( $output, 0, 1 ); - - if ( $ch == '#' ) { - $output = '#' . substr( $output, 1 ); - } elseif ( $ch == '*' ) { - $output = '*' . substr( $output, 1 ); - } elseif ( $ch == ':' ) { - $output = ':' . substr( $output, 1 ); - } elseif ( $ch == ';' ) { - $output = ';' . substr( $output, 1 ); - } - } - } - elseif ( $hack == HTMLETS_BYPASS_HACK ) { - global $wgHooks; - - if ( !isset($wgHooks['ParserAfterTidy']) || !in_array('wfRenderHTMLetHackPostProcess', $wgHooks['ParserAfterTidy']) ) { - $wgHooks['ParserAfterTidy'][] = 'wfRenderHTMLetHackPostProcess'; - } - - $output = ''; - } - - return $output; -} - -function wfRenderHTMLetHackPostProcess( $parser, &$text ) { - $text = preg_replace( - '//esm', - 'base64_decode("$1")', - $text - ); - - return true; -} - diff --git a/documentacion/extensions/HTMLets/install.settings b/documentacion/extensions/HTMLets/install.settings deleted file mode 100644 index 5373cc2..0000000 --- a/documentacion/extensions/HTMLets/install.settings +++ /dev/null @@ -1,3 +0,0 @@ -require_once( "$IP/extensions/HTMLets/HTMLets.php" ); - -$wgHTMLetsDirectory = "$IP/htmlets"; diff --git a/documentacion/extensions/Maps/COPYING b/documentacion/extensions/Maps/COPYING deleted file mode 100644 index f583e2f..0000000 --- a/documentacion/extensions/Maps/COPYING +++ /dev/null @@ -1,682 +0,0 @@ -The license text below "----" applies to all files within this distribution, other -than those that are in a directory which contains files named "LICENSE" or -"COPYING", or a subdirectory thereof. For those files, the license text contained in -said file overrides any license information contained in directories of smaller depth. -Alternative licenses are typically used for software that is provided by external -parties, and merely packaged with this software for convenience. ----- - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/documentacion/extensions/Maps/INSTALL b/documentacion/extensions/Maps/INSTALL deleted file mode 100644 index f4bd778..0000000 --- a/documentacion/extensions/Maps/INSTALL +++ /dev/null @@ -1,40 +0,0 @@ -This is the install file for the Maps extension. - -Extension page on mediawiki.org: http://www.mediawiki.org/wiki/Extension:Maps -Latest version of the install file: http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Maps/INSTALL?view=co - - -== Requirements == - -Maps requires: - -* MediaWiki 1.17 or above -* PHP 5.2 or above, 5.3 or above recommended -* Validator 0.4.11 or above - -== Download == - -You can find the current version of Maps on the Google Code download page [0], -as well as a list of legacy downloads [1]. - -[0] https://code.google.com/p/mwmaps/downloads/list -[1] https://code.google.com/p/mwmaps/downloads/list?can=1 - -You can also get the code directly from SVN. Tags can be obtained via - - svn checkout http://svn.wikimedia.org/svnroot/mediawiki/tags/extensions/Maps/REL_version - -Where 'version' is the version number of the tag, such as 0_1 -(see the available tags at http://svn.wikimedia.org/svnroot/mediawiki/tags/extensions/Maps/). - -The latest code can be obtained from trunk: - - svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/Maps/ - -== Installation == - -Once you have downloaded the code, place the ''Maps'' directory within your MediaWiki -'extensions' directory. Then add the following code to your [[Manual:LocalSettings.php|LocalSettings.php]] file: - -# Maps -require_once( "$IP/extensions/Maps/Maps.php" ); \ No newline at end of file diff --git a/documentacion/extensions/Maps/Maps.hooks.php b/documentacion/extensions/Maps/Maps.hooks.php deleted file mode 100644 index 0efc358..0000000 --- a/documentacion/extensions/Maps/Maps.hooks.php +++ /dev/null @@ -1,93 +0,0 @@ - - */ -final class MapsHooks { - - /** - * Adds a link to Admin Links page. - * - * @since 0.7 - * - * @return true - */ - public static function addToAdminLinks( &$admin_links_tree ) { - $displaying_data_section = $admin_links_tree->getSection( wfMsg( 'smw_adminlinks_displayingdata' ) ); - - // Escape if SMW hasn't added links. - if ( is_null( $displaying_data_section ) ) return true; - $smw_docu_row = $displaying_data_section->getRow( 'smw' ); - - $maps_docu_label = wfMsg( 'adminlinks_documentation', 'Maps' ); - $smw_docu_row->addItem( AlItem::newFromExternalLink( 'http://mapping.referata.com/wiki/Maps', $maps_docu_label ) ); - - return true; - } - - /** - * Hook to add PHPUnit test cases. - * - * @since 0.7 - * - * @param array $files - */ - public static function registerUnitTests( array &$files ) { - $testDir = dirname( __FILE__ ) . '/test/'; - - $files[] = $testDir . 'MapsCoordinateParserTest.php'; - $files[] = $testDir . 'MapsDistanceParserTest.php'; - - return true; - } - - /** - * Intercept pages in the Layer namespace to handle them correctly. - * - * @param $title: Title - * @param $article: Article or null - * - * @return true - */ - public static function onArticleFromTitle( Title &$title, /* Article */ &$article ) { - if ( $title->getNamespace() == Maps_NS_LAYER ) { - $article = new MapsLayerPage( $title ); - } - - return true; - } - - /** - * Adds global JavaScript variables. - * - * @since 1.0 - * - * @param array &$vars - * - * @return true - */ - public static function onMakeGlobalVariablesScript( array &$vars ) { - global $egMapsGlobalJSVars; - - $vars['egMapsDebugJS'] = $GLOBALS['egMapsDebugJS']; - - $vars += $egMapsGlobalJSVars; - - return true; - } - - - public static function onCanonicalNamespaces( &$list ) { - $list[Maps_NS_LAYER] = 'Layer'; - $list[Maps_NS_LAYER_TALK] = 'Layer_talk'; - return true; - } -} diff --git a/documentacion/extensions/Maps/Maps.i18n.magic.php b/documentacion/extensions/Maps/Maps.i18n.magic.php deleted file mode 100644 index 0d5cdf7..0000000 --- a/documentacion/extensions/Maps/Maps.i18n.magic.php +++ /dev/null @@ -1,207 +0,0 @@ - array( 0, 'display_map' ), - 'display_point' => array( 0, 'display_point', 'display_points' ), - 'geocode' => array( 0, 'geocode' ), - 'geodistance' => array( 0, 'geodistance' ), - 'finddestination' => array( 0, 'finddestination' ), - 'coordinates' => array( 0, 'coordinates' ), - 'distance' => array( 0, 'distance' ), -); - -/** Afrikaans (Afrikaans) */ -$magicWords['af'] = array( - 'geocode' => array( 0, 'geokode', 'geocode' ), - 'coordinates' => array( 0, 'koördinate', 'coordinates' ), -); - -/** Arabic (العربية) */ -$magicWords['ar'] = array( - 'display_map' => array( 0, 'عرض_الخريطة' ), - 'display_point' => array( 0, 'نقطة_العرض', 'نقاط_العرض' ), - 'geocode' => array( 0, 'كود_جغرافي' ), - 'geodistance' => array( 0, 'مسافة_جغرافية' ), - 'finddestination' => array( 0, 'إيجاد_الوجهة' ), - 'coordinates' => array( 0, 'إحداثيات' ), - 'distance' => array( 0, 'مسافة' ), -); - -/** Egyptian Spoken Arabic (مصرى) */ -$magicWords['arz'] = array( - 'display_map' => array( 0, 'عرض_الخريطه', 'عرض_الخريطة', 'display_map' ), - 'display_point' => array( 0, 'نقطة_العرض', 'نقاط_العرض', 'display_point', 'display_points' ), - 'geocode' => array( 0, 'كود_جغرافي', 'geocode' ), - 'geodistance' => array( 0, 'مسافه_جغرافيه', 'مسافة_جغرافية', 'geodistance' ), - 'finddestination' => array( 0, 'إيجاد_الوجهه', 'إيجاد_الوجهة', 'finddestination' ), - 'coordinates' => array( 0, 'إحداثيات', 'coordinates' ), -); - -/** Breton (Brezhoneg) */ -$magicWords['br'] = array( - 'coordinates' => array( 0, 'daveennoù' ), - 'distance' => array( 0, 'hed' ), -); - -/** Chechen (Нохчийн) */ -$magicWords['ce'] = array( - 'display_point' => array( 0, 'гайта_тlадам', 'показать_точку', 'display_point', 'display_points' ), - 'geocode' => array( 0, 'геагишар', 'геокод', 'geocode' ), -); - -/** Esperanto (Esperanto) */ -$magicWords['eo'] = array( - 'coordinates' => array( 0, 'koordinatoj' ), - 'distance' => array( 0, 'distanco' ), -); - -/** Spanish (Español) */ -$magicWords['es'] = array( - 'display_point' => array( 0, 'mostrar_punto', 'display_point', 'display_points' ), - 'geocode' => array( 0, 'geocodificar', 'geocode' ), -); - -/** French (Français) */ -$magicWords['fr'] = array( - 'finddestination' => array( 0, 'trouverdestination' ), -); - -/** Igbo (Igbo) */ -$magicWords['ig'] = array( - 'display_map' => array( 0, 'zí_otúzọr', 'display_map' ), -); - -/** Italian (Italiano) */ -$magicWords['it'] = array( - 'display_map' => array( 0, 'mostra_mappa' ), - 'display_point' => array( 0, 'mostra_punto', 'mostra_punti' ), - 'coordinates' => array( 0, 'coordinate' ), - 'distance' => array( 0, 'distanza' ), -); - -/** Japanese (日本語) */ -$magicWords['ja'] = array( - 'display_map' => array( 0, '地図表示' ), - 'display_point' => array( 0, '地図点' ), - 'geocode' => array( 0, '地理的コード' ), - 'geodistance' => array( 0, '地理的距離' ), - 'finddestination' => array( 0, '目的地検索' ), - 'coordinates' => array( 0, '座標' ), - 'distance' => array( 0, '距離' ), -); - -/** Georgian (ქართული) */ -$magicWords['ka'] = array( - 'coordinates' => array( 0, 'კოორდინატები' ), -); - -/** Ladino (Ladino) */ -$magicWords['lad'] = array( - 'distance' => array( 0, 'distancia', 'distance' ), -); - -/** Macedonian (Македонски) */ -$magicWords['mk'] = array( - 'display_map' => array( 0, 'прикажи_карта' ), - 'display_point' => array( 0, 'прикажи_точка', 'прикажи_точки' ), - 'geocode' => array( 0, 'геокод' ), - 'geodistance' => array( 0, 'георастојание' ), - 'finddestination' => array( 0, 'најдиодредница' ), - 'coordinates' => array( 0, 'координати' ), - 'distance' => array( 0, 'растојание' ), -); - -/** Malayalam (മലയാളം) */ -$magicWords['ml'] = array( - 'display_map' => array( 0, 'ഭൂപടം_പ്രദർശിപ്പിക്കുക' ), - 'display_point' => array( 0, 'ബിന്ദു_പ്രദർശിപ്പിക്കുക', 'ബിന്ദുക്കൾ_പ്രദർശിപ്പിക്കുക' ), - 'geodistance' => array( 0, 'ഭൗമദൂരം' ), - 'finddestination' => array( 0, 'ലക്ഷ്യംതിരയുക' ), - 'coordinates' => array( 0, 'നിർദ്ദേശാങ്കങ്ങൾ' ), - 'distance' => array( 0, 'ദൂരം' ), -); - -/** Nedersaksisch (Nedersaksisch) */ -$magicWords['nds-nl'] = array( - 'display_map' => array( 0, 'kaorte_weergeven' ), - 'geocode' => array( 0, 'geokoderen' ), - 'geodistance' => array( 0, 'geo-aofstaand' ), - 'finddestination' => array( 0, 'bestemmingzeuken' ), - 'coordinates' => array( 0, 'koordinaoten' ), - 'distance' => array( 0, 'aofstaand' ), -); - -/** Dutch (Nederlands) */ -$magicWords['nl'] = array( - 'display_map' => array( 0, 'kaart_weergeven' ), - 'display_point' => array( 0, 'punt_weergeven' ), - 'geocode' => array( 0, 'geocoderen' ), - 'geodistance' => array( 0, 'geoafstand' ), - 'finddestination' => array( 0, 'bestemmingzoeken' ), - 'coordinates' => array( 0, 'coordinaten' ), - 'distance' => array( 0, 'afstand' ), -); - -/** Polish (Polski) */ -$magicWords['pl'] = array( - 'display_map' => array( 0, 'wyświetl_mapę' ), - 'coordinates' => array( 0, 'współrzędne' ), - 'distance' => array( 0, 'odległość' ), -); - -/** Pashto (پښتو) */ -$magicWords['ps'] = array( - 'distance' => array( 0, 'واټن', 'distance' ), -); - -/** Portuguese (Português) */ -$magicWords['pt'] = array( - 'display_map' => array( 0, 'mostrar_mapa', 'display_map' ), - 'display_point' => array( 0, 'mostrar_ponto', 'mostrar_pontos', 'display_point', 'display_points' ), - 'geocode' => array( 0, 'geocódigo', 'geocode' ), - 'geodistance' => array( 0, 'geodistância', 'geodistance' ), - 'finddestination' => array( 0, 'encontrardestino', 'finddestination' ), - 'coordinates' => array( 0, 'coordenadas', 'coordinates' ), - 'distance' => array( 0, 'distância', 'distance' ), -); - -/** Russian (Русский) */ -$magicWords['ru'] = array( - 'display_map' => array( 0, 'показать_карту' ), - 'display_point' => array( 0, 'показать_точку' ), - 'geocode' => array( 0, 'геокод' ), - 'geodistance' => array( 0, 'георасстояние' ), - 'finddestination' => array( 0, 'найти_местоположение' ), - 'coordinates' => array( 0, 'координаты' ), - 'distance' => array( 0, 'расстояние' ), -); - -/** Sinhala (සිංහල) */ -$magicWords['si'] = array( - 'finddestination' => array( 0, 'ගමනාන්තය_සෙවීම', 'finddestination' ), - 'coordinates' => array( 0, 'ඛණ්ඩාංක', 'coordinates' ), - 'distance' => array( 0, 'දුර', 'distance' ), -); - -/** Serbian (Cyrillic script) (‪Српски (ћирилица)‬) */ -$magicWords['sr-ec'] = array( - 'display_map' => array( 0, 'прикажи_мапу' ), - 'display_point' => array( 0, 'прикажи_тачку', 'прикажи_тачке' ), - 'finddestination' => array( 0, 'пронађиодредиште', 'пронађи_одредиште' ), - 'coordinates' => array( 0, 'координате' ), - 'distance' => array( 0, 'раздаљина' ), -); - -/** Vietnamese (Tiếng Việt) */ -$magicWords['vi'] = array( - 'coordinates' => array( 0, 'tọađộ' ), -); \ No newline at end of file diff --git a/documentacion/extensions/Maps/Maps.i18n.namespaces.php b/documentacion/extensions/Maps/Maps.i18n.namespaces.php deleted file mode 100644 index 6c558d9..0000000 --- a/documentacion/extensions/Maps/Maps.i18n.namespaces.php +++ /dev/null @@ -1,14 +0,0 @@ - 'Layer', - Maps_NS_LAYER_TALK => 'Layer_talk', -); diff --git a/documentacion/extensions/Maps/Maps.i18n.php b/documentacion/extensions/Maps/Maps.i18n.php deleted file mode 100644 index 4bc7ad6..0000000 --- a/documentacion/extensions/Maps/Maps.i18n.php +++ /dev/null @@ -1,4281 +0,0 @@ - "Enables embedding of dynamic maps into wiki pages, geocoding of addresses and other geographical operations. ([http://mapping.referata.com/wiki/Examples demos])", - - 'right-geocode' => 'Geocode', - - 'maps_map' => 'Map', - 'maps-loading-map' => 'Loading map...', - 'maps-load-failed' => 'Could not load the map!', - 'maps-markers' => 'Markers', - 'maps-others' => 'others', - //TODO: move to namespaces i18n - 'maps-ns-layer' => 'Layer', - 'maps-ns-layer-talk' => 'Layer talk', - 'maps-layer-property' => 'Property', - 'maps-layer-value' => 'Value', - 'maps-layer-errors' => 'Errors', - 'maps-error-invalid-layerdef' => 'This layer definition is not valid.', - 'maps-error-invalid-layertype' => 'There are no layers of type "$1". Only {{PLURAL:$3|this type is|these types are}} supported: $2', - 'maps-error-no-layertype' => 'You need to specify the layer type. {{PLURAL:$2|Only this type is|These types are}} supported: $1', - 'validation-error-invalid-layer' => 'Parameter $1 must be a valid layer.', - 'validation-error-invalid-layers' => 'Parameter $1 must be one or more valid layers.', - 'maps-layer-of-type' => 'Layer of type $1', - 'maps-layer-type-supported-by' => 'This layer type can {{PLURAL:$2|only be used with the $1 mapping service|be used with these mapping services: $1}}.', - - // Parser function descriptions - 'maps-coordinates-description' => 'Parser hook to format coordinates, from and to any of the supported formats.', - 'maps-displaymap-description' => 'Display geographical maps without any wiki-defined markers on them.', - 'maps-displaypoint-description' => 'Display geographical maps with one or more wiki-defined markers on them.', - 'maps-distance-description' => "Convert a distance using a certain supported unit to its equivalent using another unit.", - 'maps-finddestination-description' => 'Find a destination given a starting point (that can be in any of the supported formats), an initial bearing and a distance.', - 'maps-geocode-description' => 'Enables the geocoding of addresses, in other words, turning human readable locations into sets of coordinates. There is support for several geocoding services, which should not be confused with mapping services.', - 'maps-geodistance-description' => 'Calculate the geographical distance between two points, from and to any of the supported formats.', - 'maps-mapsdoc-description' => 'Display a table with the parameters for a specified mapping service together with their default values and descriptions.', - - // Mapsdoc parser hook - 'maps-mapsdoc-par-service' => 'The mapping service to display parameter documentation for.', - 'maps-mapsdoc-par-language' => 'The language in which to display the documentation. If no such translation is available, English will be used instead.', - - // Coordinates parser hook - 'maps-coordinates-par-location' => 'The coordinates you want to format.', - 'maps-coordinates-par-format' => 'The target format for the coordinates.', - 'maps-coordinates-par-directional' => 'Indicates if the coordinates should be outputted directional or not.', - - // Distance parser hook - 'maps-distance-par-distance' => "The distance to convert to its equivalent with a specified unit.", - 'maps-distance-par-decimals' => 'The maximum number of fractional digits to use in the resulting value.', - 'maps-distance-par-unit' => 'The unit to output the distance in.', - - // Finddestination paser hook - 'maps-finddestination-par-location' => 'The initial location.', - 'maps-finddestination-par-bearing' => 'The initial bearing.', - 'maps-finddestination-par-distance' => 'The distance to travel.', - 'maps-finddestination-par-format' => 'The format in which to output the destination.', - 'maps-finddestination-par-directional' => 'Indicates if the format of the destination should be directional or not.', - 'maps-finddestination-par-allowcoordinates' => 'Indicates if coordinates should be allowed. If set to no, only addresses will be accepted.', - 'maps-finddestination-par-geoservice' => "The geocoding service to use to geocode the value in case it is an address.", - 'maps-finddestination-par-mappingservice' => "Parameter to indicate the mapping service to use with this function. -This will allow maps to override the default value of the service parameter by the one that is optimal for the mapping service. -(Example: In case of Google Maps, the Google geocoder will be used.)", - - // Geocode parser hook - 'maps-geocode-par-location' => 'The address you want to geocode.', - 'maps-geocode-par-mappingservice' => 'The geocoding service you want to use. See the available geocoding services.', - 'maps-geocode-par-geoservice' => 'This parameter allows you to indicate you are using this geocoding request in combination with a specific mapping service. -Each mapping service can have overrides over the default value for the geocoding service. -This is for legal considerations, since you can not use the Google Geocoding service except together with Google Maps. -Setting this parameter and not the parameter for the service, will ensure you are not using an invalid combination.', - 'maps-geocode-par-allowcoordinates' => 'Allows disabling the support for coordinates in this function. Must be either yes or no. -When no, every value will be geocoded, even valid coordinates.', - 'maps-geocode-par-format' => 'The format for the resulting coordinates.', - 'maps-geocode-par-directional' => 'Indicates if the coordinates should be outputted directional or not.', - - // Geodistance parser hook - 'maps-geodistance-par-location1' => 'The first point in the set to calculate the distance between.', - 'maps-geodistance-par-location2' => 'The second point in the set to calculate the distance between.', - 'maps-geodistance-par-unit' => 'The unit to output the distance in.', - 'maps-geodistance-par-decimals' => 'The maximum number of fractional digits to use in the resulting value.', - 'maps-geodistance-par-mappingservice' => 'The geocoding service to use to geocode any addresses.', - 'maps-geodistance-par-geoservice' => 'The mapping service this is used together with. -This can affect the default geocoding service value.', - - // display_map parser hook - 'maps-displaymap-par-mappingservice' => 'Allows setting the mapping service that will be used to generate the map.', - 'maps-displaymap-par-coordinates' => 'The location the map will initially be centred on.', - - // display_points parser hook - 'maps-displaypoints-par-zoom' => 'Allows setting the zoom level of the map. -When not provided and multiple markers are present on the map, the best fitting zoom will be taken, not the configurable default.', - 'maps-displaypoints-par-mappingservice' => 'Allows setting the mapping service that will be used to generate the map.', - 'maps-displaypoints-par-coordinates' => 'One or more locations to display on the map. They will be indicated with a marker.', - 'maps-displaypoints-par-centre' => "Allows setting the coordinates of the map's centre for display_point(s). -Accepts both addresses and coordinates. -When this property is not provided, the map will centre itself on the provided marker, or between the provided markers.", - 'maps-displaypoints-par-title' => 'Allows setting text that will be displayed in the pop-ups of all markers that do not have a specific title. -When used together with label, the title will be bold and underlined.', - 'maps-displaypoints-par-label' => 'Allows setting text that will be displayed in the pop-ups of all markers that do not have a specific label.', - 'maps-displaypoints-par-icon' => 'Allows setting the icon used for all markers.', - - // Validation - 'validation-error-invalid-location' => 'Parameter $1 must be a valid location.', - 'validation-error-invalid-locations' => 'Parameter $1 must be one or more valid locations.', - 'validation-error-invalid-width' => 'Parameter $1 must be a valid width.', - 'validation-error-invalid-height' => 'Parameter $1 must be a valid height.', - 'validation-error-invalid-distance' => 'Parameter $1 must be a valid distance.', - 'validation-error-invalid-distances' => 'Parameter $1 must be one or more valid distances.', - 'validation-error-invalid-image' => 'Parameter $1 must be a valid image.', - 'validation-error-invalid-images' => 'Parameter $1 must be one or more valid images.', - - 'validation-error-invalid-goverlay' => 'Parameter $1 must be a valid overlay.', - 'validation-error-invalid-goverlays' => 'Parameter $1 must be one or more valid overlays.', - - // Coordinate handling - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Latitude:', - 'maps-longitude' => 'Longitude:', - - // Coordinate errors - 'maps-invalid-coordinates' => 'The value $1 was not recognized as a valid set of coordinates.', - 'maps_coordinates_missing' => 'No coordinates provided for the map.', - 'maps_geocoding_failed' => 'The following {{PLURAL:$2|address|addresses}} could not be geocoded: $1.', - 'maps_geocoding_failed_for' => 'The following {{PLURAL:$2|address|addresses}} could not be geocoded and {{PLURAL:$2|has|have}} been omitted from the map: -$1', - 'maps_unrecognized_coords' => 'The following {{PLURAL:$2|coordinate was|coordinates were}} not recognized: $1.', - 'maps_unrecognized_coords_for' => 'The following {{PLURAL:$2|coordinate was|coordinates were}} not recognized and {{PLURAL:$2|has|have}} been omitted from the map: -$1', - 'maps_map_cannot_be_displayed' => 'The map cannot be displayed.', - - // Geocoding - 'maps-geocoder-not-available' => 'The geocoding feature of Maps is not available. Your location can not be geocoded.', - - // Mapping services - 'maps_googlemaps2' => 'Google Maps v2', - 'maps_googlemaps3' => 'Google Maps v3', - 'maps_yahoomaps' => 'Yahoo! Maps', - 'maps_openlayers' => 'OpenLayers', - 'maps_osm' => 'OpenStreetMap', - - // Static maps - 'maps_click_to_activate' => 'Click to activate map', - 'maps_centred_on' => 'Map centered on $1, $2.', - - 'maps-par-resizable' => 'Makes the map resizable by dragging at it\'s lower right corner.', - 'maps-par-geoservice' => 'The geocoding service to use to make translations between addresses and coordinates.', - 'maps-par-zoom' => 'The zoom level for the map. For maps with markers this will default to the most zoomed in level that still shows all markers.', - 'maps-par-width' => 'Allows setting the width of the map. By default pixels will be assumed as unit, but you can explicitly specify one of these units: px, ex, em, %.', - 'maps-par-height' => 'Allows setting the height of the map. By default pixels will be assumed as unit, but you can explicitly specify one of these units: px, ex, em, %.', - - // Google Maps v2 - 'maps-googlemaps2-incompatbrowser' => 'Your browser is not compatible with Google Maps v2.', - 'maps_overlays' => 'Overlays', - 'maps_photos' => 'Photos', - 'maps_videos' => 'Videos', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webcams', - 'maps-googlemaps2-par-type' => 'The map type to initially show.', - 'maps-googlemaps2-par-types' => 'The map types that will be available via the type control.', - 'maps-googlemaps2-par-controls' => 'The controls to place on the map.', - 'maps-googlemaps2-par-autozoom' => 'Enable scrolling using the mousewheel.', - 'maps-googlemaps2-par-kml' => 'KML files to load onto the map.', - 'maps-googlemaps2-par-overlays' => 'Overlays the user can turn on.', - - // Google Maps v3 - 'maps-googlemaps3-incompatbrowser' => 'Your browser is not compatible with Google Maps v3.', - 'maps-googlemaps3-par-type' => 'The map type to initially show.', - 'maps-googlemaps3-par-types' => 'The map types that will be available via the type control.', - 'maps-googlemaps3-par-layers' => 'Special layers to load onto the map.', - 'maps-googlemaps3-par-controls' => 'The controls to place on the map.', - 'maps-googlemaps3-par-zoomstyle' => 'The style of the zoom control.', - 'maps-googlemaps3-par-typestyle' => 'The style of the type control.', - 'maps-googlemaps3-par-autoinfowindows' => 'Automatically open all info windows after the page has loaded.', - 'maps-googlemaps3-par-kml' => 'KML files to load onto the map.', - 'maps-googlemaps3-par-gkml' => 'KML files hosted by Google to load onto the map.', - 'maps-googlemaps3-par-fusiontables' => 'IDs of Google Fusion Tables which should be loaded onto the map.', - 'maps-googlemaps3-par-tilt' => 'Tilt for the Map when using Google Maps.', - 'maps-googlemaps3-par-kmlrezoom' => 'Rezoom the map after the KML layers have been loaded.', - - // OpenLayers - 'maps-openlayers-par-controls' => 'The controls to place on the map.', - 'maps-openlayers-par-layers' => 'The layers that will be available in the layer selector. The first layer will be shown when the map loads.', - - // OSM - 'maps-osm-par-thumbs' => 'Show thumbs', - 'maps-osm-par-photos' => 'Show photos', - - // Yahoo! Maps - 'maps-yahoomaps-par-type' => 'The map type to initially show.', - 'maps-yahoomaps-par-types' => 'The map types that will be available via the type control.', - 'maps-yahoomaps-par-controls' => 'The controls to place on the map.', - 'maps-yahoomaps-par-autozoom' => 'Enable scrolling using the mousewheel.', -); - -/** Message documentation (Message documentation) - * @author EugeneZelenko - * @author Fryed-peach - * @author Kghbln - * @author Purodha - * @author Raymond - * @author Umherirrender - * @author Тест - */ -$messages['qqq'] = array( - 'maps-desc' => '{{desc}}', - 'right-geocode' => '{{doc-right|geocode}}', - 'maps_map' => '{{Identical|Map}}', - 'maps-others' => '{{Identical|Other}}', - 'maps-layer-property' => '{{Identical|Property}}', - 'maps-layer-value' => '{{Identical|Value}}', - 'maps-layer-errors' => '{{Identical|Error}}', - 'maps-latitude' => '{{Identical|Latitude}}', - 'maps-longitude' => '{{Identical|Longitude}}', - 'maps_geocoding_failed_for' => '* $1 is a list -* $2 is the number of list items for PLURAL use.', - 'maps_googlemaps2' => '{{optional}}', - 'maps_googlemaps3' => '{{optional}}', - 'maps_yahoomaps' => '{{optional}}', - 'maps_openlayers' => '{{optional}}', - 'maps_osm' => '{{optional}}', - 'maps_centred_on' => '$1 and $2 are latitude and longitude.', -); - -/** Afrikaans (Afrikaans) - * @author Naudefj - */ -$messages['af'] = array( - 'maps_map' => 'Kaart', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Breedte:', - 'maps-longitude' => 'Lengte:', - 'maps_coordinates_missing' => 'Geen koördinate is vir die kaart verskaf nie.', - 'maps_unrecognized_coords' => 'Die volgende koördinate is nie herken nie: $1.', - 'maps_unrecognized_coords_for' => 'Die volgende {{PLURAL:$2|koördinaat|koördinate}} is nie herken nie en is uit die kaart weggelaat: -$1.', - 'maps_map_cannot_be_displayed' => 'Die kaart kan nie vertoon word nie.', - 'maps_click_to_activate' => 'Kliek om die kaart te aktiveer', - 'maps_centred_on' => 'Kaart gesentreer op $1, $2.', - 'maps_photos' => "Foto's", - 'maps_videos' => "Video's", - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webkameras', -); - -/** Gheg Albanian (Gegë) - * @author Mdupont - */ -$messages['aln'] = array( - 'maps-desc' => 'Ofron mundësinë për të shfaqur koordinimin e të dhënave në harta, dhe adresat geocode ([http://mapping.referata.com/wiki/Maps_examples demo]). Hartës shërbimet në dispozicion: $1', - 'maps_map' => 'Hartë', - 'maps-loading-map' => 'Loading Harta ...', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Latitude:', - 'maps-longitude' => 'Gjatësi:', - 'maps-invalid-coordinates' => 'Vlera $1 nuk është njohur si një grup të vlefshme të kordinatave.', - 'maps_coordinates_missing' => 'Nuk ka koordinon parashikuara në hartë.', - 'maps_geocoding_failed' => 'Më poshtë {{PLURAL:$2|Adresa|adresat}} nuk mund të geocoded: $1.', -); - -/** Arabic (العربية) - * @author Imksa - * @author Meno25 - */ -$messages['ar'] = array( - 'maps-desc' => 'يسمح بتضمين خرائط ديناميكية إلى صفحات الويكي، كود العناوين وعمليات جغرافية أخرى. ([http://mapping.referata.com/wiki/Examples تجارب])', - 'maps_map' => 'خريطة', - 'maps-loading-map' => 'تحميل الخريطة...', - 'maps-load-failed' => 'لا يمكن تحميل الخريطة!', - 'maps-markers' => 'علامات', - 'maps-others' => 'أخرون', - 'maps-ns-layer' => 'طبقة', - 'maps-layer-property' => 'خاصية', - 'maps-layer-value' => 'القيمة', - 'maps-layer-errors' => 'أخطاء', - 'maps-error-invalid-layerdef' => 'تعريف هذه الطبقة غير صالح.', - 'maps-error-invalid-layertype' => 'لا توجد طبقات من نوع " $1 ". فقط {{PLURAL:$3| هذا النوع هو | هذه الأنواع هي}} المدعومة : $2', - 'maps-error-no-layertype' => 'تحتاج إلى تحديد نوع طبقة. {{PLURAL:$2| هذا النوع فقط | هذه الأنواع هي}} المدعومة : $1', - 'validation-error-invalid-layer' => 'المعلمة $1 يجب أن تكون طبقة صالحة.', - 'validation-error-invalid-layers' => 'المعلمة $1 يجب أن تكون طبقة واحدة أو أكثر صالحة.', - 'maps-layer-of-type' => 'طبقة من نوع $1', - 'maps-layer-type-supported-by' => 'نوع الطبقة هذا يمكن أن {{PLURAL:$2| يمكن استخدامها فقط مع $1 خدمة الخرائط | يمكن استخدامها مع خدمات الخرائط : $1 }}.', - 'maps-coordinates-description' => 'ربط محلل بإحداثيات الشكل ، من وإلى أي من الأشكال المدعومة.', - 'maps-abb-north' => 'شم', - 'maps-abb-east' => 'شر', - 'maps-abb-south' => 'ج', - 'maps-abb-west' => 'غ', - 'maps-latitude' => 'دائرة العرض:', - 'maps-longitude' => 'خط الطول:', - 'maps_coordinates_missing' => 'لا إحداثيات موفرة للخريطة.', - 'maps_geocoding_failed' => '{{PLURAL:$2|العنوان التالي|العناوين التالية}} لم يمكن تكويدها جغرافيا: $1.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|العنوان التالي|العناوين التالية}} لم يمكن تكويدها جغرافيا و {{PLURAL:$2|تمت|تمت}} إزالتها من الخريطة: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|الإحداثي التالي|الإحداثيات التالية}} لم يتم التعرف عليها: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|الإحداثي التالي|الإحداثيات التالية}} لم يتم التعرف عليها و {{PLURAL:$2|تمت|تمت}} إزالتها من الخريطة: -$1', - 'maps_map_cannot_be_displayed' => 'الخريطة لا يمكن عرضها.', - 'maps_googlemaps2' => 'خرائط جوجل v2', - 'maps_googlemaps3' => 'خرائط جوجل v3', - 'maps_yahoomaps' => 'خرائط ياهو!', - 'maps_openlayers' => 'أوبن لايرز', - 'maps_osm' => 'أوبن ستريت ماب', - 'maps_click_to_activate' => 'اضغط لتنشيط الخريطة', - 'maps_centred_on' => 'الخريطة مركزها في $1، $2.', - 'maps_overlays' => 'الطبقات الإضافية', - 'maps_photos' => 'صور', - 'maps_videos' => 'فيديوهات', - 'maps_wikipedia' => 'ويكيبيديا', - 'maps_webcams' => 'كاميرات الويب', -); - -/** Aramaic (ܐܪܡܝܐ) - * @author Basharh - */ -$messages['arc'] = array( - 'maps_map' => 'ܨܘܪܬ ܥܠܡܐ', - 'maps-layer-value' => 'ܛܝܡܐ', - 'maps-layer-errors' => 'ܦܘܕ̈ܐ', - 'maps-abb-north' => 'ܓܪܒܝܐ', - 'maps-abb-east' => 'ܡܕܢܚܐ', - 'maps-abb-south' => 'ܬܝܡܢܐ', - 'maps-abb-west' => 'ܡܥܪܒܐ', - 'maps_photos' => 'ܨܘܪ̈ܬܐ', - 'maps_videos' => 'ܒܝܕ̈ܝܘ', - 'maps_wikipedia' => 'ܘܝܩܝܦܕܝܐ', -); - -/** Egyptian Spoken Arabic (مصرى) - * @author Meno25 - */ -$messages['arz'] = array( - 'maps-abb-north' => 'شمال', - 'maps-abb-east' => 'شرق', - 'maps-abb-south' => 'جنوب', - 'maps-abb-west' => 'غرب', - 'maps-latitude' => 'دوائر العرض:', - 'maps-longitude' => 'خطوط الطول:', - 'maps_googlemaps2' => 'خرايط جوجل', - 'maps_yahoomaps' => 'خرايط ياهو', -); - -/** Asturian (Asturianu) - * @author Xuacu - */ -$messages['ast'] = array( - 'maps-desc' => 'Activa inxertar mapes dinámicos nes páxines wiki, xeocodificación de direiciones y otres operaciones xeográfiques. ([http://mapping.referata.com/wiki/Examples Demos])', - 'right-geocode' => 'Xeocódigu', - 'maps_map' => 'Mapa', - 'maps-loading-map' => "Cargando'l mapa...", - 'maps-load-failed' => '¡Nun se pudo cargar el mapa!', - 'maps-markers' => 'Marcadores', - 'maps-others' => 'otros', - 'maps-ns-layer' => 'Capa', - 'maps-ns-layer-talk' => 'Alderique de capa', - 'maps-layer-property' => 'Propiedá', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Errores', - 'maps-error-invalid-layerdef' => 'Esta definición de capa nun ye válida.', - 'maps-error-invalid-layertype' => 'Nun hai capes de tipu "$1". Sólo {{PLURAL:$3|tien sofitu esti tipu|tienen sofitu estos tipos}}: $2', - 'maps-error-no-layertype' => "Tienes d'especificar la triba de capa. {{PLURAL:$2|Sólo tien sofitu esta triba|Tienen sofitu estes tribes}}: $1", - 'validation-error-invalid-layer' => 'El parámetru $1 tien de ser una capa válida.', - 'validation-error-invalid-layers' => 'El parámetru $1 tien de ser una o más capes válides.', - 'maps-layer-of-type' => 'Capa de tipu $1', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Llatitú:', - 'maps-longitude' => 'Llonxitú:', - 'maps_overlays' => 'Superposiciones', - 'maps_photos' => 'Semeyes', - 'maps_videos' => 'Videos', - 'maps_wikipedia' => 'Uiquipedia', -); - -/** Azerbaijani (Azərbaycanca) - * @author Cekli829 - */ -$messages['az'] = array( - 'maps_map' => 'Xəritə', - 'maps-loading-map' => 'Xəritə yüklənir...', - 'maps-layer-errors' => 'Xətalar', - 'maps-abb-north' => 'Şm', - 'maps-abb-east' => 'C', - 'maps-abb-west' => 'Q', - 'maps_photos' => 'Şəkillər', - 'maps_videos' => 'Videolar', - 'maps_wikipedia' => 'Vikipediya', -); - -/** Bavarian (Boarisch) - * @author Mucalexx - */ -$messages['bar'] = array( - 'maps-loading-map' => 'Korten werd gloon ...', -); - -/** Belarusian (Taraškievica orthography) (‪Беларуская (тарашкевіца)‬) - * @author EugeneZelenko - * @author Jim-by - * @author Wizardist - */ -$messages['be-tarask'] = array( - 'maps-desc' => 'Забясьпечвае магчымасьць убудаваньня дынамічных мапаў у вікі-старонкі, геаграфічнага кадаваньня адрасоў і іншыя геаграфічныя апэрацыі. ([http://mapping.referata.com/wiki/Examples Прыклады])', - 'right-geocode' => 'геаграфічнае кадаваньне', - 'maps_map' => 'Мапа', - 'maps-loading-map' => 'Загрузка мапы…', - 'maps-load-failed' => 'Немагчыма загрузіць мапу!', - 'maps-markers' => 'Пазнакі', - 'maps-others' => 'іншыя', - 'maps-ns-layer' => 'Слой', - 'maps-ns-layer-talk' => 'Абмеркаваньне слоя', - 'maps-layer-property' => 'Уласьцівасьць', - 'maps-layer-value' => 'Значэньне', - 'maps-layer-errors' => 'Памылкі', - 'maps-error-invalid-layerdef' => 'Гэтае вызначэньне слою — няслушнае.', - 'maps-error-invalid-layertype' => 'Няма слаёў тыпу «$1». Падтрымліваецца толькі {{PLURAL:$3|гэты тып|гэтыя тыпы}}: $2', - 'maps-error-no-layertype' => 'Вам неабходна вызначыць тып слою. {{PLURAL:$2|Падтрымліваецца толькі гэты тып|Падтрымліваюцца толькі гэтыя тыпы}}: $1', - 'validation-error-invalid-layer' => 'Парамэтар $1 мусіць быць слушным слоем.', - 'validation-error-invalid-layers' => 'Парамэтар $1 мусіць быць адным ці болей слушнымі слаямі.', - 'maps-layer-of-type' => 'Слой тыпу $1', - 'maps-layer-type-supported-by' => 'Гэты тып слою можа быць выкарыстаны толькі з {{PLURAL:$2|сэрвісам мапаў $1|сэрвісамі мапаў: $1}}.', - 'maps-coordinates-description' => 'Перахопнік парсэру для фарматаваньня каардынатаў, з і ў любыя фарматы, якія падтрымліваюцца.', - 'maps-displaymap-description' => 'Паказвае геаграфічныя мапы без аніякіх вікі-пазнакаў на іх.', - 'maps-displaypoint-description' => 'Паказвае геаграфічныя мапы з адной ці болей вікі-пазнакамі на іх.', - 'maps-distance-description' => 'Канвэртуе адлегласьць выкарыстоўваючы адзінкі, якія падтрымліваюцца, ў іх эквівалент, выкарыстоўваючы іншыя адзінкі.', - 'maps-finddestination-description' => 'Знаходзіць пункт прызначэньня з пададзенага пачатковага пункту (можа быць у любым фармаце, якія падтрымліваюцца), пачатковага напрамку і адлегласьці.', - 'maps-geocode-description' => 'Уключае геаграфічную кадыроўку адрасу, іншымі словамі, пераўтварае чытальнае для чалавека знаходжаньне ў набор каардынатаў. Тут ёсьць падтрымка для некалькіх сэрвісаў геаграфічнай кадыроўкі, якія не павінны быць блытаныя з сэрвісамі мапаў.', - 'maps-geodistance-description' => 'Падлічвае геаграфічную адлегласьць паміж двума пунктамі, з і для любога з фарматаў, якія падтрымліваюцца.', - 'maps-mapsdoc-description' => 'Паказвае табліцу з парамэтрамі для пазначанага сэрвісу стварэньня мапаў разам з яго значэньнямі па змоўчваньні і апісаньнямі.', - 'maps-mapsdoc-par-service' => 'Сэрвіс стварэньня мапаў, для якога паказваць дакумэнтацыю пра парамэтры.', - 'maps-mapsdoc-par-language' => 'Мова, на якой паказваць дакумэнтацыю. Калі перакладу на такую мову няма, замест яе будзе выкарыстоўвацца ангельская.', - 'maps-coordinates-par-location' => 'Каардынаты, якія Вы жадаеце фарматаваць.', - 'maps-coordinates-par-format' => 'Мэтавы фармат для каардынатаў.', - 'maps-coordinates-par-directional' => 'Паказвае, ці павінны каардынаты быць выведзены непасрэдна ці не.', - 'maps-distance-par-distance' => 'Адлегласьць для канвэртаваньня ў яе эквівалент у пададзеных адзінках.', - 'maps-distance-par-decimals' => 'Максымальная колькасьць лічбаў пасьля дзесятковай коскі для выкарыстаньня ў выніковым значэньні.', - 'maps-distance-par-unit' => 'Адзінкі, у якіх будзе выведзеная адлегласьць.', - 'maps-finddestination-par-location' => 'Пачатковае месцазнаходжаньне.', - 'maps-finddestination-par-bearing' => 'Пачатковы накірунак.', - 'maps-finddestination-par-distance' => 'Адлегласьць для падарожжа.', - 'maps-finddestination-par-format' => 'Фармат, у якім выводзіць пункт прызначэньня.', - 'maps-finddestination-par-directional' => 'Паказвае, калі фармат пункту прызначэньня павінен быць накіраваны ці не.', - 'maps-finddestination-par-allowcoordinates' => 'Паказвае, калі павінны быць дазволеныя каардынаты. Калі ўстанавіць у «не», будуць прымацца толькі адрасы.', - 'maps-finddestination-par-geoservice' => 'Сэрвіс геаграфічнай кадыроўкі для геаграфічнага пераўтварэньня значэньня ў выпадку, калі яно зьяўляецца адрасам.', - 'maps-finddestination-par-mappingservice' => 'Парамэтар, які Вы можаце выкарыстоўваць для ўказаньня сэрвісу мапаў, з якім Вы выкарыстоўваеце гэтую функцыю. -Гэта дазволіць замяніць значэньня парамэтра сэрвісу па змоўчваньні на той, які больш адпавядае сэрвісу мапаў. -(Напрыклад, для Google Maps будзе выкарыстоўвацца Google geocoder.)', - 'maps-geocode-par-location' => 'Адрас, які Вы жадаеце геаграфічна кадыраваць.', - 'maps-geocode-par-mappingservice' => 'Сэрвіс геаграфічнай кадыроўкі, які Вы жадаеце выкарыстаць. Глядзіце даступныя сэрвісы геаграфічнай кадыроўкі.', - 'maps-geocode-par-geoservice' => 'Гэты парамэтар дазваляе Вам указваць, што Вы выкарыстоўваеце гэты запыт геаграфічнай кадыроўкі ў спалучэньні з адпаведным сэрвісам мапаў. -Кожны сэрвіс мапаў можа перавызначаць службу геаграфічнага кадаваньня па змоўчваньні. -Гэта робіцца зь юрыдычных меркаваньняў, паколькі службу геаграфічнага кадаваньня Google можна выкарыстоўваць толькі ў спалучэньні з мапамі Google. -Устаноўка гэтага парамэтра, а парамэтра для не сэрвісу, будзе гарантаваць, што Вы не выкарыстоўваеце недапушчальнае спалучэньне.', - 'maps-geocode-par-allowcoordinates' => 'Дазваляе выключэньня падтрымкі каардынатаў у гэтай функцыі. Павінна быць пазначана «так» ці «не». -Калі «не», то кожнае значэньне будзе геаграфічна кадыравацца, нават слушныя каардынаты.', - 'maps-geocode-par-format' => 'Фармат для выніковых каардынатаў.', - 'maps-geocode-par-directional' => 'Паказвае, ці павінны каардынаты быць выведзены непасрэдна ці не.', - 'maps-geodistance-par-location1' => 'Першы пункт для вылічэньня адлегласьці.', - 'maps-geodistance-par-location2' => 'Другі пункт для вылічэньня адлегласьці.', - 'maps-geodistance-par-unit' => 'Адзінкі, у якіх будзе выведзеная адлегласьць.', - 'maps-geodistance-par-decimals' => 'Максымальная колькасьць лічбаў пасьля дзесятковай коскі для выкарыстаньня ў выніковым значэньні.', - 'maps-geodistance-par-mappingservice' => 'Сэрвіс геаграфічнай кадыроўкі для выкарыстаньня ў геаграфічнай карыроўцы любых адрасоў.', - 'maps-geodistance-par-geoservice' => 'Сэрвіс мапаў, з якім выкарыстоўваецца. -Гэта ўплывае на значэньне сэрвісу геаграфічнай кадыроўкі па змоўчваньні.', - 'maps-displaymap-par-mappingservice' => 'Дазваляе ўстанаўліваць сэрвіс мапаў, які будзе выкарыстоўвацца для стварэньня мапы.', - 'maps-displaymap-par-coordinates' => 'Месцазнаходжаньне, на якім мапа будзе цэнтравацца.', - 'maps-displaypoints-par-zoom' => 'Дазваляе зьмяняць павелічэньне мапы. -Калі гэта немагчыма, ці на мапе ёсьць некалькі маркераў, замест пазначанага ў наладах будзе выбранае найбольш слушнае павелічэньне.', - 'maps-displaypoints-par-mappingservice' => 'Дазваляе ўстанаўліваць сэрвіс мапаў, які будзе выкарыстоўвацца для стварэньня мапы.', - 'maps-displaypoints-par-coordinates' => 'Адно ці болей месцазнаходжаньняў для паказу на мапе. Яны будуць паказаныя маркерамі.', - 'maps-displaypoints-par-centre' => 'Дазваляе ўстанаўліваць каардынаты цэнтру мапы для display_point(s). -Прымаюцца адрасы і каардынаты. -Калі гэтая ўласьцівасьць не пададзеная, мапа будзе цэнтравацца на пададзеным маркеры ці паміж пададзенымі маркерамі.', - 'maps-displaypoints-par-title' => 'Дазваляе ўстанаўліваць тэкст, які будзе паказаны ў разгортваемым тэксьце тых маркераў, якія ня маюць асобных назваў. -Калі выкарыстоўваецца з меткамі, назва будзе паказаная тлустым тэкстам і падкрэсьленая.', - 'maps-displaypoints-par-label' => 'Дазваляе ўстанаўліваць тэкст, які будзе паказаны ў разгортваемым тэксьце тых маркераў, якія ня маюць асобных метак.', - 'maps-displaypoints-par-icon' => 'Дазваляе ўстанаўліваць выявы для ўсіх маркераў.', - 'validation-error-invalid-location' => 'Парамэтар $1 мусіць быць слушным знаходжаньнем.', - 'validation-error-invalid-locations' => 'Парамэтар $1 мусіць быць адным ці болей слушнымі знаходжаньнямі.', - 'validation-error-invalid-width' => 'Парамэтар $1 мусіць быць слушнай шырынёй.', - 'validation-error-invalid-height' => 'Парамэтар $1 мусіць быць слушнай вышынёй.', - 'validation-error-invalid-distance' => 'Парамэтар $1 мусіць быць слушнай адлегласьцю.', - 'validation-error-invalid-distances' => 'Парамэтар $1 мусіць быць адной ці болей слушнымі адлегласьцямі.', - 'validation-error-invalid-image' => 'Парамэтар $1 мусіць быць слушнай выявай.', - 'validation-error-invalid-images' => 'Парамэтар $1 мусіць быць адной ці болей слушнымі выявамі.', - 'validation-error-invalid-goverlay' => 'Парамэтар $1 мусіць быць слушным слоем.', - 'validation-error-invalid-goverlays' => 'Парамэтар $1 мусіць быць адным ці болей слушнымі слаямі.', - 'maps-abb-north' => 'Пн.', - 'maps-abb-east' => 'У.', - 'maps-abb-south' => 'Пд.', - 'maps-abb-west' => 'З.', - 'maps-latitude' => 'Шырата:', - 'maps-longitude' => 'Даўгата:', - 'maps-invalid-coordinates' => 'Значэньне $1 зьяўляецца недапушчальным наборам каардынатаў.', - 'maps_coordinates_missing' => 'Каардынаты для мапы не пазначаныя.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Наступны адрас ня можа быць геакадаваны|Наступныя адрасы ня могуць быць геакадаваныя}}: $1. -Мапа ня можа быць паказана.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Наступны адрас ня можа быць геакадаваны і быў выдалены|Наступныя адрасы ня могуць быць геакадаваны і былі выдаленыя}} з мапы: -$1', - 'maps_unrecognized_coords' => 'Наступныя {{PLURAL:$2|каардыната не была распазнаная|каардынаты не былі распазнаныя}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Наступная каардыната не была апазнаная|Наступныя каардынаты не былі апазнаныя}} і {{PLURAL:$2|яна не паказаная|яны не паказаныя}}: -$1', - 'maps_map_cannot_be_displayed' => 'Мапа ня можа быць паказаная.', - 'maps-geocoder-not-available' => 'Магчымасьць геаграфічнага кадаваньня для мапаў недаступная. Вашае месцазнаходжаньне ня можа быць геаграфічна закадаванае.', - 'maps_click_to_activate' => 'Націсьніце для актывацыі мапы', - 'maps_centred_on' => 'Цэнтар мапы — $1, $2.', - 'maps-par-resizable' => 'Дазваляе зьмяняць памеры мапы, перацягваючы яе ніжні правы кут.', - 'maps-par-geoservice' => 'Сэрвіс геаграфічнага кадаваньня для пераўтварэньня адрасоў і каардынаты.', - 'maps-par-zoom' => 'Маштаб мапы. Для мапаў з пазначэньнямі маштаб будзе такім, пры якім яшчэ будуць паказвацца ўсе пазначэньні.', - 'maps-par-width' => 'Дазваляе наладжваць шырыню мапы. Па змоўчваньні піксэлі выкарыстоўваюцца як адзінкі вымярэньня, але Вы можаце непасрэдна вызначыць адну з гэтых адзінак вымярэньня: px, ex, em, %.', - 'maps-par-height' => 'Дазваляе наладжваць вышыню мапы. Па змоўчваньні піксэлі выкарыстоўваюцца як адзінкі вымярэньня, але Вы можаце непасрэдна вызначыць адну з гэтых адзінак вымярэньня: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'Ваш браўзэр не сумяшчальны з Google Maps v2.', - 'maps_overlays' => 'Слаі', - 'maps_photos' => 'Фотаздымкі', - 'maps_videos' => 'Відэа', - 'maps_wikipedia' => 'Вікіпэдыя', - 'maps_webcams' => 'Ўэб-камэры', - 'maps-googlemaps2-par-type' => 'Тып мапы, які будзе паказвацца ў пачатку.', - 'maps-googlemaps2-par-types' => 'Тыпы мапаў, якія будуць даступныя праз элемэнт кіраваньня тыпамі.', - 'maps-googlemaps2-par-controls' => 'Элемэнты кіраваньня, якія будуць разьмешчаныя на мапе.', - 'maps-googlemaps2-par-autozoom' => 'Уключае пракрутку праз кола мышкі.', - 'maps-googlemaps2-par-kml' => 'KML-файлы для загрузкі ў мапу.', - 'maps-googlemaps2-par-overlays' => 'Слаі, якія ўдзельнік можа ўключыць.', - 'maps-googlemaps3-incompatbrowser' => 'Ваш браўзэр не сумяшчальны з Google Maps v3.', - 'maps-googlemaps3-par-type' => 'Тып мапы, які будзе паказвацца ў пачатку.', - 'maps-googlemaps3-par-types' => 'Тыпы мапаў, якія будуць даступныя праз элемэнт кіраваньня тыпамі.', - 'maps-googlemaps3-par-layers' => 'Спэцыяльныя слаі для загрузкі ў мапу.', - 'maps-googlemaps3-par-controls' => 'Элемэнты кіраваньня, якія будуць разьмешчаныя на мапе.', - 'maps-googlemaps3-par-zoomstyle' => 'Стыль элемэнта кіраваньня маштабам.', - 'maps-googlemaps3-par-typestyle' => 'Стыль элемэнта кіраваньня тыпамі.', - 'maps-googlemaps3-par-autoinfowindows' => 'Аўтаматычна адкрываць ўсе інфармацыйныя вокны, пасьля таго, як старонка была загружаная.', - 'maps-googlemaps3-par-kml' => 'KML-файлы для загрузкі ў мапу.', - 'maps-googlemaps3-par-gkml' => 'Файлы KML разьмешчаныя на Google для загрузкі на мапу.', - 'maps-googlemaps3-par-fusiontables' => 'Ідэнтыфікатары табліцаў Google Fusion, якія павінны быць загружаныя ў мапу.', - 'maps-googlemaps3-par-tilt' => 'Вугал нахілу мапы, падчас выкарыстаньня Google Maps.', - 'maps-googlemaps3-par-kmlrezoom' => 'Зьмяняць маштаб мапы пасьля загрузкі KML-слаёў.', - 'maps-openlayers-par-controls' => 'Элемэнты кіраваньня, якія будуць разьмешчаныя на мапе.', - 'maps-openlayers-par-layers' => 'Слаі, якія будуць даступныя падчас выбару слаёў. Першы слой будзе паказаны пасьля загрузкі мапы.', - 'maps-osm-par-thumbs' => 'Паказваць мініятуры', - 'maps-osm-par-photos' => 'Паказваць выявы', - 'maps-yahoomaps-par-type' => 'Тып мапы, які будзе паказвацца ў пачатку.', - 'maps-yahoomaps-par-types' => 'Тыпы мапаў, якія будуць даступныя праз элемэнт кіраваньня тыпамі.', - 'maps-yahoomaps-par-controls' => 'Элемэнты кіраваньня, якія будуць разьмешчаныя на мапе.', - 'maps-yahoomaps-par-autozoom' => 'Дазваляе пракрутку праз кола мышкі.', -); - -/** Bulgarian (Български) - * @author DCLXVI - */ -$messages['bg'] = array( - 'maps_map' => 'Карта', - 'maps-abb-north' => 'С', - 'maps-abb-east' => 'И', - 'maps-abb-south' => 'Ю', - 'maps-abb-west' => 'З', - 'maps_photos' => 'Снимки', - 'maps_wikipedia' => 'Уикипедия', - 'maps_webcams' => 'Уебкамери', -); - -/** Banjar (Bahasa Banjar) - * @author Ezagren - */ -$messages['bjn'] = array( - 'maps-abb-north' => 'U', - 'maps-abb-east' => 'T', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'B', - 'maps_wikipedia' => 'Wikipidia', -); - -/** Bengali (বাংলা) - * @author Wikitanvir - */ -$messages['bn'] = array( - 'maps_map' => 'মানচিত্র', - 'maps-loading-map' => 'মানচিত্র লোড করা হচ্ছে...', - 'maps-load-failed' => 'মানচিত্র লোড করা সম্ভব হয়নি!', - 'maps-others' => 'অন্যান্য', - 'maps-ns-layer' => 'পর্ব', - 'maps-ns-layer-talk' => 'পর্ব আলোচনা', - 'maps-layer-property' => 'সম্পত্তি', - 'maps-layer-value' => 'মান', - 'maps-layer-errors' => 'ত্রুটি', - 'maps-error-invalid-layerdef' => 'পর্বের এই সংজ্ঞাটি গ্রহণযোগ্য নয়।', - 'maps-abb-north' => 'উ', - 'maps-abb-east' => 'পূ', - 'maps-abb-south' => 'দ', - 'maps-abb-west' => 'প', - 'maps-latitude' => 'অক্ষাংশ:', - 'maps-longitude' => 'দ্রাঘিমাংশ:', - 'maps_map_cannot_be_displayed' => 'এই মানচিত্রটি প্রদর্শন করা সম্ভব নয়।', - 'maps_click_to_activate' => 'মানচিত্র চালু করতে ক্লিক করুন', - 'maps_centred_on' => 'মানচিত্র $1, $2-এ কেন্দ্রীভূত।', - 'maps_photos' => 'ছবি', - 'maps_videos' => 'ভিডিও', - 'maps_wikipedia' => 'উইকিপিডিয়া', - 'maps_webcams' => 'ওয়েবক্যাম', - 'maps-osm-par-thumbs' => 'থাম্ব দেখাও', - 'maps-osm-par-photos' => 'ছবি দেখাও', -); - -/** Breton (Brezhoneg) - * @author Fohanno - * @author Fulup - * @author Y-M D - */ -$messages['br'] = array( - 'maps-desc' => "Aotren a ra ensoc'hañ kartennoù dinamek er pajennoù wiki, geokodañ chomlec'hioù hag oberiadennoù douaroniel all. ([http://mapping.referata.com/wiki/Examples Diskouezadenn])", - 'right-geocode' => 'Geokod', - 'maps_map' => 'Kartenn', - 'maps-loading-map' => 'O kargañ ar gartenn...', - 'maps-load-failed' => "N'eus ket bet gallet kargañ ar gartenn !", - 'maps-markers' => 'Merkerioù', - 'maps-others' => 're all', - 'maps-ns-layer' => 'Gwiskad', - 'maps-ns-layer-talk' => 'Kaozeadenn ar gwiskad', - 'maps-layer-property' => 'Perzh', - 'maps-layer-value' => 'Talvoudenn', - 'maps-layer-errors' => 'Fazioù', - 'maps-error-invalid-layerdef' => 'Direizh eo termenadur ar gwiskad.', - 'maps-error-invalid-layertype' => 'N\'eus ket a wiskad a seurt gant "$1". N\'eo skoret nemet ar {{PLURAL:$3|seurt-mañ|seurtoù-mañ}} : $2', - 'maps-error-no-layertype' => "Ret eo deoc'h spisaat ar seurt gwiskad. N'eo skoret nemet ar {{PLURAL:$2|seurt-mañ|seurtoù-mañ}} : $1", - 'validation-error-invalid-layer' => 'Rankout a ra an arventenn $1 bezañ ur gwiskad reizh.', - 'validation-error-invalid-layers' => 'Rankout a ra an arventenn $1 bezañ evit ur gwiskad reizh, pe evit meur a hini.', - 'maps-layer-of-type' => 'Gwiskad a seurt $1', - 'maps-layer-type-supported-by' => "N'hall ar seurt gwiskad-mañ {{PLURAL:$2|bezañ implijet nemet gant ar sevij kartennaouiñ $1|bezañ implijet nemet gant ar servijoù kartennaouiñ-mañ : $1}}.", - 'maps-geodistance-description' => 'Jediñ an hed douaroniel etre daou bik, adalek ha war-zu ne vern pe furmad skoret.', - 'maps-coordinates-par-location' => "An daveennoù a fell deoc'h furmadiñ.", - 'maps-finddestination-par-location' => "Al lec'hiadur orin.", - 'maps-finddestination-par-bearing' => "An durc'hadur orin.", - 'maps-finddestination-par-distance' => 'An hed da vont drezañ.', - 'maps-geocode-par-location' => "Ar chomlec'h da c'heokodiñ.", - 'maps-geocode-par-mappingservice' => "Ar servij geokodañ a fell deoc'h ober gantañ. Sellit ouzh ar servijoù geokodañ hegerz.", - 'maps-geocode-par-format' => 'Furmad an daveennoù savet da-heul.', - 'validation-error-invalid-location' => "Rankout a ra an arventenn $1 bezañ evit ul lec'hiadur reizh.", - 'validation-error-invalid-locations' => "Rankout a ra an arventenn $1 bezañ evit ul lec'hiadur reizh, da nebeutañ.", - 'validation-error-invalid-width' => 'Rankout a ra an arventenn $1 bezañ evit ul ledander reizh.', - 'validation-error-invalid-height' => 'Rankout a ra an arventenn $1 bezañ evit un uhelder reizh.', - 'validation-error-invalid-distance' => 'Rankout a ra an arventenn $1 bezañ evit un hed reizh.', - 'validation-error-invalid-distances' => 'Rankout a ra an arventenn $1 bezañ evit un hed reizh, da nebeutañ.', - 'validation-error-invalid-image' => 'Rankout a ra an arventenn $1 bezañ ur skeudenn reizh.', - 'validation-error-invalid-images' => 'Rankout a ra an arventenn $1 bezañ ur skeudenn reizh, pe meur a hini.', - 'validation-error-invalid-goverlay' => 'Rankout a ra an arventenn $1 bezañ evit ur goloadur reizh.', - 'validation-error-invalid-goverlays' => 'Rankout a ra an arventenn $1 bezañ evit ur goloadur reizh, da nebeutañ.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'R', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'K', - 'maps-latitude' => 'Ledred :', - 'maps-longitude' => 'Hedred :', - 'maps-invalid-coordinates' => "N'eo ket bet anavezet an dalvoudenn $1 evel ur stroll daveennoù reizh.", - 'maps_coordinates_missing' => "N'eus bet spisaet daveenn ebet evit ar gartenn.", - 'maps_geocoding_failed' => "N'eus ket bet gallet geokodañ ar {{PLURAL:$2|chomlec'h|chomlec'h}} da-heul : $1. -N'haller ket diskwel ar gartenn.", - 'maps_geocoding_failed_for' => "N'eus ket bet gallet geokodañ ar {{PLURAL:$2|chomlec'h|chomlec'h}} da-heul, setu {{PLURAL:$2|n'eo|n'int}} ket bet lakaet war ar gartenn : -$1", - 'maps_unrecognized_coords' => "N'eo ket bet anavezet an {{PLURAL:$2|daveenn|daveennoù}} da-heul : $1.", - 'maps_unrecognized_coords_for' => "N'eo ket bet anavezet an {{PLURAL:$2|daveenn|daveennoù}} da-heul ha {{PLURAL:$2|n'eo|n'int}} ket bet lakaet war ar gartenn : -$1", - 'maps_map_cannot_be_displayed' => "N'hall ket ar gartenn bezañ diskwelet.", - 'maps-geocoder-not-available' => "N'haller ket ober gant arc'hwel geokodañ ar c'hartennoù. N'haller ket geokodañ ho lec'hiadur.", - 'maps_yahoomaps' => 'Yahoo! Kartennoù', - 'maps_click_to_activate' => 'Klikañ evit gweredekaat ar gartenn', - 'maps_centred_on' => 'Kartenn kreizet war $1, $2.', - 'maps-googlemaps2-incompatbrowser' => "N'eo ket kenglotus ho merdeer gant Google Maps v2.", - 'maps_overlays' => 'Dreistlakadennoù', - 'maps_photos' => "Luc'hskeudennoù", - 'maps_videos' => 'Videoioù', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Kameraoù web', - 'maps-googlemaps2-par-kml' => 'Restroù KML da gargañ war ar gartenn.', - 'maps-googlemaps3-incompatbrowser' => "N'eo ket kenglotus ho merdeer gant Google Maps v3.", - 'maps-googlemaps3-par-zoomstyle' => 'Stil kontroll ar zoum.', - 'maps-googlemaps3-par-typestyle' => 'Stil kontroll ar seurt.', - 'maps-googlemaps3-par-autoinfowindows' => 'Digeriñ an holl brenestroù diouzhtu goude bezañ karget ar bajenn.', - 'maps-googlemaps3-par-kml' => 'Restroù KML da gargañ war ar gartenn.', - 'maps-osm-par-thumbs' => 'Diskouez ar munudoù', - 'maps-osm-par-photos' => 'Diskouez ar skeudennoù', - 'maps-yahoomaps-par-autozoom' => 'Aotren an dibunañ war-bouez rodig al logodenn.', -); - -/** Bosnian (Bosanski) - * @author CERminator - */ -$messages['bs'] = array( - 'maps-desc' => 'Daje umetanje dinamičkih mapa u wiki stranice, geokodiranje adresa i druge geografske operacije. ([http://mapping.referata.com/wiki/Examples primeri])', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Učitavam kartu...', - 'maps-markers' => 'Markeri', - 'maps-others' => 'ostali', - 'maps-ns-layer' => 'Sloj', - 'maps-ns-layer-talk' => 'Razgovor o sloju', - 'maps-layer-property' => 'Svojstvo', - 'maps-layer-value' => 'Vrijednost', - 'maps-layer-errors' => 'Greške', - 'maps-error-invalid-layerdef' => 'Ova definicija sloja nije valjana.', - 'maps-error-invalid-layertype' => 'Nema slojeva tipa "$1". Samo {{PLURAL:$3|je ovaj tip podržan|su ovi tipovi podržani}}: $2', - 'maps-error-no-layertype' => 'Morate odrediti tip sloja. {{PLURAL:$2|Samo ovaj tip je podržan|Ovi tipovi su podržani}}: $1', - 'validation-error-invalid-layer' => 'Parametar $1 mora biti valjani sloj.', - 'validation-error-invalid-layers' => 'Parametar $1 mora biti jedan ili više valjanih slojeva.', - 'maps-layer-of-type' => 'Sloj tipa $1', - 'maps-layer-type-supported-by' => 'Ovaj tip sloja može biti korišten {{PLURAL:$2|samo sa $1 uslugom kartografiranja|sa ovim uslugama kartografiranja: $1}}.', - 'validation-error-invalid-location' => 'Parametar $1 mora biti valjana lokacija.', - 'validation-error-invalid-locations' => 'Parametar $1 mora biti jedna ili više valjanih lokacija.', - 'validation-error-invalid-width' => 'Parametar $1 mora biti valjana širina.', - 'validation-error-invalid-height' => 'Parametar $1 mora biti valjana visina.', - 'validation-error-invalid-distance' => 'Parametar $1 mora biti ispravno odstojanje.', - 'validation-error-invalid-distances' => 'Parametar $1 mora biti jedna ili više valjanih udaljenosti.', - 'validation-error-invalid-image' => 'Parametar $1 mora biti valjana slika.', - 'validation-error-invalid-images' => 'Parametar $1 mora biti jedna ili više valjanih slika.', - 'validation-error-invalid-goverlay' => 'Parametar $1 mora biti valjan sloj.', - 'validation-error-invalid-goverlays' => 'Parametar $1 mora biti jedan ili više valjanih slojeva.', - 'maps-abb-north' => 'S', - 'maps-abb-east' => 'I', - 'maps-abb-south' => 'J', - 'maps-abb-west' => 'Z', - 'maps-latitude' => 'Geografska širina:', - 'maps-longitude' => 'Geografska dužina:', - 'maps-invalid-coordinates' => 'Vrijednost $1 nije prepoznata kao valjan set koordinati.', - 'maps_coordinates_missing' => 'Za mapu nisu navedene koordinate.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Slijedeća adresa nije mogla biti geokodirana|Slijedeće adrese nisu mogle biti geokodirane}}: $1. -Mapa se ne može prikazati.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Slijedeća adresa nije|Slijedeće adrese nisu}} mogle biti geokodiranje i {{PLURAL:$2|izostavljena je|izostavljene su}} iz mape: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Slijedeća koordinata nije prepoznata|Slijedeće koordinate nisu prepoznate}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Slijedeća koordinata nije|Slijedeće koordinate nisu}} prepoznate i {{PLURAL:$2|ignorirana je|ignorirane su}} na karti: -$1', - 'maps_map_cannot_be_displayed' => 'Karta se ne može prikazati.', - 'maps-geocoder-not-available' => 'Mogućnost geokodiranja na Mapama nije dostupna. Vaša lokacija ne može biti geokodirana.', - 'maps_click_to_activate' => 'Kliknite da aktivirate kartu', - 'maps_centred_on' => 'Karta centrirana na $1, $2.', - 'maps_overlays' => 'Slojevi', - 'maps_photos' => 'Fotografije', - 'maps_videos' => 'Video snimci', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Web kamere', -); - -/** Catalan (Català) - * @author Paucabot - * @author PerroVerd - */ -$messages['ca'] = array( - 'maps_map' => 'Mapa', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitud:', - 'maps-longitude' => 'Longitud:', - 'maps_coordinates_missing' => "No s'han proporcionat coordenades pel mapa.", - 'maps_centred_on' => 'Mapa centrat en $1, $2.', - 'maps_overlays' => 'Capes addicionals', - 'maps_photos' => 'Fotos', - 'maps_videos' => 'Videos', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Cámeres web', -); - -/** Chechen (Нохчийн) - * @author Sasan700 - */ -$messages['ce'] = array( - 'maps_photos' => 'Сурт', - 'maps_wikipedia' => 'Википедийа', -); - -/** Czech (Česky) - * @author Mormegil - */ -$messages['cs'] = array( - 'right-geocode' => 'Geokódování', - 'maps_map' => 'Mapa', - 'maps-abb-north' => 'S', - 'maps-abb-east' => 'V', - 'maps-abb-south' => 'J', - 'maps-abb-west' => 'Z', - 'maps-latitude' => 'Zeměpisná šířka:', - 'maps-longitude' => 'Zeměpisná délka:', - 'maps_overlays' => 'Překryvné vrstvy', - 'maps_wikipedia' => 'Wikipedie', -); - -/** Danish (Dansk) - * @author Peter Alberti - */ -$messages['da'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'Ø', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'V', -); - -/** German (Deutsch) - * @author Als-Holder - * @author DaSch - * @author Imre - * @author Kghbln - * @author Purodha - * @author The Evil IP address - */ -$messages['de'] = array( - 'maps-desc' => 'Ermöglicht die Einbindung dynamischer Karten in Wikiseiten, die Georeferenzierung von Adressen und andere geographische Operationen ([http://mapping.referata.com/wiki/Maps_examples Demonstrationsseite])', - 'right-geocode' => 'Georeferenzieren', - 'maps_map' => 'Karte', - 'maps-loading-map' => 'Karte wird geladen …', - 'maps-load-failed' => 'Die Karte konnte nicht geladen werden.', - 'maps-markers' => 'Markierungen', - 'maps-others' => 'andere', - 'maps-ns-layer' => 'Ebene', - 'maps-ns-layer-talk' => 'Ebene Diskussion', - 'maps-layer-property' => 'Eigenschaft', - 'maps-layer-value' => 'Wert', - 'maps-layer-errors' => 'Fehler', - 'maps-error-invalid-layerdef' => 'Die Angaben zu dieser Ebene sind ungültig.', - 'maps-error-invalid-layertype' => 'Es gibt keine Ebenen des Typs „$1“. Nur {{PLURAL:$3|dieser Typ wird|diese Typen werden}} unterstützt: $2', - 'maps-error-no-layertype' => 'Der Ebenentyp muss angegeben werden. Nur {{PLURAL:$2|dieser Typ wird|diese Typen werden}} unterstützt: $1', - 'validation-error-invalid-layer' => 'Parameter $1 muss einer gültigen Ebene entsprechen.', - 'validation-error-invalid-layers' => 'Parameter $1 muss einer oder mehreren gültigen Ebenen entsprechen.', - 'maps-layer-of-type' => 'Ebene des Typs $1', - 'maps-layer-type-supported-by' => 'Dieser Ebenentyp kann {{PLURAL:$2|nur beim Kartografiedienst $1 genutzt werden|bei diesen Kartografiediensten genutzt werden: $1}}.', - 'maps-coordinates-description' => 'Parserhook zur Koordinatenformatierung aus und in alle unterstützte Formate.', - 'maps-displaymap-description' => 'Anzeige geographischer Karten ohne dabei jegliche im Wiki definierte Markierungen anzuzeigen.', - 'maps-displaypoint-description' => 'Anzeige geographischer Karten zusammen mit einer oder mehrerer im Wiki definierter Markierungen.', - 'maps-distance-description' => 'Konvertiere die Entfernung unter Verwendung einer der unterstützten Einheiten in ihr Äquivalent einer anderen unterstützen Einheit.', - 'maps-finddestination-description' => 'Ein Ziel unter Angabe des Ausgangspunkts (kann in jedwedem unterstützten Format angegeben sein), der Peilung sowie der Entfernung ermitteln.', - 'maps-geocode-description' => 'Aktiviert das Georeferenzieren von Adressen, also deren Umwandlung in Koordinaten. Mehrere Georeferenzierungsdienste werden unterstützt, was allerdings nicht mit den Kartografiediensten zu verwechseln ist.', - 'maps-geodistance-description' => 'Berechne die Entfernung zwischen zwei Punkten von einer der unterstützten Einheiten in ihr Äquivalent einer anderen unterstützten Einheit.', - 'maps-mapsdoc-description' => 'Zeigt eine Übersicht aller Parameter mitsamt deren Standardwerten einschließlich ihrer Beschreibung, die im Zusammenhang mit dem angegebenen Kartografiedienst genutzt werden können.', - 'maps-mapsdoc-par-service' => 'Der Kartografiedienst zu dessen Parametern die Dokumentation angezeigt werden soll.', - 'maps-mapsdoc-par-language' => 'Die Sprache, in der die Dokumentation angezeigt werden soll. Sofern keine Übersetzung verfügbar ist, wird stattdessen Englisch verwendet werden.', - 'maps-coordinates-par-location' => 'Die zu formatierenden Koordinaten.', - 'maps-coordinates-par-format' => 'Das Zielformat der Koordinaten.', - 'maps-coordinates-par-directional' => 'Gibt an, ob die Koordinaten eine Richtungsangabe haben sollen oder nicht.', - 'maps-distance-par-distance' => 'Die Entfernung zum konvertieren dieser Einheit in ihr Äquivalent einer angegebenen Einheit.', - 'maps-distance-par-decimals' => 'Die bei der Ergebnisausgabe zu verwendende Höchstzahl an Nachkommastellen.', - 'maps-distance-par-unit' => 'Die Ausgabeeinheit für die Entfernung.', - 'maps-finddestination-par-location' => 'Der Ausgangspunkt.', - 'maps-finddestination-par-bearing' => 'Die Ausgangspeilung.', - 'maps-finddestination-par-distance' => 'Die Reiseentfernung.', - 'maps-finddestination-par-format' => 'Das Ausgabeformat für das Ziel.', - 'maps-finddestination-par-directional' => 'Gibt an, ob das Ausgabeformat des Ziels eine Richtungsangabe haben soll oder nicht.', - 'maps-finddestination-par-allowcoordinates' => 'Gibt an, ob die Angabe von Koordinaten zulässig ist. Sofern deaktiviert, ist lediglich die Angabe von Adressen möglich.', - 'maps-finddestination-par-geoservice' => 'Der Kartografiedienst der, für den Fall dass es sich um eine Adresse handelt, zum Georeferenzieren des Werts verwendet werden soll.', - 'maps-finddestination-par-mappingservice' => 'Parameter mit denen der Kartografiedienst angegeben werden kann, der zusammen mit dieser Funktion genutzt wird. -Dadurch können die Standardwerte der Funktion durch die für den Kartografiedienst optimalen überschrieben werden. -(Beispiel: Im Fall von Google Maps wird dann der Google Geocoder genutzt.)', - 'maps-geocode-par-location' => 'Die Adresse, die geokodiert werden soll.', - 'maps-geocode-par-mappingservice' => 'Der Kartografiedienst der genutzt werden soll.', - 'maps-geocode-par-geoservice' => 'Dieser Parameter ermöglicht es, einen bestimmten Kartografiedienst für Georeferenzierungsanfragen anzugeben. -Jeder Kartografiedienst kann über eigenständige Standardwerte für die Georeferenzierung verfügen. -Diese Einstellung hat rechtliche Gründe, da man bspw. den Google Georeferenzierungsdienst nur zusammen mit Google Maps nutzen kann. -Diesen Parameter anstatt dem zum Georeferenzierungsdienst einzustellen, verhindert eine unzulässige Kombination bei der Nutzung der Dienste.', - 'maps-geocode-par-allowcoordinates' => 'Ermöglicht die Deaktivierung der Unterstützung von Koordinaten. Entweder Ja oder Nein angeben. -Sofern Nein angegeben wurde, werden alle Werte geokodiert, sogar gültige Koordinaten.', - 'maps-geocode-par-format' => 'Das Ausgabeformat für die Koordinaten.', - 'maps-geocode-par-directional' => 'Gibt an, ob die Koordinaten eine Richtungsangabe haben sollen oder nicht.', - 'maps-geodistance-par-location1' => 'Der erste von zwei Punkten zwischen denen die Entfernung berechnet werden soll.', - 'maps-geodistance-par-location2' => 'Der zweite von zwei Punkten zwischen denen die Entfernung berechnet werden soll.', - 'maps-geodistance-par-unit' => 'Die Ausgabeeinheit für die Entfernung.', - 'maps-geodistance-par-decimals' => 'Die bei der Ergebnisausgabe zu verwendende Höchstzahl an Nachkommastellen.', - 'maps-geodistance-par-mappingservice' => 'Der Kartografiedienst der für alle Adressen genutzt werden soll.', - 'maps-geodistance-par-geoservice' => 'Der Kartografiedienst mit dem dies genutzt wird. -Dies kann Auswirkungen auf die Standardwerte des Georeferenzierungsdiensts haben.', - 'maps-displaymap-par-mappingservice' => 'Ermöglicht die Festlegung des Kartografiediensts, der zur Generierung der Karte genutzt werden soll.', - 'maps-displaymap-par-coordinates' => 'Die Postion auf welche die Karte zunächst zentriert werden soll.', - 'maps-displaypoints-par-zoom' => 'Ermöglicht die Angabe des Detaillierungsgrades (Zoom) der Karte. -Sofern keiner angegeben wurde und mehrerer Markierungen auf der Karte vorhanden sind, wird der für deren gemeinsame Darstellung passende Zoom verwendet und nicht der Standardwert des Kartografiediensts.', - 'maps-displaypoints-par-mappingservice' => 'Ermöglicht die Festlegung des Kartografiediensts, der zur Generierung der Karte genutzt werden soll.', - 'maps-displaypoints-par-coordinates' => 'Einer oder mehrere Standorte, die auf der Karte angezeigt werden sollen. Sie werden mit einer Markierung versehen sein.', - 'maps-displaypoints-par-centre' => 'Ermöglicht die Angabe der Koordinaten, die für die Zentrierung der Karte verwendet werden soll. -Sowohl die direkte Angabe von Koordinaten wie auch die indirekte Angabe einer Adresse ist möglich. -Sofern nichts angegeben wurde, wird sich die Karte um die darzustellende Markierung, bzw. zwischen den darzustellenden Markierungen zentrieren.', - 'maps-displaypoints-par-title' => 'Ermöglicht das Festlegen des Texts, der in den Pop-up-Fenstern der Markierungen angezeigt werden soll, die über keinen eigenständigen Titel verfügen. Sofern dieser zusammen mit einer Beschriftung genutzt wird, wird der Titel in Fettschrift und unterstrichen angezeigt.', - 'maps-displaypoints-par-label' => 'Ermöglicht das Festlegen des Texts, der in den Pop-up-Fenstern der Markierungen angezeigt werden soll, die über keine eigenständige Beschriftung verfügen.', - 'maps-displaypoints-par-icon' => 'Ermöglicht die Festlegung des Symbols, das für alle Markierungen genutzt werden soll.', - 'validation-error-invalid-location' => 'Parameter $1 muss einem gültigen Standort entsprechen.', - 'validation-error-invalid-locations' => 'Parameter $1 muss einem oder mehreren gültigen Standorten entsprechen.', - 'validation-error-invalid-width' => 'Parameter $1 muss einer gültigen Breite entsprechen.', - 'validation-error-invalid-height' => 'Parameter $1 muss einer gültigen Höhe entsprechen.', - 'validation-error-invalid-distance' => 'Parameter $1 muss einer gültigen Entfernung entsprechen.', - 'validation-error-invalid-distances' => 'Parameter $1 muss einer oder mehreren gültigen Entfernungen entsprechen.', - 'validation-error-invalid-image' => 'Parameter $1 muss einem gültigen Bild entsprechen.', - 'validation-error-invalid-images' => 'Parameter $1 muss einem oder mehreren gültigen Bildern entsprechen.', - 'validation-error-invalid-goverlay' => 'Parameter $1 muss einer gültigen Überlagerung entsprechen.', - 'validation-error-invalid-goverlays' => 'Parameter $1 muss einer oder mehreren gültigen Überlagerungen entsprechen.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Breitengrad:', - 'maps-longitude' => 'Längengrad:', - 'maps-invalid-coordinates' => 'Der Wert $1 bezeichnet kein gültiges Koordinatenpaar.', - 'maps_coordinates_missing' => 'Es wurden keine Koordinaten für die Karte angegeben.', - 'maps_geocoding_failed' => 'Die {{PLURAL:$2|folgende Adresse|folgenden Adressen}} konnten nicht geokodiert werden: $1.', - 'maps_geocoding_failed_for' => 'Die {{PLURAL:$2|folgende Adresse konnte|folgenden Adressen konnten}} nicht georeferenziert werden und {{PLURAL:$2|wurde|wurden}} auf der Karte nicht berücksichtigt: -$1', - 'maps_unrecognized_coords' => 'Folgende {{PLURAL:$2|Koordinate wurde|Koordinaten wurden}} nicht erkannt: $1.', - 'maps_unrecognized_coords_for' => 'Die {{PLURAL:$2|folgende Koordinate wurde|folgenden Koordinaten wurden}} nicht erkannt und {{PLURAL:$2|wurde|wurden}} auf der Karte nicht berücksichtigt: -$1', - 'maps_map_cannot_be_displayed' => 'Diese Karte kann nicht angezeigt werden.', - 'maps-geocoder-not-available' => 'Die Funktion zum Georeferenzierung von Karten ist nicht verfügbar. Der Standort kann nicht georeferenziert werden.', - 'maps_click_to_activate' => 'Klicken, um die Karte zu aktivieren.', - 'maps_centred_on' => 'Karte ist auf $1, $2 zentriert.', - 'maps-par-resizable' => 'Macht die Karte durch Ziehen von der unteren rechten Ecke größenveränderbar.', - 'maps-par-geoservice' => 'Der für Umwandlung von Adressen in Koordinaten zu verwendende Georeferenzierungsdienst.', - 'maps-par-zoom' => 'Die Zoomstufe für die Karte. Karten mit Kennzeichnungen werden standardmäßig auf die Stufe gezoomt in der diese noch alle gemeinsam angezeigt werden können.', - 'maps-par-width' => 'Ermöglicht die Einstellung der Kartenbreite. Standardmäßig werden Pixel (px) als Einheit angenommen. Jedoch kann auch eine der folgenden Einheiten angegeben werden: px, ex, em und %.', - 'maps-par-height' => 'Ermöglicht die Einstellung der Kartenhöhe. Standardmäßig werden Pixel (px) als Einheit angenommen. Jedoch kann auch eine der folgenden Einheiten angegeben werden: px, ex, em und %.', - 'maps-googlemaps2-incompatbrowser' => 'Der Browser ist nicht mit Google Maps v2 kompatibel.', - 'maps_overlays' => 'Einblendungen', - 'maps_photos' => 'Fotos', - 'maps_videos' => 'Videos', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webcams', - 'maps-googlemaps2-par-type' => 'Die zunächst anzuzeigende Kartenart.', - 'maps-googlemaps2-par-types' => 'Die Kartenarten, die über die Steuerung zu den Kartenarten verfügbar gemacht werden sollen.', - 'maps-googlemaps2-par-controls' => 'Die auf der Karte anzuzeigenden Steuerelemente.', - 'maps-googlemaps2-par-autozoom' => 'Den Bildlauf mithilfe des Mausrads aktivieren.', - 'maps-googlemaps2-par-kml' => 'Die auf die Karte zu ladenden KML-Dateien.', - 'maps-googlemaps2-par-overlays' => 'Die Überlagerungen, die von den Benutzern aktiviert werden können.', - 'maps-googlemaps3-incompatbrowser' => 'Der Browser ist nicht mit Google Maps v3 kompatibel.', - 'maps-googlemaps3-par-type' => 'Die zunächst anzuzeigende Kartenart.', - 'maps-googlemaps3-par-types' => 'Die Kartenarten, die über die Steuerung zu den Kartenarten verfügbar gemacht werden sollen.', - 'maps-googlemaps3-par-layers' => 'Die auf die Karte zu ladenden Sonderebenen.', - 'maps-googlemaps3-par-controls' => 'Die auf der Karte anzuzeigenden Steuerelemente.', - 'maps-googlemaps3-par-zoomstyle' => 'Der Stil der Zoomsteuerung.', - 'maps-googlemaps3-par-typestyle' => 'Der Stil der Steuerung zu den Kartenarten.', - 'maps-googlemaps3-par-autoinfowindows' => 'Alle Informationsfenster nach dem Laden der Seite automatisch öffnen.', - 'maps-googlemaps3-par-kml' => 'Die auf die Karte zu ladenden KML-Dateien.', - 'maps-googlemaps3-par-gkml' => 'Von Google gehostete KML-Dateien die auf die Karte geladen werden sollen.', - 'maps-googlemaps3-par-fusiontables' => 'Die Kennungen von Google Fusion Tables, die auf die Karte geladen werden sollen.', - 'maps-googlemaps3-par-tilt' => 'Neigung der Karte bei der Verwendung von Google Maps.', - 'maps-googlemaps3-par-kmlrezoom' => 'Die Karte erneut zoomen, nachdem die KML-Ebenen geladen wurden.', - 'maps-openlayers-par-controls' => 'Die auf der Karte anzuzeigenden Steuerelemente.', - 'maps-openlayers-par-layers' => 'Die Ebenen, die über die Ebenenauswahl verfügbar sein sollen. Die erste Ebene wird während des Ladens der Karten angezeigt.', - 'maps-osm-par-thumbs' => 'Miniaturansichten anzeigen', - 'maps-osm-par-photos' => 'Fotografien anzeigen', - 'maps-yahoomaps-par-type' => 'Die zunächst anzuzeigende Kartenart.', - 'maps-yahoomaps-par-types' => 'Die Kartenarten, die über die Steuerung zu den Kartenarten verfügbar gemacht werden sollen.', - 'maps-yahoomaps-par-controls' => 'Die auf der Karte anzuzeigenden Steuerelemente.', - 'maps-yahoomaps-par-autozoom' => 'Den Bildlauf mithilfe des Mausrads aktivieren.', -); - -/** Lower Sorbian (Dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'maps-desc' => 'Zmóžnijo zasajźowanje dynamiskich kórtow do wikibokow, geokoděrowanje adresow a druge geografiske akcije. ([http://mapping.referata.com/wiki/Examples pśikłady])', - 'maps_map' => 'Karta', - 'maps-loading-map' => 'Kórta se zacytujo...', - 'maps-markers' => 'Marki', - 'maps-others' => 'druge', - 'maps-ns-layer' => 'Rownina', - 'maps-ns-layer-talk' => 'Diskusija rowniny', - 'maps-layer-property' => 'Kakosć', - 'maps-layer-value' => 'Gódnota', - 'maps-layer-errors' => 'Zmólki', - 'maps-error-invalid-layerdef' => 'Definicija toś teje rowniny njejo płaśiwa.', - 'maps-error-invalid-layertype' => 'Njejsu žedne rowniny typa "$1". Jano {{PLURAL:$3|toś ten typ se pódpěra|toś tej typa se pódpěratej|toś te typy se pódpěraju|toś te typy se pódpěraju}}: $2', - 'maps-error-no-layertype' => 'Musyš typ rowniny pódaś. Jano {{PLURAL:$2|toś ten typ se pódpěra|toś tej typa se pódpěratej|toś te typy se pódpěraju|toś te typy se pódpěraju}}: $1', - 'validation-error-invalid-layer' => 'Parameter $1 musy płaśiwa rownina byś.', - 'validation-error-invalid-layers' => 'Parameter $1 musy jadna płaśiwa rownina abo někotare płaśiwe rowniny byś.', - 'maps-layer-of-type' => 'Rownina typa $1', - 'maps-layer-type-supported-by' => 'Toś ten typ rowniny dajo se jano {{PLURAL:$2|z kartografiskeju słužbu $1 wužywaś|z toś tymi kartografiskimi słužbami wužywaś: $1}}.', - 'maps-coordinates-par-location' => 'Koordinaty, kótarež coš formatěrowaś.', - 'maps-coordinates-par-format' => 'Celowy format za koordinaty.', - 'maps-finddestination-par-location' => 'Wuchadnišćo.', - 'maps-finddestination-par-format' => 'Wudawański format za cel.', - 'maps-geocode-par-location' => 'Adresa, kótaruž coš geokoděrowaś.', - 'maps-geocode-par-format' => 'Wudawański format za koordinaty.', - 'maps-geodistance-par-mappingservice' => 'Geokoděrowańska słužba, kótaraž ma se za geokoděrowanje adresow wužywaś.', - 'validation-error-invalid-location' => 'Parameter $1 musy płaśiwe městno byś.', - 'validation-error-invalid-locations' => 'Parameter $1 musy jadne płaśiwe městno abo někotare płaśiwe městna byś.', - 'validation-error-invalid-width' => 'Parameter $1 musy płaśiwa šyrokosć byś.', - 'validation-error-invalid-height' => 'Parameter $1 musy płaśiwa wusokosć byś.', - 'validation-error-invalid-distance' => 'Gódnota $1 musy płaśiwa distanca byś.', - 'validation-error-invalid-distances' => 'Parameter $1 musy jadna płaśiwa distanca abo někotare płaśiwe distance byś.', - 'validation-error-invalid-image' => 'Parameter $1 musy płaśiwy wobraz byś.', - 'validation-error-invalid-images' => 'Parameter $1 musy jadne płaśiwy wobraz abo někotare płaśiwe wobraze byś.', - 'validation-error-invalid-goverlay' => 'Parameter $1 musy płaśiwe pśewarstowanje byś.', - 'validation-error-invalid-goverlays' => 'Parameter $1 musy jadne płaśiwe pśewarstowanje abo někotare płaśiwe pśewarstowanja byś.', - 'maps-abb-north' => 'PP', - 'maps-abb-east' => 'PZ', - 'maps-abb-south' => 'PD', - 'maps-abb-west' => 'PW', - 'maps-latitude' => 'Šyrina:', - 'maps-longitude' => 'Dlinina:', - 'maps-invalid-coordinates' => 'Gódnota $1 njejo se spóznała ako płaśiwa sajźba koordinatow.', - 'maps_coordinates_missing' => 'Za kórtu njejsu koordinaty pódane.', - 'maps_geocoding_failed' => 'Geokoděrowanje {{PLURAL:$2|slědujuceje adrese|slědujuceju adresowu|slědujucych adresow|slědujucych adresow}} njejo móžno było: $1. Kórta njedajo se zwobrazniś.', - 'maps_geocoding_failed_for' => 'Geokoděrowanje {{PLURAL:$2|slědujuceje adrese|slědujuceju adresowu|slědujucych adresow|slědujucych adresow}} njejo móžno było a togodla toś {{PLURAL:$2|ta adresa wuwóstaja|tej adresy wuwóstajotej|te adrese wuwóstajaju|te adresy wuwóstajaju}} se na kórśe: $1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Slědujuca koordinata njejo se spóznała|Slědujucej koordinaśe njejstej se spóznałej|Slědujuce koordinaty njejsu se spóznali|Slědujuce koordinaty njejsu se spóznali}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Slědujuca koordinata njejo se spóznała|Slědujucej koordinaśe stej se spóznałej|Slědujuce koordinaty su se spóznali|Slědujuce koordinaty su se spóznali}} a {{PLURAL:$2|njejo se wuwóstajiła|njejstej se wuwóstajiłej|njejsu wuwóstajili|njejsu se wuwóstajili}} na kórśe: $1', - 'maps_map_cannot_be_displayed' => 'Kórta njedajo se zwobrazniś.', - 'maps-geocoder-not-available' => 'Funkcija geokoděrowanja Kórtow njestoj k dispoziciji, twójo městno njedajo se geokoděrowaś.', - 'maps_click_to_activate' => 'Klikni, aby kórtu aktiwěrował', - 'maps_centred_on' => 'Kórta na $1, $2 centrěrowana.', - 'maps_overlays' => 'Pśekšyśa', - 'maps_photos' => 'Fota', - 'maps_videos' => 'Wideo', - 'maps_wikipedia' => 'Wikipedija', - 'maps_webcams' => 'Webcamy', -); - -/** Greek (Ελληνικά) - * @author Omnipaedista - * @author ZaDiak - */ -$messages['el'] = array( - 'maps-abb-north' => 'Β', - 'maps-abb-east' => 'Α', - 'maps-abb-south' => 'Ν', - 'maps-abb-west' => 'Δ', - 'maps-latitude' => 'Γεωγραφικό πλάτος:', - 'maps-longitude' => 'Γεωγραφικό μήκος:', - 'maps_coordinates_missing' => 'Καμία συντεταγμένη δεν παρασχέθηκε για τον χάρτη.', - 'maps_photos' => 'Φωτογραφίες', - 'maps_videos' => 'Βίντεο', - 'maps_wikipedia' => 'Βικιπαίδεια', -); - -/** British English (British English) - * @author Bruce89 - * @author Reedy - */ -$messages['en-gb'] = array( - 'maps-desc' => 'Provides the ability to display coordinate data in maps, and geocode addresses ([http://mapping.referata.com/wiki/Maps_examples demo]). -Available mapping services: $1', - 'maps-invalid-coordinates' => 'The value $1 was not recognised as a valid set of coordinates.', - 'maps_unrecognized_coords' => 'The following {{PLURAL:$2|coordinate was|coordinates were}} not recognised: $1.', - 'maps_unrecognized_coords_for' => 'The following {{PLURAL:$2|coordinate was|coordinates were}} not recognised and {{PLURAL:$2|has|have}} been omitted from the map: -$1', - 'maps_centred_on' => 'Map centred on $1, $2.', -); - -/** Esperanto (Esperanto) - * @author Yekrats - */ -$messages['eo'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'U', - 'maps-latitude' => 'Latitudo:', - 'maps-longitude' => 'Longitudo:', - 'maps_map_cannot_be_displayed' => 'La mapo ne esti montrebla.', - 'maps_click_to_activate' => 'Klaku aktivigi mapon', - 'maps_photos' => 'Fotoj', - 'maps_wikipedia' => 'Vikipedio', -); - -/** Spanish (Español) - * @author Crazymadlover - * @author Dferg - * @author Diego Grez - * @author Imre - * @author Locos epraix - * @author Pertile - * @author Peter17 - * @author Sanbec - * @author Translationista - */ -$messages['es'] = array( - 'maps-desc' => 'Habilita inserción de mapas dinámicos en página wiki, geocodificación de direcciones y otras operaciones geográficas. ([http://mapping.referata.com/wiki/Examples demos])', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Cargando mapa...', - 'maps-markers' => 'Marcadores', - 'maps-ns-layer' => 'Capa', - 'maps-ns-layer-talk' => 'Discusión de capa', - 'maps-layer-property' => 'Propiedad', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Errores', - 'maps-error-invalid-layerdef' => 'Esta definición de la capa no es válida.', - 'validation-error-invalid-layer' => 'El parámetro $1 debe ser una capa válida.', - 'validation-error-invalid-layers' => 'El parámetro $1 debe ser una o más capas válidas.', - 'validation-error-invalid-location' => 'El parámetro $1 deber ser una ubicación válida.', - 'validation-error-invalid-locations' => 'Parámetro $1 debe ser una o más ubicaciones válidas.', - 'validation-error-invalid-width' => 'El parámetro $1 debe ser un ancho válido.', - 'validation-error-invalid-height' => 'El parámetro $1 deber ser una altura válida.', - 'validation-error-invalid-distance' => 'Parámetro $1 debe ser una distancia válida.', - 'validation-error-invalid-distances' => 'Parámetro $1 debe ser una o más distancias válidas.', - 'validation-error-invalid-goverlay' => 'El parámetro $1 debe ser una superposición válida.', - 'validation-error-invalid-goverlays' => 'El parámetro $1 debe ser una o más superposiciones válidas.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitud:', - 'maps-longitude' => 'Longitud:', - 'maps-invalid-coordinates' => 'El valor $1 no fue reconocido como un conjunto válido de coordenadas.', - 'maps_coordinates_missing' => 'Sin coordenadas provistas para el mapa.', - 'maps_geocoding_failed' => 'Las siguientes {{PLURAL:$2|dirección|direcciones}} no han podido ser geocodificadas: $1. -No se puede mostrar el mapa.', - 'maps_geocoding_failed_for' => 'No fue posible geocodificar {{PLURAL:$2|la siguiente dirección, que ha sido omitida|las siguientes direcciones, que han sido omitidas}} del mapa:$1.', - 'maps_unrecognized_coords' => '{{PLURAL:$2|La siguiente coordenada no fue reconocida|Las siguientes coordenadas no fueron reconocidas}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|La coordenada siguiente no es reconocida|Las coordenadas siguientes no son reconocidas}} y PLURAL:$2|{{han sido omitidas|han sido omitidas}} del mapa :$1', - 'maps_map_cannot_be_displayed' => 'No se puede mostrar el mapa.', - 'maps-geocoder-not-available' => 'La funcionalidad de geocodificación de Maps no está disponible. Su ubicación no puede ser geocodificada.', - 'maps_click_to_activate' => 'Haz clic para activar el mapa', - 'maps_centred_on' => 'Mapa centrado en $1, $2.', - 'maps_overlays' => 'Superposiciones', - 'maps_photos' => 'Fotos', - 'maps_videos' => 'Videos', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Cámaras Web', -); - -/** Estonian (Eesti) - * @author Hendrik - */ -$messages['et'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Laiuskraad:', - 'maps-longitude' => 'Pikkuskraad:', -); - -/** Basque (Euskara) - * @author Kobazulo - */ -$messages['eu'] = array( - 'maps-abb-north' => 'I', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'H', - 'maps-abb-west' => 'M', - 'maps-latitude' => 'Latitudea:', - 'maps-longitude' => 'Longitudea:', - 'maps_coordinates_missing' => 'Ez dago koordenaturik maparentzat.', -); - -/** Persian (فارسی) - * @author Mjbmr - */ -$messages['fa'] = array( - 'maps_map' => 'نقشه', - 'maps-abb-north' => 'شمال', - 'maps-abb-east' => 'شرق', - 'maps-abb-south' => 'جنوب', - 'maps-abb-west' => 'غرب', - 'maps-latitude' => 'عرض جغرافیایی:', - 'maps-longitude' => 'طول جغرافیایی:', -); - -/** Finnish (Suomi) - * @author Cimon Avaro - * @author Crt - * @author Nike - * @author Str4nd - * @author ZeiP - */ -$messages['fi'] = array( - 'maps-desc' => 'Mahdollistaa koordinaattitiedon esittämisen karttoina ja osoitteiden geokoodauksen ([http://mapping.referata.com/wiki/Maps_examples demo]). -Käytettävissä olevat karttapalvelut: $1', - 'maps_map' => 'Kartta', - 'maps-loading-map' => 'Ladataan karttaa...', - 'maps-distance-par-unit' => 'Etäisyyden näyttämiseen käytettävä yksikkö.', - 'maps-abb-north' => 'Pohj.', - 'maps-abb-east' => 'It.', - 'maps-abb-south' => 'Etel.', - 'maps-abb-west' => 'Länt.', - 'maps-latitude' => 'Korkeusaste:', - 'maps-longitude' => 'Pituuspiiri:', - 'maps-invalid-coordinates' => 'Arvoa $1 ei tunnistettu oikeaksi koordinaattisarjaksi.', - 'maps_coordinates_missing' => 'Karttaa varten ei tarjottu koordinaatteja.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Seuraavaa osoitetta|Seuraavia osoitteita}} ei voitu geokoodata: $1. -Karttaa ei voida näyttää.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Seuraavaa osoitetta|Seuraavia osoitteita}} ei voitu geokoodata ja {{PLURAL:$2|on|ovat}} jätetty kartalta: $1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Seuraavaa koordinaattia|Seuraavia koordinaatteja}} ei tunnistettu: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Seuraavaa koordinaattia|Seuraavia koordinaatteja}} ei tunnistettu ja {{PLURAL:$2|se|ne}} on jätetty pois kartasta: -$1', - 'maps_map_cannot_be_displayed' => 'Karttaa ei voida näyttää.', - 'maps_click_to_activate' => 'Napsauta aktivoidaksesi kartan', - 'maps_centred_on' => 'Kartta keskitetty kohtaan $1, $2.', - 'maps_overlays' => 'Kerrokset', - 'maps_photos' => 'Kuvat', - 'maps_videos' => 'Videot', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Web-kamerat', -); - -/** French (Français) - * @author Brunoperel - * @author Crochet.david - * @author Gomoko - * @author Hashar - * @author IAlex - * @author Jean-Frédéric - * @author McDutchie - * @author Od1n - * @author Peter17 - * @author PieRRoMaN - * @author Sherbrooke - * @author Verdy p - */ -$messages['fr'] = array( - 'maps-desc' => "Permet d’afficher des cartes dynamiques dans les pages du wiki, des adresses géocodées et d'autres opérations géographiques. ([http://mapping.referata.com/wiki/Examples démonstration])", - 'right-geocode' => 'Géocode', - 'maps_map' => 'Carte', - 'maps-loading-map' => 'Chargement de la carte...', - 'maps-load-failed' => 'Impossible de charger la carte !', - 'maps-markers' => 'Marqueurs', - 'maps-others' => 'autres', - 'maps-ns-layer' => 'Couche', - 'maps-ns-layer-talk' => 'Discussion couche', - 'maps-layer-property' => 'Propriété', - 'maps-layer-value' => 'Valeur', - 'maps-layer-errors' => 'Erreurs', - 'maps-error-invalid-layerdef' => 'Cette définition de couche n’est pas valide.', - 'maps-error-invalid-layertype' => 'Il n’y a pas de couche de type « $1 ». Seul {{PLURAL:$3|ce type est|ces types sont}} pris en charge : $2', - 'maps-error-no-layertype' => 'Vous devez spécifier le type de couche. {{PLURAL:$2|Seul ce type est|Ces types sont}} pris en charge : $1', - 'validation-error-invalid-layer' => 'Le paramètre $1 doit être une couche valide.', - 'validation-error-invalid-layers' => 'Le paramètre $1 doit être une ou plusieurs couche(s) valide(s).', - 'maps-layer-of-type' => 'Couche de type $1', - 'maps-layer-type-supported-by' => 'Ce type de couche peut {{PLURAL:$2|être utilisé uniquement avec le service de cartographie $1|être utilisé avec ces services de cartographie : $1}}.', - 'maps-coordinates-description' => "Crochet de l'analyseur pour formater les coordonnées, depuis et vers n'importe quel format supporté.", - 'maps-displaymap-description' => 'Affiche les cartes géographiques sans aucun marqueur wiki sur eux.', - 'maps-displaypoint-description' => 'Affiche les cartes géographiques avec un ou plusieurs marqueurs wiki sur eux.', - 'maps-distance-description' => "Convertit une distance d'une certaine unité prise en charge à son équivalent en utilisant une autre unité.", - 'maps-finddestination-description' => "Trouver une destination avec un point de départ donné (qui peuvent être dans n'importe lequel des formats supportés), une orientation initiale et une distance.", - 'maps-geocode-description' => "Permet le géocodage d'adresses, en d'autres termes, la transformation des positions humainement lisible en ensembles de coordonnées. Plusieurs services de géocodage sont pris en charge, qui ne doivent pas être confondu avec les services de cartographie.", - 'maps-geodistance-description' => "Calculer la distance géographique entre deux points, depuis et vers n'importe quel format pris en charge.", - 'maps-mapsdoc-description' => 'Affiche une table avec les paramètres pour un service de cartographie spécifié, avec leurs valeurs par défaut et leur description.', - 'maps-mapsdoc-par-service' => 'Le service de cartographie pour afficher la document concernant les paramètres.', - 'maps-mapsdoc-par-language' => "La langue dans laquelle afficher la documentation. Si aucune traduction n'est disponible, l'anglais sera utilisé à la place.", - 'maps-coordinates-par-location' => 'Les coordonnées que vous souhaitez formater.', - 'maps-coordinates-par-format' => 'Le format cible pour les coordonnées.', - 'maps-coordinates-par-directional' => 'Indique si les coordonnées doivent être imprimées directionnellement ou non.', - 'maps-distance-par-distance' => 'La distance à convertir dans son équivalent avec une unité spécifiée.', - 'maps-distance-par-decimals' => 'Le nombre maximal de chiffres après la virgule à utiliser dans le résultat.', - 'maps-distance-par-unit' => "L'unité à utiliser pour afficher la distance.", - 'maps-finddestination-par-location' => "L'emplacement initial.", - 'maps-finddestination-par-bearing' => 'La direction initiale.', - 'maps-finddestination-par-distance' => 'La distance à parcourir.', - 'maps-finddestination-par-format' => 'Le format dans lequel afficher la destination.', - 'maps-finddestination-par-directional' => 'Indique si le format de destination doit être directionnel ou non.', - 'maps-finddestination-par-allowcoordinates' => 'Indique si les coordonnées doivent être autorisés. Si non, seul les adresses seront acceptées.', - 'maps-finddestination-par-geoservice' => "Le service de géocodage à utiliser pour géocoder la valeur au cas où il s'agirait d'une adresse.", - 'maps-finddestination-par-mappingservice' => 'Paramètre indiquant le service de cartographie à utiliser avec cette fonction. -Cela permettra aux cartes de remplacer la valeur par défaut du paramètre de service par celui qui est optimal pour le service de cartographie. -(Exemple : Dans le cas de Google Maps, le géocodage Google sera utilisé.)', - 'maps-geocode-par-location' => "L'adresse que vous souhaitez géocoder.", - 'maps-geocode-par-mappingservice' => 'Le service de géocodage que vous souhaitez utiliser. Consultez les services de géocodage disponibles.', - 'maps-geocode-par-geoservice' => "Ce paramètre vous permet d'indiquer que vous utilisez cette demande de géocodage en combinaison avec un service de cartographie spécifique. -Chaque service de cartographie peut écraser la valeur par défaut pour le service de géocodage. -Cette démarche est liée à des raisons juridiques, puisque vous ne pouvez pas utiliser le service de géocodage de Google, sauf avec Google Maps. -Indiquer ce paramètre et non le paramètre pour le service veillera à ce que vous n'utilisiez pas une combinaison non valide.", - 'maps-geocode-par-allowcoordinates' => "Permet de désactiver le support pour les coordonnées dans cette fonction. Doit être soit oui ou non. -Si cette valeur est « non », chacune des valeurs sera géocodée, même s'il s'agit de coordonnées valides.", - 'maps-geocode-par-format' => 'Le format des coordonnées qui en résultent.', - 'maps-geocode-par-directional' => 'Indique si les coordonnées doivent être imprimées directionnellement ou non.', - 'maps-geodistance-par-location1' => 'Le premier point dans le jeu pour à utiliser pour calculer la distance.', - 'maps-geodistance-par-location2' => 'Le deuxième point dans le jeu pour à utiliser pour calculer la distance.', - 'maps-geodistance-par-unit' => "L'unité à utiliser pour afficher la distance.", - 'maps-geodistance-par-decimals' => 'Le nombre maximal de chiffres après la virgule à utiliser dans le résultat.', - 'maps-geodistance-par-mappingservice' => "Le service de géocodage à utiliser pour géocoder n'importe quelle adresse.", - 'maps-geodistance-par-geoservice' => 'Le service de cartographie à utiliser conjointement. -Cela peut affecter la valeur par défaut du service de géocodage.', - 'maps-displaymap-par-mappingservice' => 'Permet de définir le service de cartographie qui sera utilisé pour générer la carte.', - 'maps-displaymap-par-coordinates' => "L'emplacement sur lequel la carte sera initialement centrée.", - 'maps-displaypoints-par-zoom' => "Permet de définir le niveau de zoom de la carte. -Lorsqu'il n'est pas fourni et que plusieurs marqueurs sont présents sur la carte, le meilleur zoom sera pris, et non pas la valeur par défaut configurable.", - 'maps-displaypoints-par-mappingservice' => 'Permet de définir le service de cartographie qui sera utilisé pour générer la carte.', - 'maps-displaypoints-par-coordinates' => 'Un ou plusieurs emplacements à afficher sur la carte. Ils seront indiqués avec un marqueur.', - 'maps-displaypoints-par-centre' => "Permet de définir les coordonnées du centre de la carte pour display_point(s). -Accepte les adresses et les coordonnées.! -Lorsque cette propriété n'est pas fournie, la carte se recentre sur le marqueur fourni, ou entre les marqueurs fournis.", - 'maps-displaypoints-par-title' => "Permet de définir le texte qui sera affiché dans les pop-ups de tous les marqueurs qui ne disposent pas d'un titre spécifique. -Lorsqu'il est utilisé avec le label, le titre sera en gras et souligné.", - 'maps-displaypoints-par-label' => "Permet de définir le texte qui sera affiché dans les fenêtres surgissantes de tous les marqueurs qui n'ont pas une étiquette spécifique.", - 'maps-displaypoints-par-icon' => "Permet de définir l'icône utilisée pour tous les marqueurs.", - 'validation-error-invalid-location' => 'Le paramètre $1 doit être un emplacement valide.', - 'validation-error-invalid-locations' => 'Le paramètre $1 doit être un ou plusieurs emplacement(s) valide(s).', - 'validation-error-invalid-width' => 'Le paramètre $1 doit être une largeur valide.', - 'validation-error-invalid-height' => 'Le paramètre $1 doit être une hauteur valide.', - 'validation-error-invalid-distance' => 'Le paramètre $1 doit être une distance valide.', - 'validation-error-invalid-distances' => 'Le paramètre $1 doit être une ou plusieurs distance(s) valide(s).', - 'validation-error-invalid-image' => 'Le paramètre $1 doit être une image valide.', - 'validation-error-invalid-images' => 'Le paramètre $1 doit être une ou plusieurs image(s) valide(s).', - 'validation-error-invalid-goverlay' => 'Le paramètre $1 doit être un recouvrement valide.', - 'validation-error-invalid-goverlays' => 'Le paramètre $1 doit être un ou plusieurs recouvrement(s) valide(s).', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitude :', - 'maps-longitude' => 'Longitude :', - 'maps-invalid-coordinates' => "La valeur $1 n'a pas été reconnue comme un ensemble de coordonnées valide.", - 'maps_coordinates_missing' => "Aucune coordonnée n'a été fournie pour le plan.", - 'maps_geocoding_failed' => "{{PLURAL:$2|L′adresse suivante n'as pu être géocodée|Les adresses suivantes n'ont pas pu être géocodées}} : $1. -Le plan ne peut pas être affiché.", - 'maps_geocoding_failed_for' => '{{PLURAL:$2|L′adresse suivante n’as pu être géocodée|Les adresses suivantes n’ont pas pu être géocodées}} et {{PLURAL:$2|n’est pas affichée|ne sont pas affichées}} sur le plan : $1', - 'maps_unrecognized_coords' => "{{PLURAL:$2|La coordonnée suivante n'a pas été reconnue|Les coordonnées suivantes n'ont pas été reconnues}} : $1.", - 'maps_unrecognized_coords_for' => "{{PLURAL:$2|La coordonnée suivante n'a pas été reconnue|Les coordonnées suivantes n'ont pas été reconnues}} et {{PLURAL:$2|a été omise|ont été omises}} sur la carte : -$1", - 'maps_map_cannot_be_displayed' => 'La carte ne peut pas être affichée.', - 'maps-geocoder-not-available' => "La fonctionnalité géocodage des cartes n'est pas disponible. Votre emplacement ne peut être géocodé.", - 'maps_click_to_activate' => 'Cliquer pour activer la carte', - 'maps_centred_on' => 'Carte centrée sur $1, $2.', - 'maps-par-resizable' => 'Rendre la carte redimensionnable en faisant glisser son coin inférieur droit.', - 'maps-par-geoservice' => 'Le service de géocodage à utiliser pour effectuer les traductions entre les adresses et les coordonnées.', - 'maps-par-zoom' => 'Le niveau de zoom de la carte. Pour les cartes avec des marqueurs la valeur par défaut le plus grand zoom qui montre encore tous les marqueurs.', - 'maps-par-width' => 'Permet de définir la largeur de la carte. Par défaut les pixels seront considérés comme unité, mais vous pouvez spécifier explicitement une de ces unités : px, ex, em, %.', - 'maps-par-height' => 'Permet de définir la hauteur de la carte. Par défaut les pixels seront considérés comme unité, mais vous pouvez spécifier explicitement une de ces unités : px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => "Votre navigateur n'est pas compatible avec Google Maps v2.", - 'maps_overlays' => 'Superpositions', - 'maps_photos' => 'Photos', - 'maps_videos' => 'Vidéos', - 'maps_wikipedia' => 'Wikipédia', - 'maps_webcams' => 'Webcams', - 'maps-googlemaps2-par-type' => 'Le type de carte à afficher initialement.', - 'maps-googlemaps2-par-types' => 'Les types de carte qui seront disponibles via le contrôle de type.', - 'maps-googlemaps2-par-controls' => 'Les contrôles à placer sur la carte.', - 'maps-googlemaps2-par-autozoom' => "Activer le défilement à l'aide de la molette de la souris.", - 'maps-googlemaps2-par-kml' => 'Fichiers KML à charger sur la carte.', - 'maps-googlemaps2-par-overlays' => "Superpositions que l'utilisateur peut activer.", - 'maps-googlemaps3-incompatbrowser' => "Votre navigateur n'est pas compatible avec Google Maps v3.", - 'maps-googlemaps3-par-type' => 'Le type de carte à afficher initialement.', - 'maps-googlemaps3-par-types' => 'Les types de carte qui seront disponibles via le contrôle de type.', - 'maps-googlemaps3-par-layers' => 'Couches spéciales à charger sur la carte.', - 'maps-googlemaps3-par-controls' => 'Les contrôles à placer sur la carte.', - 'maps-googlemaps3-par-zoomstyle' => 'Style du contrôle de zoom.', - 'maps-googlemaps3-par-typestyle' => 'Style du contrôle de type.', - 'maps-googlemaps3-par-autoinfowindows' => "Ouvrir automatiquement toutes les fenêtres d'information après le chargement de la page.", - 'maps-googlemaps3-par-kml' => 'Fichiers KML à charger sur la carte.', - 'maps-googlemaps3-par-gkml' => 'Les fichiers KML hébergés par Google à charger sur la carte.', - 'maps-googlemaps3-par-fusiontables' => 'ID des tables de Google Fusion qui devrait être chargées sur la carte.', - 'maps-googlemaps3-par-tilt' => "Inclinaison de la carte lors de l'utilisation de Google Maps.", - 'maps-googlemaps3-par-kmlrezoom' => 'Zoomer de nouveau la carte une fois que les couches KML ont été chargées', - 'maps-openlayers-par-controls' => 'Les contrôles à placer sur la carte.', - 'maps-openlayers-par-layers' => 'Les couches qui seront disponibles dans le sélecteur de couche. La première couche sera affichée lors du chargement de la carte.', - 'maps-osm-par-thumbs' => 'Afficher des miniatures', - 'maps-osm-par-photos' => 'Afficher des photos', - 'maps-yahoomaps-par-type' => 'Le type de carte à afficher initialement.', - 'maps-yahoomaps-par-types' => 'Les types de carte qui seront disponibles via le contrôle de type.', - 'maps-yahoomaps-par-controls' => 'Les contrôles à placer sur la carte.', - 'maps-yahoomaps-par-autozoom' => "Activer le défilement à l'aide de la molette de la souris.", -); - -/** Franco-Provençal (Arpetan) - * @author ChrisPtDe - */ -$messages['frp'] = array( - 'right-geocode' => 'G·eocode', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Chargement de la mapa...', - 'maps-load-failed' => 'Empossiblo de chargiér la mapa !', - 'maps-markers' => 'Marcors', - 'maps-others' => 'ôtros', - 'maps-ns-layer' => 'Cuche', - 'maps-ns-layer-talk' => 'Discussion cuche', - 'maps-layer-property' => 'Propriètât', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Èrrors', - 'validation-error-invalid-layer' => 'Lo paramètre $1 dêt étre una cuche valida.', - 'validation-error-invalid-layers' => 'Lo paramètre $1 dêt étre yona ou ben un mouél de cuches valides.', - 'maps-layer-of-type' => 'Cuche de tipo $1', - 'maps-finddestination-par-location' => 'Lo premiér emplacement.', - 'maps-finddestination-par-bearing' => 'La premiére dirèccion.', - 'maps-finddestination-par-distance' => 'La distance a parcorir.', - 'maps-abb-north' => 'B', - 'maps-abb-east' => 'L', - 'maps-abb-south' => 'M', - 'maps-abb-west' => 'P', - 'maps-latitude' => 'Latituda :', - 'maps-longitude' => 'Longituda :', - 'maps_click_to_activate' => 'Clicâd por activar la mapa', - 'maps_centred_on' => 'Mapa centrâ dessus $1, $2.', - 'maps_overlays' => 'Supèrposicions', - 'maps_photos' => 'Fotôs', - 'maps_videos' => 'Vidèôs', - 'maps_wikipedia' => 'Vouiquipèdia', - 'maps_webcams' => 'Camères vouèbe', - 'maps-osm-par-thumbs' => 'Fâre vêre des figures', - 'maps-osm-par-photos' => 'Fâre vêre des fotôs', -); - -/** Friulian (Furlan) - * @author Klenje - */ -$messages['fur'] = array( - 'maps-desc' => 'Al furnìs la possibilitât di mostrâ i dâts de coordinadis e lis direzions geocodificadis intune mape ([http://mapping.referata.com/wiki/Maps_examples demo]). -Servizis di mapis disponibii: $1', - 'maps_map' => 'Mape', - 'maps_coordinates_missing' => 'Nissune coordenade furnide pe mape.', - 'maps_geocoding_failed' => '{{PLURAL:$2|La direzion ca sot no pues jessi geocodificade|Lis direzions ca sot no puedin jessi geocodificadis}}: $1. -La mape no pues jessi mostrade.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|La direzion|Lis direzions}} ca sot no {{PLURAL:$2|pues|puedin}} jessi {{PLURAL:$2|geocodificade|geocodificadis}} e {{PLURAL:$2|no je mostrade|no son mostradis}} te mape: -$1', -); - -/** Galician (Galego) - * @author Gallaecio - * @author Toliño - */ -$messages['gl'] = array( - 'maps-desc' => 'Proporciona a capacidade de mostrar mapas dinámicos, enderezos xeocodificados e outras operacións xeográficas ([http://mapping.referata.com/wiki/Examples demostración])', - 'right-geocode' => 'Xeocodificar', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Cargando o mapa...', - 'maps-load-failed' => 'Non se puido cargar o mapa!', - 'maps-markers' => 'Marcadores', - 'maps-others' => 'outros', - 'maps-ns-layer' => 'Capa', - 'maps-ns-layer-talk' => 'Conversa capa', - 'maps-layer-property' => 'Propiedade', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Erros', - 'maps-error-invalid-layerdef' => 'A definición desta capa non é válida.', - 'maps-error-invalid-layertype' => 'Non existen capas do tipo "$1". Só {{PLURAL:$3|está soportado este tipo|están soportados estes tipos}}: $2', - 'maps-error-no-layertype' => 'Cómpre especificar o tipo de capa. {{PLURAL:$3|Só está soportado este tipo|Están soportados estes tipos}}: $1', - 'validation-error-invalid-layer' => 'O parámetro $1 debe ser unha capa válida.', - 'validation-error-invalid-layers' => 'O parámetro $1 debe ser unha ou máis capas válidas.', - 'maps-layer-of-type' => 'Capa de tipo $1', - 'maps-layer-type-supported-by' => 'Este tipo de capa só se pode empregar {{PLURAL:$2|co servizo de mapas $1|con estes servizos de mapas: $1}}.', - 'maps-coordinates-description' => 'Asociador do analizador para dar formato ás coordenadas, desde e cara a calquera formato soportado.', - 'maps-displaymap-description' => 'Mostrar os mapas xeográficos sen marcadores wiki sobre eles.', - 'maps-displaypoint-description' => 'Mostrar os mapas xeográficos con, polo menos, un ou máis marcadores wiki sobre eles.', - 'maps-distance-description' => 'Converter unha distancia nunha certa unidade soportada na súa equivalente noutra unidade.', - 'maps-finddestination-description' => 'Atopar un destino a partir dun punto de partida (que pode ser en calquera dos formatos soportados), unha orientación inicial e unha distancia.', - 'maps-geocode-description' => 'Permite a xeocodificación de enderezos; noutras palabras, transformar as localizacións lexibles por humanos en conxuntos de coordenadas. Hai soporte para diversos servizos de xeocodificación, que non se deben confundir cos servizos de cartografía.', - 'maps-geodistance-description' => 'Calcular a distancia xeográfica entre dous puntos, desde e cara a calquera dos formatos soportados.', - 'maps-mapsdoc-description' => 'Mostar unha táboa cos parámetros para un servizo de mapas específico, cos seus valores por defecto e as súas descricións.', - 'maps-mapsdoc-par-service' => 'O servizo de cartografía do que mostrar a documentación do parámetro.', - 'maps-mapsdoc-par-language' => 'A lingua na que mostrar a documentación. Se non houbera tradución dispoñible, mostrarase a versión en inglés.', - 'maps-coordinates-par-location' => 'As coordenadas ás que quere dar formato.', - 'maps-coordinates-par-format' => 'O formato de destino para as coordenadas.', - 'maps-coordinates-par-directional' => 'Indica se as coordenadas deben producirse con formato direccional ou non.', - 'maps-distance-par-distance' => 'A distancia a converter na súa equivalente nunha unidade especificada.', - 'maps-distance-par-decimals' => 'O número máximo de díxitos fraccionarios a utilizar no valor resultante.', - 'maps-distance-par-unit' => 'A unidade na que mostrar a distancia.', - 'maps-finddestination-par-location' => 'A localización inicial.', - 'maps-finddestination-par-bearing' => 'A dirección inicial.', - 'maps-finddestination-par-distance' => 'A distancia a percorrer.', - 'maps-finddestination-par-format' => 'O formato no que mostrar o destino.', - 'maps-finddestination-par-directional' => 'Indica se o formato de destino debe producirse con formato direccional ou non.', - 'maps-finddestination-par-allowcoordinates' => 'Indica se se deben permitir as coordenadas. Se está definido como "non", soamente se aceptarán enderezos.', - 'maps-finddestination-par-geoservice' => 'O servizo de xeocodificación a usar para xeocodificar o valor no caso de que sexa un enderezo.', - 'maps-finddestination-par-mappingservice' => 'Parámetro para indicar o servizo de cartografía a usar con esta función. -Isto permite que os mapas substitúan o valor por defecto do parámetro de servizo por aquel que é óptimo para o servizo de cartografía. -(Exemplo: No caso do Google Maps empregarase o xeocodificador do Google.)', - 'maps-geocode-par-location' => 'O enderezo que quere xeocodificar.', - 'maps-geocode-par-mappingservice' => 'O servizo de xeocodificación que quere usar. Olle os servizos de xeocodificación dispoñibles.', - 'maps-geocode-par-geoservice' => 'Este parámetro permite indicar que está a usar esta petición de xeocodificación en combinación cun servizo de cartografía específico. -Para cada servizo de cartografía é posible substituír o valor por defecto para o servizo de xeocodificación. -Isto ten consideracións xurídicas xa que non pode utilizar o servizo de xeocodificación do Google máis ca co Google Maps. -Definir este parámetro e non o parámetro para o servizo garantirá que non estea a empregar unha combinación inválida.', - 'maps-geocode-par-allowcoordinates' => 'Permite desactivar o soporte para as coordenadas nesta función. Debe ser si ou non. -Cando sexa "non", todos os valores serán xeocodificados, mesmo se son coordenadas válidas.', - 'maps-geocode-par-format' => 'O formato das coordenadas resultantes.', - 'maps-geocode-par-directional' => 'Indica se as coordenadas deben producirse con formato direccional ou non.', - 'maps-geodistance-par-location1' => 'O primeiro punto do conxunto para calcular a distancia.', - 'maps-geodistance-par-location2' => 'O segundo punto do conxunto para calcular a distancia.', - 'maps-geodistance-par-unit' => 'A unidade na que mostrar a distancia.', - 'maps-geodistance-par-decimals' => 'O número máximo de díxitos fraccionarios a utilizar no valor resultante.', - 'maps-geodistance-par-mappingservice' => 'O servizo de xeocodificación a usar para xeocodificar todos os enderezos.', - 'maps-geodistance-par-geoservice' => 'O servizo de cartografía a usar en conxunto. -Isto pode afectar ao valor por defecto do servizo de xeocodificación.', - 'maps-displaymap-par-mappingservice' => 'Permite configurar o servizo de mapas que se empregará para xerar o mapa.', - 'maps-displaymap-par-coordinates' => 'A localización do mapa que aparecerá inicialmente.', - 'maps-displaypoints-par-zoom' => 'Permite configurar o nivel de zoom do mapa. -Se non se proporciona e hai presentes no mapa múltiples marcadores, tomarase o mellor axuste de zoom e non o valor configurado por defecto.', - 'maps-displaypoints-par-mappingservice' => 'Permite configurar o servizo de mapas que se empregará para xerar o mapa.', - 'maps-displaypoints-par-coordinates' => 'Unha ou máis localización a mostrar no mapa. Indicaranse cun marcador.', - 'maps-displaypoints-par-centre' => 'Permite configurar as coordenadas do centro do mapa para display_point(s). -Admite tanto enderezos como coordenadas. -Cando non se indica esa propiedade, o mapa centrarase no marcador proporcionado ou entre os marcadores proporcionados.', - 'maps-displaypoints-par-title' => 'Permite configurar o texto que aparecerá na ventás emerxentes de todos os marcadores que non teñen un título específico. -Ao empregalo conxuntamente coa etiqueta, o título aparecerá en negra e suliñado.', - 'maps-displaypoints-par-label' => 'Permite configurar o texto que aparecerá na ventás emerxentes de todos os marcadores que non teñen unha etiqueta específica.', - 'maps-displaypoints-par-icon' => 'Permite configurar a icona usada para todos os marcadores.', - 'validation-error-invalid-location' => 'O parámetro $1 debe ser unha localización válida.', - 'validation-error-invalid-locations' => 'O parámetro $1 debe ser unha ou máis localizacións válidas.', - 'validation-error-invalid-width' => 'O parámetro $1 debe ser un largo válido.', - 'validation-error-invalid-height' => 'O parámetro $1 debe ser unha altura válida.', - 'validation-error-invalid-distance' => 'O parámetro $1 debe ser unha distancia válida.', - 'validation-error-invalid-distances' => 'O parámetro $1 debe ser unha ou máis distancias válidas.', - 'validation-error-invalid-image' => 'O parámetro $1 debe ser unha imaxe válida.', - 'validation-error-invalid-images' => 'O parámetro $1 debe ser unha ou máis imaxes válidas.', - 'validation-error-invalid-goverlay' => 'O parámetro $1 debe ser unha capa de superposición válida.', - 'validation-error-invalid-goverlays' => 'O parámetro $1 debe ser unha ou máis capas de superposición válidas.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'L', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitude:', - 'maps-longitude' => 'Lonxitude:', - 'maps-invalid-coordinates' => 'O valor $1 non foi recoñecido como un conxunto de coordenadas válido.', - 'maps_coordinates_missing' => 'Non se proporcionou ningunha coordenada para o mapa.', - 'maps_geocoding_failed' => '{{PLURAL:$2|O seguinte enderezo non se puido xeocodificar|Os seguintes enderezos non se puideron xeocodificar}}: $1. -O mapa non se pode mostrar.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|O seguinte enderezo non se puido xeocodificar|Os seguintes enderezos non se puideron xeocodificar}} e {{PLURAL:$2|omitiuse|omitíronse}} no mapa: $1.', - 'maps_unrecognized_coords' => 'Non se {{PLURAL:$2|recoñeceu a seguinte coordenada|recoñeceron as seguintes coordenadas}}: $1.', - 'maps_unrecognized_coords_for' => 'Non se {{PLURAL:$2|recoñeceu a seguinte coordenada|recoñeceron as seguintes coordenadas}} e {{PLURAL:$2|foi omitida|foron omitidas}} do mapa: -$1', - 'maps_map_cannot_be_displayed' => 'O mapa non se pode mostrar.', - 'maps-geocoder-not-available' => 'A funcionalidade de xeocodificación de mapas non está dispoñible; non se pode xeocodificar a súa situación.', - 'maps_click_to_activate' => 'Prema para activar o mapa', - 'maps_centred_on' => 'Mapa centrado en $1, $2.', - 'maps-par-resizable' => 'Fai que se poidan alterar as dimensións do mapa, arrastrando o canto inferior dereito.', - 'maps-par-geoservice' => 'O servizo de xeocodificación a usar para facer traducións entre os enderezos e as coordenadas.', - 'maps-par-zoom' => 'O nivel de zoom no mapa. Para os mapas con marcadores o valor por defecto usará o nivel máximo de zoom que abranga todos os marcadores.', - 'maps-par-width' => 'Permite definir o largo do mapa. Por defecto, os píxeles asúmense como unidade, pero tamén pode especificar unha destas unidades: px, ex, em, %.', - 'maps-par-height' => 'Permite definir a altura do mapa. Por defecto, os píxeles asúmense como unidade, pero tamén pode especificar unha destas unidades: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'O seu navegador é compatible co Google Maps v2.', - 'maps_overlays' => 'Superposicións', - 'maps_photos' => 'Fotos', - 'maps_videos' => 'Vídeos', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Cámaras web', - 'maps-googlemaps2-par-type' => 'O tipo de mapa que mostrar inicialmente.', - 'maps-googlemaps2-par-types' => 'Os tipos de mapas que estarán dispoñibles a través do control de tipos.', - 'maps-googlemaps2-par-controls' => 'Os controis que incluír no mapa.', - 'maps-googlemaps2-par-autozoom' => 'Activar o desprazamento coa axuda da roda do rato.', - 'maps-googlemaps2-par-kml' => 'Ficheiros KML que cargar no mapa.', - 'maps-googlemaps2-par-overlays' => 'As superposicións que o usuario pode activar.', - 'maps-googlemaps3-incompatbrowser' => 'O seu navegador é compatible co Google Maps v3.', - 'maps-googlemaps3-par-type' => 'O tipo de mapa que mostrar inicialmente.', - 'maps-googlemaps3-par-types' => 'Os tipos de mapas que estarán dispoñibles a través do control de tipos.', - 'maps-googlemaps3-par-layers' => 'As capas especiais que cargar no mapa.', - 'maps-googlemaps3-par-controls' => 'Os controis que incluír no mapa.', - 'maps-googlemaps3-par-zoomstyle' => 'O estilo do control do zoom.', - 'maps-googlemaps3-par-typestyle' => 'O estilo do control do tipo.', - 'maps-googlemaps3-par-autoinfowindows' => 'Abrir automaticamente todas as ventás de información tras a carga da páxina.', - 'maps-googlemaps3-par-kml' => 'Ficheiros KML que cargar no mapa.', - 'maps-googlemaps3-par-gkml' => 'Ficheiros KML aloxados polo Google que cargar no mapa.', - 'maps-googlemaps3-par-fusiontables' => 'Identificadores das táboas do Google Fusion que se deben cargar no mapa.', - 'maps-googlemaps3-par-tilt' => 'Inclinación do mapa ao empregar o Google Maps.', - 'maps-googlemaps3-par-kmlrezoom' => 'Axustar o nivel de zoom despois da carga das capas KML.', - 'maps-openlayers-par-controls' => 'Os controis que incluír no mapa.', - 'maps-openlayers-par-layers' => 'As capas que estarán dispoñibles no selector de capas. A primeira capa aparecerá cando o mapa acabe de cargar.', - 'maps-osm-par-thumbs' => 'Mostrar as miniaturas', - 'maps-osm-par-photos' => 'Mostrar as fotos', - 'maps-yahoomaps-par-type' => 'O tipo de mapa que mostrar inicialmente.', - 'maps-yahoomaps-par-types' => 'Os tipos de mapas que estarán dispoñibles a través do control de tipos.', - 'maps-yahoomaps-par-controls' => 'Os controis que incluír no mapa.', - 'maps-yahoomaps-par-autozoom' => 'Activar o desprazamento coa axuda da roda do rato.', -); - -/** Ancient Greek (Ἀρχαία ἑλληνικὴ) */ -$messages['grc'] = array( - 'maps-abb-north' => 'Β', - 'maps-abb-east' => 'Α', - 'maps-abb-south' => 'Ν', - 'maps-abb-west' => 'Δ', - 'maps-latitude' => 'Πλάτος γεωγραφικόν:', - 'maps-longitude' => 'Μῆκος γεωγραφικόν:', -); - -/** Swiss German (Alemannisch) - * @author Als-Holder - */ -$messages['gsw'] = array( - 'maps-desc' => 'Ergänzt d Megligkeit Koordinatedate in Charte un Geocodeadrässe aazzeige. Verfiegbari Chartedienscht: $1. [http://www.mediawiki.org/wiki/Extension:Maps Dokumäntation]. [http://mapping.referata.com/wiki/Maps_examples Demo]', - 'maps_map' => 'Charte', - 'maps-loading-map' => 'Am Lade vu dr Charte ...', - 'maps-markers' => 'Markierige', - 'maps-others' => 'anderi', - 'maps-ns-layer' => 'Ebeni', - 'maps-ns-layer-talk' => 'Ebeni Diskussion', - 'maps-layer-property' => 'Eigeschaft', - 'maps-layer-value' => 'Wärt', - 'maps-layer-errors' => 'Fähler', - 'maps-error-invalid-layerdef' => 'D Aagabe zue däre Ebeni sin nit giltig.', - 'maps-error-invalid-layertype' => 'S git kei Ebene vum Typ „$1“. Nume {{PLURAL:$3|dää Typ wird|die Type wäre}} unterstitzt: $2', - 'maps-error-no-layertype' => 'Dr Ebenetyp mueß aagee wäre. Nume {{PLURAL:$2|dää Typ wird|die Typen wäre}} unterstitzt: $1', - 'validation-error-invalid-layer' => 'Parameter $1 mueß e giltigi Ebeni syy.', - 'validation-error-invalid-layers' => 'Parameter $1 mueß ei oder meh giltigi Ebene syy.', - 'maps-layer-of-type' => 'Ebeni vum Typ $1', - 'maps-layer-type-supported-by' => 'Dää Ebenetyp cha {{PLURAL:$2|nume bim Kartografidienscht $1 brucht wäre|bi däne Kartografidienscht brucht wäre: $1}}.', - 'validation-error-invalid-location' => 'Parameter $1 mueß e giltige Standort syy.', - 'validation-error-invalid-locations' => 'Parameter $1 mueß ei oder meh giltigi Standort syy.', - 'validation-error-invalid-width' => 'Parameter $1 mueß e giltigi Breiti syy.', - 'validation-error-invalid-height' => 'Parameter $1 mueß e giltigi Lengi syy.', - 'validation-error-invalid-distance' => 'Parameter $1 mueß e giltigi Entfärnig syy.', - 'validation-error-invalid-distances' => 'Parameter $1 mueß ei oder meh giltigi Entfärnige syy.', - 'validation-error-invalid-image' => 'Parameter $1 mueß e giltig Bild syy.', - 'validation-error-invalid-images' => 'Parameter $1 mueß ei oder meh giltigi Bilder syy.', - 'validation-error-invalid-goverlay' => 'Parameter $1 mueß e giltigi Iberlagerig syy.', - 'validation-error-invalid-goverlays' => 'Parameter $1 mueß ei oder meh giltigi Iberlagerige syy.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Breiti:', - 'maps-longitude' => 'Lengi:', - 'maps-invalid-coordinates' => 'Dr Wärt $1 isch nit erkännt wore as giltige Satz vu Koordinate.', - 'maps_coordinates_missing' => 'S git kei Koordinate fir die Charte.', - 'maps_geocoding_failed' => 'Die {{PLURAL:$2|Adräss het|Adräss hän}} nit chenne georeferänziert wäre: $1. D Charte cha nit aazeigt wäre.', - 'maps_geocoding_failed_for' => 'Die {{PLURAL:$2|Adräss het|Adrässe hän}} nit chenne georeferänziert wäre un {{PLURAL:$2|isch|sin}} us dr Charte uusegnuu wore: $1', - 'maps_unrecognized_coords' => 'Die {{PLURAL:$2|Koordinate isch|Koordinate sin}} nit erkannt wore: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Die Koordinate isch nit erkannt wore un isch|Die Koordinate sin nit erkannt wore un sin}} wäge däm uusegnuu wore us dr Charte: -$1', - 'maps_map_cannot_be_displayed' => 'D Charte cha nit aazeigt wäre.', - 'maps-geocoder-not-available' => 'S Geokodierigs-Feature vu däre Charte isch nit verfiegbar, Dyy Ort cha nit geokodiert wäre.', - 'maps_click_to_activate' => 'Klick go d Charte aktiviere', - 'maps_centred_on' => 'Charte zäntriert uf $1, $2.', - 'maps_overlays' => 'Overlay', - 'maps_photos' => 'Foto', - 'maps_videos' => 'Video', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webcam', -); - -/** Hebrew (עברית) - * @author Amire80 - * @author Ex-Diktator - * @author Rotemliss - * @author YaronSh - * @author Yonidebest - */ -$messages['he'] = array( - 'maps-desc' => 'הוספת האפשרות להטמעת מפות דינמיות אל תוך דפי ויקי, קידוד גאוגרפי של כתובות ופעולות גאוגרפיות אחרות. -([http://mapping.referata.com/wiki/Maps_examples הדגמות])', - 'right-geocode' => 'לעשות קידוד גאוגרפי', - 'maps_map' => 'מפה', - 'maps-loading-map' => 'המפה נטענת...', - 'maps-load-failed' => 'טעינת המפה לא הצליחה!', - 'maps-markers' => 'סמנים', - 'maps-others' => 'אחרים', - 'maps-ns-layer' => 'שכבה', - 'maps-ns-layer-talk' => 'שיחת שכבה', - 'maps-layer-property' => 'מאפיין', - 'maps-layer-value' => 'ערך', - 'maps-layer-errors' => 'שגיאות', - 'maps-error-invalid-layerdef' => 'הגדרת השכבה הזאת אינה תקינה.', - 'maps-error-invalid-layertype' => 'אין שכבות מסוג "$1". רק {{PLURAL:$3|הסוג הזה נתמך|הסוגים האלה נתמכים}}: $2.', - 'maps-error-no-layertype' => 'יש להקליד את סוג השכבה. {{PLURAL:$2|רק הסוג הזה נתמך|הסוגים הנתמכים}}: $1', - 'validation-error-invalid-layer' => 'הפרמטר $1 צריך להיות שכבה תקינה.', - 'validation-error-invalid-layers' => 'הפרמטר $1 צריך להיות שכבה תקינה אחת או יותר.', - 'maps-layer-of-type' => 'שכבה מסוג $1', - 'maps-layer-type-supported-by' => 'השכבה הזאת יכולה לעבוד רק עם {{PLURAL:$2|שירות המפות הבא|שירותי המפות הבאים}}: $1.', - 'maps-coordinates-description' => 'מילת הפעלה לעיצוב נקודות ציון, מכל תסדיר נתמך לכל תסדיר נתמך.', - 'maps-displaymap-description' => 'להציג מפות גאוגרפיות ללא שום סמנים מוגדרים בוויקי עליהן.', - 'maps-displaypoint-description' => 'להציג מפות גאוגרפיות עם סמן מוגדר בוויקי אחד או יותר עליהן.', - 'maps-distance-description' => 'להמיר את המרחק ביחידות נתמכות מסוימות לערך מתאים ביחידות אחרות.', - 'maps-finddestination-description' => 'למצוא את היעד בהינתן נקודת התחלה (שיכולה להיות בכל פורמט), הכיוון הראשוני והמרחק.', - 'maps-geocode-description' => 'מפעיל קידוד גאוגרפי של כתובות, במילים אחרות, הופך מיקומים עם שמות שאנשים יכולים לקרוא לערכות של נקודות ציון. יש תמיכה במספר שירותי קידוד גאוגרפי, ואין להתבלבל בינם לבין שירותי מיפוי.', - 'maps-geodistance-description' => 'לחשב את המרחק הגאוגרפי בין שתי נקודת, מכל תסדיר נתמך ולכל תסדיר נתמך.', - 'maps-mapsdoc-description' => 'להציג עם פרמטרים עבור שירות המיפוי שצוין יחד עם הערכים והתיאורים ההתחלתיים שלהם.', - 'maps-mapsdoc-par-service' => 'שירות המיפוי שעבורו יוצג תיעוד פרמטרים.', - 'maps-mapsdoc-par-language' => 'השפה שבה יוצג התיעוד. אם אין תרגום זמין, התיעוד יוצג באנגלית.', - 'maps-coordinates-par-location' => 'נקודות הציון שברצונך לעצב.', - 'maps-coordinates-par-format' => 'תסדיר היעד לנקודות הציון.', - 'maps-coordinates-par-directional' => 'מציין האם לפלוט את נקודות הציון באופן כיווני או לא.', - 'maps-distance-par-distance' => 'מרחק שיומר לערך המתאים ביחידות המבוקשות.', - 'maps-distance-par-decimals' => 'המספר המקסימלי של ספרות אחרי הנקודה בערך של התוצאה.', - 'maps-distance-par-unit' => 'באילו יחידות לפלוט את המרחק.', - 'maps-finddestination-par-location' => 'המיקום ההתחלתי.', - 'maps-finddestination-par-bearing' => 'הכיוון הראשוני.', - 'maps-finddestination-par-distance' => 'מרחק הנסיעה.', - 'maps-finddestination-par-format' => 'באיזה תסדיר לפלוט את היעד.', - 'maps-finddestination-par-directional' => 'האם תבנית היעד צריכה להיות כיוונית או לא.', - 'maps-finddestination-par-allowcoordinates' => 'האם לאפשר שימוש בנקודות ציון. אם לא, תתקבלנה רק כתובות.', - 'maps-finddestination-par-geoservice' => 'שירות קידוד גאוגרפי לקידוד הערך במקרה שזו כתובת.', - 'maps-finddestination-par-mappingservice' => 'פרמטר לציון שירות המפות שישמש עם הפונקציה הזאת. -זה יאפשר למפות לדרוס את הערך ההתחלתי של פרמטר השירות בערך הטוב ביותר לשירות המפות. -(דוגמה: במקרה של מפות גוגל, ישמש המקודד הגאוגרפי של גוגל.)', - 'maps-geocode-par-location' => 'הכתובת שאתם רוצים לעשות לה קידוד גאוגרפי.', - 'maps-geocode-par-mappingservice' => "שירות הקידוד הגאוגרפי שאתם רוצים להשתמש בו. ר' רשימת שירותי קידוד גאוגרפי.", - 'maps-geocode-par-geoservice' => 'הפרמטר הזה מאפשר לציין שאתם משתמשים בבקשת הקידוד הגאוגרפי הזאת בצירוף שירות מיפוי מסוים. -כל שירות מיפוי יכול לדרוס ערכי ברירת מחדל של שירות הקידוד הגאוגרפי. -זה קורה מסיבות משפטיות, מאחר וניתן להשתמש בשירות הקידוד הגאוגרפי של גוגל רק עם מפות גוגל. -הגדרה של הפרמטר הזה, אבל לא של מפרמט השירות, תבטיח שאתם לא משתמשים בצירוף לא תקין.', - 'maps-geocode-par-allowcoordinates' => 'מאפשר כיבוי של תמיכה בנקודות ציון בפונקציה הזאת. צריך להיות כן או לא. -אם הערך הוא לא, כל ערך צריך להיות מקודד גאוגרפית, גם נקודות ציון תקינות.', - 'maps-geocode-par-format' => 'תסדיר נקודות הציון הסופיות.', - 'maps-geocode-par-directional' => 'האם לפלוט את נקודות הציון באופן כיווני או לא.', - 'maps-geodistance-par-location1' => 'הנקודה הראשונה בקבוצה לחישוב מרחק.', - 'maps-geodistance-par-location2' => 'הנקודה השנייה בקבוצה לחישוב מרחק.', - 'maps-geodistance-par-unit' => 'באילו יחידות לפלוט את המרחק.', - 'maps-geodistance-par-decimals' => 'המספר המירבי של ספרות בשבר בתוצאה.', - 'maps-geodistance-par-mappingservice' => 'שירות הקידוד הגאוגרפי שיקודד כתובות כלשהן.', - 'maps-geodistance-par-geoservice' => 'שירות המיפוי שבו משתמשים בזה. -זה יכול להשפיע על ערך ברירת המחדל של שירות הקידוד הגאוגרפי.', - 'maps-displaymap-par-mappingservice' => 'לאפשר להגדיר שירות מיפוי שישמש ליצרת המפה.', - 'maps-displaymap-par-coordinates' => 'באיזה מיקום המפה תתמרכז בתחילה.', - 'maps-displaypoints-par-zoom' => 'מאפשר קביעת קמת התקריב של המפה. -כאשר נתון זה לא מסופק וסמנים שונים נמצאים על המפה, יילקח התקריב המתאים ביותר, לא ברירת המחדל הניתנת להגדרה.', - 'maps-displaypoints-par-mappingservice' => 'מאפשר קביעת שירות המיפוי שיחולל את המפה.', - 'maps-displaypoints-par-coordinates' => 'מיקום אחד או יותר להצגה על המפה. הם יסומנו על המפה בסמנים.', - 'maps-displaypoints-par-centre' => 'מאפשר קביעת נקודות ציון של מרכז המפה עבור מופעי display_point. -מקבל כתובות ונקודות ציון. -כאשר המאפיין הזה לא מצוין, המפה תמרכז את עצמה על הסמן שצוין או בין סמנים שצוינו.', - 'maps-displaypoints-par-title' => 'מאפשר קביעת טקסט שיוצג בחלונות קופצים על כל הסמנים שאין להם כותרת מוגדרת. -כאשר נעשה שימוש בזה יחד עם תווית, הכותרת תהיה בולטת ועם קו תחתי.', - 'maps-displaypoints-par-label' => 'מאפשר להציב מלל שיוצג בכל החלונות הקופצים של כל הסמנים שאין להם תווית מסוימת.', - 'maps-displaypoints-par-icon' => 'לאפשר להציב סמל לכל הסמנים.', - 'validation-error-invalid-location' => 'הערך $1 צריך להיות מיקום תקין.', - 'validation-error-invalid-locations' => 'הערך $1 צריך להיות מיקום תקין אחד או יותר.', - 'validation-error-invalid-width' => 'הערך $1 צריך להיות רוחב תקין.', - 'validation-error-invalid-height' => 'הערך $1 צריך להיות גובה תקין.', - 'validation-error-invalid-distance' => 'הערך $1 צריך להיות מרחק תקין.', - 'validation-error-invalid-distances' => 'הערך $1 צריך להיות מרחק תקין אחד או יותר.', - 'validation-error-invalid-image' => 'הערך $1 צריך להיות קובץ תמונה תקין.', - 'validation-error-invalid-images' => 'הערך $1 צריך להיות קובץ תמונה תקין אחד או יותר.', - 'validation-error-invalid-goverlay' => 'הערך $1 צריך להיות שכבת כיסוי תקינה.', - 'validation-error-invalid-goverlays' => 'הערך $1 צריך להיות שכבת כיסוי תקינה אחת או יותר.', - 'maps-abb-north' => 'צפ׳', - 'maps-abb-east' => 'מז׳', - 'maps-abb-south' => 'דר׳', - 'maps-abb-west' => 'מע׳', - 'maps-latitude' => 'קו רוחב:', - 'maps-longitude' => 'קו אורך:', - 'maps-invalid-coordinates' => 'הערך $1 לא זוהה כסדרת קואורדינטות תקינה.', - 'maps_coordinates_missing' => 'לא סופקו קואורדינטות למפה.', - 'maps_geocoding_failed' => 'לא ניתן לייצר geocode עבור {{PLURAL:$2|הכתובת הבאה|הכתובות הבאות}}: $1. -לא ניתן להציג את המפה.', - 'maps_geocoding_failed_for' => 'לא ניתן לייצר geocode עבור {{PLURAL:$2|הכתובת הבאה|הכתובות הבאות}}, ולכן {{PLURAL:$2|היא הושמטה|הן הושמטו}} מהמפה: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|הקואורדינטה הבאה לא זוהתה|הקואורדינטות הבאות לא זוהו}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|נקודת הציון הבאה לא זוהתה והושמטה|נקודות הציון הבאות לא זוהו והושמטו}} מהמפה: $1', - 'maps_map_cannot_be_displayed' => 'לא ניתן להציג את המפה.', - 'maps-geocoder-not-available' => 'הקידוד הגאוגרפי של מפות אינו זמין. לא ניתן לקודד את המיקום שנבחר.', - 'maps_click_to_activate' => 'יש ללחוץ כדי להפעיל את המפה', - 'maps_centred_on' => 'המפה ממורכזת סביב $1,$2', - 'maps-par-resizable' => 'מאפשר שינוי גודל מפה באמצעות גרירת הפינה שלה.', - 'maps-par-geoservice' => 'באיזה שירות קידוד גאוגרפי להשתמש כדי לתרגם בין כתובות ונקודות ציון.', - 'maps-par-zoom' => 'רמת התקריב של המפה. למפות עם סמנים ברירת המחדל תהיה רמת תקריב גבוהה ביותר שמציגה את כל הסמנים.', - 'maps-par-width' => 'לאפשר הגדרת רוחב המפה. ברירת המחדל היא שהיחידה תהיה פיקסל, אבל אפשר להגדיר במפורש אחת מהיחידות הבאות: px, ex, em, %.', - 'maps-par-height' => 'לאפשר הגדרת גובה המפה. ברירת המחדל היא שהיחידה תהיה פיקסל, אבל אפשר להגדיר במפורש אחת מהיחידות הבאות: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'הדפדפן שלך לא תומך בגוגל מפות גרסה 2.', - 'maps_overlays' => 'שכבות כיסוי', - 'maps_photos' => 'תמונות', - 'maps_videos' => 'סרטוני וידאו', - 'maps_wikipedia' => 'ויקיפדיה', - 'maps_webcams' => 'מצלמות אינטרנט', - 'maps-googlemaps2-par-type' => 'איזה סוג מפה להציג תחילה.', - 'maps-googlemaps2-par-types' => 'סוגי המפות שיהיו זמינים דרך בקר הסוג.', - 'maps-googlemaps2-par-controls' => 'אילו בקרים להציב על המפה.', - 'maps-googlemaps2-par-autozoom' => 'להפעיל גלילה באמצעות גלגל העכבר.', - 'maps-googlemaps2-par-kml' => 'אילו קבצי KML לטעון אל המפה.', - 'maps-googlemaps2-par-overlays' => 'אילו שכבות כיסוי המשתמש יכול להפעיל.', - 'maps-googlemaps3-incompatbrowser' => 'הדפדפן שלך לא תומך בגוגל מפות גרסה 3.', - 'maps-googlemaps3-par-type' => 'סוג המפה שיוצג תחילה.', - 'maps-googlemaps3-par-types' => 'סוגי המפה שיהיו זמינים דרך בקר הסוג.', - 'maps-googlemaps3-par-layers' => 'שכבות מיוחדות שייטענו אל המפה.', - 'maps-googlemaps3-par-controls' => 'אילו בקרים להציב על המפה.', - 'maps-googlemaps3-par-zoomstyle' => 'סגנון בקר התקריב.', - 'maps-googlemaps3-par-typestyle' => 'סגנון בקר הסוג.', - 'maps-googlemaps3-par-autoinfowindows' => 'לפתוח את כל חלונות המידע אחרי שהדף נטען.', - 'maps-googlemaps3-par-kml' => 'קבצי KML שייטענו אל המפה.', - 'maps-googlemaps3-par-gkml' => 'קבצי KML שמתארחים בגוגל וייטענו אל המפה.', - 'maps-googlemaps3-par-fusiontables' => 'מזהים של Google Fusion Tables שייטענו אל המפה.', - 'maps-googlemaps3-par-tilt' => 'רכינה עבור המפה כאשר נעשה שימוש במפות גוגל.', - 'maps-googlemaps3-par-kmlrezoom' => 'לקרב מחדש את המפה אחרי ששכבות KML נטענו.', - 'maps-openlayers-par-controls' => 'אילו בקרים להציב על המפה.', - 'maps-openlayers-par-layers' => 'אילו שכבות יהיו זמינות בבוחר השכבות. השכבה הראשונה תוצג כאשר המפה נטענת.', - 'maps-osm-par-thumbs' => 'להציג תמונות ממוזערות.', - 'maps-osm-par-photos' => 'להציג צילומים', - 'maps-yahoomaps-par-type' => 'איזה סוג מפה להציג תחילה.', - 'maps-yahoomaps-par-types' => 'סוגי המפה שיהיו זמינים דרך בקר הסוג.', - 'maps-yahoomaps-par-controls' => 'אילו בקרים להציב על המפה.', - 'maps-yahoomaps-par-autozoom' => 'להפעיל גלילה באמצעות גלגל העכבר.', -); - -/** Hindi (हिन्दी) */ -$messages['hi'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'अक्षांश:', - 'maps-longitude' => 'रेखांश:', -); - -/** Croatian (Hrvatski) - * @author Ex13 - */ -$messages['hr'] = array( - 'maps-desc' => 'Pruža mogućnost prikaza podataka o koordinatama na kartama, te geokodiranih adresa ([http://mapping.referata.com/wiki/Maps_examples demo]). Dostupne usluge kartiranja: $1', - 'maps_coordinates_missing' => 'Za kartu nisu dostupne koordinate.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Sljedeća adresa ne može biti geokodirana|Sljedeće adrese ne mogu biti geokodirane}}: $1. -Karta ne može biti prikazana.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Sljedeća adresa ne može biti geokodirana|Sljedeće adrese ne mogu biti geokodirane}} i {{PLURAL:$2|izostavljena je|izostavljene su}} iz karte: -$1', -); - -/** Upper Sorbian (Hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'maps-desc' => 'Zmóžnja zasadźenje dynamiskich kartow do wikistronow, geokodowanje adresow a druhe geografiske podawki ([http://mapping.referata.com/wiki/Examples přikłady])', - 'maps_map' => 'Karta', - 'maps-loading-map' => 'Karta so začituje...', - 'maps-load-failed' => 'Karta njeda so začitać!', - 'maps-markers' => 'Marki', - 'maps-others' => 'druhe', - 'maps-ns-layer' => 'Runina', - 'maps-ns-layer-talk' => 'Diskusija runiny', - 'maps-layer-property' => 'Kajkosć', - 'maps-layer-value' => 'Hódnota', - 'maps-layer-errors' => 'Zmylki', - 'maps-error-invalid-layerdef' => 'Definicija tuteje runiny płaćiwa njeje.', - 'maps-error-invalid-layertype' => 'Njejsu žane runiny typa "$1". Jenož {{PLURAL:$3|tutón typ so podpěruje|tutej typaj so podpěrujetej|tute typy so podpěruja|tute typy so podpěruja}}: $2', - 'maps-error-no-layertype' => 'Dyrbiš typ runiny podać: {{PLURAL:$2|Jenož tutón typ so podpěruje|Tutej typaj so podpěrujetej|Tute typy so podpěruja|Tute typy so podpěruja}}: $1', - 'validation-error-invalid-layer' => 'Parameter $1 dyrbi płaćiwa runina być.', - 'validation-error-invalid-layers' => 'Parameter $1 dyrbi jedna runina abo wjacore runiny być.', - 'maps-layer-of-type' => 'Runina typa $1', - 'maps-layer-type-supported-by' => 'Tutón typ runiny móže so {{PLURAL:$2|jenož z kartografiskej słužbu $1|z tutej kartografiskimaj słužbomaj: $1|z tutymi kartografiskimi słužbami: $1|z tutymi kartografiskimi słužbami: $1}}.wužiwać.', - 'maps-displaymap-description' => 'Geografiske karty bjez we wikiju definowanych markow na nich zwobraznić.', - 'maps-displaypoint-description' => 'Geografiske karty z jednym we wikiju definowanej marku abo wjace markow na nich zwobraznić.', - 'maps-coordinates-par-location' => 'Koordinaty, kotrež chceš formatować.', - 'maps-coordinates-par-format' => 'Cilowy format za koordinaty.', - 'maps-distance-par-distance' => 'Zdalenosć, kotraž ma so do jeje ekwiwalenta z podatej jednotku konwertować.', - 'maps-distance-par-unit' => 'Jednotka za wudawanje zdalenosće.', - 'maps-finddestination-par-location' => 'Wuchadźišćo.', - 'maps-finddestination-par-bearing' => 'Wuchadne nasměrjenje.', - 'maps-finddestination-par-distance' => 'Pućowanska zdalenosć.', - 'maps-finddestination-par-format' => 'Wudawanski format za cil.', - 'maps-finddestination-par-allowcoordinates' => 'Podawa, hač koordinaty su dowolene. Jeli nic, budu so jenož adresy akceptować.', - 'maps-finddestination-par-geoservice' => 'Geokodowanska słužba, kotraž ma so za geokodowanje hódnoty wužiwać, jeli hódnota je adresa.', - 'maps-geocode-par-location' => 'Adresa, kotruž chceš geokodować.', - 'maps-geocode-par-mappingservice' => 'Geokodowanska słužba, kotruž chceš wužiwać. Hlej k dispoziciji stejace geokodowanske słužby.', - 'maps-geocode-par-format' => 'Format za wudate koordinaty.', - 'maps-geodistance-par-location1' => 'Prěni dypk z dweju dypkow, mjez kotrymajž ma so zdalenosć wuličić.', - 'maps-geodistance-par-location2' => 'Druhi dypk z dweju dypkow, mjez kotrymajž ma so zdalenosć wuličić.', - 'maps-geodistance-par-unit' => 'Jednotka, w kotrejž so zdalenosć podawa.', - 'maps-geodistance-par-mappingservice' => 'Geokodowanska słužba, kotraž ma so za geokodowanje wšěch adresow wužiwać.', - 'maps-displaymap-par-mappingservice' => 'Zmóžnja nastajenje kartografiskeje słužby, kotraž ma so za generowanje karty wužiwać,', - 'maps-displaymap-par-coordinates' => 'Městno, na kotrež mapa ma so spočatnje centrować.', - 'maps-displaypoints-par-mappingservice' => 'Zmóžnja nastajenje kartografiskeje słužby, kotraž ma so za generowanje karty wužiwać,', - 'maps-displaypoints-par-coordinates' => 'Jedne městno abo wjace městnow, kotrež maja so na karće zwobraznić. Woznamjenjeja so z marku.', - 'maps-displaypoints-par-icon' => 'Zmóžnja postajenje symbola, kotryž ma so za wšě marki wužiwać.', - 'validation-error-invalid-location' => 'Parameter $1 dyrbi płaćiwe městno być.', - 'validation-error-invalid-locations' => 'Parameter $1 dyrbi jedne městno abo wjacore městna być.', - 'validation-error-invalid-width' => 'Parameter $1 dyrbi płaćiwa šěrokosć być.', - 'validation-error-invalid-height' => 'Parameter $1 dyrbi płaćiwa wysokosć być.', - 'validation-error-invalid-distance' => 'Parameter $1 dyrbi płaćiwa distanca być.', - 'validation-error-invalid-distances' => 'Parameter $1 dyrbi jedna distanca abo wjacore distancy być.', - 'validation-error-invalid-image' => 'Parameter $1 dyrbi płaćiwy wobraz być.', - 'validation-error-invalid-images' => 'Parameter $1 dyrbi jedyn wobraz abo wjacore wobrazy być.', - 'validation-error-invalid-goverlay' => 'Parameter $1 dyrbi płaćiwa woršta być.', - 'validation-error-invalid-goverlays' => 'Parameter $1 dyrbi jedna woršta abo wjacore woršty być.', - 'maps-abb-north' => 'S', - 'maps-abb-east' => 'W', - 'maps-abb-south' => 'J', - 'maps-abb-west' => 'Z', - 'maps-latitude' => 'Šěrina:', - 'maps-longitude' => 'Dołhosć:', - 'maps-invalid-coordinates' => 'Hódnota $1 njebu jako płaćiwu sadźbu koordinatow spóznata.', - 'maps_coordinates_missing' => 'Za kartu njejsu koordinaty podate.', - 'maps_geocoding_failed' => 'Geokodowanje {{PLURAL:$2|slědowaceje adresy|slědowaceju adresow|slědowacych adresow|slědowacych adresow}} njebě móžno: $1. Karta njeda so zwobraznić.', - 'maps_geocoding_failed_for' => 'Geokodowanje {{PLURAL:$2|slědowaceje adresy|slědowaceju adresow|slědowacych adresow|slědowacych adresow}} njebě móžno a {{PLURAL:$2|tuta adresa|tutej adresy|tute adresy|tute adresy}} so na karće {{PLURAL:$2|wuwostaja|wuwostajetej|wuwostajeja|wuwostajeja}}: $1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Slědowaca koordinata njebu spóznana|Slědowacej koordinaće njebuštej spóznanej|Slědowace koordinaty njebuchu spóznane|Slědowace koordinaty njebuchu spóznane}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Slědowaca koordinata njebu spóznana|Slědowacej koordinaće njebuštej spóznanej|Slědowace koordinaty njebuchu spóznane|Slědowace koordinaty njebuchu spóznane}} a {{PLURAL:$2|bu na karće wuwostajena|buštej na karće wuwostajenej|buchu na karće wuwostajene|buchu na karće wuwostajene}}: $1', - 'maps_map_cannot_be_displayed' => 'Karta njeda so zwobraznić.', - 'maps-geocoder-not-available' => 'Funkcija geokodowanja Kartow k dispoziciji njesteji, twoje městno njehodźi so geokodować.', - 'maps_click_to_activate' => 'Klikń, zo by kartu aktiwizował', - 'maps_centred_on' => 'Karta na $1, $2 centrowana.', - 'maps-googlemaps2-incompatbrowser' => 'Twój wobhladowak njeje kompatibelny z Google Maps v2.', - 'maps_overlays' => 'Naworštowanja', - 'maps_photos' => 'Fota', - 'maps_videos' => 'Wideja', - 'maps_wikipedia' => 'Wikipedija', - 'maps_webcams' => 'Webcamy', - 'maps-googlemaps3-incompatbrowser' => 'Twój wobhladowak njeje kompatibelny z Google Maps v3.', -); - -/** Haitian (Kreyòl ayisyen) */ -$messages['ht'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', -); - -/** Hungarian (Magyar) - * @author Dani - * @author Glanthor Reviol - * @author Misibacsi - */ -$messages['hu'] = array( - 'maps-desc' => 'Lehetővé teszi koordinátaadatok és geokódolt címek megjelenítését térképeken ([http://mapping.referata.com/wiki/Maps_examples demó]). Elérhető térképszolgáltatások: $1', - 'maps_map' => 'Térkép', - 'maps-loading-map' => 'Térkép betöltése…', - 'maps-load-failed' => 'Nem sikerült betölteni a térképet!', - 'maps-markers' => 'Markerek', - 'maps-ns-layer' => 'Réteg', - 'maps-ns-layer-talk' => 'Rétegvita', - 'maps-layer-property' => 'Tulajdonság', - 'maps-layer-value' => 'Érték', - 'maps-layer-errors' => 'Hibák', - 'maps-error-invalid-layerdef' => 'A rétegdefiníció érvénytelen.', - 'validation-error-invalid-location' => 'A $1 paraméternek valós helynek kell lennie.', - 'validation-error-invalid-width' => 'A $1 paraméternek valós szélességnek kell lennie.', - 'validation-error-invalid-height' => 'A $1 paraméternek valós magasságnak kell lennie.', - 'validation-error-invalid-distance' => 'A $1 paraméter nem valós távolság.', - 'validation-error-invalid-image' => 'A(z) $1 paraméter csak érvényes kép lehet.', - 'validation-error-invalid-images' => 'A(z) $1 paraméter csak egy vagy több érvényes kép lehet.', - 'validation-error-invalid-goverlay' => 'A(z) $1 paraméter csak érvényes réteg lehet.', - 'validation-error-invalid-goverlays' => 'A(z) $1 paraméter csak egy vagy több érvényes réteg lehet.', - 'maps-abb-north' => 'É', - 'maps-abb-east' => 'K', - 'maps-abb-south' => 'D', - 'maps-abb-west' => 'Ny', - 'maps-latitude' => 'Földrajzi szélesség:', - 'maps-longitude' => 'Földrajzi hosszúság:', - 'maps-invalid-coordinates' => 'A(z) „$1” érték nem érvényes koordinátacsoport.', - 'maps_coordinates_missing' => 'Nincsenek megadva koordináták a térképhez.', - 'maps_geocoding_failed' => 'A következő {{PLURAL:$2|cím|címek}} nem geokódolhatók: $1. -A térképet nem lehet megjeleníteni.', - 'maps_geocoding_failed_for' => 'A következő {{PLURAL:$2|cím nem geokódolható|címek nem geokódolhatóak}}, és nem {{PLURAL:$2|szerepel|szerepelnek}} a térképen: -$1', - 'maps_unrecognized_coords' => 'A következő {{PLURAL:$2|koordinátát|koordinátákat}} nem sikerült felismerni: $1.', - 'maps_unrecognized_coords_for' => 'A következő {{PLURAL:$2|koordinátát|koordinátákat}} nem sikerült felismerni, és el {{PLURAL:$2|lett|lettek}} távolítva a térképről: $1', - 'maps_map_cannot_be_displayed' => 'A térképet nem sikerült megjeleníteni.', - 'maps-geocoder-not-available' => 'A térképek kiterjesztés geokódoló funkciója nem elérhető. A tartózkodási helyed nem geokódolható.', - 'maps_click_to_activate' => 'Kattints a térkép aktiválásához', - 'maps_centred_on' => 'Térkép középre igazítva a következő koordináták alapján: $1, $2.', - 'maps_overlays' => 'Rétegek', - 'maps_photos' => 'Fényképek', - 'maps_videos' => 'Videók', - 'maps_wikipedia' => 'Wikipédia', - 'maps_webcams' => 'Webkamerák', - 'maps-googlemaps3-par-zoomstyle' => 'A nagyítás irányításának stílusa.', - 'maps-googlemaps3-par-kml' => 'Betöltendő KML fájlok.', - 'maps-osm-par-thumbs' => 'Bélyegképek megjelenítése', - 'maps-osm-par-photos' => 'Fényképek megjelenítése', - 'maps-yahoomaps-par-type' => 'A kezdetben megjelenítendő térképtípus.', -); - -/** Interlingua (Interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'maps-desc' => 'Permitte le incorporation de cartas dynamic in paginas wiki, le geocodification de adresses e altere operationes geographic. ([http://mapping.referata.com/wiki/Maps_examples demonstrationes])', - 'right-geocode' => 'Geocodificar', - 'maps_map' => 'Carta', - 'maps-loading-map' => 'Cargamento del carta…', - 'maps-load-failed' => 'Non poteva cargar le carta!', - 'maps-markers' => 'Marcatores', - 'maps-others' => 'alteres', - 'maps-ns-layer' => 'Strato', - 'maps-ns-layer-talk' => 'Discussion Strato', - 'maps-layer-property' => 'Proprietate', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Errores', - 'maps-error-invalid-layerdef' => 'Iste definition de strato non es valide.', - 'maps-error-invalid-layertype' => 'Il non ha stratos del typo "$1". Solmente iste {{PLURAL:$3|typo|typos}} es supportate: $2', - 'maps-error-no-layertype' => 'Tu debe specificar le typo de strato. {{PLURAL:$2|Solmente iste typo|Iste typos}} es supportate: $1', - 'validation-error-invalid-layer' => 'Le parametro $1 debe esser un strato valide.', - 'validation-error-invalid-layers' => 'Le parametro $1 debe esser un o plus stratos valide.', - 'maps-layer-of-type' => 'Strato del typo $1', - 'maps-layer-type-supported-by' => 'Iste typo de strato pote {{PLURAL:$2|solmente esser usate con le servicio cartographic|esser usate con le sequente servicios cartographic:}} $1.', - 'maps-coordinates-description' => 'Uncino analysator pro formatar coordinatas, ex e in tote le formatos supportate.', - 'maps-displaymap-description' => 'Monstra cartas geographic sin marcatores definite in wiki.', - 'maps-displaypoint-description' => 'Monstra cartas geographic con un o plus marcatores definite in wiki.', - 'maps-distance-description' => 'Converte un distantia in un del unitates supportate a su equivalente in un altere unitate.', - 'maps-finddestination-description' => 'Cercar un destination, date un puncto de initio (que pote esser in omne formato supportate), un direction initial e un distantia.', - 'maps-geocode-description' => 'Permitte le geocodification de adresses, in altere parolas, converte adresses conventional de locos in gruppos de coordinatas. Existe supporto pro plure servicios de geocodification, le quales non debe esser confundite con servicios cartographic.', - 'maps-geodistance-description' => 'Calcula le distantia geographic inter duo punctos, ex e in omne formato supportate.', - 'maps-mapsdoc-description' => 'Presenta un tabella con le parametros de un servicio cartographic specificate, insimul con lor valores predefinite e lor descriptiones.', - 'maps-mapsdoc-par-service' => 'Le servicio cartographic pro le qual presentar le documentation de parametros.', - 'maps-mapsdoc-par-language' => 'Le lingua in le qual presentar le documentation. Si tal traduction non es disponibile, anglese essera usate in su loco.', - 'maps-coordinates-par-location' => 'Le coordinatas que tu vole formatar.', - 'maps-coordinates-par-format' => 'Le formato in le qual presentar le coordinatas.', - 'maps-coordinates-par-directional' => 'Indica si le coordinatas debe esser presentate directional o non.', - 'maps-distance-par-distance' => 'Le distantia a converter a su equivalente in un unitate specificate.', - 'maps-distance-par-decimals' => 'Le numero maxime de digitos fractional a usar in le valor resultante.', - 'maps-distance-par-unit' => 'Le unitate in le qual presentar le distantia.', - 'maps-finddestination-par-location' => 'Le position initial.', - 'maps-finddestination-par-bearing' => 'Le direction initial.', - 'maps-finddestination-par-distance' => 'Le distantia a viagiar.', - 'maps-finddestination-par-format' => 'Le formato in le qual producer le destination.', - 'maps-finddestination-par-directional' => 'Indica si le formato del destination debe esser directional o non.', - 'maps-finddestination-par-allowcoordinates' => 'Indica si permitter coordinatas. Si non, solmente adresses essera acceptate.', - 'maps-finddestination-par-geoservice' => 'Le servicio de geocodification a usar pro geocodificar le valor si illo es un adresse.', - 'maps-finddestination-par-mappingservice' => 'Parametro que tu pote usar pro indicar le servicio cartographic con le qual tu usa iste function. -Isto permitte supplantar le valor predefinite del parametro de servicio per un que es optimal pro le servicio cartographic. -(Exemplo: In caso de Google Maps, le geocodificator de Google essera usate.)', - 'maps-geocode-par-location' => 'Le adresse que tu vole geocodificar.', - 'maps-geocode-par-mappingservice' => 'Le servicio de geocodification que tu vole usar. Vide le servicios de geocodification disponibile.', - 'maps-geocode-par-geoservice' => 'Iste parametro permitte indicar que tu usa iste requesta de geocodification in combination con un servicio cartographic specific. -Cata servicio cartographic pote haber parametros que supplanta le valor predefinite del servicio de geocodification. -Isto es pro considerationes legal, post que tu non pote usar le servicio Google Geocoding excepte insimul con Google Maps. -Definir iste parametro e non le parametro de servicio assecura que tu non usa un combination invalide.', - 'maps-geocode-par-allowcoordinates' => 'Permitte disactivar le supporto de coordinatas in iste function. Debe esser o "si" o "no". -Si es "no", cata valor essera geocodificate, mesmo le coordinatas valide.', - 'maps-geocode-par-format' => 'Le formato pro le coordinatas resultante.', - 'maps-geocode-par-directional' => 'Indica si le coordinatas debe esser presentate directional o non.', - 'maps-geodistance-par-location1' => 'Le prime puncto del gruppo inter le quales calcular le distantia.', - 'maps-geodistance-par-location2' => 'Le secunde puncto del gruppo inter le quales calcular le distantia.', - 'maps-geodistance-par-unit' => 'Le unitate in le qual presentar le distantia.', - 'maps-geodistance-par-decimals' => 'Le numero maxime de digitos fractional a usar in le valor resultante.', - 'maps-geodistance-par-mappingservice' => 'Le servicio de geocodification a usar pro geocodificar adresses.', - 'maps-geodistance-par-geoservice' => 'Le servicio cartographic con le qual isto es usate. -Isto pote influentiar le valor predefinite de servicio de geocodification.', - 'maps-displaymap-par-mappingservice' => 'Permitte definir le servicio cartographic a usar pro generar le carta.', - 'maps-displaymap-par-coordinates' => 'Le loco in le qual le carta essera initialmente centrate.', - 'maps-displaypoints-par-zoom' => 'Permitte definir le nivello de zoom del carta. -Si isto non es fornite, e multiple marcatores es presente in le cata, le zoom que los arrangia melio essera prendite, non le predefinition configurabile.', - 'maps-displaypoints-par-mappingservice' => 'Permitte definir le servicio cartographic a usar pro generar le carta.', - 'maps-displaypoints-par-coordinates' => 'Un o plus locos a monstrar in le carta. Illos essera indicate con un marcator.', - 'maps-displaypoints-par-centre' => 'Permitte definir le coordinatas del centro del carta pro display_point(s). -Accepta e adresses e coordinatas. -Si iste proprietate non es fornite, le carta se centrara in le marcator fornite, o inter le marcatores fornite.', - 'maps-displaypoints-par-title' => 'Permitte definir texto que essera monstrate in le pop-ups de tote le marcatores que non ha un titulo specific. -Si usate con un etiquetta, le titulo essera monstrate in litteras grasse e sublineate.', - 'maps-displaypoints-par-label' => 'Permitte definir texto que essera monstrate in le pop-ups de tote le marcatores que non ha un etiquetta specific.', - 'maps-displaypoints-par-icon' => 'Permitte definir le icone usate pro tote le marcatores.', - 'validation-error-invalid-location' => 'Le parametro $1 debe esser un loco valide.', - 'validation-error-invalid-locations' => 'Le parametro $1 debe esser un o plus locos valide.', - 'validation-error-invalid-width' => 'Le parametro $1 debe esser un latitude valide.', - 'validation-error-invalid-height' => 'Le parametro $1 debe esser un altitude valide.', - 'validation-error-invalid-distance' => 'Le parametro $1 debe esser un distantia valide.', - 'validation-error-invalid-distances' => 'Le parametro $1 debe esser un o plus distantias valide.', - 'validation-error-invalid-image' => 'Le parametro $1 debe esser un imagine valide.', - 'validation-error-invalid-images' => 'Le parametro $1 debe esser un o plus imagines valide.', - 'validation-error-invalid-goverlay' => 'Le parametro $1 debe esser un superposition valide.', - 'validation-error-invalid-goverlays' => 'Le parametro $1 debe esser un o plus superpositiones valide.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Latitude:', - 'maps-longitude' => 'Longitude:', - 'maps-invalid-coordinates' => 'Le valor $1 non es recognoscite qua coordinatas valide.', - 'maps_coordinates_missing' => 'Nulle coordinata providite pro le mappa.', - 'maps_geocoding_failed' => 'Le sequente {{PLURAL:$2|adresse|adresses}} non poteva esser geocodificate: $1. -Le mappa non pote esser monstrate.', - 'maps_geocoding_failed_for' => 'Le sequente {{PLURAL:$2|adresse|adresses}} non poteva esser geocodificate e ha essite omittite del mappa: -$1', - 'maps_unrecognized_coords' => 'Le sequente {{PLURAL:$2|coordinata|coordinatas}} non esseva recognoscite: $1.', - 'maps_unrecognized_coords_for' => 'Le sequente {{PLURAL:$2|coordinata|coordinatas}} non esseva recognoscite e ha essite omittite del carta: -$1', - 'maps_map_cannot_be_displayed' => 'Le carta on pote esser monstrate.', - 'maps-geocoder-not-available' => 'Le function de geocodification de Maps non es disponibile; tu loco non pote esser geocodificate.', - 'maps_click_to_activate' => 'Clicca pro activar le carta', - 'maps_centred_on' => 'Carta centrate super $1, $2.', - 'maps-par-resizable' => 'Rende le carta redimensionabile per traher lo per su angulo dextre inferior.', - 'maps-par-geoservice' => 'Le servicio de geocodification usate pro converter inter adresses e coordinatas.', - 'maps-par-zoom' => 'Le nivello de zoom pro le carta. Pro cartas con marcatores isto es predefinite como le nivello de zoom le plus alte que ancora monstra tote le marcatores.', - 'maps-par-width' => 'Permitte fixar le latitude del carta. Le unitate assumite es pixels, ma tu pote specificar un de iste unitates: px, ex, em, %.', - 'maps-par-height' => 'Permitte fixar le altitude del carta. Le unitate assumite es pixels, ma tu pote specificar un de iste unitates: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'Tu navigator del web non es compatibile con Google Maps version 2.', - 'maps_overlays' => 'Superpositiones', - 'maps_photos' => 'Photos', - 'maps_videos' => 'Videos', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Cameras web', - 'maps-googlemaps2-par-type' => 'Le typo de carta a monstrar initialmente.', - 'maps-googlemaps2-par-types' => 'Le typos de carta que essera disponibile via le controlo de typo.', - 'maps-googlemaps2-par-controls' => 'Le controlos a placiar super le carta.', - 'maps-googlemaps2-par-autozoom' => 'Permitte rolar usante le rota del mus.', - 'maps-googlemaps2-par-kml' => 'Files KML pro cargar in le carta.', - 'maps-googlemaps2-par-overlays' => 'Superpositiones que le usator pote activar.', - 'maps-googlemaps3-incompatbrowser' => 'Tu navigator de web non es compatibile con Google Maps version 3.', - 'maps-googlemaps3-par-type' => 'Le typo de carta a monstrar initialmente.', - 'maps-googlemaps3-par-types' => 'Le typos de carta que essera disponibile via le controlo de typo.', - 'maps-googlemaps3-par-layers' => 'Stratos special pro cargar in le carta.', - 'maps-googlemaps3-par-controls' => 'Le controlos a placiar super le carta.', - 'maps-googlemaps3-par-zoomstyle' => 'Le stilo del controlo de zoom.', - 'maps-googlemaps3-par-typestyle' => 'Le stilo del controlo de typo.', - 'maps-googlemaps3-par-autoinfowindows' => 'Aperir automaticamente tote le fenestras informative post le cargamento del pagina.', - 'maps-googlemaps3-par-kml' => 'Files KML pro cargar in le carta.', - 'maps-googlemaps3-par-gkml' => 'KML files albergate per Google a cargar sur le carta.', - 'maps-googlemaps3-par-fusiontables' => 'IDs de tabellas de Google Fusion que debe esser cargate in le carta.', - 'maps-googlemaps3-par-tilt' => 'Inclination del carta durante le uso de Google Maps.', - 'maps-googlemaps3-par-kmlrezoom' => 'Rezoomar le carta post le cargamento del stratos KML.', - 'maps-openlayers-par-controls' => 'Le controlos a placiar super le carta.', - 'maps-openlayers-par-layers' => 'Le stratos que essera disponibile in le selector de stratos. Le prime strato essera monstrate durante le cargamento del carta.', - 'maps-osm-par-thumbs' => 'Monstrar miniaturas', - 'maps-osm-par-photos' => 'Monstrar photos', - 'maps-yahoomaps-par-type' => 'Le typo de carta a monstrar initialmente.', - 'maps-yahoomaps-par-types' => 'Le typos de carta que essera disponibile via le controlo de typo.', - 'maps-yahoomaps-par-controls' => 'Le controlos a placiar super le carta.', - 'maps-yahoomaps-par-autozoom' => 'Permitte rolar usante le rota del mus.', -); - -/** Indonesian (Bahasa Indonesia) - * @author Bennylin - * @author Farras - * @author Irwangatot - * @author IvanLanin - */ -$messages['id'] = array( - 'maps-desc' => 'Mengaktifkan penyertaan peta dinamis dalam halaman wiki, pembuatan geokode alamat, dan operasi geografi lain. -([http://mapping.referata.com/wiki/Examples demo])', - 'maps_map' => 'Peta', - 'maps-loading-map' => 'Memuat peta...', - 'maps-load-failed' => 'Peta tidak dapat dimuat!', - 'maps-markers' => 'Tanda', - 'maps-others' => 'lainnya', - 'maps-ns-layer' => 'Lapisan', - 'maps-ns-layer-talk' => 'Pembicaraan lapisan', - 'maps-layer-property' => 'Properti', - 'maps-layer-value' => 'Nilai', - 'maps-layer-errors' => 'Kesalahan', - 'maps-error-invalid-layerdef' => 'Definisi lapisan tidak valid.', - 'maps-error-invalid-layertype' => 'Tidak ada lapisan jenis "$1". {{PLURAL:$3|Jenis|Jenis}} yang didukung: $2', - 'maps-error-no-layertype' => 'Anda perlu menentukan jenis lapisan. {{PLURAL:$2|Jenis|Jenis}} yang didukung: $1', - 'validation-error-invalid-layer' => 'Parameter $1 harus merupakan lapisan yang sah.', - 'validation-error-invalid-layers' => 'Parameter $1 harus berupa satu atau lebih lapisan yang sah.', - 'maps-layer-of-type' => 'Lapisan jenis $1', - 'maps-layer-type-supported-by' => 'Lapisan ini hanya dapat digunakan oleh layanan pemetaan {{PLURAL:$2|$1|$1}}.', - 'maps-coordinates-description' => 'Pengait parser untuk memformat koordinat, dari dan ke salah satu format yang didukung.', - 'maps-displaymap-description' => 'Menampilkan peta geografis tanpa mencantumkan penanda wiki terdefinisi.', - 'maps-displaypoint-description' => 'Menampilkan peta geografis dengan satu atau lebih penanda wiki terdefinisi.', - 'maps-distance-description' => 'Mengubah jarak dengan menggunakan unit terdukung tertentu menjadi setaranya dengan menggunakan unit lain.', - 'maps-finddestination-description' => 'Menemukan tujuan dari suatu titik awal (dalam salah satu format yang didukung), arah, dan jarak.', - 'maps-geocode-description' => 'Memberikan geokode alamat, atau dengan kata lain, mengubah lokasi yang dapat dibaca manusia ke set koordinat. Tersedia dukungan untuk beberapa layanan geokode, yang berbeda dengan layanan pemetaan.', - 'maps-geodistance-description' => 'Menghitung jarak geografis antara dua titik, dari dan ke salah satu format yang didukung.', - 'maps-coordinates-par-location' => 'Koordinat yang ingin diformat.', - 'maps-coordinates-par-format' => 'Format sasaran untuk koordinat.', - 'maps-coordinates-par-directional' => 'Menunjukkan apakah keluaran koordinat perlu disertai arah atau tidak.', - 'maps-distance-par-distance' => 'Jarak yang ingin diubah ke setaranya dengan suatu unit tertentu.', - 'maps-distance-par-decimals' => 'Jumlah maksimum digit pecahan yang digunakan untuk nilai hasil.', - 'maps-distance-par-unit' => 'Unit keluaran jarak.', - 'maps-finddestination-par-location' => 'Lokasi awal.', - 'maps-finddestination-par-bearing' => 'Arah awal.', - 'maps-finddestination-par-distance' => 'Jarak yang ditempuh.', - 'maps-finddestination-par-format' => 'Format keluaran tujuan.', - 'maps-finddestination-par-directional' => 'Menunjukkan apakah format tujuan disertai arah atau tidak.', - 'maps-finddestination-par-allowcoordinates' => 'Menunjukkan apakah koordinat diizinkan. Jika disetel tidak, hanya alamat yang diterima.', - 'maps-finddestination-par-geoservice' => 'Layanan geokode yang digunakan untuk mengubah nilai dari suatu alamat.', - 'maps-finddestination-par-mappingservice' => 'Parameter yang dapat digunakan untuk menunjukkan layanan pemetaan yang digunakan bersama fungsi ini. -Parameter ini memungkinkan untuk menimpa nilai bawaan parameter layanan dengan yang optimal untuk layanan pemetaan. -(Contoh: dalam kasus dari Google Maps, geokode Google akan digunakan.)', - 'maps-geocode-par-location' => 'Alamat yang ingin diubah menjadi geokode.', - 'maps-geocode-par-mappingservice' => 'Layanan geokode yang ingin digunakan. Lihat layanan geokode yang didukung.', - 'maps-geocode-par-geoservice' => 'Parameter ini memungkinkan untuk menunjukkan bahwa permintaan geokode digunakan bersama dengan layanan pemetaan tertentu. -Setiap layanan pemetaan bisa menimpa nilai bawaan layanan geokode. -Hal ini demi pertimbangan hukum, karena Anda tidak dapat menggunakan layanan Google Geocoding kecuali bersama dengan Google Maps. Pengaturan parameter ini dan bukan parameter layanan akan memastikan Anda tidak menggunakan kombinasi yang tidak sah.', - 'maps-geocode-par-allowcoordinates' => 'Menonaktifkan dukungan untuk koordinat dalam fungsi ini. Pilih ya atau tidak. -Jika tidak, setiap nilai akan diubah menjadi geokode, bahkan koordinat yang sah.', - 'maps-geocode-par-format' => 'Format koordinat hasil.', - 'maps-geocode-par-directional' => 'Menunjukkan apakah keluaran koordinat perlu disertai arah atau tidak.', - 'maps-geodistance-par-location1' => 'Titik pertama dalam himpunan untuk menghitung jarak antara.', - 'maps-geodistance-par-location2' => 'Titik kedua dalam himpunan untuk menghitung jarak antara.', - 'maps-geodistance-par-unit' => 'Unit keluaran jarak.', - 'maps-geodistance-par-decimals' => 'Jumlah maksimum digit pecahan yang digunakan untuk nilai hasil.', - 'maps-geodistance-par-mappingservice' => 'Layanan yang digunakan untuk mengubah alamat menjadi geokode.', - 'maps-geodistance-par-geoservice' => 'Layanan pemetaan yang digunakan bersama dengan ini. -Ini dapat memengaruhi nilai bawaan layanan geokode.', - 'maps-displaymap-par-mappingservice' => 'Memungkinkan pengaturan layanan pemetaan yang akan digunakan untuk menghasilkan peta.', - 'maps-displaymap-par-coordinates' => 'Lokasi pusat awal dari peta.', - 'maps-displaypoints-par-zoom' => 'Memungkinkan pengaturan tingkat pembesaran peta. -Jika tidak diberikan dan beberapa penanda ada pada peta, akan dipilih pembesaran yang paling muat, bukan bawaan yang disetel.', - 'maps-displaypoints-par-mappingservice' => 'Memungkinkan pengaturan layanan pemetaan yang akan digunakan untuk menghasilkan peta.', - 'maps-displaypoints-par-coordinates' => 'Satu atau beberapa lokasi akan ditampilkan pada peta. Lokasi tersebut akan ditunjukkan dengan penanda.', - 'maps-displaypoints-par-centre' => 'Memungkinkan pengaturan koordinat pusat peta untuk display_point. -Dapat menerima alamat maupun koordinat. -Jika tidak diberikan, peta akan menentukan pusatnya pada penanda yang ada atau di antara penanda yang diberikan.', - 'maps-displaypoints-par-title' => 'Memungkinkan pengaturan teks yang akan ditampilkan pada munculan dari semua penanda yang tidak memiliki judul tertentu. -Jika digunakan bersama dengan label, judul akan ditebalkan dan memiliki garis bawah.', - 'maps-displaypoints-par-label' => 'Memungkinkan pengaturan teks yang akan ditampilkan pada munculan dari semua tanda yang tidak memiliki label tertentu.', - 'maps-displaypoints-par-icon' => 'Memungkinkan pengaturan ikon yang digunakan semua penanda.', - 'validation-error-invalid-location' => 'Parameter $1 harus merupakan lokasi yang sah.', - 'validation-error-invalid-locations' => 'Parameter $1 harus berupa satu atau lebih lokasi yang sah.', - 'validation-error-invalid-width' => 'Parameter $1 harus merupakan lebar yang sah.', - 'validation-error-invalid-height' => 'Parameter $1 harus merupakan tinggi yang sah.', - 'validation-error-invalid-distance' => 'Parameter $1 harus merupakan nilai jarak yang sah.', - 'validation-error-invalid-distances' => 'Parameter $1 harus berupa satu atau lebih jarak yang sah.', - 'validation-error-invalid-image' => 'Parameter $1 harus merupakan berkas yang sah.', - 'validation-error-invalid-images' => 'Parameter $1 harus berupa satu atau lebih berkas yang sah.', - 'validation-error-invalid-goverlay' => 'Parameter $1 harus merupakan hamparan yang sah.', - 'validation-error-invalid-goverlays' => 'Parameter $1 harus berupa satu atau lebih hamparan yang sah.', - 'maps-abb-north' => 'U', - 'maps-abb-east' => 'T', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'B', - 'maps-latitude' => 'Lintang:', - 'maps-longitude' => 'Bujur:', - 'maps-invalid-coordinates' => 'Nilai $1 tidak dikenali sebagai rangkaian koordinat yang sah.', - 'maps_coordinates_missing' => 'Tidak koordinat yang disediakan bagi peta.', - 'maps_geocoding_failed' => '{{PLURAL:$2|alamat|alamat}} berikut tidak dapat di Geocode: $1. -Peta tidak dapat ditampilkan.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|alamat|alamat}} berikut tidak dapat di Geocode dan {{PLURAL:$2|telah|telah}} dihilangkan dari peta: $1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Koordinat|Koordinat}} berikut tidak dikenali: $1.', - 'maps_unrecognized_coords_for' => 'Koordinat berikut tidak dikenali dan {{PLURAL:$2|telah|telah}} diabaikan dari peta: -$1', - 'maps_map_cannot_be_displayed' => 'Peta tak dapat ditampilkan.', - 'maps-geocoder-not-available' => 'Fitur kodegeo Peta tidak tersedia. Lokasi Anda tidak dapat dikodegeokan', - 'maps_click_to_activate' => 'Klik untuk mengaktifkan peta', - 'maps_centred_on' => 'Peta dipusatkan di $1, $2.', - 'maps-par-resizable' => 'Membuat peta berubah ukuran dengan menyeret pojok kanan bawahnya.', - 'maps-par-geoservice' => 'Layanan geokode yang digunakan untuk membuat terjemahan antara alamat dan koordinat.', - 'maps-par-zoom' => 'Tingkat pembesaran peta. Secara bawaan, peta bertanda akan mengambil tingkat pembesaran yang masih menunjukkan semua tanda.', - 'maps-par-width' => 'Memungkinkan pengaturan lebar peta. Secara bawaan, piksel akan dianggap sebagai unit, tetapi Anda dapat menentukan secara eksplisit salah satu unit berikut: px, ex, em, %.', - 'maps-par-height' => 'Memungkinkan pengaturan tinggi peta. Secara bawaan, piksel akan dianggap sebagai unit, tetapi Anda dapat menentukan secara eksplisit salah satu unit berikut: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'Peramban Anda tidak kompatibel dengan Google Maps v2.', - 'maps_overlays' => 'Hamparan', - 'maps_photos' => 'Foto', - 'maps_videos' => 'Video', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Kamera web', - 'maps-googlemaps2-par-type' => 'Jenis peta yang ditampilkan saat awal.', - 'maps-googlemaps2-par-types' => 'Jenis peta yang akan tersedia melalui kontrol jenis.', - 'maps-googlemaps2-par-controls' => 'Kontrol yang akan ditempatkan pada peta.', - 'maps-googlemaps2-par-autozoom' => 'Mengaktifkan fitur gulir dengan menggunakan mousewheel.', - 'maps-googlemaps2-par-kml' => 'Berkas KML yang akan dimuat ke dalam peta.', - 'maps-googlemaps2-par-overlays' => 'Hamparan yang dapat diaktifkan pengguna.', - 'maps-googlemaps3-incompatbrowser' => 'Peramban Anda tidak kompatibel dengan Google Maps v3.', - 'maps-googlemaps3-par-type' => 'Jenis peta yang ditampilkan saat awal.', - 'maps-googlemaps3-par-types' => 'Jenis peta yang akan tersedia melalui kontrol jenis.', - 'maps-googlemaps3-par-layers' => 'Lapisan khusus yang akan dimuat ke dalam peta.', - 'maps-googlemaps3-par-controls' => 'Kontrol yang akan ditempatkan pada peta.', - 'maps-googlemaps3-par-zoomstyle' => 'Gaya kontrol pembesaran.', - 'maps-googlemaps3-par-typestyle' => 'Gaya jenis kontrol.', - 'maps-googlemaps3-par-autoinfowindows' => 'Otomatis membuka semua jendela info setelah halaman dimuat.', - 'maps-googlemaps3-par-kml' => 'Berkas KML yang akan dimuat ke dalam peta.', - 'maps-googlemaps3-par-fusiontables' => 'ID Google Fusion Tables yang harus dimuat ke dalam peta.', - 'maps-openlayers-par-controls' => 'Kontrol yang akan ditempatkan pada peta.', - 'maps-openlayers-par-layers' => 'Lapisan yang akan tersedia pada pemilih lapisan. Lapisan pertama akan ditampilkan ketika peta dimuat.', - 'maps-osm-par-thumbs' => 'Tampilkan gambar mini', - 'maps-osm-par-photos' => 'Tampilkan foto', - 'maps-yahoomaps-par-type' => 'Jenis peta yang ditampilkan saat awal.', - 'maps-yahoomaps-par-types' => 'Jenis peta yang akan tersedia melalui jenis kontrol.', - 'maps-yahoomaps-par-controls' => 'Kontrol yang akan ditempatkan pada peta.', - 'maps-yahoomaps-par-autozoom' => 'Mengaktifkan fitur gulir dengan menggunakan mousewheel.', -); - -/** Igbo (Igbo) - * @author Ukabia - */ -$messages['ig'] = array( - 'maps_map' => 'Otú Uzọr', - 'maps_photos' => 'Onyònyò', - 'maps_videos' => 'Enyónyó-na-jé', - 'maps_wikipedia' => 'Wikipedia', -); - -/** Italian (Italiano) - * @author Civvì - * @author Gianfranco - * @author HalphaZ - */ -$messages['it'] = array( - 'maps-desc' => "Fornisce la possibilità di visualizzare i dati di coordinate su mappe e la geocodifica di indirizzi ([http://wiki.bn2vs.com/wiki/Demo dell'estensione Maps]). -Servizi di cartografia disponibili: $1", - 'maps_map' => 'Mappa', - 'maps-loading-map' => 'Caricamento mappa ...', - 'maps-markers' => 'Marcatori', - 'validation-error-invalid-distance' => 'Il valore $1 non è una distanza valida.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitudine:', - 'maps-longitude' => 'Longitudine:', - 'maps-invalid-coordinates' => 'Il valore $1 non è stato riconosciuto come un set di coordinate valido.', - 'maps_coordinates_missing' => 'Non sono state fornite coordinate per la mappa', - 'maps_geocoding_failed' => 'Non è stato possibile effettuare la geocodifica per {{PLURAL:$2|il seguente indirizzo|i seguenti indirizzi}}: $1.', - 'maps_geocoding_failed_for' => 'Non è stato possibile effettuare la geocodifica {{PLURAL:$2|del seguente indirizzo|dei seguenti indirizzi}} che {{PLURAL:$2|è stato omesso|sono stati omessi}} dalla mappa: $1.', - 'maps_unrecognized_coords' => '{{PLURAL:$2|La seguente coordinata|Le seguenti coordinate}} non sono state riconosciute: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|La seguente coordinata|Le seguenti coordinate}} {{PLURAL:$2|non è stata riconosciuta ed è stata omessa|non sono state riconosciute e sono state omesse}} dalla mappa: $1.', - 'maps_map_cannot_be_displayed' => 'La mappa non può essere visualizzata.', - 'maps-geocoder-not-available' => "La funzionalità di geocodifica dell'estensione Maps non è disponibile. La tua posizione non può essere geocodificata.", - 'maps_click_to_activate' => 'Clicca per attivare la mappa.', - 'maps_centred_on' => 'Mappa centrata su $1, $2.', - 'maps_overlays' => 'Overlay', - 'maps_photos' => 'Foto', - 'maps_videos' => 'Video', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webcam', -); - -/** Japanese (日本語) - * @author Aotake - * @author Fryed-peach - * @author Yanajin66 - * @author 青子守歌 - */ -$messages['ja'] = array( - 'maps-desc' => 'ウィキページへの動的な地図の組み込み、住所の座標データへの変換などの地図関連操作を可能にする。([http://mapping.referata.com/wiki/Examples 実演])', - 'right-geocode' => 'ジオコーディング', - 'maps_map' => '地図', - 'maps-loading-map' => '地図を読み込み中…', - 'maps-load-failed' => '地図を読み込めませんでした。', - 'maps-markers' => 'マーカー', - 'maps-others' => 'その他', - 'maps-ns-layer' => 'レイヤー', - 'maps-ns-layer-talk' => 'レイヤー・トーク', - 'maps-layer-property' => '属性', - 'maps-layer-value' => '値', - 'maps-layer-errors' => 'エラー', - 'maps-error-invalid-layerdef' => 'このレイヤー定義は不正です。', - 'maps-error-invalid-layertype' => '種類「$1」のレイヤーが存在しません。{{PLURAL:$3|この|これら}}の種類のサポート:$2', - 'maps-error-no-layertype' => 'レイヤーの種類を指定する必要があります。{{PLURAL:$2|この種類のみ|これらの種類}}に対応しています: $1', - 'validation-error-invalid-layer' => '引数$1は有効なレイヤーでなければなりません。', - 'validation-error-invalid-layers' => '引数$1は1つ以上の有効なレイヤーでなければなりません。', - 'maps-layer-of-type' => '種類$1のレイヤー', - 'maps-layer-type-supported-by' => 'このレイヤー種は、{{PLURAL:$2|$1地図サービスでのみ利用可能です|以下の地図サービスで利用可能です:$1}}。', - 'validation-error-invalid-location' => '引数$1は有効な場所でなければなりません。', - 'validation-error-invalid-locations' => '引数$1は、1つそれ以上有効な場所でなければなりません。', - 'validation-error-invalid-width' => '引数$1は有効な幅でなければなりません。', - 'validation-error-invalid-height' => '引数$1は有効な高さでなければなりません。', - 'validation-error-invalid-distance' => '引数$1は有効な距離でなければなりません。', - 'validation-error-invalid-distances' => '引数$1は、1つ以上の有効な距離でなければなりません。', - 'validation-error-invalid-image' => '引数$1は有効な画像でなければなりません。', - 'validation-error-invalid-images' => '引数$1は、1つ以上の有効な画像でなければなりません。', - 'validation-error-invalid-goverlay' => '引数$1は有効なオーバーレイでなければなりません。', - 'validation-error-invalid-goverlays' => '引数$1は、1つ以上の有効なオーバーレイでなければなりません。', - 'maps-abb-north' => '北', - 'maps-abb-east' => '東', - 'maps-abb-south' => '南', - 'maps-abb-west' => '西', - 'maps-latitude' => '緯度:', - 'maps-longitude' => '経度:', - 'maps-invalid-coordinates' => '値 $1 は座標の有効な組み合わせとして認識されませんでした。', - 'maps_coordinates_missing' => '地図に座標が指定されていません。', - 'maps_geocoding_failed' => '指定された{{PLURAL:$2|住所}}の座標への変換に失敗しました。 $1。地図は表示できません。', - 'maps_geocoding_failed_for' => '指定された{{PLURAL:$2|住所|複数の住所}}の座標への変換に失敗したため、それらを地図から除外して表示します。$1', - 'maps_unrecognized_coords' => '以下の{{PLURAL:$2|座標}}は認識されませんでした: $1', - 'maps_unrecognized_coords_for' => '以下の{{PLURAL:$2|座標}}は認識されなかったため、地図から省かれています: -$1', - 'maps_map_cannot_be_displayed' => 'この地図は表示できません。', - 'maps-geocoder-not-available' => '地図のジオコーディング機能は利用できません。指定した位置をジオコーディングできません。', - 'maps_click_to_activate' => 'クリックして地図をアクティブに', - 'maps_centred_on' => '地図の中心は $1、$2。', - 'maps-googlemaps2-incompatbrowser' => 'あなたのブラウザーは Google Maps v2 と互換性がありません。', - 'maps_overlays' => 'オーバーレイ', - 'maps_photos' => '写真', - 'maps_videos' => '動画', - 'maps_wikipedia' => 'ウィキペディア', - 'maps_webcams' => 'ウェブカメラ', -); - -/** Javanese (Basa Jawa) */ -$messages['jv'] = array( - 'maps-abb-north' => 'L', - 'maps-abb-east' => 'W', - 'maps-abb-south' => 'Kdl', - 'maps-abb-west' => 'Kln', - 'maps-latitude' => 'Latituda:', - 'maps-longitude' => 'Longituda:', -); - -/** Georgian (ქართული) - * @author Temuri rajavi - */ -$messages['ka'] = array( - 'maps_map' => 'რუკა', - 'maps_videos' => 'ვიდეოები', -); - -/** Khmer (ភាសាខ្មែរ) - * @author គីមស៊្រុន - */ -$messages['km'] = array( - 'maps-abb-north' => 'ជ', - 'maps-abb-east' => 'ក', - 'maps-abb-south' => 'ត្ប', - 'maps-abb-west' => 'ល', - 'maps-latitude' => 'រយៈទទឹង៖', - 'maps-longitude' => 'រយៈបណ្តោយ៖', -); - -/** Kannada (ಕನ್ನಡ) - * @author Nayvik - */ -$messages['kn'] = array( - 'maps_wikipedia' => 'ವಿಕಿಪೀಡಿಯ', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'maps-desc' => 'Määt et müjjelesch, Koodinaate en Landkaate aanzezeije, un Addräße en Koodinaate op de Ääd ömzerääschne. (E [http://mapping.referata.com/wiki/Maps_examples paa Beispöll]). {{PLURAL:$2:|Unsere Deens fö de Kaate es $1|He di Deenste för Landkaate ham_mer ze beede: $1|Mer han ävver kein Deenste för Kaate em Momang.}}', - 'maps_map' => 'Kaat', - 'maps-loading-map' => 'Mer sen en Kaat aam laade …', - 'maps-markers' => 'Makeeronge', - 'maps-others' => 'sönß wää', - 'maps-layer-property' => 'Eijeschaff', - 'maps-layer-value' => 'Wäät', - 'maps-layer-errors' => 'Fähler', - 'maps-distance-par-unit' => 'De Einheit för der Afschtand dren ußzejävve.', - 'maps-displaymap-par-coordinates' => 'Dä Plaz, dä aanfänglesch en de Medde vun dä Kaat lijje sull.', - 'maps-displaypoints-par-icon' => 'Määd et müjjelesch, e Minni_Belldsche faßzelääje, waoh met all de Makeerunge jezeish wääde.', - 'validation-error-invalid-location' => 'Dä Parameeter $1 mos ene jölteje Plaz sin.', - 'validation-error-invalid-locations' => 'Dä Parameeter $1 moß eine jölteje Plaz udder an Aanzahl jöltijje Pläz sin.', - 'validation-error-invalid-width' => 'Dä Parameeter $1 mos en jölteje Breedt sin.', - 'validation-error-invalid-height' => 'Dä Parameeter $1 mos en jölteje Hühde sin.', - 'validation-error-invalid-distance' => 'Dä Parameeter $1 mos ene jölteje Affshtand sin.', - 'validation-error-invalid-distances' => 'Dä Parameeter $1 moß eine jölteje Affshtand udder an Aanzahl jöltijje Affshtänd sin.', - 'validation-error-invalid-image' => 'Dä Parameeter $1 mos e jöltesch Beld sin.', - 'validation-error-invalid-images' => 'Dä Parameeter $1 moß ei jöltesch Beld udder an Aanzahl jöltijje Belder sin.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Breedt om Jlobus:', - 'maps-longitude' => 'Längde om Jlobus:', - 'maps-invalid-coordinates' => 'Dä Wäät $1 künne mer nit als ene Saz vun Koodinahte vershtonn.', - 'maps_coordinates_missing' => 'Mer han kein Koodinaate för di Kaat.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Di Koodinaat|De Koodinaate|Kein Koodinaat}} om Jlobus för di {{PLURAL:$2|aanjejovve Adräß wohr|aanjejovve Adräße wohre|kein aanjejovve Adräß wohr}} Kappes: $1. Di Kaat künne mer su nit aanzeije.', - 'maps_geocoding_failed_for' => 'De Koodinaate om Jlobus för {{PLURAL:$2|ein|paa|kein}} vun dä aanjejovve Adräße {{PLURAL:$2|es|wohre|Fähler!}} Kappes. Di {{PLURAL:$2|es|sin|Fähler!}} dröm nit op dä Kaat. De fottjelohße {{PLURAL:$2|es|sin|Fähler!}}: $1', - 'maps_unrecognized_coords' => 'He di Koordinate kunnte mer nit verschtonn: $1.', - 'maps_unrecognized_coords_for' => 'He di {{PLURAL:$2|Koordinat kunnt|Koordinate kunnte}} mer nit verschtonn un dröm {{PLURAL:$2|es|sin}} se nit en de Kaat opjenumme woode: -$1', - 'maps_map_cannot_be_displayed' => 'Di Kaat künne mer nit aanzeije.', - 'maps_click_to_activate' => 'Donn klecke, öm op di Kaat ze jonn', - 'maps_centred_on' => 'De Kaat met $1, $2 en de Medde.', - 'maps_overlays' => 'Enbländunge', - 'maps_photos' => 'Fottos', - 'maps_videos' => 'Viddejos', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webkammeras', -); - -/** Ladino (Ladino) - * @author Universal Life - */ -$messages['lad'] = array( - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Cargando la mapa...', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps_photos' => 'Fotoggrafías', - 'maps_wikipedia' => 'Vikipedya', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Robby - */ -$messages['lb'] = array( - 'maps-desc' => "Gëtt d'Méiglechkeet fir d'Date vun de Koordinaten op Kaarten a Geocode Adressen [http://mapping.referata.com/wiki/Examples Démo] ze weisen", - 'maps_map' => 'Kaart', - 'maps-loading-map' => "D'Kaart gëtt gelueden…", - 'maps-load-failed' => "D'Kaart konnt net geluede ginn!", - 'maps-markers' => 'Markéierungen', - 'maps-others' => 'anerer', - 'maps-layer-property' => 'Eegeschaft', - 'maps-layer-value' => 'Wäert', - 'maps-layer-errors' => 'Feeler', - 'maps-coordinates-par-location' => "D'Koordinaten déi Dir formatéiere wëllt.", - 'maps-coordinates-par-format' => "D'Zilformat vun de Koordinaten.", - 'maps-finddestination-par-location' => 'Déi initial Plaz.', - 'maps-finddestination-par-distance' => "D'Distanz vun der Rees.", - 'maps-geocode-par-location' => "D'Adress déi Dir geocodéiere wëllt.", - 'maps-geocode-par-format' => "De Format fir d'Koordinaten.", - 'maps-geodistance-par-unit' => "D'Eenheet fir d'Distanz.", - 'maps-geodistance-par-decimals' => 'Déi maximal Zuel vu Kommastellen déi am Resultat benotzt gi soll.', - 'maps-displaymap-par-coordinates' => "Déi Plaz op déi d'Kaart am Ufank zentréiert gëtt.", - 'validation-error-invalid-location' => 'Parameter $1 muss eng valabel Plaz sinn.', - 'validation-error-invalid-locations' => 'Parameter $1 muss eng oder méi valabel Plaze sinn.', - 'validation-error-invalid-width' => 'Parameter $1 muss eng valabel Breet sinn.', - 'validation-error-invalid-height' => 'Parameter $1 muss eng valabel Héicht sinn.', - 'validation-error-invalid-distance' => 'Parameter $1 muss eng valabel Distanz sinn.', - 'validation-error-invalid-distances' => 'Parameter $1 muss eng oder méi valabel Distanze sinn.', - 'validation-error-invalid-image' => 'Parameter $1 muss e valabelt Bild sinn.', - 'validation-error-invalid-images' => 'Parameter $1 muss eent oder méi valabel Biller sinn.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Breedegrad:', - 'maps-longitude' => 'Längtegrad:', - 'maps-invalid-coordinates' => 'De Wäert $1 gouf net als valabel Set vu Koordinaten erkannt.', - 'maps_coordinates_missing' => "Et goufe keng Koordinate fir d'Kaart uginn.", - 'maps_geocoding_failed' => 'Dës {{PLURAL:$2|Adress konnt|Adresse konnten}} net geocodéiert ginn: $1', - 'maps_geocoding_failed_for' => 'Dës {{PLURAL:$2|Adress|Adresse}} konnten net geocodéiert ginn an {{PLURAL:$2|huet|hu}} missen op der Kaart ewechgelooss ginn: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Dëse Koordinate gouf|Dës Koordinate goufen}} net erkannt: $1', - 'maps_unrecognized_coords_for' => 'Dës {{PLURAL:$2|Koordinate|Koordinate}} goufen net erkannt a vun der Kaart ignoréiert: -$1', - 'maps_map_cannot_be_displayed' => "D'Kaart kann net gewise ginn.", - 'maps-geocoder-not-available' => "D'Fonctioun vun der Geocodéierung vu Kaarten ass net disponibel. Äre Standuert konnt net geocodéiert ginn.", - 'maps_click_to_activate' => "Klickt fir d'kaart z'aktivéieren", - 'maps_centred_on' => "D'Kaart ass zentréiert op $1, $2", - 'maps-googlemaps2-incompatbrowser' => 'Äre Browser ass net mat Google Maps v2 kompatibel.', - 'maps_overlays' => 'Ablendungen', - 'maps_photos' => 'Fotoen', - 'maps_videos' => 'Videoen', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Web-Kameraen', - 'maps-googlemaps2-par-type' => 'Den Typ vu Kaart den am Ufank gewise gëtt.', - 'maps-googlemaps2-par-kml' => "KML-Fichieren déi op d'Kaart musse geluede ginn.", - 'maps-googlemaps3-incompatbrowser' => 'Äre Browser ass net mat Google Maps v3 kompatibel.', - 'maps-googlemaps3-par-type' => 'Den Typ vu Kaart den am Ufank gewise gëtt.', - 'maps-googlemaps3-par-kml' => "KML-Fichieren déi op d'Kaart musse geluede ginn.", - 'maps-osm-par-thumbs' => 'Miniaturbiller weisen', - 'maps-osm-par-photos' => 'Fotoe weisen', - 'maps-yahoomaps-par-type' => 'Den Typ vu Kaart den am Ufank gewise gëtt.', -); - -/** Lithuanian (Lietuvių) - * @author Hugo.arg - */ -$messages['lt'] = array( - 'maps-desc' => 'Suteikia galimybę atvaizduoti koordinačių duomenis žemėlapiuose ir geografinio kodavimo adresus ([http://mapping.referata.com/wiki/Maps_examples demo]). -Katrografavimo paslaugos pasiekiamos: $1', - 'maps_map' => 'Žemėlapis', - 'maps-loading-map' => 'Kraunamas žemėlapis ...', - 'maps-abb-north' => 'Š', - 'maps-abb-east' => 'R', - 'maps-abb-south' => 'P', - 'maps-abb-west' => 'V', - 'maps-latitude' => 'Platuma:', - 'maps-longitude' => 'Ilguma:', - 'maps-invalid-coordinates' => 'Vertė $ 1 nepripažįstama kaip galiojanti koordinatė.', - 'maps_coordinates_missing' => 'Nesudarytos koordinatės žemėlapiui.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Šis adresas|Šie adresai}} negali būti kartografuoti: $1.', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Ši koordinatė|Šios koordinatės}} nebuvo atpažintos: $1.', - 'maps_map_cannot_be_displayed' => 'Žemėlapis negal būti parodytas.', - 'maps_click_to_activate' => 'Spustelėkite, norėdami įjungti žemėlapį', - 'maps_centred_on' => 'Žemėlapis centruotas link $1, $2.', - 'maps_photos' => 'Nuotraukos', - 'maps_videos' => 'Vaizdo klipai', - 'maps_wikipedia' => 'Vikipedija', - 'maps_webcams' => 'Interneto kameros', -); - -/** Latvian (Latviešu) - * @author GreenZeb - */ -$messages['lv'] = array( - 'maps-abb-north' => 'Z', - 'maps-abb-east' => 'A', - 'maps-abb-south' => 'D', - 'maps-abb-west' => 'R', - 'maps-latitude' => 'Platums:', - 'maps-longitude' => 'Garums:', -); - -/** Macedonian (Македонски) - * @author Bjankuloski06 - * @author McDutchie - */ -$messages['mk'] = array( - 'maps-desc' => 'Дава можност за вметнување на динамички карти во викистраници, геокодирање на адреси и други географски операции. ([http://mapping.referata.com/wiki/Maps_examples мостри])', - 'right-geocode' => 'Геокод', - 'maps_map' => 'Карта', - 'maps-loading-map' => 'Ја вчитувам картата...', - 'maps-load-failed' => 'Не можев да ја вчитам картата!', - 'maps-markers' => 'Обележувачи', - 'maps-others' => 'други', - 'maps-ns-layer' => 'Слој', - 'maps-ns-layer-talk' => 'Разговор за слој', - 'maps-layer-property' => 'Својство', - 'maps-layer-value' => 'Вредност', - 'maps-layer-errors' => 'Грешки', - 'maps-error-invalid-layerdef' => 'Ова определение за слојот е неважечко.', - 'maps-error-invalid-layertype' => 'Нема слоеви од типот „$1“. {{PLURAL:$3|Поддржан е само овој тип|Поддржани се само следниве типови}}: $2', - 'maps-error-no-layertype' => 'Ќе треба да наведете тип на слој. {{PLURAL:$2|Поддржан е само овој тип|Поддржани се само следниве типови}}: $1', - 'validation-error-invalid-layer' => 'Параметарот $1 мора да биде важечки слој.', - 'validation-error-invalid-layers' => 'Параметарот $1 мора да биде еден или повеќе важечки слоеви.', - 'maps-layer-of-type' => 'Слој од типот $1', - 'maps-layer-type-supported-by' => 'Овој тип на слој може да се користи {{PLURAL:$2|само со картографската служба $1|само со следниве картографски служби: $1}}.', - 'maps-coordinates-description' => 'Парсерска кука за форматирање на координати. Ги претвора сите поддржани формати.', - 'maps-displaymap-description' => 'Приказ на географски карти без никакви обележувачи на нив определени од викито.', - 'maps-displaypoint-description' => 'Приказ на географски карти со една или повеќе обележувачи на нив определени од викито.', - 'maps-distance-description' => 'Претворање на растојание од една во друга поддржана единица.', - 'maps-finddestination-description' => 'Пронаоѓање на одредница со зададена почетна точка (која може да биде во било кој поддржан формат), првична насока и растојание', - 'maps-geocode-description' => 'Овозможува геокодирање на адреси, што значи дека претвора места во координати. Има поддршка за неколку служби за геокодирање (не е исто што и картографски служби).', - 'maps-geodistance-description' => 'Пресметување на географското растојание помеѓу две точки (сите поддржани формати).', - 'maps-mapsdoc-description' => 'Приказ на табела со параметри за назначена карторафска служба заедно со нивните основни вредности и описи.', - 'maps-mapsdoc-par-service' => 'Картографската служба за која се прикажува параметарска документација.', - 'maps-mapsdoc-par-language' => 'На кој јазик да се прикаже документацијата. Ако го нема тој превод, ќе се прикаже англиската верзија.', - 'maps-coordinates-par-location' => 'Координатите што сакате да ги форматирате.', - 'maps-coordinates-par-format' => 'Целниот формат за координатите.', - 'maps-coordinates-par-directional' => 'Покажува дали координатите треба да се испишат со или без насока.', - 'maps-distance-par-distance' => 'Растојанието во кое претворате е истоветно со единицата што се укажува.', - 'maps-distance-par-decimals' => 'Максимален број на децимални места што ќе се користат во изводната вредност.', - 'maps-distance-par-unit' => 'Единица на испишаното растојание во изводот.', - 'maps-finddestination-par-location' => 'Првичната местоположба.', - 'maps-finddestination-par-bearing' => 'Првичната насока.', - 'maps-finddestination-par-distance' => 'Растојанието што треба да се помине.', - 'maps-finddestination-par-format' => 'Во кој формат да се испише одредницата.', - 'maps-finddestination-par-directional' => 'Покажува дали форматот на одредницата треба да има насока.', - 'maps-finddestination-par-allowcoordinates' => 'Покажува дали треба да се дозволени координати. Ако зададете „не“, тогаш ќе се прифаќаат само адреси.', - 'maps-finddestination-par-geoservice' => 'Службата за геокодирање на вредноста ако е адреса.', - 'maps-finddestination-par-mappingservice' => 'Параметар што може да се употреби за укажување на картографската служба со која ја користите оваа функција. -Ова им овозможува на картите да ја заменат стандардната вредност на параметарот за служба со онаква што е најсоодветна за таа служба. -(Пример: Ако станува збор за Google Maps, тогаш ќе се користи геокодерот на Google.)', - 'maps-geocode-par-location' => 'Адресата што сакате да ја геокодирате.', - 'maps-geocode-par-mappingservice' => 'Која служба за геокодирање сакате да ја користите. Погледајте кои служби се на располагање.', - 'maps-geocode-par-geoservice' => 'Овој параметар ви овозможува да назначите дека го користите ова барање за геокодирање заедно со конкретна картографска служба. -Секоја картографска служба ја заменува стандардната вредност за служба со сопствена. -Ова се прави од правни причини. бидејќи услугата геокодирање на Google може да се користи само заедно со Google Maps. За да сте сигурни дека не користите неважечка комбинација, поставете го овој параметар наместо оној за служба.', - 'maps-geocode-par-allowcoordinates' => 'Овозможува исклучување на поддршката за координати за оваа функција. Мора да биде „да“ или „не“. -Ако зададете „не“, тогаш ќе се геокодира секоја вредност, дури и важечки координати.', - 'maps-geocode-par-format' => 'Форматот на добиените координати.', - 'maps-geocode-par-directional' => 'Покажува дали координатите треба да се испишат со или без насока.', - 'maps-geodistance-par-location1' => 'Првата точка во пресметката на растојанието.', - 'maps-geodistance-par-location2' => 'Втората точка во пресметката на растојанието.', - 'maps-geodistance-par-unit' => 'Во која единица да се испише растојанието.', - 'maps-geodistance-par-decimals' => 'Максималниот број на децимални места за добиената вредност.', - 'maps-geodistance-par-mappingservice' => 'Службата за геокодирање што се користи за геокодирање на било која адреса.', - 'maps-geodistance-par-geoservice' => 'Со која картографска служба ќе го користите ова. -Ова може да влијае на основната вредност за служба за геокодирање.', - 'maps-displaymap-par-mappingservice' => 'Овозможува задавање на картографска служба што ќе се користи за создавање на картата.', - 'maps-displaymap-par-coordinates' => 'На кое место картата ќе биде првично сосредоточена.', - 'maps-displaypoints-par-zoom' => 'Овозможува задавање на приближеност на картата. -Ако ова не е зададено, а на картата има повеќе обележувачи, тогаш ќе ви се прикаже приближеноста што најмногу одговара на екранот, наместо прилагодливата стандардна приближеност.', - 'maps-displaypoints-par-mappingservice' => 'Овозможува назначување на картографска служба што ќе се користи за создавање на картата.', - 'maps-displaypoints-par-coordinates' => 'Едно или повеќе места за приказ на картата. Ќе бидат означени со обележувач.', - 'maps-displaypoints-par-centre' => 'Овозможува укажување на координати на средиштето на картата за display_point(s). -Се прифаќаат и адреси и координати. -Ако ова не е зададено, тогаш картата ќе се сосредоточи во дадениот обележувач, или помеѓу дадените обележувачи.', - 'maps-displaypoints-par-title' => 'Овозможува задавање на текст што ќе се прикажува во скокачките прозорчиња на сите обележувачи што немаат конкретен наслов. -Ако се користат заедно со ознака, насловот ќе биде задебелен и ќе има линија под него.', - 'maps-displaypoints-par-label' => 'Овозможува задавање на текст што ќе се прикажува во скокачките прозорчиња на сите обележувачи што немаат конкретна ознака.', - 'maps-displaypoints-par-icon' => 'Овозможува задавање на икона што ќе се користи за сите обележувачи.', - 'validation-error-invalid-location' => 'Параметарот $1 мора да претставува важечка местоположба.', - 'validation-error-invalid-locations' => 'Параметарот $1 мора да претставува една или повеќе важечки местоположби.', - 'validation-error-invalid-width' => 'Параметарот $1 мора да претставува важечка ширина.', - 'validation-error-invalid-height' => 'Параметарот $1 мора да претставува важечка висина.', - 'validation-error-invalid-distance' => 'Параметарот $1 мора да претставува важечко растојание.', - 'validation-error-invalid-distances' => 'Параметарот $1 мора да претставува едно или повеќе важечки растојанија.', - 'validation-error-invalid-image' => 'Параметарот $1 мора да биде важечка слика.', - 'validation-error-invalid-images' => 'Параметарот $1 мора да биде една или повеќе важечки слики.', - 'validation-error-invalid-goverlay' => 'Параметарот $1 мора да претставува важечка облога.', - 'validation-error-invalid-goverlays' => 'Параметарот $1 мора да претставува една или повеќе важечки облоги.', - 'maps-abb-north' => 'С', - 'maps-abb-east' => 'И', - 'maps-abb-south' => 'Ј', - 'maps-abb-west' => 'З', - 'maps-latitude' => 'Геог. ширина', - 'maps-longitude' => 'Геог. должина:', - 'maps-invalid-coordinates' => 'Вредноста $1 не беше препознаена како правилен збир координати.', - 'maps_coordinates_missing' => 'Нема координати за картата.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Следнава адреса не можеше да се геокодира|Следниве адреси не можеа да се геокодираат}}: $1. -Картата не може да се прикаже.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Следнава адреса не можеше да се геокодира|Следниве адреси не можеа да се геокодираат}} и затоа {{PLURAL:$2|беше изоставена|беа изоставени}} од картата: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Следнава координата не е препознаена|Следниве координати не се препознаени}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Следнава координата не беше препознаена|Следниве координати не беа препознаени}} и {{PLURAL:$2|беше изоставена|беа изоставени}} од картата: -$1', - 'maps_map_cannot_be_displayed' => 'Картата не може да се прикаже.', - 'maps-geocoder-not-available' => 'Функцијата за геокодирање на Карти е недостапна. Вашата местоположба не може да се геокодира.', - 'maps_googlemaps2' => 'Google Карти вер. 2', - 'maps_googlemaps3' => 'Google Карти вер. 2', - 'maps_yahoomaps' => 'Yahoo! Карти', - 'maps_click_to_activate' => 'Кликнете за активирање на картата', - 'maps_centred_on' => 'Средиште на картата во $1, $2.', - 'maps-par-resizable' => 'Дава можност за менување на големината на картите со влечење на долниот десен агол.', - 'maps-par-geoservice' => 'Службата за геокодирање што ќе се користи за преведување на адреси во координати.', - 'maps-par-zoom' => 'Степенот на приближеност на картата. Картите со обележувачи по основно се прикажуваат во најголем степен на приближеност што воедно ги прикажува сите обележувачи.', - 'maps-par-width' => 'Овозможува задавање на ширина на картата во пиксели по основно, но по желба можете да изберете една од следниве единици: px, ex, em, %.', - 'maps-par-height' => 'Овозможува задавање на висина на картата во пиксели по основно, но по желба можете да изберете една од следниве единици: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'Вашиот прелистувач не е погоден за Google Карти вер. 2.', - 'maps_overlays' => 'Слоеви', - 'maps_photos' => 'Фотографии', - 'maps_videos' => 'Видеа', - 'maps_wikipedia' => 'Википедија', - 'maps_webcams' => 'Мреж. камери', - 'maps-googlemaps2-par-type' => 'Типот на карта за првичниот приказ.', - 'maps-googlemaps2-par-types' => 'Типовите на карти што ќе бидат достапни преку контролата за тип.', - 'maps-googlemaps2-par-controls' => 'Контролите што сакате да стојат на картата.', - 'maps-googlemaps2-par-autozoom' => 'Овозможи лизгање со тркалцето на глушецот.', - 'maps-googlemaps2-par-kml' => 'KML-податотеки за вчитување во картата.', - 'maps-googlemaps2-par-overlays' => 'Облогите што може да ги вклучи корисникот.', - 'maps-googlemaps3-incompatbrowser' => 'Вашиот прелистувач не е погоден за Google Карти вер. 3.', - 'maps-googlemaps3-par-type' => 'Типот на карта за првичниот приказ.', - 'maps-googlemaps3-par-types' => 'Типовите на карти што ќе бидат достапни преку контролата за тип.', - 'maps-googlemaps3-par-layers' => 'Посебни слоеви за вчитување во картата.', - 'maps-googlemaps3-par-controls' => 'Контролите што сакате да стојат на картата.', - 'maps-googlemaps3-par-zoomstyle' => 'Стил на контролата за приближување.', - 'maps-googlemaps3-par-typestyle' => 'Стилот на контролата за тип.', - 'maps-googlemaps3-par-autoinfowindows' => 'Автоматски отворај ги сите инфопрозорци откако ќе се вчита страницата.', - 'maps-googlemaps3-par-kml' => 'KML-податотеки за вчитување во картата.', - 'maps-googlemaps3-par-gkml' => 'KML-податотеки вдомени од Google за вчитување на карта.', - 'maps-googlemaps3-par-fusiontables' => 'Назнаки (ID) на табели од Google Fusion Tables што треба да се вчитаат во картата.', - 'maps-googlemaps3-par-tilt' => 'Наклон на картата кога користите Google Карти.', - 'maps-googlemaps3-par-kmlrezoom' => 'Приближи ја картата повторно откако ќе се вчитаат KML-слоевите.', - 'maps-openlayers-par-controls' => 'Контролите што сакате да стојат на картата.', - 'maps-openlayers-par-layers' => 'Слоевите што ќе бидат достапни во бирачот на слоеви. Кога ќе се вчита картата ќе се прикаже првиот слој.', - 'maps-osm-par-thumbs' => 'Прикажи минијатури', - 'maps-osm-par-photos' => 'Прикажи слики', - 'maps-yahoomaps-par-type' => 'Типот на карта за првичниот приказ.', - 'maps-yahoomaps-par-types' => 'Типовите на карти што ќе бидат достапни преку контролата за тип.', - 'maps-yahoomaps-par-controls' => 'Контролите што сакате да стојат на картата.', - 'maps-yahoomaps-par-autozoom' => 'Овозможи лизгање со тркалцето на глушецот.', -); - -/** Malayalam (മലയാളം) */ -$messages['ml'] = array( - 'maps-abb-north' => 'വടക്ക്', - 'maps-abb-east' => 'കിഴക്ക്', - 'maps-abb-south' => 'തെക്ക്', - 'maps-abb-west' => 'പടിഞ്ഞാറ്‌', - 'maps-latitude' => 'അക്ഷാംശം:', - 'maps-longitude' => 'രേഖാംശം:', -); - -/** Marathi (मराठी) */ -$messages['mr'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'अक्षांश:', - 'maps-longitude' => 'रेखांश:', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - */ -$messages['ms'] = array( - 'maps-desc' => 'Membolehkan pembenaman petak dinamik pada laman wiki, pembuatan geokod alamat dan bermacam-macam lagi operasi geografi. ([http://mapping.referata.com/wiki/Examples tunjuk cara])', - 'right-geocode' => 'Geokod', - 'maps_map' => 'Peta', - 'maps-loading-map' => 'Peta sedang dimuatkan...', - 'maps-load-failed' => 'Peta tidak dapat dimuatkan!', - 'maps-markers' => 'Penanda', - 'maps-others' => 'lain-lain', - 'maps-ns-layer' => 'Lapisan', - 'maps-ns-layer-talk' => 'Perbincangan lapisan', - 'maps-layer-property' => 'Sifat', - 'maps-layer-value' => 'Nilai', - 'maps-layer-errors' => 'Ralat', - 'maps-error-invalid-layerdef' => 'Takrifan lapisan ini tidak sah.', - 'maps-error-invalid-layertype' => 'Tiada lapisan jenis "$1". {{PLURAL:$3|Jenis|Jenis-jenis}} ini sahaja yang disokong: $2', - 'maps-error-no-layertype' => 'Anda perlu menentukan jenis lapisan. {{PLURAL:$2|Jenis|Jenis-jenis}} ini sahaja yang disokong: $1', - 'validation-error-invalid-layer' => 'Parameter $1 mestilah lapisan yang sah.', - 'validation-error-invalid-layers' => 'Parameter $1 mestilah sekurang-kurangnya satu lapisan yang sah.', - 'maps-layer-of-type' => 'Lapisan jenis $1', - 'maps-layer-type-supported-by' => 'Jenis lapisan ini {{PLURAL:$2|hanya boleh digunakan dengan perkhidmatan pemetaan $1|boleh digunakan dengan perkhidmatan-perkhidmatan pemetaan yang berikut: $1}}.', - 'maps-coordinates-description' => 'Cangkuk penghurai untuk memformatkan koordinat daripada/kepada sebarang format yang disokong.', - 'maps-displaymap-description' => 'Memaparkan peta geografi tanpa sebarang penanda tentuan wiki padanya.', - 'maps-displaypoint-description' => 'Memaparkan peta geografi dengan sekurang-kurangnya satu penanda tentuan wiki padanya.', - 'maps-distance-description' => 'Menukar nilai jarak yang menggunakan unit disokong yang tertentu kepada setaraannya yang menggunakan unit yang lain.', - 'maps-finddestination-description' => 'Mencari tujuan dari satu titik permulaan (yang boleh dinyatakan dalam sebarang format yang disokong), bearing permulaan dan jarak.', - 'maps-geocode-description' => 'Membolehkan pembuatan geokod alamat, iaitu menukar lokasi yang boleh dibaca oleh manusia kepada peranggu koordinat. Wujudnya sokongan untuk beberapa perkhidmatan geokod yang tidak boleh disamakan dengan perkhidmatan pemetaan.', - 'maps-geodistance-description' => 'Menghitung jarak geografi antara dua titik, daripada/kepada sebarang format yang disokong.', - 'maps-mapsdoc-description' => 'Memaparkan jadual parameter untuk perkhidmatan pemetaan tertentu bersama nilai-nilai asali dan keterangannya.', - 'maps-mapsdoc-par-service' => 'Perkhidmatan pemetaan untuk memaparkan dokumentasi parameter.', - 'maps-mapsdoc-par-language' => 'Bahasa untuk memaparkan dokumentasi. Jika tiada terjemahannya, Bahasa Inggeris digunakan pula.', - 'maps-coordinates-par-location' => 'Koordinat yang ingin diformatkan.', - 'maps-coordinates-par-format' => 'Format sasaran untuk koordinat.', - 'maps-coordinates-par-directional' => 'Menunjukkan sama ada koordinat wajar ditunjukkan berarah atau tidak.', - 'maps-distance-par-distance' => 'Nilai jarak yang ingin ditukar kepada setaraannya dengan unit yang tertentu.', - 'maps-distance-par-decimals' => 'Bilangan maksimum angka pecahan untuk digunakan dalam nilai hasil.', - 'maps-distance-par-unit' => 'Unit paparan nilai jarak.', - 'maps-finddestination-par-location' => 'Lokasi permulaan.', - 'maps-finddestination-par-bearing' => 'Bearing permulaan.', - 'maps-finddestination-par-distance' => 'Jarak perjalanan.', - 'maps-finddestination-par-format' => 'Format untuk memaparkan destinasi.', - 'maps-finddestination-par-directional' => 'Menunjukkan sama ada format destinasi wajar berarah atau tidak.', - 'maps-finddestination-par-allowcoordinates' => 'Menunjukkan sama ada koordinat wajar dibenarkan. Jika ditetapkan tidak, hanya alamat yang diterima.', - 'maps-finddestination-par-geoservice' => 'Perkhidmatan geokod yang digunakan untuk membuat geokod untuk nilai sekiranya berupa alamat.', - 'maps-finddestination-par-mappingservice' => 'Parameter untuk menunjukkan perkhidmatan pemetaan untuk digunakan dengan fungsi ini. -Ini akan membolehkan peta untuk mengatasi nilai asali parameter perkhidmatan dengan nilai yang paling sesuai untuk perkhidmatan pemetaan berkenaan. -(Contoh: Untuk Google Maps, pembuat geokod Google akan digunakan.)', - 'maps-geocode-par-location' => 'Alamat yang ingin dibuatkan geokod.', - 'maps-geocode-par-mappingservice' => 'Perkhidmatan geokod yang ingin digunakan. Lihat semua perkhidmatan geokod yang sedia ada.', - 'maps-geocode-par-geoservice' => 'Parameter ini membolehkan anda untuk menunjukkan bahawa anda sedang menggunakan permohonan geokod ini bersama perkhidmatan pemetaan yang tertentu. -Setiap khidmat pemetaan boleh mengatasi nilai asali untuk perkhidmatan geokod. -Ini adalah untuk pertimbangan legal, memandangkan anda tidak boleh menggunakan khidmat Google Geocoding melainkan bersama Google Maps. -Penetapan parameter ini dan bukan parameter untuk perkhidmatan tersebut akan memastikan anda tidak menggunakan gabungan yang tidak sah.', - 'maps-geocode-par-allowcoordinates' => 'Membolehkan pematian sokongan untuk koordinat dalam fungsi ini. Mesti memilih ya atau tidak. -Jika tidak, semua nilai akan ditukar menjadi geokod, termasuk koordinat yang sah.', - 'maps-geocode-par-format' => 'Format koordinat yang terhasil.', - 'maps-geocode-par-directional' => 'Menunjukkan sama ada koordinat wajar ditunjukkan berarah atau tidak.', - 'maps-geodistance-par-location1' => 'Titik pertama dalam peranggu untuk mengira jarak antara.', - 'maps-geodistance-par-location2' => 'Titik kedua dalam peranggu untuk mengira jarak antara.', - 'maps-geodistance-par-unit' => 'Unit paparan nilai jarak.', - 'maps-geodistance-par-decimals' => 'Bilangan maksimum angka pecahan untuk digunakan dalam nilai hasil.', - 'maps-geodistance-par-mappingservice' => 'Perkhidmatan geokod yang digunakan untuk membuat geokod alamat.', - 'maps-geodistance-par-geoservice' => 'Perkhidmatan pemetaan yang digunakan bersama yang ini. -Ini boleh mempengaruhi nilai asali perkhidmatan geokod.', - 'maps-displaymap-par-mappingservice' => 'Membolehkan penetapan perkhidmatan pemetaan yang akan digunakan untuk menghasilkan peta.', - 'maps-displaymap-par-coordinates' => 'Lokasi yang akan dijadikan pusat peta pada mulanya.', - 'maps-displaypoints-par-zoom' => 'Membolehkan penetapan tahap zum peta. -Apabila tidak diberikan sementara wujudnya berbilang penanda pada peta, zom yang paling muat akan diambil, bukan nilai asali yang terkonfigurasi.', - 'maps-displaypoints-par-mappingservice' => 'Membolehkan penetapan perkhidmatan pemetaan yang akan digunakan untuk menghasilkan peta.', - 'maps-displaypoints-par-coordinates' => 'Sekurang-kurangnya satu lokasi untuk dipaparkan pada peta. Ini akan ditunjukkan dengan penanda.', - 'maps-displaypoints-par-centre' => 'Membolehkan penetapan koordinat pusat peta untuk display_point. -Menerima alamat dan koordinat sekali. -Apabila sifat ini tidak dinyatakan, peta akan menentukan pusatnya sendiri pada penanda yang diberikan, ataupun di antara penanda-penanda yang diberikan.', - 'maps-displaypoints-par-title' => 'Membolehkan penetapan teks yang akan dipaparkan dalam tetimbul semua penanda yang tiada tajuk tertentu. -Apabila digunakan bersama label, tajuknya akan berupa tebal dan bergaris bawah.', - 'maps-displaypoints-par-label' => 'Membolehkan penetapan teks yang akan dipaparkan dalam tetimbul semua penanda yang tiada label tertentu.', - 'maps-displaypoints-par-icon' => 'Membolehkan penetapan ikon yang digunakan untuk semua penanda.', - 'validation-error-invalid-location' => 'Parameter $1 mestilah lokasi yang sah.', - 'validation-error-invalid-locations' => 'Parameter $1 mestilah sekurang-kurangnya satu lokasi yang sah.', - 'validation-error-invalid-width' => 'Parameter $1 mestilah lebar yang sah.', - 'validation-error-invalid-height' => 'Parameter $1 mestilah tinggi yang sah.', - 'validation-error-invalid-distance' => 'Parameter $1 mestilah jarak yang sah.', - 'validation-error-invalid-distances' => 'Parameter $1 mestilah sekurang-kurangnya satu jarak yang sah.', - 'validation-error-invalid-image' => 'Parameter $1 mestilah imej yang sah.', - 'validation-error-invalid-images' => 'Parameter $1 mestilah sekurang-kurangnya satu imej yang sah.', - 'validation-error-invalid-goverlay' => 'Parameter $1 mestilah tindanan yang sah.', - 'validation-error-invalid-goverlays' => 'Parameter $1 mestilah sekurang-kurangnya satu tindanan yang sah.', - 'maps-abb-north' => 'U', - 'maps-abb-east' => 'T', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'B', - 'maps-latitude' => 'Garis lintang:', - 'maps-longitude' => 'Garis bujur:', - 'maps-invalid-coordinates' => 'Nilai $1 tidak dikenali sebagai peranggu koordinat yang sah.', - 'maps_coordinates_missing' => 'Tiada koordinat diberikan bagi peta.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Alamat|Alamat-alamat}} yang berikut tidak dapat dijadikan geokod: $1.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Alamat|Alamat-alamat}} yang berikut tidak dapat dijadikan geokod dan digugurkan dari peta: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Koordinat|Koordinat-koordinat}} yang berikut tidak dikenali: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Koordinat|Koordinat-koordinat}} yang berikut tidak dikenali dan digugurkan dari peta: -$1', - 'maps_map_cannot_be_displayed' => 'Peta tidak dapat dipaparkan.', - 'maps-geocoder-not-available' => 'Tiada ciri geokod Peta. Lokasi anda tidak boleh diberi geokod.', - 'maps_click_to_activate' => 'Klik untuk mengaktifkan peta', - 'maps_centred_on' => 'Peta berpusat di $1, $2.', - 'maps-par-resizable' => 'Membolehkan pelarasan saiz peta dengan menyeret sudut kanan bawahnya.', - 'maps-par-geoservice' => 'Perkhidmatan geokod yang digunakan untuk membuat terjemahan antara alamat dan koordinat.', - 'maps-par-zoom' => 'Tahap zum peta. Untuk peta yang ada penanda, ini akan berpangkal kepada tahap paling kerap dizumkan yang masih memaparkan semua penanda.', - 'maps-par-width' => 'Membolehkan penetapan lebar peta. Pada asali, piksel dianggap sebagai unit, tetapi anda boleh menetapkan mana-mana unit yang berikut: px, ex, em, %.', - 'maps-par-height' => 'Membolehkan penetapan tinggi peta. Pada asali, piksel dianggap sebagai unit, tetapi anda boleh menetapkan mana-mana unit yang berikut: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'Pelayar anda tidak serasi dengan Google Maps v2.', - 'maps_overlays' => 'Tindanan', - 'maps_photos' => 'Gambar', - 'maps_videos' => 'Video', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Kamera web', - 'maps-googlemaps2-par-type' => 'Jenis peta untuk dipaparkan pada mulanya.', - 'maps-googlemaps2-par-types' => 'Jenis-jenis peta yang tersedia melalui kawalan jenis.', - 'maps-googlemaps2-par-controls' => 'Alat kawalan untuk diletakkan pada peta.', - 'maps-googlemaps2-par-autozoom' => 'Membolehkan penatalan dengan roda tetikus.', - 'maps-googlemaps2-par-kml' => 'Fail-fail KML untuk dimuatkan kepada peta.', - 'maps-googlemaps2-par-overlays' => 'Tindanan yang boleh dipasang oleh pengguna.', - 'maps-googlemaps3-incompatbrowser' => 'Pelayar anda tidak serasi dengan Google Maps v3.', - 'maps-googlemaps3-par-type' => 'Jenis peta untuk dipaparkan pada mulanya.', - 'maps-googlemaps3-par-types' => 'Jenis-jenis peta yang tersedia melalui kawalan jenis.', - 'maps-googlemaps3-par-layers' => 'Lapisan khas untuk dimuatkan kepada peta.', - 'maps-googlemaps3-par-controls' => 'Alat kawalan untuk diletakkan pada peta.', - 'maps-googlemaps3-par-zoomstyle' => 'Gaya kawalan zum.', - 'maps-googlemaps3-par-typestyle' => 'Gaya kawalan jenis.', - 'maps-googlemaps3-par-autoinfowindows' => 'Membuka semua tetingkap maklumat secara automatik selepas laman dimuatkan.', - 'maps-googlemaps3-par-kml' => 'Fail-fail KML untuk dimuatkan kepada peta.', - 'maps-googlemaps3-par-gkml' => 'Fail-fail KML yang dihoskan oleh Google untuk dimuatkan pada peta.', - 'maps-googlemaps3-par-fusiontables' => 'ID Google Fusion Tables yang patut dimuatkan pada peta.', - 'maps-googlemaps3-par-tilt' => 'Ciri menyendengkan Peta ketika menggunakan Google Maps.', - 'maps-googlemaps3-par-kmlrezoom' => 'Zumkan semula peta selepas lapisan-lapisan KML dimuatkan.', - 'maps-openlayers-par-controls' => 'Alat kawalan untuk diletakkan pada peta.', - 'maps-openlayers-par-layers' => 'Lapisan-lapisan yang akan tersedia pada pemilih lapisan. Lapisan pertama akan dipaparkan apabila peta dimuatkan.', - 'maps-osm-par-thumbs' => 'Tunjukkan gambar kenit (thumbnail)', - 'maps-osm-par-photos' => 'Tunjukkan gambar', - 'maps-yahoomaps-par-type' => 'Jenis peta untuk dipaparkan pada mulanya.', - 'maps-yahoomaps-par-types' => 'Jenis-jenis peta yang tersedia melalui kawalan jenis.', - 'maps-yahoomaps-par-controls' => 'Alat kawalan untuk diletakkan pada peta.', - 'maps-yahoomaps-par-autozoom' => 'Membolehkan penatalan dengan roda tetikus.', -); - -/** Erzya (Эрзянь) */ -$messages['myv'] = array( - 'maps-abb-north' => 'Веньэльйонкс', - 'maps-abb-east' => 'Чилисемайонкс', - 'maps-abb-south' => 'Чиньэльйонкс', - 'maps-abb-west' => 'Чивалгомайонкс', - 'maps-latitude' => 'Келезэ:', - 'maps-longitude' => 'Кувалмозо:', -); - -/** Nahuatl (Nāhuatl) */ -$messages['nah'] = array( - 'maps-abb-north' => 'M', - 'maps-abb-east' => 'T', - 'maps-abb-south' => 'H', -); - -/** Dutch (Nederlands) - * @author Kjell - * @author SPQRobin - * @author Siebrand - */ -$messages['nl'] = array( - 'maps-desc' => 'Biedt de mogelijkheid om locatiegegevens weer te geven op kaarten en adressen om te zetten naar coördinaten ([http://wiki.bn2vs.com/wiki/Semantic_Maps demo])', - 'right-geocode' => 'Geocoderen', - 'maps_map' => 'Kaart', - 'maps-loading-map' => 'Bezig met het laden van de kaart...', - 'maps-load-failed' => 'De kaart kon niet geladen worden!', - 'maps-markers' => 'Markeringen', - 'maps-others' => 'anderen', - 'maps-ns-layer' => 'Laag', - 'maps-ns-layer-talk' => 'Overleg_laag', - 'maps-layer-property' => 'Eigenschap', - 'maps-layer-value' => 'Waarde', - 'maps-layer-errors' => 'Fouten', - 'maps-error-invalid-layerdef' => 'Deze laagdefinitie is niet geldig.', - 'maps-error-invalid-layertype' => 'Er zijn geen lagen van het type "$1". Alleen {{PLURAL:$3|dit type wordt|deze typen worden}} ondersteund: $2', - 'maps-error-no-layertype' => 'U moet het laagtype opgeven. Alleen {{PLURAL:$2|dit type wordt|deze typen worden}} ondersteund: $1', - 'validation-error-invalid-layer' => 'Parameter $1 moet een geldige laag zijn.', - 'validation-error-invalid-layers' => 'Parameter $1 moet een of meer geldige lagen zijn.', - 'maps-layer-of-type' => 'Laag van het type $1', - 'maps-layer-type-supported-by' => 'Dit laagtype kan {{PLURAL:$2|alleen gebruikt worden met de kaartdienst $1|gebruikt worden met de kaartdiensten $1}}.', - 'maps-coordinates-description' => 'Parserhook om coördinaten op te maken, van en naar alle ondersteunde notaties.', - 'maps-displaymap-description' => 'Geografische kaarten weergeven zonder in de wiki gedefinieerde markeringen.', - 'maps-displaypoint-description' => 'Geografische kaarten weergeven met een of meer in de wiki gedefinieerde markeringen.', - 'maps-distance-description' => 'Converteren naar een afstand met behulp van een bepaalde ondersteunde eenheid naar een equivalent in een andere eenheid.', - 'maps-finddestination-description' => 'Een bestemming vinden via een gegeven beginpunt (in elke ondersteunde notatie), een richting en een afstand.', - 'maps-geocode-description' => 'Maakt het geocoderen van adressen mogelijk, dat wil zeggen dat leesbare locaties worden omgezet in verzamelingen coördinaten. Er is ondersteuning voor verschillende geocoderingsdiensten die niet verward moeten worden met kaartdiensten.', - 'maps-geodistance-description' => 'De geografische afstand tussen twee punten berekenen, van en naar alle ondersteunde notaties.', - 'maps-mapsdoc-description' => 'Een tabel met de parameters voor een bepaalde kaartdienst weergeven samen met hun standaardwaarde en beschrijving.', - 'maps-mapsdoc-par-service' => 'De kaartdienst waarvoor parameterdocumentatie weergegeven moet worden.', - 'maps-mapsdoc-par-language' => 'De taal waarin de documentatie wordt weergegeven. Indien er geen vertaling beschikbaar is, wordt Engels in de plaats gebruikt.', - 'maps-coordinates-par-location' => 'De op te maken coördinaten.', - 'maps-coordinates-par-format' => 'Gewenste notatie voor de coördinaten.', - 'maps-coordinates-par-directional' => 'Geeft aan of de coördinaten wel of niet directioneel uitgestuurd moeten worden.', - 'maps-distance-par-distance' => 'De afstand om te converteren naar haar equivalent in een aangegeven eenheid.', - 'maps-distance-par-decimals' => 'Het maximale aantal te gebruiken decimalen in de resultaatwaarde.', - 'maps-distance-par-unit' => 'De eenheid waarin de afstand weergegeven moet worden.', - 'maps-finddestination-par-location' => 'De initiële locatie.', - 'maps-finddestination-par-bearing' => 'De initiële richting.', - 'maps-finddestination-par-distance' => 'De te reizen afstand.', - 'maps-finddestination-par-format' => 'De notatie waarin de bestemming weergegeven moet worden.', - 'maps-finddestination-par-directional' => 'Geeft aan of de notatie van de bestemming directioneel moet zijn of niet.', - 'maps-finddestination-par-allowcoordinates' => 'Geeft aan of coördinaten gebruikt mogen worden. Als deze waarde op "nee" is ingesteld, zijn alleen adressen toegestaan.', - 'maps-finddestination-par-geoservice' => 'De te gebruiken geocoderingsdienst in het geval de waarde een adres is.', - 'maps-finddestination-par-mappingservice' => 'Parameter om aan te geven welke kaartdienst bij deze functie gebruikt moet worden. -Dit maakt het mogelijk de standaard waarde van de dienstparameter te overschrijven met een waarde die optimaal is voor de kaartdienst. -Voorbeeld: in het geval van Google Maps, wordt de geocoderingsdienst van Google gebruikt.', - 'maps-geocode-par-location' => 'Het te geocoderen adres.', - 'maps-geocode-par-mappingservice' => 'De te gebruiken geocoderingsdienst. Alleen beschikbare geocoderingsdiensten zijn te gebruiken.', - 'maps-geocode-par-geoservice' => 'Parameter om aan te geven welke kaartdienst bij een geocoderingsverzoek gebruikt moet worden. -Voor iedere kaartdienst kan de standaard waarde voor de geocoderingsdienst overschreven worden. -Hieraan liggen juridische argumenten ten grondslag omdat het niet mogelijk is gebruik te maken van Google Geocoding tenzij dit in combinatie met Google Maps wordt gedaan. -Als deze parameter wordt ingesteld, en niet die voor de dienst, dan is het zeker dat er geen ongeldige combinatie van diensten wordt gebruikt.', - 'maps-geocode-par-allowcoordinates' => 'Maakt het mogelijk de ondersteuning voor coördinaten in deze functie uit te schakelen. De waarde moet "ja" of "nee" zijn. -Als deze "nee" is, wordt iedere waarde gegeocodeerd, ook als deze geldige coördinaten zijn.', - 'maps-geocode-par-format' => 'De notatie voor de resulterende coördinaten.', - 'maps-geocode-par-directional' => 'Geeft aan of de coördinaten directioneel uitgevoerd moeten worden of niet.', - 'maps-geodistance-par-location1' => 'Het eerste punt in de verzameling om de afstand tussen te berekenen.', - 'maps-geodistance-par-location2' => 'Het tweede punt in de verzameling om de afstand tussen te berekenen.', - 'maps-geodistance-par-unit' => 'De eenheid om de afstand in weer te geven.', - 'maps-geodistance-par-decimals' => 'Het maximale aantal te gebruiken decimalen in de resulterende waarde.', - 'maps-geodistance-par-mappingservice' => 'De te gebruiken geocoderingsdienst voor adressen.', - 'maps-geodistance-par-geoservice' => 'De kaartdienst die hierbij wordt gebruikt. -Dit kan invloed hebben op de standaardwaarde voor de geocoderingsdienst.', - 'maps-displaymap-par-mappingservice' => 'Maakt het mogelijk om de kaartdienst in te stellen die wordt gebruikt om de kaart te maken.', - 'maps-displaymap-par-coordinates' => 'De locatie die zich bij de eerste keer laden in het centrum van de kaart bevindt.', - 'maps-displaypoints-par-zoom' => 'Maakt het mogelijk het schaalniveau van de kaart in te stellen. -Als deze waarde niet wordt ingesteld en er staan meerdere markers op de kaart, dan wordt het best passende schaalniveau gekozen, niet het instelbare standaardniveau.', - 'maps-displaypoints-par-mappingservice' => 'Maakt het mogelijk de kaartdienst in te stellen die de kaart levert.', - 'maps-displaypoints-par-coordinates' => 'Een of meer weer te geven locaties op de kaart. Deze worden met een marker aangegeven.', - 'maps-displaypoints-par-centre' => 'Maakt het mogelijk de coördinaten voor het midden van de kaart in te stellen voor display_point(s). -Kan ingesteld worden met adressen en coördinaten. -Als deze waarde niet wordt ingesteld, wordt de kaart gecentreerd op of tussen de opgegeven marker(s).', - 'maps-displaypoints-par-title' => 'Maakt het mogelijk om tekst in te stellen die wordt weergegeven in de pop-ups van alle markeringen zonder gespecificeerd label. -Als dit samen met een label wordt gebruikt, wordt de titel vetgedrukt en onderstreept weergegeven.', - 'maps-displaypoints-par-label' => 'Maakt het mogelijk om tekst in te stellen die wordt weergegeven in de pop-ups van alle markeringen zonder gespecificeerd label.', - 'maps-displaypoints-par-icon' => 'Maakt het mogelijk het icoon voor alle markers in te stellen.', - 'validation-error-invalid-location' => 'Parameter $1 moet een geldige locatie zijn.', - 'validation-error-invalid-locations' => 'Parameter $1 moet een of meer geldige locaties zijn.', - 'validation-error-invalid-width' => 'Parameter $1 moet een geldige breedte zijn.', - 'validation-error-invalid-height' => 'Parameter $1 moet een geldige hoogte zijn.', - 'validation-error-invalid-distance' => 'Parameter $1 moet een geldige afstand zijn.', - 'validation-error-invalid-distances' => 'Parameter $1 moet een of meer geldige afstanden zijn.', - 'validation-error-invalid-image' => 'Parameter $1 moet een geldige afbeelding zijn.', - 'validation-error-invalid-images' => 'Parameter $1 moet een of meer geldige afbeeldingen zijn.', - 'validation-error-invalid-goverlay' => 'Parameter $1 moet een geldige overlay zijn.', - 'validation-error-invalid-goverlays' => 'Parameter $1 moet een of meer geldige overlays zijn.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'Z', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Breedte:', - 'maps-longitude' => 'Lengte:', - 'maps-invalid-coordinates' => 'De waarde "$1" is niet herkend als geldige coördinaten.', - 'maps_coordinates_missing' => 'Er zijn geen coördinaten opgegeven voor de kaart.', - 'maps_geocoding_failed' => 'Voor {{PLURAL:$2|het volgende adres|de volgende adressen}} was geocodering niet mogelijk: $1 -De kaart kan niet worden weergegeven.', - 'maps_geocoding_failed_for' => 'Voor {{PLURAL:$2|het volgende adres|de volgende adressen}} was geocodering niet mogelijk en {{PLURAL:$2|dit is|deze zijn}} weggelaten uit de kaart: -$1', - 'maps_unrecognized_coords' => 'De volgende {{PLURAL:$2|coördinaat is|coördinaten zijn}} niet herkend: $1.', - 'maps_unrecognized_coords_for' => 'De volgende {{PLURAL:$2|coördinaat is niet herkend en is|coördinaten zijn niet herkend en zijn}} weggelaten uit de kaart: -$1.', - 'maps_map_cannot_be_displayed' => 'De kaart kan niet weergegeven worden.', - 'maps-geocoder-not-available' => 'Geocoderen via Maps is niet beschikbaar. Het geocoderen van uw locatie is niet mogelijk.', - 'maps_googlemaps2' => 'Google Maps v2', - 'maps_yahoomaps' => 'Yahoo! Maps', - 'maps_openlayers' => 'OpenLayers', - 'maps_click_to_activate' => 'Klik om de kaart te activeren', - 'maps_centred_on' => 'Kaart gecentreerd op $1, $2.', - 'maps-par-resizable' => 'Maakt het mogelijk de afmetingen van de kaart te wijzigen door aan de rechter onderhoek te trekken.', - 'maps-par-geoservice' => 'De te gebruiken geocoderingsdienst om tussen adressen en coördinaten te wisselen.', - 'maps-par-zoom' => 'Het zoomniveau van de kaart. Voor kaarten met markers is dit standaard op de meest ingezoomde niveau waarop nog steeds alle markers zichtbaar zijn.', - 'maps-par-width' => 'Maakt het mogelijk om de breedte van de kaart in te stellen. Standaard worden pixels als eenheid gebruikt, maar u kunt expliciet een van deze eenheden aangeven: px, ex, em, %.', - 'maps-par-height' => 'Maakt het mogelijk om de hoogte van de kaart in te stellen. Standaard worden pixels als eenheid gebruikt, maar u kunt expliciet een van deze eenheden aangeven: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'Uw browser kan niet werken met Google Maps v2.', - 'maps_overlays' => "Overlay's", - 'maps_photos' => 'Afbeeldingen', - 'maps_videos' => "Video's", - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webcams', - 'maps-googlemaps2-par-type' => 'Het initieel weer te geven kaarttype.', - 'maps-googlemaps2-par-types' => 'De kaarttypen die beschikbaar zijn in via het besturingselement type.', - 'maps-googlemaps2-par-controls' => 'De op de kaart te plaatsen besturingselementen.', - 'maps-googlemaps2-par-autozoom' => 'Scrollen via het muiswiel inschakelen.', - 'maps-googlemaps2-par-kml' => 'Op de kaart te laden KML-bestanden.', - 'maps-googlemaps2-par-overlays' => 'Door gebruiker in schakelen overlays.', - 'maps-googlemaps3-incompatbrowser' => 'Uw browser kan niet werken met Google Maps v3.', - 'maps-googlemaps3-par-type' => 'Het initieel weer te geven kaarttype.', - 'maps-googlemaps3-par-types' => 'De kaarttypen die beschikbaar zijn in via het besturingselement type.', - 'maps-googlemaps3-par-layers' => 'Op de kaart te laden speciale lagen.', - 'maps-googlemaps3-par-controls' => 'De op de kaart te plaatsen besturingselementen.', - 'maps-googlemaps3-par-zoomstyle' => 'De stijl van het besturingselement zoom.', - 'maps-googlemaps3-par-typestyle' => 'De stijl van het besturingselement type.', - 'maps-googlemaps3-par-autoinfowindows' => 'Automatisch alle informatievensters openen na het laden van een pagina.', - 'maps-googlemaps3-par-kml' => 'Op de kaart te laden KML-bestanden.', - 'maps-googlemaps3-par-gkml' => 'KML-bestanden die gehost worden door Google om op de kaart te laden.', - 'maps-googlemaps3-par-fusiontables' => "Op de kaart te laden ID's van Google Fusion Tables.", - 'maps-googlemaps3-par-tilt' => 'Hoek voor de kaart bij gebruik van Google Maps.', - 'maps-googlemaps3-par-kmlrezoom' => 'Het zoomniveau van de kaart opnieuw instellen als de KML-lagen geladen zijn.', - 'maps-openlayers-par-controls' => 'De op de kaart te plaatsen besturingselementen.', - 'maps-openlayers-par-layers' => 'De lagen die beschikbaar zijn in het selectievak. De eerste laag worden weergegeven als de kaart wordt geladen.', - 'maps-osm-par-thumbs' => 'Miniaturen weergeven', - 'maps-osm-par-photos' => 'Afbeeldingen weergeven', - 'maps-yahoomaps-par-type' => 'Het initieel weer te geven kaarttype.', - 'maps-yahoomaps-par-types' => 'De kaarttypen die beschikbaar zijn in via het besturingselement type.', - 'maps-yahoomaps-par-controls' => 'De op de kaart te plaatsen besturingselementen.', - 'maps-yahoomaps-par-autozoom' => 'Scrollen via het muiswiel inschakelen.', -); - -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬) - * @author Harald Khan - */ -$messages['nn'] = array( - 'maps_map' => 'Kart', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'A', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'V', - 'maps-latitude' => 'Breiddegrad:', - 'maps-longitude' => 'Lengdegrad:', - 'maps_coordinates_missing' => 'Ingen koordinatar vart oppgjevne for kartet.', - 'maps_unrecognized_coords' => 'Dei fylgjande koordinatane vart ikkje kjende att: $1.', - 'maps_map_cannot_be_displayed' => 'Kartet kan ikkje verta vist.', - 'maps_click_to_activate' => 'Trykk for å aktivera kartet', - 'maps_centred_on' => 'Kart sentrert på $1, $2.', - 'maps_photos' => 'Bilete', - 'maps_videos' => 'Videoar', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webkamera', -); - -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬) - * @author Event - * @author Jon Harald Søby - * @author Nghtwlkr - */ -$messages['no'] = array( - 'maps-desc' => 'Gir mulighet for å bygge inn dynamiske kart i wikisider, geokoding av adresser og andre geografiske operasjoner. -([http://mapping.referata.com/wiki/Examples demoer]).', - 'maps_map' => 'Kart', - 'maps-loading-map' => 'Laster kart...', - 'maps-load-failed' => 'Kunne ikke laste kartet.', - 'maps-markers' => 'Markører', - 'maps-others' => 'andre', - 'maps-ns-layer' => 'Lag', - 'maps-ns-layer-talk' => 'Lagdiskusjon', - 'maps-layer-property' => 'Egenskap', - 'maps-layer-value' => 'Verdi', - 'maps-layer-errors' => 'Feil', - 'maps-error-invalid-layerdef' => 'Denne lagdefinisjonen er ikke gyldig.', - 'maps-error-invalid-layertype' => 'Det er ingen lag av typen «$1». Bare {{PLURAL:$3|denne typen|disse typene}} er støttet: $2', - 'maps-error-no-layertype' => 'Du må angi en lagtype. Bare {{PLURAL:$2|denne typen|disse typene}} er støttet: $1', - 'validation-error-invalid-layer' => 'Parameter $1 må været et gyldig lag.', - 'validation-error-invalid-layers' => 'Parameter $1 må være et eller flere gyldige lag.', - 'maps-layer-of-type' => 'Lagtype $1', - 'maps-layer-type-supported-by' => 'Denne lagtypen kan bare brukes med {{PLURAL:$2|karttjenesten $1|disse karttjenestene: $1}}.', - 'maps-coordinates-description' => 'Parser-hook for å formatere koordinater, fra og til vilkårlige av de støttede formatene.', - 'maps-displaymap-description' => 'Vis geografiske kart uten wiki-spesifiserte markører.', - 'maps-displaypoint-description' => 'Vis geografiske kart med en eller flere wiki-spesifiserte markører.', - 'maps-distance-description' => 'Gjør om en distanse basert på en viss støttet enhet til tilsvarende verdi i en annen enhet.', - 'maps-finddestination-description' => 'Finn et mål med gitt startpunkt (som kan være i ett av de støttede formatene), en initial retning og distanse.', - 'maps-geocode-description' => 'Gjør tilgjengelig geokoding av adresser, dvs. gjør menneskelesbare lokasjoner til koordinatsett. Det finnes støtte for flere geokodingstjenester, som ikke må forveksles med mappingtjenester.', - 'maps-geodistance-description' => 'Beregn den geografiske avstanden mellom to punkter, fra og til et vilkårlig av de støttede formatene.', - 'maps-mapsdoc-description' => 'Vis en tabell med parametrene for en spesifisert mappingstjeneste sammen med deres standardverdier og beskrivelser.', - 'maps-mapsdoc-par-service' => 'Mappingstjenesten for å vise parameterdokumentasjon.', - 'maps-mapsdoc-par-language' => 'Språket for å vise dokumentasjonen. Hvis ingen slik oversettelse er tilgjengelig, blir engelsk brukt.', - 'maps-coordinates-par-location' => 'Koordinatene du ønsker å formatere.', - 'maps-coordinates-par-format' => 'Målformatet for koordinatene.', - 'maps-coordinates-par-directional' => 'Angir om koordinatene burde vises med retning eller ikke.', - 'maps-distance-par-distance' => 'Avstanden som skal omregnes til en bestemt enhet.', - 'maps-distance-par-decimals' => 'Maksimalt antall desimalsifre som skal brukes for resulterende verdi.', - 'maps-distance-par-unit' => 'Enhet for visning av avstand.', - 'maps-finddestination-par-location' => 'Opprinnelig lokasjon.', - 'maps-finddestination-par-distance' => 'Reiseavstand', - 'validation-error-invalid-location' => 'Parameter $1 må være en gyldig lokasjon.', - 'validation-error-invalid-locations' => 'Parameter $1 må være en eller flere gyldige lokasjoner.', - 'validation-error-invalid-width' => 'Parameter $1 må være en gyldig bredde.', - 'validation-error-invalid-height' => 'Parameter $1 må være en gyldig høyde.', - 'validation-error-invalid-distance' => 'Parameter $1 må være en gyldig avstand.', - 'validation-error-invalid-distances' => 'Parameter $1 må være en eller flere gyldige avstander.', - 'validation-error-invalid-image' => 'Parameter $1 må være et gyldig bilde.', - 'validation-error-invalid-images' => 'Parameter $1 må være et eller flere gyldige bilder.', - 'validation-error-invalid-goverlay' => 'Parameter $1 må være et gyldig overlegg.', - 'validation-error-invalid-goverlays' => 'Parameter $1 må være et eller flere gyldige overlegg.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'Ø', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'V', - 'maps-latitude' => 'Breddegrad:', - 'maps-longitude' => 'Lengdegrad:', - 'maps-invalid-coordinates' => 'Verdien $1 ble ikke gjenkjent som et gyldig sett med koordinater.', - 'maps_coordinates_missing' => 'Ingen koordinater oppgitt for kartet.', - 'maps_geocoding_failed' => 'Følgende {{PLURAL:$2|adresse|adresser}} kunne ikke geokodes: $1.', - 'maps_geocoding_failed_for' => 'Følgende {{PLURAL:$2|adresse|adresser}} kunne ikke geokodes og har blitt utelatt fra kartet: -$1', - 'maps_unrecognized_coords' => 'Følgende {{PLURAL:$2|koordinat|koordinat}} ble ikke gjenkjent: $1.', - 'maps_unrecognized_coords_for' => 'Følgende {{PLURAL:$2|koordinat|koordinater}} ble ikke gjenkjent og har blitt utelatt fra kartet: -$1', - 'maps_map_cannot_be_displayed' => 'Kartet kan ikke vises.', - 'maps-geocoder-not-available' => 'Geokodingsfunksjonen i Maps er ikke tilgjengelig. Din plassering kan ikke geokodes.', - 'maps_click_to_activate' => 'Klikk for å aktivere kartet', - 'maps_centred_on' => 'Kart sentrert om $1, $2.', - 'maps_overlays' => 'Transparenter', - 'maps_photos' => 'Foto', - 'maps_videos' => 'Videoer', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webkamera', -); - -/** Occitan (Occitan) - * @author Cedric31 - */ -$messages['oc'] = array( - 'maps-desc' => "Permet d'afichar de coordenadas dins de mapas, e mai d'adreça geocodadas -([http://www.mediawiki.org/wiki/Extension:Maps documentacion], [http://mapping.referata.com/wiki/Maps_examples demonstracion]). -Servicis de cartografia disponibles : $1", - 'maps_map' => 'Mapa', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitud :', - 'maps-longitude' => 'Longitud :', - 'maps_coordinates_missing' => 'Cap de coordenada es pas estada provesida pel plan.', - 'maps_geocoding_failed' => "{{PLURAL:$2|L'adreça seguenta a pas pogut èsser geoencodada|Las adreças seguentas an pas pogut èsser geoencodadas}} : $1. -Lo plan pòt pas èsser afichat.", - 'maps_geocoding_failed_for' => "{{PLURAL:$2|L'adreça seguenta a pas pogut èsser geoencodada|Las adreças seguentas an pas pogut èsser geoencodadas}} e {{PLURAL:$2|es pas afichada|son pas afichadas}} sul plan : $1", - 'maps_unrecognized_coords' => 'Las coordenadas seguentas son pas estadas reconegudas : $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|La coordenada seguenta es pas estada reconeguda|Las coordenadas seguentas son pas estadas reconegudas}} e {{PLURAL:$2|es estada omesa|son estadas omesas}} sus la mapa : -$1', - 'maps_map_cannot_be_displayed' => 'La mapa pòt pas èsser afichada.', - 'maps_click_to_activate' => 'Clicar per activar la mapa', - 'maps_centred_on' => 'Mapa centrada sus $1, $2.', - 'maps_overlays' => 'Superposicions', - 'maps_photos' => 'Fòtos', - 'maps_videos' => 'Vidèos', - 'maps_wikipedia' => 'Wikipèdia', - 'maps_webcams' => 'Webcams', -); - -/** Oriya (ଓଡ଼ିଆ) - * @author Odisha1 - */ -$messages['or'] = array( - 'maps-others' => 'ବାକିସବୁ', - 'maps-ns-layer' => 'ସ୍ତର', - 'maps-layer-value' => 'ମୂଲ୍ୟ', -); - -/** Deitsch (Deitsch) - * @author Xqt - */ -$messages['pdc'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'O', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps_wikipedia' => 'Wikipedia', -); - -/** Polish (Polski) - * @author Sp5uhe - * @author Yarl - */ -$messages['pl'] = array( - 'maps-desc' => 'Umożliwia zamieszczanie na stronach wiki dynamicznych map, geograficznie kodowanych adresów i innych danych geograficznych. ([http://mapping.referata.com/wiki/Examples demo])', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Wczytywanie mapy…', - 'maps-markers' => 'Zaznaczenia', - 'maps-others' => 'inne', - 'maps-ns-layer' => 'Warstwa', - 'maps-ns-layer-talk' => 'Dyskusja warstwy', - 'maps-layer-property' => 'Własność', - 'maps-layer-value' => 'Wartość', - 'maps-layer-errors' => 'Błędy', - 'maps-error-invalid-layerdef' => 'Definicja tej warstwy jest nieprawidłowa.', - 'maps-error-invalid-layertype' => 'Brak warstw typu „$1”. {{PLURAL:$3|Wspierany jest wyłącznie typ|Wspierane są wyłącznie typy:}} $2', - 'maps-error-no-layertype' => 'Musisz określić typ warstwy. {{PLURAL:$2|Wspierany jest wyłącznie typ|Wspierane są wyłącznie typy:}} $1', - 'validation-error-invalid-layer' => 'Parametr $1 musi określać prawidłową warstwę.', - 'validation-error-invalid-layers' => 'Parametr $1 musi wskazywać jedną lub więcej prawidłowych warstw.', - 'maps-layer-of-type' => 'Warstwa typu $1', - 'maps-layer-type-supported-by' => 'Tego typu warstwa może być używana wyłącznie z {{PLURAL:$2|serwisem map|serwisami map:}} $1.', - 'validation-error-invalid-location' => 'Parametr $1 musi wskazywać prawidłową lokalizację.', - 'validation-error-invalid-locations' => 'Parametr $1 musi wskazywać jedną lub więcej prawidłowych lokalizacji.', - 'validation-error-invalid-width' => 'Parametr $1 musi określać prawidłową szerokość.', - 'validation-error-invalid-height' => 'Parametr $1 musi określać prawidłową wysokość.', - 'validation-error-invalid-distance' => 'Parametr $1 musi określać prawidłową odległość.', - 'validation-error-invalid-distances' => 'Parametr $1 musi określać jedną lub więcej prawidłowych odległości.', - 'validation-error-invalid-image' => 'Parametr $1 musi określać prawidłową grafikę.', - 'validation-error-invalid-images' => 'Parametr $1 musi wskazywać jedną lub więcej prawidłowych grafik.', - 'validation-error-invalid-goverlay' => 'Parametr $1 musi być prawidłową nakładką.', - 'validation-error-invalid-goverlays' => 'Parametr $1 musi być jedną lub więcej prawidłową nakładką.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Szerokość geograficzna', - 'maps-longitude' => 'Długość geograficzna', - 'maps-invalid-coordinates' => 'Wartość $1 nie została rozpoznana jako prawidłowe współrzędne.', - 'maps_coordinates_missing' => 'Brak współrzędnych dla mapy.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Następującego adresu nie można odnaleźć na mapie|Następujących adresów nie można odnaleźć na mapie:}} $1. -Mapa nie może zostać wyświetlona.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Następujący adres został pominięty, ponieważ nie można go odnaleźć na mapie|Następujące adresy zostały pominięte, ponieważ nie można ich odnaleźć na mapie:}} $1.', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Następująca współrzędna nie została rozpoznana –|Następujące współrzędne nie zostały rozpoznane:}} $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Następującą współrzędną|Następujące współrzędne}} pominięto, ponieważ nie {{PLURAL:$2|została rozpoznana|zostały rozpoznane}}: -$1', - 'maps_map_cannot_be_displayed' => 'Mapa nie może zostać wyświetlona.', - 'maps-geocoder-not-available' => 'Funkcja geokodowania map nie jest dostępna. Lokalizacja nie może zostać zakodowana.', - 'maps_click_to_activate' => 'Kliknij, aby aktywować mapę', - 'maps_centred_on' => 'Środek mapy – $1, $2.', - 'maps_overlays' => 'Nakładki', - 'maps_photos' => 'Zdjęcia', - 'maps_videos' => 'Filmy', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Kamery internetowe', -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Dragonòt - * @author McDutchie - */ -$messages['pms'] = array( - 'maps-desc' => "A abìlita l'anseriment ëd carte ant le pàgine ëd la wiki, dj'adrësse geocodificà e d'àutre operassion geogràfiche ([http://mapping.referata.com/wiki/Esempi dimostrassion]).", - 'maps_map' => 'Pian', - 'maps-loading-map' => 'Cariament ëd la carta...', - 'maps-markers' => 'Marcador', - 'maps-others' => 'àutri', - 'maps-ns-layer' => 'Livel', - 'maps-ns-layer-talk' => 'Ciaciarada ëd livel', - 'maps-layer-property' => 'Propietà', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Eror', - 'maps-error-invalid-layerdef' => "Sta definission ëd livel a l'é pa bon-a", - 'maps-error-invalid-layertype' => 'A-i é pa gnun livej ëd sòrt "$1". A {{PLURAL:$3|l\'é mach mantùa costa|a son mach mantnùe coste}} sòrt: $2', - 'maps-error-no-layertype' => "A dev specifiché la sòrt ëd livel. Mach {{PLURAL:$2|sta sòrt a l'é mantnùa|ste sòrt a son mantnùe}}: $1", - 'validation-error-invalid-layer' => 'Ël paràmetr $1 a dev esse un livel bon.', - 'validation-error-invalid-layers' => 'Ël paràmetr $1 a dev esse un o pi livej bon.', - 'maps-layer-of-type' => 'Livel ëd sòrt $1', - 'maps-layer-type-supported-by' => 'Costa sòrt ëd livel a peul {{PLURAL:$2|mach esse dovrà con ël servissi ëd cartografìa $1|esse dovrà con sti servissi ëd cartografìa: $1}}.', - 'validation-error-invalid-location' => 'Ël paràmetr $1 a dev esse na locassion bon-a.', - 'validation-error-invalid-locations' => 'Ël paràmetr $1 a dev esse un-a o pi locassion bon-e.', - 'validation-error-invalid-width' => 'Ël paràmetr $1 a dev esse na larghëssa bon-a.', - 'validation-error-invalid-height' => "Ël paràmetr $1 a dev esse n'autëssa bon-a.", - 'validation-error-invalid-distance' => 'Ël valor $1 a deuv esse na distansa bon-a.', - 'validation-error-invalid-distances' => 'Ël paràmetr $1 a dev esse un-a o pi distanse bon-e.', - 'validation-error-invalid-image' => 'Ël paràmetr $1 a dev esse na figura bon-a.', - 'validation-error-invalid-images' => 'Ël paràmetr $1 a dev esse un-a o pi figure bon-e.', - 'validation-error-invalid-goverlay' => 'Ël paràmetr $1 a dev esse un coatament bon.', - 'validation-error-invalid-goverlays' => 'Ël paràmetr $1 a dev esse un o pi coatament bon.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'W', - 'maps-latitude' => 'Latitùdin:', - 'maps-longitude' => 'Longitùdin:', - 'maps-invalid-coordinates' => "Ël valor $1 a l'é pa stàit arconossù con n'ansema bon ëd coordinà.", - 'maps_coordinates_missing' => 'Pa gnun-e coordinà dàite për la mapa.', - 'maps_geocoding_failed' => "{{PLURAL:$2|L'adrëssa|J'adrësse}} sì sota a peulo pa esse sota geocode: $1. -La mapa a peul pa esse visualisà.", - 'maps_geocoding_failed_for' => "{{PLURAL:$2|L'adrëssa|J'adrësse}} sì sota a peula pa esse sota geocode e a {{PLURAL:$2|l'é pa stàita|son pa stàite}} butà ant la mapa: $1", - 'maps_unrecognized_coords' => "{{PLURAL:$2|La coordinà sota a l'é pa stàita arconossùa|Le coordinà sota a son pa stàite arconossùe}}: $1.", - 'maps_unrecognized_coords_for' => "{{PLURAL:$2|La coordinatà sota a l'é pa stàita arconossùa|Le coordinà sota a son pa stàite arconossùe}} e a {{PLURAL:$2|l'é stàita|a son stàite}} pa butà ant la carta: -$1", - 'maps_map_cannot_be_displayed' => 'La carta a peul pa esse mostrà.', - 'maps-geocoder-not-available' => "La possibilità ëd geocodìfica dle carte a l'é pa disponìbil. Soa locassion a peul pa esse geocodificà.", - 'maps_click_to_activate' => 'Sgnaca për ativé la carta', - 'maps_centred_on' => 'Carta sentrà su $1, $2.', - 'maps_overlays' => 'Sovraposission', - 'maps_photos' => 'Fòto', - 'maps_videos' => 'Filmà', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webcam', -); - -/** Pashto (پښتو) - * @author Ahmed-Najib-Biabani-Ibrahimkhel - */ -$messages['ps'] = array( - 'maps_map' => 'نخشه', - 'maps-layer-value' => 'ارزښت', - 'maps-abb-north' => 'سهـ', - 'maps-abb-east' => 'خ', - 'maps-abb-south' => 'سو', - 'maps-abb-west' => 'ل', - 'maps_photos' => 'انځورونه', - 'maps_videos' => 'ويډيوګانې', - 'maps_wikipedia' => 'ويکيپېډيا', - 'maps_webcams' => 'وېبکامرې', -); - -/** Portuguese (Português) - * @author Alchimista - * @author Giro720 - * @author GoEThe - * @author Hamilton Abreu - * @author Lijealso - * @author Waldir - */ -$messages['pt'] = array( - 'maps-desc' => 'Permite incorporar mapas dinâmicos nas páginas da wiki, converter endereços em geocódigos e outras operações geográficas ([http://mapping.referata.com/wiki/Examples demonstração])', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'A carregar o mapa...', - 'maps-load-failed' => 'Não foi possível carregar o mapa!', - 'maps-markers' => 'Marcadores', - 'maps-others' => 'outros', - 'maps-ns-layer' => 'Camada', - 'maps-ns-layer-talk' => 'Camada Discussão', - 'maps-layer-property' => 'Propriedade', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Erros', - 'maps-error-invalid-layerdef' => 'A definição desta camada não é válida.', - 'maps-error-invalid-layertype' => 'Não existem camadas do tipo "$1". Só {{PLURAL:$3|é suportado o tipo|são suportados os tipos}}: $2', - 'maps-error-no-layertype' => 'Tem de especificar o tipo da camada. Só {{PLURAL:$2|é suportado o tipo|são suportados os tipos}}: $1', - 'validation-error-invalid-layer' => 'O parâmetro $1 tem de ser uma camada válida.', - 'validation-error-invalid-layers' => 'O parâmetro $1 tem de ser uma ou mais camadas válidas.', - 'maps-layer-of-type' => 'Camada de tipo $1', - 'maps-layer-type-supported-by' => 'Este tipo de camada só pode ser usado com {{PLURAL:$2|o serviço de cartografia $1|os serviços de cartografia: $1}}.', - 'maps-coordinates-description' => 'Hook do analisador sintáctico para formatar coordenadas, a partir de qualquer um dos formatos suportados para qualquer outro formato suportado.', - 'maps-displaymap-description' => 'Apresentar os mapas sem qualquer marcador definido na wiki.', - 'maps-displaypoint-description' => 'Apresentar os mapas com um ou mais marcadores definidos na wiki.', - 'maps-distance-description' => 'Converter uma distância numa unidade suportada para a distância equivalente noutra unidade.', - 'maps-finddestination-description' => 'Encontrar um destino a partir de um ponto de partida (expresso em qualquer um dos formatos suportados), uma orientação inicial e uma distância.', - 'maps-geocode-description' => 'Permite a geocodificação de moradas; por outras palavras, transforma locais legíveis por seres humanos em conjuntos de coordenadas. Há apoio para vários serviços de geocodificação, que não devem ser confundidos com serviços de cartografia.', - 'maps-geodistance-description' => 'Calcula a distância geográfica entre dois pontos, a partir e para qualquer um dos formatos suportados.', - 'maps-mapsdoc-description' => 'Apresentar uma tabela com os parâmetros de um serviço de cartografia especificado, em conjunto com os respectivos valores por omissão e descrições.', - 'maps-mapsdoc-par-service' => 'O serviço de cartografia para o qual será apresentada a documentação dos parâmetros.', - 'maps-mapsdoc-par-language' => 'A língua de apresentação da documentação. Se essa tradução não estiver disponível, será usado o inglês.', - 'maps-coordinates-par-location' => 'As coordenadas que quer formatar.', - 'maps-coordinates-par-format' => 'O formato em que quer as coordenadas.', - 'maps-coordinates-par-directional' => 'Indica se as coordenadas devem ser produzidas com formato direccional ou não.', - 'maps-distance-par-distance' => 'A distância para converter para a equivalente numa unidade especificada.', - 'maps-distance-par-decimals' => 'O número máximo de casas decimais a usar no valor resultante.', - 'maps-distance-par-unit' => 'As unidades em que a distância será produzida.', - 'maps-finddestination-par-location' => 'A localização inicial.', - 'maps-finddestination-par-bearing' => 'A direcção inicial.', - 'maps-finddestination-par-distance' => 'A distância a percorrer.', - 'maps-finddestination-par-format' => 'O formato em que sairá o destino.', - 'maps-finddestination-par-directional' => 'Indica se o formato do destino deve ser direccional ou não.', - 'maps-finddestination-par-allowcoordinates' => 'Indica se devem ser permitidas coordenadas. Se marcado como não, apenas serão aceites moradas.', - 'maps-finddestination-par-geoservice' => 'O serviço de geocodificação a usar para geocodificar o valor em caso de ser uma morada.', - 'maps-finddestination-par-mappingservice' => 'Parâmetro para indicar o serviço de cartografia a usar com esta função. -Isto permite que os mapas substituam o valor padrão do parâmetro do serviço pelo valor óptimo para o serviço de cartografia. -(Exemplo: No caso do Google Maps, será usado o geocodificador do Google.)', - 'maps-geocode-par-location' => 'A morada que quer geocodificar.', - 'maps-geocode-par-mappingservice' => 'O serviço de geocodificação que deseja usar. Consulte os serviços de geocodificação disponíveis.', - 'maps-geocode-par-geoservice' => 'Este parâmetro permite-lhe indicar se está a usar este pedido de geocodificação em combinação com um serviço de cartografia específico. -Para cada serviço de cartografia é possível substituir o valor padrão do serviço de geocodificação. -Isto tem uma justificação legal, posto que o serviço de Geocodificação do Google só pode ser usado em conjunto com o Google Maps. -Definir este parâmetro e não o parâmetro para o serviço, garante que não se está a usar uma combinação inválida.', - 'maps-geocode-par-allowcoordinates' => 'Permite desactivar o suporte de coordenadas desta função. Tem de ser sim ou não. -Quando for não, todos os valores serão geocodificados, mesmo coordenadas válidas.', - 'maps-geocode-par-format' => 'O formato das coordenadas resultantes.', - 'maps-geocode-par-directional' => 'Indica se as coordenadas devem ser produzidas com formato direccional ou não.', - 'maps-geodistance-par-location1' => 'O primeiro ponto do conjunto para calcular a distância entre dois pontos.', - 'maps-geodistance-par-location2' => 'O segundo ponto do conjunto para calcular a distância entre dois pontos.', - 'maps-geodistance-par-unit' => 'As unidades em que a distância será produzida.', - 'maps-geodistance-par-decimals' => 'O número máximo de casas decimais a usar no valor resultante.', - 'maps-geodistance-par-mappingservice' => 'O serviço de geocodificação que será usado para geocodificar qualquer endereço.', - 'maps-geodistance-par-geoservice' => 'O serviço de cartografia a utilizar em conjunto. -Isto pode afectar o valor padrão do serviço de geocodificação.', - 'maps-displaymap-par-mappingservice' => 'Permite definir o serviço de cartografia que será usado para gerar o mapa.', - 'maps-displaymap-par-coordinates' => 'A localização na qual o mapa será inicialmente centrado.', - 'maps-displaypoints-par-zoom' => 'Permite definir o nível de aproximação do mapa. -Quando este não for fornecido e existirem vários marcadores no mapa, será usada a aproximação que resulte no melhor dimensionamento, não o valor padrão configurado.', - 'maps-displaypoints-par-mappingservice' => 'Permite definir o serviço de cartografia que será usado para gerar o mapa.', - 'maps-displaypoints-par-coordinates' => 'Uma ou mais localizações a mostrar no mapa. Estas serão indicadas com um marcador.', - 'maps-displaypoints-par-centre' => 'Permite definir as coordenadas do centro do mapa para display_point(s). -Aceita tanto endereços como coordenadas. -Quando esta propriedade não for fornecida, o mapa será centrado no marcador fornecido, ou entre os marcadores fornecidos.', - 'maps-displaypoints-par-title' => 'Permite a configuração do texto que será apresentado nos pop-ups de todos os marcadores que não têm um título específico. -Quando usado em conjunto com um rótulo, o título aparecerá a negrito e sublinhado.', - 'maps-displaypoints-par-label' => 'Permite a configuração do texto que será apresentado nos pop-ups de todos os marcadores que não têm um rótulo específico.', - 'maps-displaypoints-par-icon' => 'Permite configurar o ícone usado para todos os marcadores.', - 'validation-error-invalid-location' => 'O parâmetro $1 tem de ser uma localização válida.', - 'validation-error-invalid-locations' => 'O parâmetro $1 tem de ser uma ou mais localizações válidas.', - 'validation-error-invalid-width' => 'O parâmetro $1 tem de ser uma largura válida.', - 'validation-error-invalid-height' => 'O parâmetro $1 tem de ser uma altura válida.', - 'validation-error-invalid-distance' => 'O parâmetro $1 tem de ser uma distância válida.', - 'validation-error-invalid-distances' => 'O parâmetro $1 tem de ser uma ou mais distâncias válidas.', - 'validation-error-invalid-image' => 'O parâmetro $1 tem de ser uma imagem válida.', - 'validation-error-invalid-images' => 'O parâmetro $1 tem de ser uma ou mais imagens válidas.', - 'validation-error-invalid-goverlay' => 'O parâmetro $1 tem de ser uma sobreposição válida.', - 'validation-error-invalid-goverlays' => 'O parâmetro $1 tem de ser uma ou mais sobreposições válidas.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitude:', - 'maps-longitude' => 'Longitude:', - 'maps-invalid-coordinates' => 'O valor $1 não foi reconhecido como um conjunto de coordenadas válido.', - 'maps_coordinates_missing' => 'Não foram fornecidas coordenadas para o mapa.', - 'maps_geocoding_failed' => 'Não foi possível geocodificar {{PLURAL:$2|o seguinte endereço|os seguintes endereços}}: $1. -O mapa não pode ser apresentado.', - 'maps_geocoding_failed_for' => 'Não foi possível geocodificar {{PLURAL:$2|o seguinte endereço, que foi omitido|os seguintes endereços, que foram omitidos}} do mapa: -$1.', - 'maps_unrecognized_coords' => '{{PLURAL:$2|A seguinte coordenada não foi reconhecida|As seguintes coordenadas não foram reconhecidas}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|A seguinte coordenada não foi reconhecida e foi omitida|As seguintes coordenadas não foram reconhecidas e foram omitidas}} do mapa: -$1', - 'maps_map_cannot_be_displayed' => 'Não é possível apresentar o mapa.', - 'maps-geocoder-not-available' => 'A funcionalidade de georeferenciação do Mapas está indisponível; a sua localização não pode ser georeferenciada.', - 'maps_click_to_activate' => 'Clique para activar o mapa', - 'maps_centred_on' => 'Mapa centrado nas coordenadas $1, $2.', - 'maps-par-resizable' => 'Permite alterar as dimensões do mapa, arrastando o canto inferior direito.', - 'maps-par-geoservice' => 'O serviço de geocodificação que será usado para fazer a conversão entre endereços e coordenadas.', - 'maps-par-zoom' => 'O nível de aproximação do mapa. Nos mapas com marcadores será usada a maior aproximação que, mesmo assim, mostre todos os marcadores.', - 'maps-par-width' => 'Permite definir a largura do mapa. A unidade por omissão é o pixel, mas pode defini-la explicitamente como: px, ex, em, %.', - 'maps-par-height' => 'Permite definir a altura do mapa. A unidade por omissão é o pixel, mas pode defini-la explicitamente como: px, ex, em, %.', - 'maps-googlemaps2-incompatbrowser' => 'O seu browser não é compatível com o Google Maps v2.', - 'maps_overlays' => 'Sobreposições', - 'maps_photos' => 'Fotografias', - 'maps_videos' => 'Vídeos', - 'maps_wikipedia' => 'Wikipédia', - 'maps_webcams' => 'Câmaras Web', - 'maps-googlemaps2-par-type' => 'O tipo de mapa que será apresentado inicialmente.', - 'maps-googlemaps2-par-types' => 'Os tipos de mapas que estarão disponíveis através do controlo de tipos.', - 'maps-googlemaps2-par-controls' => 'Os controlos que serão colocados no mapa.', - 'maps-googlemaps2-par-autozoom' => 'Permitir deslizar usando a roda de deslizamento do rato.', - 'maps-googlemaps2-par-kml' => 'Ficheiros KML que serão carregados no mapa.', - 'maps-googlemaps2-par-overlays' => 'Sobreposições que o utilizador pode activar.', - 'maps-googlemaps3-incompatbrowser' => 'O seu browser não é compatível com o Google Maps v3.', - 'maps-googlemaps3-par-type' => 'O tipo de mapa que será apresentado inicialmente.', - 'maps-googlemaps3-par-types' => 'Os tipos de mapas que estarão disponíveis através do controlo de tipos.', - 'maps-googlemaps3-par-layers' => 'As camadas especiais que serão carregadas no mapa.', - 'maps-googlemaps3-par-controls' => 'Os controlos que serão colocados no mapa.', - 'maps-googlemaps3-par-zoomstyle' => 'O estilo do controlo da aproximação.', - 'maps-googlemaps3-par-typestyle' => 'O estilo do controlo de tipos.', - 'maps-googlemaps3-par-autoinfowindows' => 'Abrir automaticamente todas as janelas informativas depois de carregar a página.', - 'maps-googlemaps3-par-kml' => 'Ficheiros KML que serão carregados no mapa.', - 'maps-googlemaps3-par-gkml' => 'Ficheiros KML alojados pelo Google que serão carregados no mapa.', - 'maps-googlemaps3-par-fusiontables' => 'Identificação das Google Fusion Tables que deverão ser carregadas no mapa.', - 'maps-openlayers-par-controls' => 'Os controlos que serão colocados no mapa.', - 'maps-openlayers-par-layers' => 'As camadas que estarão disponíveis no selector de camadas. A primeira camada será apresentada quando o mapa for carregado.', - 'maps-osm-par-thumbs' => 'Mostrar miniaturas', - 'maps-osm-par-photos' => 'Mostrar fotografias', - 'maps-yahoomaps-par-type' => 'O tipo de mapa que será apresentado inicialmente.', - 'maps-yahoomaps-par-types' => 'Os tipos de mapas que estarão disponíveis através do controlo de tipos.', - 'maps-yahoomaps-par-controls' => 'Os controlos que serão colocados no mapa.', - 'maps-yahoomaps-par-autozoom' => 'Permitir deslizar usando a roda de deslizamento do rato.', -); - -/** Brazilian Portuguese (Português do Brasil) - * @author Eduardo.mps - * @author Giro720 - * @author Luckas Blade - */ -$messages['pt-br'] = array( - 'maps-desc' => 'Provê a possibilidade de exibir dados de coordenadas em mapas e endereços em geocódigo. ([http://mapping.referata.com/wiki/Maps_examples demonstração]). -Serviços de mapeamento disponíveis: $1', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Carregando mapa...', - 'maps-markers' => 'Marcadores', - 'maps-others' => 'outros', - 'maps-ns-layer' => 'Camada', - 'maps-ns-layer-talk' => 'Camada Discussão', - 'maps-layer-property' => 'Propriedade', - 'maps-layer-value' => 'Valor', - 'maps-layer-errors' => 'Erros', - 'maps-error-invalid-layerdef' => 'A definição desta camada não é válida.', - 'maps-error-invalid-layertype' => 'Não existem camadas do tipo "$1". Só {{PLURAL:$3|é suportado o tipo|são suportados os tipos}}: $2', - 'maps-error-no-layertype' => 'Você precisa especificar o tipo da camada. {{PLURAL:$2|Só é suportado o tipo|São suportados os tipos}}: $1', - 'validation-error-invalid-layer' => 'O parâmetro $1 deve ser uma camada válida.', - 'validation-error-invalid-layers' => 'O parâmetro $1 deve ser uma ou mais camadas válidas.', - 'maps-layer-of-type' => 'Camada de tipo $1', - 'maps-layer-type-supported-by' => 'Este tipo de camada só pode ser usado com {{PLURAL:$2|o serviço de cartografia $1|os serviços de cartografia: $1}}.', - 'validation-error-invalid-location' => 'O parâmetro $1 deve ser uma localização válida.', - 'validation-error-invalid-locations' => 'O parâmetro $1 deve ser uma localização válida.', - 'validation-error-invalid-width' => 'O parâmetro $1 deve ser uma largura válida.', - 'validation-error-invalid-height' => 'O parâmetro $1 deve ser uma altura válida.', - 'validation-error-invalid-distance' => 'O parâmetro $1 deve ser uma distância válida.', - 'validation-error-invalid-distances' => 'O parâmetro $1 deve ser uma ou mais distâncias válidas.', - 'validation-error-invalid-image' => 'O parâmetro $1 deve ser uma imagem válida.', - 'validation-error-invalid-images' => 'O parâmetro $1 deve ser uma ou mais imagens válidas.', - 'validation-error-invalid-goverlay' => 'O parâmetro $1 deve ser uma sobreposição válida.', - 'validation-error-invalid-goverlays' => 'O parâmetro $1 deve ser uma ou mais sobreposições válidas.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'L', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps-latitude' => 'Latitude:', - 'maps-longitude' => 'Longitude:', - 'maps-invalid-coordinates' => 'O valor $1 não foi reconhecido como um conjunto de coordenadas válido.', - 'maps_coordinates_missing' => 'Nenhuma coordenada fornecida para o mapa', - 'maps_geocoding_failed' => '{{PLURAL:$2|O seguinte endereço não pode|Os seguintes endereços não puderam}} ser {{PLURAL:$2|geocodificado|geocodificados}}: $1. -O mapa não pode ser exibido.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|O seguinte endereço não pode|Os seguintes endereços não puderam}} ser {{PLURAL:$2|geocodificado e foi omitido|geocodificados e foram omitidos}} do mapa: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|A seguinte coordenada não foi reconhecida|As seguintes coordenadas não foram reconhecidas}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|A seguinte coordenada não foi reconhecida e foi omitida|As seguintes coordenadas não foram reconhecidas e foram omitidas}} do mapa: -$1', - 'maps_map_cannot_be_displayed' => 'O mapa não pode ser mostrado.', - 'maps-geocoder-not-available' => 'A funcionalidade de georeferenciação do Mapas está indisponível; a sua localização não pode ser georeferenciada.', - 'maps_click_to_activate' => 'Clique para ativar o mapa', - 'maps_centred_on' => 'Mapa centrado nas coordenadas $1, $2.', - 'maps_overlays' => 'Sobreposições', - 'maps_photos' => 'Fotos', - 'maps_videos' => 'Vídeos', - 'maps_wikipedia' => 'Wikipédia', - 'maps_webcams' => 'Webcams', -); - -/** Romanian (Română) - * @author Firilacroco - * @author KlaudiuMihaila - * @author Minisarm - * @author Stelistcristi - */ -$messages['ro'] = array( - 'maps-desc' => 'Permite încorporarea hărților dinamice în paginile wiki, precum și geocodificarea adreselor ori efectuarea altor operațiuni de ordin geografic ([http://mapping.referata.com/wiki/Examples demonstrație]).', - 'maps_map' => 'Hartă', - 'maps-loading-map' => 'Se încarcă harta...', - 'maps-markers' => 'Marcatori', - 'maps-others' => 'altele', - 'maps-ns-layer' => 'Strat', - 'maps-layer-value' => 'Valoare', - 'maps-layer-errors' => 'Erori', - 'maps-error-invalid-layerdef' => 'Definiția acestui strat este incorectă.', - 'maps-error-invalid-layertype' => 'Nu există straturi de tip „$1”. Se acceptă doar {{PLURAL:$3|acest tip|aceste tipuri}}: $2', - 'maps-error-no-layertype' => 'Trebuie să specificați tipul stratului. Se acceptă doar {{PLURAL:$2|acest tip|aceste tipuri}}: $1', - 'validation-error-invalid-layer' => 'Parametrul $1 trebuie să fie un strat valabil.', - 'validation-error-invalid-layers' => 'Parametrul $1 trebuie să fie una sau mai multe straturi valide.', - 'maps-layer-of-type' => 'Strat de tip $1', - 'validation-error-invalid-location' => 'Parametrul $1 trebuie să fie o locaţie validă.', - 'validation-error-invalid-locations' => 'Parametrul $1 trebuie să fie una sau mai multe locaţii valide.', - 'validation-error-invalid-distance' => 'Parametrul $1 trebuie să reprezinte o distanță validă.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'V', - 'maps-latitude' => 'Latitudine:', - 'maps-longitude' => 'Longitudine:', - 'maps-invalid-coordinates' => 'Valoarea $1 nu a fost recunoscută ca un set valid de coordonate.', - 'maps_coordinates_missing' => 'Nu au fost furnizate coordonate pentru hartă.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Următoarea|Următoarele}} {{PLURAL:$2|adresă|adrese}} nu {{PLURAL:$2|a|au}} putut fi {{PLURAL:$2|geocodificată|geocodificate}}: $1. -Harta nu poate fi afișată.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Următoarea|Următoarele}} {{PLURAL:$2|adresă|adrese}} nu {{PLURAL:$2|a|au}} putut fi {{PLURAL:$2|geocodificată|geocodificate}} și {{PLURAL:$2|a|au}} fost {{PLURAL:$2|omisă|omise}} de pe hartă: -$1', - 'maps_unrecognized_coords' => '{{PLURAL:$2|Următorul|Următoarele}} {{PLURAL:$2|set|seturi}} de coordonate nu {{PLURAL:$2|a|au}} putut fi {{PLURAL:$2|recunoscut|recunoscute}}: $1.', - 'maps_unrecognized_coords_for' => '{{PLURAL:$2|Următorul|Următoarele}} {{PLURAL:$2|set|seturi}} de coordonate nu {{PLURAL:$2|a|au}} putut fi {{PLURAL:$2|recunoscut|recunoscute}} și {{PLURAL:$2|a|au}} fost {{PLURAL:$2|omis|omise}}: $1', - 'maps_map_cannot_be_displayed' => 'Harta nu poate fi afișată.', - 'maps-geocoder-not-available' => 'Opțiunea de geocodare pentru Hărți nu este disponibilă. Locația dumneavoastră nu a putut fi geocodată.', - 'maps_click_to_activate' => 'Apăsați pentru a activa harta', - 'maps_centred_on' => 'Hartă centrată la $1, $2.', - 'maps_overlays' => 'Straturi', - 'maps_photos' => 'Fotografii', - 'maps_videos' => 'Filme', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Camere web', -); - -/** Tarandíne (Tarandíne) - * @author Joetaras - */ -$messages['roa-tara'] = array( - 'maps-desc' => "Dèje l'abbilità a sckaffà le mappe dinameche 'ngapsulate jndr'à le pàggene de Uicchi, geocodificate e indirizzate a otre operaziune sciugrafeche. ([http://mapping.referata.com/wiki/Maps_examples demo])", - 'maps_map' => 'Mappe', - 'maps-loading-map' => "Stoche a careche 'a mappe...", - 'maps-others' => 'otre', - 'maps-layer-value' => 'Valore', - 'maps-layer-errors' => 'Errore', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'E', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'O', - 'maps_photos' => 'Foto', - 'maps_videos' => 'Video', - 'maps_wikipedia' => 'Uicchipèdie', -); - -/** Russian (Русский) - * @author Adata80 - * @author Haffman - * @author Lockal - * @author MaxSem - * @author McDutchie - * @author Yuriy Apostol - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'maps-desc' => 'позволяет встраивать динамические карты в вики-страницы, геокодировать адреса, выполнять другие географические действия. ([http://mapping.referata.com/wiki/Examples Примеры исползования])', - 'maps_map' => 'Карта', - 'maps-loading-map' => 'Идёт загрузка карты…', - 'maps-load-failed' => 'Невозможно загрузить карту!', - 'maps-markers' => 'Отметки', - 'maps-others' => 'другие', - 'maps-ns-layer' => 'Слой', - 'maps-ns-layer-talk' => 'Обсуждение слоя', - 'maps-layer-property' => 'Свойство', - 'maps-layer-value' => 'Значение', - 'maps-layer-errors' => 'Ошибки', - 'maps-error-invalid-layerdef' => 'Это определение слоя неверно.', - 'maps-error-invalid-layertype' => 'Не существует слоя типа «$1». {{PLURAL:$3|Поддерживается только следующий тип|Поддерживаются только следующие типы}}: $2', - 'maps-error-no-layertype' => 'Вам нужно указать тип слоя. {{PLURAL:$2|Поддерживается только следующий тип|Поддерживаются следующие типы}}: $1', - 'validation-error-invalid-layer' => 'Параметр $1 должен быть корректным слоем.', - 'validation-error-invalid-layers' => 'Параметр $1 должен содержать один или несколько корректных слоёв.', - 'maps-layer-of-type' => 'Слой типа $1', - 'maps-layer-type-supported-by' => 'Этот тип слоя может быть использован {{PLURAL:$2|только с картографической службой $1|только со следующими картографическими службами}}: $1', - 'maps-coordinates-description' => 'Перехватчик синтаксического анализатора для форматирования координат из любого и в любой поддерживаемый формат.', - 'maps-displaymap-description' => 'Отображение географических карт без каких-либо вики-маркеров на них.', - 'maps-displaypoint-description' => 'Отображение географических карт с одним или несколькими вики-маркерами на них.', - 'maps-distance-description' => 'Преобразование расстояния, выраженного в определенных поддерживаемых единицах, в его эквивалент в других единицах.', - 'maps-finddestination-description' => 'Найти место назначения от заданной начальной точки (может быть в любом формате из поддерживаемых), начальное направление и расстояние.', - 'maps-geocode-description' => 'Включает геокодирование адресов. Иными словами, преобразует понятные человеку названия мест в наборы координат. Поддерживается несколько сервисов геокодирования, которые не следует путать с картографическими сервисами.', - 'maps-geodistance-description' => 'Рассчитать географическое расстояние между двумя точками, из любого и в любой поддерживаемый формат.', - 'maps-coordinates-par-location' => 'Координаты, которые требуется отформатировать.', - 'maps-coordinates-par-format' => 'Целевой формат координат.', - 'maps-coordinates-par-directional' => 'Указывает, должны ли координаты выводиться непосредственно или нет.', - 'maps-distance-par-distance' => 'Расстояние для преобразования в эквивалентное в указанных единицах.', - 'maps-distance-par-decimals' => 'Максимальное количество цифр дробной части в результирующем значении.', - 'maps-distance-par-unit' => 'Единицы, в которых будет отображено расстояние.', - 'maps-finddestination-par-location' => 'Исходное положение.', - 'maps-finddestination-par-bearing' => 'Начальное направление.', - 'maps-finddestination-par-distance' => 'Протяжённость путешествия.', - 'maps-finddestination-par-format' => 'Формат, в котором отображается пункт назначения.', - 'maps-finddestination-par-directional' => 'Указывает, должен ли формат назначения быть направленным или нет.', - 'maps-finddestination-par-allowcoordinates' => 'Указывает, разрешены ли координаты. Если установлено значение «нет», будут приниматься только адреса.', - 'maps-finddestination-par-geoservice' => 'Сервис геокодирования для географического преобразования значения в случае, если оно является адресом.', - 'maps-finddestination-par-mappingservice' => 'Параметр для указания картографической службы для использования с этой функцией. -Позволяет карте переопределить значение служебного параметра по умолчанию службы на оптимальное для картографической службы. -(Например, для карт Google, использовать геокодирование Google.)', - 'maps-geocode-par-location' => 'Адрес, который вы желаете геокодировать.', - 'maps-geocode-par-mappingservice' => 'Служба геокодирования, которую вы хотите использовать. См. список доступных служб геокодирования.', - 'maps-geocode-par-geoservice' => 'Этот параметр позволяет указать, что вы используете этот запрос геокодирования в сочетании с конкретной картографической службой. -Каждая картографическая служба может иметь переопределение службы геокодирования по умолчанию. -Это делается из юридических соображений, так как вы можете использовать службу геокодирования Google только вместе с картами Google. -Установка этого параметра, а не параметра для службы, будет гарантировать, что вы не используете недопустимое сочетание.', - 'maps-geocode-par-allowcoordinates' => 'Позволяет отключить поддержку координат в этой функции. Должно быть указано «да» или «нет». -Если «нет», то каждое значение будет геокодировано, даже правильные координаты.', - 'maps-geocode-par-format' => 'Формат получаемых координат.', - 'maps-geocode-par-directional' => 'Указывает, должны ли координаты выводиться непосредственно или нет.', - 'maps-geodistance-par-location1' => 'Первая точка в наборе для расчёта расстояния.', - 'maps-geodistance-par-location2' => 'Вторая точка в наборе для расчёта расстояния.', - 'maps-geodistance-par-unit' => 'Единица измерения расстояния.', - 'maps-geodistance-par-decimals' => 'Наибольшее количество цифр в дробной части результата.', - 'maps-geodistance-par-mappingservice' => 'Служба геокодирования, используемая для кодирования любого адреса.', - 'maps-displaymap-par-mappingservice' => 'Позволяет выбрать сервис карт, который будет использоваться.', - 'maps-displaypoints-par-mappingservice' => 'Позволяет указывать сервис карт, который будет использоваться.', - 'validation-error-invalid-location' => 'Параметр $1 должен быть корректным местоположением.', - 'validation-error-invalid-locations' => 'Параметр $1 должен содержать одно или несколько корректных местоположений.', - 'validation-error-invalid-width' => 'Параметр $1 должен быть корректной шириной.', - 'validation-error-invalid-height' => 'Параметр $1 должен быть корректной высотой.', - 'validation-error-invalid-distance' => 'Параметр $1 должен быть корректным расстоянием.', - 'validation-error-invalid-distances' => 'Параметр $1 должен содержать одно или несколько корректных расстояний.', - 'validation-error-invalid-image' => 'Параметр $1 должен быть корректным изображением.', - 'validation-error-invalid-images' => 'Параметр $1 должен содержать одно или несколько корректных изображений.', - 'validation-error-invalid-goverlay' => 'Параметр $1 должен быть корректным наложением.', - 'validation-error-invalid-goverlays' => 'Параметр $1 должен содержать одно или несколько корректных наложений.', - 'maps-abb-north' => 'С', - 'maps-abb-east' => 'В', - 'maps-abb-south' => 'Ю', - 'maps-abb-west' => 'З', - 'maps-latitude' => 'Широта:', - 'maps-longitude' => 'Долгота:', - 'maps-invalid-coordinates' => 'Значение $1 не признано допустимым набором координат.', - 'maps_coordinates_missing' => 'Не указаны координаты для карты.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Следующий адрес не может быть геокодирован|Следующие адреса не могут быть геокодированы}}: $1. -Карта не может быть отображена.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Следующий адрес не может быть геокодирован и был удалён|Следующие адреса не могут быть геокодированы и были удалены}} с карты: -$1', - 'maps_unrecognized_coords' => 'Следующие {{PLURAL:$2|координаты|координаты}} не были опознаны: $1.', - 'maps_unrecognized_coords_for' => 'Следующие координаты не были опознаны, {{PLURAL:$2|они|они}} не показаны на карте: -$1', - 'maps_map_cannot_be_displayed' => 'Карта не может быть показана.', - 'maps-geocoder-not-available' => 'Функция геокодирования карт недоступна, ваше местоположение не может быть геокодировано.', - 'maps_click_to_activate' => 'Нажмите для активации карты', - 'maps_centred_on' => 'Центр карты — $1, $2.', - 'maps-googlemaps2-incompatbrowser' => 'Ваш браузер несовместим с Google Maps v2.', - 'maps_overlays' => 'Слои', - 'maps_photos' => 'Фото', - 'maps_videos' => 'Видео', - 'maps_wikipedia' => 'Википедия', - 'maps_webcams' => 'Веб-камеры', - 'maps-googlemaps2-par-kml' => 'KML файлы для загрузки на карту.', - 'maps-googlemaps3-incompatbrowser' => 'Ваш браузер несовместим с Google Maps v3.', -); - -/** Rusyn (Русиньскый) - * @author Gazeb - */ -$messages['rue'] = array( - 'maps_map' => 'Мапа', - 'maps-loading-map' => 'Награваня мапы. . .', - 'maps-abb-north' => 'С', - 'maps-abb-east' => 'В', - 'maps-abb-south' => 'Ю', - 'maps-abb-west' => 'З', -); - -/** Sinhala (සිංහල) - * @author තඹරු විජේසේකර - */ -$messages['si'] = array( - 'maps-loading-map' => 'සිතියම පුරණය වෙමින් පවතී...', - 'maps-abb-north' => 'උ', - 'maps-abb-east' => 'නැ', - 'maps-abb-south' => 'ද', - 'maps-abb-west' => 'බ', -); - -/** Slovak (Slovenčina) - * @author Helix84 - */ -$messages['sk'] = array( - 'maps-desc' => 'Poskytuje možnosť zobrazovať údaje súradníc na mapách a tvoriť geografické adresy lokalít ([http://wiki.bn2vs.com/wiki/Semantic_Maps demo]). -Dostupné mapovacie služby: $1', - 'maps_map' => 'Mapa', - 'maps-abb-north' => 'S', - 'maps-abb-east' => 'V', - 'maps-abb-south' => 'J', - 'maps-abb-west' => 'Z', - 'maps-latitude' => 'Zem. dĺžka:', - 'maps-longitude' => 'Zem. šírka:', - 'maps_coordinates_missing' => 'Neboli poskytnuté žiadne súradnice.', - 'maps_geocoding_failed' => 'Nebolo možné určiť súradnice {{PLURAL:$2|nasledovnej adresy|nasledovných adries}}: $1.', - 'maps_geocoding_failed_for' => 'Nebolo možné určiť súradnice {{PLURAL:$2|nasledovnej adresy|nasledovných adries}} a {{PLURAL:$2|bola vynechaná|boli vynechané}} z mapy: $1.', -); - -/** Slovenian (Slovenščina) - * @author Dbc334 - * @author Lesko987 - */ -$messages['sl'] = array( - 'maps-desc' => 'Omogoča vključevanje dinamičnih zemljevidov na wiki strani, geokodiranje naslovov in drugih geografskih operacij. ([http://mapping.referata.com/wiki/Examples Primeri])', - 'maps_map' => 'Zemljevid', - 'maps-loading-map' => 'Nakladanje zemljevida...', - 'maps-load-failed' => 'Zemljevid ni bilo mogoče naložiti.', - 'maps-abb-north' => 'S', - 'maps-abb-east' => 'V', - 'maps-abb-south' => 'J', - 'maps-abb-west' => 'Z', - 'maps-latitude' => 'Zemljepisna širina:', - 'maps-longitude' => 'Zemljepisna dolžina:', - 'maps_googlemaps2' => 'Google Maps v2', - 'maps_googlemaps3' => 'Google Maps v3', - 'maps_yahoomaps' => 'Yahoo! Maps', - 'maps_openlayers' => 'OpenLayers', - 'maps_osm' => 'OpenStreetMap', - 'maps_photos' => 'Fotografije', - 'maps_videos' => 'Videoposnetki', - 'maps_wikipedia' => 'Wikipedija', - 'maps_webcams' => 'Spletne kamere', -); - -/** Serbian (Cyrillic script) (‪Српски (ћирилица)‬) - * @author Rancher - * @author Михајло Анђелковић - */ -$messages['sr-ec'] = array( - 'maps_map' => 'Мапа', - 'maps-loading-map' => 'Учитавање мапе...', - 'maps-abb-north' => 'С', - 'maps-abb-east' => 'И', - 'maps-abb-south' => 'Ј', - 'maps-abb-west' => 'З', - 'maps-latitude' => 'Географска ширина:', - 'maps-longitude' => 'Географска дужина:', - 'maps_googlemaps2' => 'Гугл мапе, друго издање', - 'maps_googlemaps3' => 'Гугл мапе, треће издање', - 'maps_yahoomaps' => 'Јаху мапе', - 'maps_openlayers' => 'Опенлејерс', - 'maps_osm' => 'Опенстритмап', - 'maps_photos' => 'Фотографије', - 'maps_videos' => 'Видео снимци', - 'maps_webcams' => 'Веб-камере', -); - -/** Serbian (Latin script) (‪Srpski (latinica)‬) */ -$messages['sr-el'] = array( - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Učitavanje mape...', - 'maps-abb-north' => 'S', - 'maps-abb-east' => 'I', - 'maps-abb-south' => 'J', - 'maps-abb-west' => 'Z', - 'maps-latitude' => 'Geografska širina:', - 'maps-longitude' => 'Geografska dužina:', - 'maps_photos' => 'Fotografije', - 'maps_videos' => 'Video snimci', - 'maps_webcams' => 'Veb-kamere', -); - -/** Swedish (Svenska) - * @author Ainali - * @author Dafer45 - * @author Fader - * @author Fluff - * @author Per - * @author WikiPhoenix - */ -$messages['sv'] = array( - 'maps-desc' => 'Ger möjlighet att bädda in dynamiska kartor i wiki-sidor, geokoding av adresser och andra geografiska åtgärder. ([http://mapping.referata.com/wiki/Maps_examples Demo]).', - 'right-geocode' => 'Geokod', - 'maps_map' => 'Karta', - 'maps-loading-map' => 'Laddar karta ...', - 'maps-load-failed' => 'Kunde inte läsa in karta!', - 'maps-markers' => 'Markörer', - 'maps-others' => 'andra', - 'maps-ns-layer' => 'Lager', - 'maps-ns-layer-talk' => 'Lagerdiskussion', - 'maps-layer-property' => 'Egenskap', - 'maps-layer-value' => 'Värde', - 'maps-layer-errors' => 'Fel', - 'maps-error-invalid-layerdef' => 'Denna lagerdefinition är inte giltigt.', - 'maps-error-invalid-layertype' => 'Det finns inga lager av typen "$1". Endast {{PLURAL:$3|denna typ|denna typer}} stöds: $2', - 'maps-error-no-layertype' => 'Du måste ange lagertypen. {{PLURAL:$2|Endast denna typ|Dessa typer}} stöds: $1', - 'validation-error-invalid-layer' => 'Parameter $1 måste vara ett giltig lager.', - 'validation-error-invalid-layers' => 'Parameter $1 måste vara ett eller flera giltiga lager.', - 'maps-layer-of-type' => 'Lagertyp $1', - 'maps-layer-type-supported-by' => 'Denna lagertyp kan endast användas med {{PLURAL:$2|kartläggningstjänsten $1|dessa kartläggningstjänster: $1}}.', - 'maps-mapsdoc-par-service' => 'Kartläggningstjänsten för att visa parameterdokumentation.', - 'maps-mapsdoc-par-language' => 'Språket som du vill visa dokumentationen i. Om det finns någon sådan översättning kommer engelska att användas istället.', - 'maps-finddestination-par-distance' => 'Reseavståndet.', - 'maps-geocode-par-location' => 'Adressen som du vill geokoda.', - 'maps-geocode-par-mappingservice' => 'Geokodningstjänsten du vill använda. Se de tillgängliga geokodningtjänsterna.', - 'validation-error-invalid-location' => 'Parameter $1 måste vara en giltig plats.', - 'validation-error-invalid-locations' => 'Parameter $1 måste vara en eller flera giltiga platser.', - 'validation-error-invalid-width' => 'Parameter $1 måste vara en giltig bredd.', - 'validation-error-invalid-height' => 'Parameter $1 måste vara en giltig höjd.', - 'validation-error-invalid-distance' => 'Parameter $1 måste vara ett giltigt avstånd.', - 'validation-error-invalid-distances' => 'Parameter $1 måste vara en eller flera giltiga avstånd.', - 'validation-error-invalid-image' => 'Parameter $1 måste vara en giltig bild.', - 'validation-error-invalid-images' => 'Parameter $1 måste vara en eller flera giltiga bilder.', - 'validation-error-invalid-goverlay' => 'Parameter $1 måste vara ett giltigt överlägg.', - 'validation-error-invalid-goverlays' => 'Parameter $1 måste vara en eller flera giltiga överlägg.', - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'Ö', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'V', - 'maps-latitude' => 'Breddgrad:', - 'maps-longitude' => 'Längdgrad:', - 'maps-invalid-coordinates' => 'Värdet $1 identifierades inte som en giltig uppsättning koordinater.', - 'maps_coordinates_missing' => 'Inga koordinater angivna för kartan.', - 'maps_geocoding_failed' => 'Följande {{PLURAL:$2|adress|adresser}} kunde inte geokodas: $1. -Kartan kan inte visas.', - 'maps_geocoding_failed_for' => 'Följande {{PLURAL:$2|adress|adresser}}kunde inte geokodas och {{PLURAL:$2|har|har}} uteslutits från kartan: $1', - 'maps_unrecognized_coords' => 'Följande {{PLURAL:$2|koordinat|koordinater}} kändes inte igen: $1.', - 'maps_unrecognized_coords_for' => 'Följande {{PLURAL:$2|koordinat|koordinater}} kändes inte igen och {{PLURAL:$2|har|har}} utelämnats från kartan: -$1', - 'maps_map_cannot_be_displayed' => 'Kartan kan inte visas.', - 'maps_click_to_activate' => 'Klicka för att aktivera karta', - 'maps_centred_on' => 'Karta centrerad på $1, $2.', - 'maps-googlemaps2-incompatbrowser' => 'Din webbläsare är inte kompatibel med Google Maps v2.', - 'maps_overlays' => 'Överlägg', - 'maps_photos' => 'Foton', - 'maps_videos' => 'Videoklipp', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webbkameror', - 'maps-googlemaps2-par-autozoom' => 'Aktivera rullning med mushjulet.', - 'maps-googlemaps2-par-overlays' => 'Överlägg användaren kan aktivera.', - 'maps-googlemaps3-incompatbrowser' => 'Din webbläsare är inte kompatibel med Google Maps v3.', - 'maps-osm-par-photos' => 'Visa foton', - 'maps-yahoomaps-par-autozoom' => 'Aktivera rullning med mushjulet.', -); - -/** Telugu (తెలుగు) - * @author Veeven - */ -$messages['te'] = array( - 'maps_map' => 'పటం', - 'maps-layer-property' => 'లక్షణం', - 'maps-layer-value' => 'విలువ', - 'maps-layer-errors' => 'పొరపాట్లు', - 'maps-abb-north' => 'ఉ', - 'maps-abb-east' => 'తూ', - 'maps-abb-south' => 'ద', - 'maps-abb-west' => 'ప', - 'maps-latitude' => 'అక్షాంశం:', - 'maps-longitude' => 'రేఖాంశం:', - 'maps_photos' => 'చిత్రాలు', - 'maps_videos' => 'దృశ్యకాలు', - 'maps_wikipedia' => 'వికీపీడియా', -); - -/** Thai (ไทย) - * @author Woraponboonkerd - */ -$messages['th'] = array( - 'maps-desc' => 'ให้ความสามารถในการแสดงพิกัดในแผนที่ และที่อยู่ที่เป็นรหัสทางภูมิศาสตร์([http://mapping.referata.com/wiki/Maps_examples demo]). -
    บริการแผนที่ที่มีอยู่: $1', - 'maps_coordinates_missing' => 'ไม่ได้กำหนดพิกัดของแผนที่มาให้', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'maps-desc' => 'Nagpapagana ng pagbabaon ng gumagalaw na mga mapa papaloob sa mga pahina ng wiki, pagkokodigong pangheograpiya ng mga tirahan at ibang mga gawaing pangheograpiya. ([http://mapping.referata.com/wiki/Examples mga pagpapatunghay]) - -kakayahang ipakita ang dato ng tugmaang-pampook sa loob ng mga mapa, at mga triahan ([http://mapping.referata.com/wiki/Maps_examples mga pagpapatunghay])', - 'maps_map' => 'Mapa', - 'maps-loading-map' => 'Ikinakarga ang mapa...', - 'maps-load-failed' => 'Hindi maikarga ang mapa!', - 'maps-markers' => 'Mga palatandaan', - 'maps-others' => 'iba pa', - 'maps-ns-layer' => 'Patong', - 'maps-ns-layer-talk' => 'Usapan sa patong', - 'maps-layer-property' => 'Ari-arian', - 'maps-layer-value' => 'Halaga', - 'maps-layer-errors' => 'Mga kamalian', - 'maps-error-invalid-layerdef' => 'Hindi tanggap ang kahulugan ng patong.', - 'maps-error-invalid-layertype' => 'Walang mga patong ng uring "$1". Tanging {{PLURAL:$3|ganitong uri|ganitong mga uri}} lamang ang tinatangkilik: $2', - 'maps-error-no-layertype' => 'Kailangan mong tukuyin ang uri ng patong. {{PLURAL:$2|Ganitong uri lamang ang|Ganitong mga uri ang}} tinatangkilik: $1', - 'validation-error-invalid-layer' => 'Ang parametrong $1 ay dapat na isang tanggap na patong.', - 'validation-error-invalid-layers' => 'Ang parametrong $1 ay dapat na isa o mahigit pang katanggap-tanggap na mga patong.', - 'maps-layer-of-type' => 'Patong ng uring $1', - 'maps-layer-type-supported-by' => 'Ang ganitong uri ng patong ay {{PLURAL:$2|magagamit lamang sa $1 na palingkuran ng pagmamapa|magagamit lamang sa ganitong mga palingkuran ng pagmamapa: $1}}.', - 'maps-coordinates-description' => 'Kawint ng banghay upang maianyo ang mga tugmaang-pampook, magmula at papunta sa anuman sa tinatangkilik na mga anyo.', - 'maps-displaymap-description' => 'Ipakita ang mga mapang pangheograpiya na walang anumang tinukoy na pangwiking mga pananda sa ibabaw nila.', - 'maps-displaypoint-description' => 'Ipakita ang mga mapang pangheograpiya na may isa o higit pang tinukoy na pangwiking mga pananda sa ibabaw nila.', - 'maps-finddestination-description' => 'Maghanap ng isang patutunguhan na binigyan ng tuldok ng pagsisimula (na maaaring nasa loob ng anuman sa tinatangkilik na mga anyo), isang paunang kapupuntahan at isang layo.', - 'maps-geodistance-description' => 'Tuusin ang pangheograpiyang layo sa pagitan ng dalawang mga tuldok, magmula at papunta sa anumang tinatangkilik na mga anyo.', - 'maps-coordinates-par-location' => 'Ang mga tugmaang-pampook na nais mong iayos ang anyo.', - 'maps-coordinates-par-format' => 'Ang pinupukol na anyo para sa mga tugmaang-pampook.', - 'maps-coordinates-par-directional' => 'Nagpapahiwatig kung ang mga tugmaang-pampook ay dapat na ilabas bilang pangpatutunguhan o hindi.', - 'maps-distance-par-distance' => 'Ang layo na gagawing katumbas nito na may tinukoy na yunit.', - 'maps-distance-par-decimals' => 'Ang pinakamataas na bilang ng kakarampot na mga tambilang na gagamitin sa kalalabasang halaga.', - 'maps-distance-par-unit' => 'Ang yunit na kalalabasan ng layo.', - 'maps-finddestination-par-location' => 'Ang paunang kinalalagyan.', - 'maps-finddestination-par-bearing' => 'Ang paunang patutunguhan.', - 'maps-finddestination-par-distance' => 'Ang layo ng lalakbayin.', - 'maps-finddestination-par-format' => 'Ang anyo kung paano ilalabas ang patutunguhan.', - 'maps-geocode-par-location' => 'Ang tirahan na nais mong ikodigong pangheograpiya.', - 'maps-geocode-par-format' => 'Ang anyo para sa kinalalabasang mga tugmaang pampook.', - 'maps-geocode-par-directional' => 'Nagpapahiwatig kung ang mga tugmaang-pampook ay dapat na ilabas bilang pangpatutunguhan o hindi.', - 'maps-geodistance-par-location1' => 'Ang unang tuldok sa loob ng isang pangkat upang tuusin ang layo sa pagitan.', - 'maps-geodistance-par-location2' => 'Ang pangalawang tuldok sa loob ng isang pangkat upang tuusin ang layo sa pagitan.', - 'maps-geodistance-par-unit' => 'Ang yunit na kinapapalooban ng kinalalabasan ng layo.', - 'maps-geodistance-par-decimals' => 'Ang pinakamataas na bilang ng kakarampot na mga tambilang na gagamitin sa kalalabasang halaga.', - 'maps-geodistance-par-mappingservice' => 'Ang palingkuran ng pagkokodigong pangheograpiya na gagamitin upang maikodigong pangheograpiya ang anumang mga tirahan.', - 'maps-displaymap-par-mappingservice' => 'Nagpapahintulot na maitakda ang palingkuran ng pagmamapa na gagamitin upang likhain ang mapa.', - 'maps-displaymap-par-coordinates' => 'Ang kinalalagyan na paunang pagpapagitnaan ng mapa.', - 'maps-displaypoints-par-zoom' => 'Nagpapahintulot sa pagtatakda ng antas ng paglapit ng mapa. -Kapag hindi ibinigay at mayroong maramihang mga pananda sa ibabaw ng mapa, kukunin ang pinakaangkop na paglapit, hindi ang maiaayos na likas na katakdaan.', - 'maps-displaypoints-par-mappingservice' => 'Nagpapahintulot na maitakda ang palingkuran ng pagmamapa na gagamitin upang likhain ang mapa.', - 'maps-displaypoints-par-coordinates' => 'Isa o marami pang mga kinalalagyan na ipapakita sa mapa. Ipapahiwatig ang mga ito sa pamamagitan ng isang pananda.', - 'maps-displaypoints-par-centre' => 'Nagbibigay-daan sa pagtatakda ng mga tugmaang pampook ng gitna ng mapa para sa (mga) tuldok_na_ipapakita. -Tumatanggap kapwa ng mga tirahan o mga tugmaang pampook. -Kapag hindi ibinigay ang pag-aaring ito, igigitna ng mapa ang kanyang sarili sa ibinigay na pangmarka, o sa gitna ng ibinigay na mga pananda.', - 'maps-displaypoints-par-icon' => 'Nagpapahintulot sa pagtatakda ng ginagamit na kinatawang larawang para sa lahat ng mga pananda.', - 'validation-error-invalid-location' => 'Ang parametrong $1 ay dapat na isang tanggap na lokasyon.', - 'validation-error-invalid-locations' => 'Ang parametrong $1 ay dapat na isa o mahigit pang tanggap na mga lokasyon.', - 'validation-error-invalid-width' => 'Ang parametrong $1 ay dapat na isang tanggap na lapad.', - 'validation-error-invalid-height' => 'Ang parametrong $1 ay dapat na isang tanggap na taas.', - 'validation-error-invalid-distance' => 'Ang parametrong $1 ay dapat na isang tanggap na layo.', - 'validation-error-invalid-distances' => 'Ang parametrong $1 ay dapat na isa o mahigit pang tanggap na mga layo.', - 'validation-error-invalid-image' => 'Ang parametrong $1 ay dapat na isang katanggap-tanggap na larawan.', - 'validation-error-invalid-images' => 'Ang parametrong $1 ay dapat na isa o mahigit pang katanggap-tanggap na mga larawan.', - 'validation-error-invalid-goverlay' => 'Ang parametrong $1 ay dapat na isang tanggap na patong.', - 'validation-error-invalid-goverlays' => 'Ang parametrong $1 ay dapat na isa o mahigit pang katanggap-tanggap na mga patong.', - 'maps-abb-north' => 'H', - 'maps-abb-east' => 'S', - 'maps-abb-south' => 'T', - 'maps-abb-west' => 'K', - 'maps-latitude' => 'Latitud:', - 'maps-longitude' => 'Longhitud:', - 'maps-invalid-coordinates' => 'Hindi kinilala ang halagang $1 bilang isang tanggap na pangkat ng mga tugmaang-pampook.', - 'maps_coordinates_missing' => 'Walang mga tugmaang-pampook na ibinigay para sa mapa.', - 'maps_geocoding_failed' => 'Hindi mageokodigo ang sumusunod na {{PLURAL:$2|tirahan|mga tirahan}}: $1.', - 'maps_geocoding_failed_for' => 'Hindi mageokodigo ang sumusunod na {{PLURAL:$2|tirahan|mga tirahan}} at {{PLURAL:$2|tinanggal|mga tinanggal}} na mula sa mapa: -$1', - 'maps_unrecognized_coords' => 'Hindi kinilala ang sumusunod na {{PLURAL:$2|tugmaan|mga tugmaan}}: $1.', - 'maps_unrecognized_coords_for' => 'Hindi nakilala ang sumusunod na {{PLURAL:$2|tugmaang pampook|mga tugmaang pampook}} at {{PLURAL:$2|inalis|mga inalis}} na mula sa mapa: -$1', - 'maps_map_cannot_be_displayed' => 'Hindi maipapakita ang mapa.', - 'maps-geocoder-not-available' => 'Wala ang katangiang-kasangkapang pang-geokodigo ng Mga Mapa. Hindi mageokodigo ang lokasyon mo.', - 'maps_click_to_activate' => 'Pindutin upang mabuhay ang mapa', - 'maps_centred_on' => 'Nakagitna ang mapa sa $1, $2.', - 'maps-par-resizable' => 'Nakagagawang mababago ang sukat ng mapa sa pamamagitan ng pagkaladkad doon sa pang-ibabang kanang sulok nito.', - 'maps-googlemaps2-incompatbrowser' => 'Ang pantingin-tingin mo ay hindi kalapat sa Mga Mapa ng Google v2.', - 'maps_overlays' => 'Mga patong', - 'maps_photos' => 'Mga larawan', - 'maps_videos' => 'Mga bidyo', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Mga webkam', - 'maps-googlemaps2-par-type' => 'Ang uri ng mapa na unang ipapakita.', - 'maps-googlemaps2-par-types' => 'Ang mga uri ng mapa na magiging makukuha sa pamamagitan ng pantaban ng uri.', - 'maps-googlemaps2-par-controls' => 'Ang mga pantaban na ilalagay sa ibabaw ng mapa.', - 'maps-googlemaps2-par-autozoom' => 'Paganahin ang pagpapagulong sa pamamagitan ng gulong ng daga-dagaan.', - 'maps-googlemaps2-par-kml' => 'Mga talaksan ng KML na ikakarga sa ibabaw ng mapa.', - 'maps-googlemaps2-par-overlays' => 'Mga patong na pang-ibabaw na mabubuhay ng tagagamit.', - 'maps-googlemaps3-incompatbrowser' => 'Ang pantingin-tingin mo ay hindi katambal ng Mga Mapa ng Google v3.', - 'maps-googlemaps3-par-type' => 'Ang uri ng mapa na unang ipapakita.', - 'maps-googlemaps3-par-types' => 'Ang mga uri ng mapa na magiging makukuha sa pamamagitan ng pantaban ng uri.', - 'maps-googlemaps3-par-layers' => 'Natatanging mga patong na ikakarga sa ibabaw ng mapa.', - 'maps-googlemaps3-par-controls' => 'Ang mga pantaban na ilalagay sa ibabaw ng mapa.', - 'maps-googlemaps3-par-zoomstyle' => 'Ang estilo ng pantaban ng paglapit.', - 'maps-googlemaps3-par-typestyle' => 'Ang estilo ng pantaban ng uri.', - 'maps-googlemaps3-par-autoinfowindows' => 'Kusang buksan ang lahat ng mga dungawan ng kabatiran pagkaraang maikarga ang pahina.', - 'maps-googlemaps3-par-kml' => 'Mga talaksan ng KML na ikakarga sa ibabaw ng mapa.', - 'maps-googlemaps3-par-fusiontables' => 'Mga ID ng mga Talahanayan ng Pagtutumbaga ng Google na dapat ikarga sa ibabaw ng mapa.', - 'maps-openlayers-par-controls' => 'Ang mga pantaban na ilalagay sa ibabaw ng mapa.', - 'maps-openlayers-par-layers' => 'Ang mga patong ay magiging makukuha sa loob ng pilian ng patong. Ang unang patong ay ipapakita kapag kumarga na ang mapa.', - 'maps-osm-par-thumbs' => 'Ipakita ang mga kagyat', - 'maps-osm-par-photos' => 'Ipakita ang mga larawan', - 'maps-yahoomaps-par-type' => 'Ang uri ng mapa na unang ipapakita.', - 'maps-yahoomaps-par-types' => 'Ang mga uri ng mapa na magiging makukuha sa pamamagitan ng pantaban ng uri.', - 'maps-yahoomaps-par-controls' => 'Ang mga pantaban na ilalagay sa ibabaw ng mapa.', - 'maps-yahoomaps-par-autozoom' => 'Paganahin ang pagbabalumbon na ginagamit ang gulong ng daga-dagaan.', -); - -/** Turkish (Türkçe) - * @author Joseph - * @author Manco Capac - * @author Vito Genovese - */ -$messages['tr'] = array( - 'maps_map' => 'Harita', - 'maps-loading-map' => 'Harita yükleniyor...', - 'validation-error-invalid-distance' => '$1 değeri geçerli bir mesafe değeri değildir.', - 'maps-abb-north' => 'K', - 'maps-abb-east' => 'D', - 'maps-abb-south' => 'G', - 'maps-abb-west' => 'B', - 'maps-latitude' => 'Enlem:', - 'maps-longitude' => 'Boylam:', - 'maps-invalid-coordinates' => '$1 değeri geçerli bir koordinat olarak algılanmadı.', - 'maps_coordinates_missing' => 'Harita için koordinat girilmedi.', - 'maps_geocoding_failed' => 'Takip eden {{PLURAL:$2|adres|adresler}} coğrafi olarak kodlanmaıyor: $1', - 'maps_unrecognized_coords' => 'Şu {{PLURAL:$2|koordinat|koordinatlar}} tanınamadı: $1', - 'maps_map_cannot_be_displayed' => 'Harita görüntülenemiyor.', - 'maps-geocoder-not-available' => 'Haritanın coğrafi kodlama özelliği etkin değil. Konumunuz kodlanamıyor.', - 'maps_click_to_activate' => 'Haritayı etkinleştirmek için tıkla', - 'maps_centred_on' => 'Harita, $1 $2 koordinatlarında ortalandı.', - 'maps_overlays' => 'Katmanlar', - 'maps_photos' => 'Fotoğraflar', - 'maps_videos' => 'Videolar', - 'maps_wikipedia' => 'Vikipedi', - 'maps_webcams' => 'Web kameraları', -); - -/** Tatar (Cyrillic script) (Татарча) - * @author Ильнар - */ -$messages['tt-cyrl'] = array( - 'maps_wikipedia' => 'Википедия', -); - -/** Ukrainian (Українська) - * @author Arturyatsko - * @author Тест - */ -$messages['uk'] = array( - 'maps-desc' => 'Дає змогу вбудовування динамічних карт у сторінки вікі, геокодування адрес та інші географічні операції. ([http://mapping.referata.com/wiki/Examples demos]).', - 'maps_map' => 'Мапа', - 'maps-loading-map' => 'Завантаження мапи...', - 'maps-markers' => 'Відмітки', - 'maps-layer-property' => 'Властивість', - 'maps-layer-value' => 'Значення', - 'maps-layer-errors' => 'Помилки', - 'validation-error-invalid-distance' => 'Параметр $1 повинен бути дійсною відстанню.', - 'maps-abb-north' => 'П', - 'maps-abb-east' => 'С', - 'maps-abb-south' => 'П', - 'maps-abb-west' => 'З', - 'maps-latitude' => 'Широта:', - 'maps-longitude' => 'Довгота:', - 'maps-invalid-coordinates' => 'Значення $1 не є дійсним набором координат.', - 'maps_coordinates_missing' => 'Не вказані координати для мапи.', - 'maps_geocoding_failed' => '{{PLURAL:$2|Ця адреса не може бути геокодована|Ці адреси не можуть бути геокодовані}}: $1. -Мапа не може бути відображена.', - 'maps_geocoding_failed_for' => '{{PLURAL:$2|Наступна адреса не може бути геокодована та була видалена|Наступні адреси не можуть бути геокодовані та були видалені}} з мапи: -$1', - 'maps_unrecognized_coords' => 'Ці {{PLURAL:$2|координати|координати}} не були розпізнані: $1.', - 'maps_unrecognized_coords_for' => 'Наступні координати не були розпізнані, {{PLURAL:$2|вони|вони}} не показані на мапі: -$1', - 'maps_map_cannot_be_displayed' => 'Мапа не може бути відображена.', - 'maps-geocoder-not-available' => 'Функція геокодування мап недоступна. Ваше місце розташування не може бути геокодоване.', - 'maps_click_to_activate' => 'Натисність щоб активувати мапу', - 'maps_centred_on' => 'Центр мапи — $1, $2.', - 'maps_overlays' => 'Шари', - 'maps_photos' => 'Фото', - 'maps_videos' => 'Відео', - 'maps_wikipedia' => 'Вікіпедія', - 'maps_webcams' => 'Веб-камери', -); - -/** Veps (Vepsan kel') */ -$messages['vep'] = array( - 'maps-abb-north' => 'Pohj.', - 'maps-abb-east' => 'Päivl.', - 'maps-abb-south' => 'Suvi', - 'maps-abb-west' => 'Päivn.', - 'maps-latitude' => 'Leveduz:', - 'maps-longitude' => 'Piduz:', -); - -/** Vietnamese (Tiếng Việt) - * @author Minh Nguyen - * @author Vinhtantran - */ -$messages['vi'] = array( - 'maps-desc' => 'Cung cấp khả năng nhúng bản đồ vào trang wiki, mã hóa địa lý các địa chỉ, và thực hiện các tác vụ địa lý khác ([http://mapping.referata.com/wiki/Examples thử xem])', - 'right-geocode' => 'Mã hóa địa lý', - 'maps_map' => 'Bản đồ', - 'maps-loading-map' => 'Đang tải bản đồ…', - 'maps-load-failed' => 'Không thể tải bản đồ!', - 'maps-markers' => 'Chú thích', - 'maps-others' => 'khác', - 'maps-ns-layer' => 'Lớp', - 'maps-ns-layer-talk' => 'Thảo luận Lớp', - 'maps-layer-property' => 'Thuộc tính', - 'maps-layer-value' => 'Giá trị', - 'maps-layer-errors' => 'Lỗi', - 'maps-error-invalid-layerdef' => 'Định nghĩa lớp này không hợp lệ.', - 'maps-error-invalid-layertype' => 'Không có lớp nào kiểu “$1”. Chỉ có {{PLURAL:$3|loại|các loại}} này được hỗ trợ: $2', - 'maps-error-no-layertype' => 'Cần phải định rõ kiểu lớp. {{PLURAL:$2|Kiểu|Các kiểu}} này được hỗ trợ: $1', - 'validation-error-invalid-layer' => 'Tham số $1 phải là một lớp hợp lệ.', - 'validation-error-invalid-layers' => 'Tham số $1 phải là một hoặc nhiều lớp hợp lệ.', - 'maps-layer-of-type' => 'Lớp kiểu $1', - 'maps-layer-type-supported-by' => '{{PLURAL:$2|Có thể|Chỉ có thể}} sử dụng kiểu lớp này với {{PLURAL:$2|dịch vụ bản đồ $1|các dịch vụ bản đồ: $1}}.', - 'maps-coordinates-par-location' => 'Tọa độ để định dạng hóa.', - 'maps-coordinates-par-format' => 'Định dạng cho ra tọa độ.', - 'maps-coordinates-par-directional' => 'Nên cho ra hướng với tọa độ hay không.', - 'maps-distance-par-decimals' => 'Đa số chữ số thập phân trong giá trị kết quả.', - 'maps-distance-par-unit' => 'Đơn vị của tầm xa được cho ra.', - 'maps-finddestination-par-location' => 'Vị trí ban đầu.', - 'maps-finddestination-par-bearing' => 'Hướng ban đầu.', - 'maps-finddestination-par-distance' => 'Tầm xa để chạy.', - 'maps-finddestination-par-format' => 'Định dạng cho ra nơi đến', - 'maps-geocode-par-location' => 'Địa chỉ để mã hóa địa lý.', - 'validation-error-invalid-location' => 'Tham số $1 phải là một vị trí hợp lệ.', - 'validation-error-invalid-locations' => 'Tham số $1 phải là một hoặc nhiều vị trí hợp lệ.', - 'validation-error-invalid-width' => 'Tham số $1 phải là một chiều rộng hợp lệ.', - 'validation-error-invalid-height' => 'Tham số $1 phải là một chiều cao hợp lệ.', - 'validation-error-invalid-distance' => 'Tham số $1 phải là một tầm hợp lệ.', - 'validation-error-invalid-distances' => 'Tham số $1 phải là một hoặc nhiều vị trí hợp lệ.', - 'validation-error-invalid-image' => 'Tham số $1 phải là một hình ảnh hợp lệ.', - 'validation-error-invalid-images' => 'Tham số $1 phải là một hoặc nhiều hình ảnh hợp lệ.', - 'validation-error-invalid-goverlay' => 'Tham số $1 phả là một lấp hợp lệ.', - 'validation-error-invalid-goverlays' => 'Tham số $1 phải là một hoặc nhiều lấp hợp lệ.', - 'maps-abb-north' => 'B', - 'maps-abb-east' => 'Đ', - 'maps-abb-south' => 'N', - 'maps-abb-west' => 'T', - 'maps-latitude' => 'Vĩ độ:', - 'maps-longitude' => 'Kinh độ:', - 'maps-invalid-coordinates' => 'Giá trị $1 không được nhận ra là tọa độ hợp lệ.', - 'maps_coordinates_missing' => 'Chưa định rõ tọa độ cho bản đồ.', - 'maps_geocoding_failed' => 'Không thể tính ra mã địa lý của {{PLURAL:$2|địa chỉ|các địa chỉ}} sau: $1. -Không thể hiển thị bản đồ.', - 'maps_geocoding_failed_for' => 'Không thể tính ra mã địa lý của {{PLURAL:$2|địa chỉ|các địa chỉ}} sau nên bản đồ bỏ qua nó: -$1', - 'maps_unrecognized_coords' => 'Không thể nhận ra {{PLURAL:$2|tọa độ|các tọa độ}} sau: $1.', - 'maps_unrecognized_coords_for' => 'Không thể nhận ra {{PLURAL:$2|tọa độ|các tọa độ}} sau nên bản đồ bỏ qua nó: -$1', - 'maps_map_cannot_be_displayed' => 'Không thể hiển thị bản đồ.', - 'maps-geocoder-not-available' => 'Không thể mã hóa vị trí của bạn vì tính năng mã hóa địa lý của Bản đồ không có sẵn.', - 'maps_osm' => 'OpenStreetMap', - 'maps_click_to_activate' => 'Nhấn chuột vào bản đồ để kích hoạt', - 'maps_centred_on' => 'Bản đồ với trung tậm tại $1, $2.', - 'maps-googlemaps2-incompatbrowser' => 'Trình duyệt của bạn không tương tích với Google Bản đồ v2.', - 'maps_overlays' => 'Lấp', - 'maps_photos' => 'Hình ảnh', - 'maps_videos' => 'Video', - 'maps_wikipedia' => 'Wikipedia', - 'maps_webcams' => 'Webcam', - 'maps-openlayers-par-controls' => 'Các điều khiển đặt trên bản đồ.', - 'maps-openlayers-par-layers' => 'Các lớp sẽ có sẵn trong hộp chọn lớp. Lớp đầu tiên là lớp mặc định.', - 'maps-osm-par-thumbs' => 'Hiện hình thu nhỏ', - 'maps-osm-par-photos' => 'Hiện hình ảnh', -); - -/** Volapük (Volapük) */ -$messages['vo'] = array( - 'maps-abb-north' => 'N', - 'maps-abb-east' => 'L', - 'maps-abb-south' => 'S', - 'maps-abb-west' => 'V', - 'maps-latitude' => 'Videt:', - 'maps-longitude' => 'Lunet:', -); - -/** Chinese (China) (‪中文(中国大陆)‬) */ -$messages['zh-cn'] = array( - 'maps-latitude' => '纬度:', - 'maps-longitude' => '经度:', -); - -/** Simplified Chinese (‪中文(简体)‬) - * @author Hydra - * @author PhiLiP - */ -$messages['zh-hans'] = array( - 'maps_map' => '地图', - 'maps-loading-map' => '载入地图中……', - 'maps-load-failed' => '无法加载地图!', - 'maps-markers' => '标记', - 'maps-others' => '其他', - 'maps-ns-layer' => '图层', - 'maps-ns-layer-talk' => '图层讨论', - 'maps-layer-property' => '属性', - 'maps-layer-value' => '价值', - 'maps-layer-errors' => '错误', - 'maps-error-invalid-layerdef' => '这一层定义不是有效的。', - 'maps-abb-north' => '北', - 'maps-abb-east' => '东', - 'maps-abb-south' => '南', - 'maps-abb-west' => '西', - 'maps-latitude' => '纬度:', - 'maps-longitude' => '经度:', - 'maps_overlays' => '叠加', - 'maps_photos' => '照片', - 'maps_videos' => '视频', - 'maps_wikipedia' => '维基百科', - 'maps_webcams' => '网络摄像机', - 'maps-osm-par-thumbs' => '显示大拇指', - 'maps-osm-par-photos' => '显示图片', -); - -/** Traditional Chinese (‪中文(繁體)‬) - * @author Horacewai2 - * @author Mark85296341 - * @author Waihorace - */ -$messages['zh-hant'] = array( - 'maps_map' => '地圖', - 'maps-loading-map' => '載入中...', - 'maps-markers' => '標記', - 'maps-others' => '其他', - 'maps-ns-layer' => '圖層', - 'maps-layer-property' => '屬性', - 'maps-layer-errors' => '錯誤', - 'maps-finddestination-par-location' => '初始位置。', - 'maps-finddestination-par-bearing' => '最初的影響。', - 'validation-error-invalid-location' => '參數 $1 必須是一個有效的位置。', - 'validation-error-invalid-locations' => '參數 $1 必須有一個或多個有效的位置。', - 'validation-error-invalid-width' => '參數 $1 必須是一個有效的寬度。', - 'validation-error-invalid-height' => '參數 $1 必須是一個有效的高度。', - 'validation-error-invalid-distance' => '參數 $1 必須是一個有效的距離。', - 'validation-error-invalid-distances' => '參數 $1 必須是一個或多個有效距離。', - 'validation-error-invalid-image' => '參數 $1 必須是一個有效的圖片。', - 'validation-error-invalid-images' => '參數 $1 必須是一個或多個有效的圖像。', - 'validation-error-invalid-goverlay' => '參數 $1 必須是一個有效的重疊。', - 'validation-error-invalid-goverlays' => '參數 $1 必須是一個或多個有效重疊。', - 'maps-abb-north' => '北', - 'maps-abb-east' => '東', - 'maps-abb-south' => '南', - 'maps-abb-west' => '西', - 'maps-latitude' => '緯度:', - 'maps-longitude' => '經度:', - 'maps_map_cannot_be_displayed' => '該地圖無法顯示。', - 'maps_overlays' => '重疊', - 'maps_photos' => '照片', - 'maps_videos' => '影片', - 'maps_wikipedia' => '維基百科', - 'maps_webcams' => '網路攝影機', -); - -/** Chinese (Taiwan) (‪中文(台灣)‬) */ -$messages['zh-tw'] = array( - 'maps-abb-north' => '北', - 'maps-abb-east' => '東', - 'maps-abb-south' => '南', - 'maps-abb-west' => '西', - 'maps-latitude' => '緯度:', - 'maps-longitude' => '經度:', -); - diff --git a/documentacion/extensions/Maps/Maps.php b/documentacion/extensions/Maps/Maps.php deleted file mode 100644 index 746f414..0000000 --- a/documentacion/extensions/Maps/Maps.php +++ /dev/null @@ -1,301 +0,0 @@ - - */ - -/** - * This documenation group collects source code files belonging to Maps. - * - * Please do not use this group name for other code. If you have an extension to - * Maps, please use your own group definition. - * - * @defgroup Maps Maps - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - die( 'Not an entry point.' ); -} - -if ( version_compare( $wgVersion, '1.17', '<' ) ) { - die( 'Error: This version of Maps requires MediaWiki 1.17 or above; use Maps 0.7.x for older versions.' ); -} - -// Include the Validator extension if that hasn't been done yet, since it's required for Maps to work. -if ( !defined( 'Validator_VERSION' ) ) { - @include_once( dirname( __FILE__ ) . '/../Validator/Validator.php' ); -} - -// Only initialize the extension when all dependencies are present. -if ( ! defined( 'Validator_VERSION' ) ) { - die( 'Error: You need to have Validator installed in order to use Maps.
    ' ); -} - -define( 'Maps_VERSION', '1.0.5' ); - -$wgExtensionCredits['parserhook'][] = array( - 'path' => __FILE__, - 'name' => 'Maps', - 'version' => Maps_VERSION, - 'author' => array( - '[http://www.mediawiki.org/wiki/User:Jeroen_De_Dauw Jeroen De Dauw]' - ), - 'url' => 'http://www.mediawiki.org/wiki/Extension:Maps', - 'descriptionmsg' => 'maps-desc' -); - -// The different coordinate notations. -define( 'Maps_COORDS_FLOAT', 'float' ); -define( 'Maps_COORDS_DMS', 'dms' ); -define( 'Maps_COORDS_DM', 'dm' ); -define( 'Maps_COORDS_DD', 'dd' ); - -$egMapsScriptPath = ( $wgExtensionAssetsPath === false ? $wgScriptPath . '/extensions' : $wgExtensionAssetsPath ) . '/Maps'; -$egMapsDir = dirname( __FILE__ ) . '/'; - -$egMapsStyleVersion = $wgStyleVersion . '-' . Maps_VERSION; - -$wgAutoloadClasses['MapsHooks'] = dirname( __FILE__ ) . '/Maps.hooks.php'; - -// Autoload the "includes/" classes and interfaces. -$incDir = dirname( __FILE__ ) . '/includes/'; -$wgAutoloadClasses['MapsMapper'] = $incDir . 'Maps_Mapper.php'; -$wgAutoloadClasses['MapsCoordinateParser'] = $incDir . 'Maps_CoordinateParser.php'; -$wgAutoloadClasses['MapsDistanceParser'] = $incDir . 'Maps_DistanceParser.php'; -$wgAutoloadClasses['MapsGeoFunctions'] = $incDir . 'Maps_GeoFunctions.php'; -$wgAutoloadClasses['MapsGeocoders'] = $incDir . 'Maps_Geocoders.php'; -$wgAutoloadClasses['MapsGeocoder'] = $incDir . 'Maps_Geocoder.php'; -$wgAutoloadClasses['MapsKMLFormatter'] = $incDir . 'Maps_KMLFormatter.php'; -$wgAutoloadClasses['MapsLayer'] = $incDir . 'Maps_Layer.php'; -$wgAutoloadClasses['MapsLayerPage'] = $incDir . 'Maps_LayerPage.php'; -$wgAutoloadClasses['MapsLayers'] = $incDir . 'Maps_Layers.php'; -$wgAutoloadClasses['MapsLocation'] = $incDir . 'Maps_Location.php'; -$wgAutoloadClasses['iMappingService'] = $incDir . 'iMappingService.php'; -$wgAutoloadClasses['MapsMappingServices'] = $incDir . 'Maps_MappingServices.php'; -$wgAutoloadClasses['MapsMappingService'] = $incDir . 'Maps_MappingService.php'; - -$wgAutoloadClasses['ApiGeocode'] = $incDir . 'api/ApiGeocode.php'; - -// Autoload the "includes/criteria/" classes. -$criDir = $incDir . 'criteria/'; -$wgAutoloadClasses['CriterionIsDistance'] = $criDir . 'CriterionIsDistance.php'; -$wgAutoloadClasses['CriterionIsImage'] = $criDir . 'CriterionIsImage.php'; -$wgAutoloadClasses['CriterionIsLocation'] = $criDir . 'CriterionIsLocation.php'; -$wgAutoloadClasses['CriterionMapDimension'] = $criDir . 'CriterionMapDimension.php'; -$wgAutoloadClasses['CriterionMapLayer'] = $criDir . 'CriterionMapLayer.php'; -unset( $criDir ); - -// Autoload the "includes/features/" classes. -$ftDir = $incDir . '/features/'; -$wgAutoloadClasses['MapsBaseMap'] = $ftDir . 'Maps_BaseMap.php'; -$wgAutoloadClasses['MapsBasePointMap'] = $ftDir . 'Maps_BasePointMap.php'; -unset( $ftDir ); - -// Autoload the "includes/geocoders/" classes. -$geoDir = $incDir . 'geocoders/'; -$wgAutoloadClasses['MapsGeonamesGeocoder'] = $geoDir . 'Maps_GeonamesGeocoder.php'; -$wgAutoloadClasses['MapsGeonamesOldGeocoder'] = $geoDir . 'Maps_GeonamesOldGeocoder.php'; -$wgAutoloadClasses['MapsGoogleGeocoder'] = $geoDir . 'Maps_GoogleGeocoder.php'; -$wgAutoloadClasses['MapsYahooGeocoder'] = $geoDir . 'Maps_YahooGeocoder.php'; -unset( $geoDir ); - -// Autoload the "includes/layers/" classes. -$lyrDir = $incDir . 'layers/'; -$wgAutoloadClasses['MapsImageLayer'] = $lyrDir . 'Maps_ImageLayer.php'; -$wgAutoloadClasses['MapsKMLLayer'] = $lyrDir . 'Maps_KMLLayer.php'; -unset( $lyrDir ); - -// Autoload the "includes/manipulations/" classes. -$manDir = $incDir . 'manipulations/'; -$wgAutoloadClasses['MapsParamDimension'] = $manDir . 'Maps_ParamDimension.php'; -$wgAutoloadClasses['MapsParamFile'] = $manDir . 'Maps_ParamFile.php'; -$wgAutoloadClasses['MapsParamGeoService'] = $manDir . 'Maps_ParamGeoService.php'; -$wgAutoloadClasses['MapsParamLocation'] = $manDir . 'Maps_ParamLocation.php'; -$wgAutoloadClasses['MapsParamService'] = $manDir . 'Maps_ParamService.php'; -$wgAutoloadClasses['MapsParamZoom'] = $manDir . 'Maps_ParamZoom.php'; -unset( $manDir ); - -// Autoload the "includes/parserHooks/" classes. -$phDir = $incDir . '/parserHooks/'; -$wgAutoloadClasses['MapsCoordinates'] = $phDir . 'Maps_Coordinates.php'; -$wgAutoloadClasses['MapsDisplayMap'] = $phDir . 'Maps_DisplayMap.php'; -$wgAutoloadClasses['MapsDisplayPoint'] = $phDir . 'Maps_DisplayPoint.php'; -$wgAutoloadClasses['MapsDistance'] = $phDir . 'Maps_Distance.php'; -$wgAutoloadClasses['MapsFinddestination'] = $phDir . 'Maps_Finddestination.php'; -$wgAutoloadClasses['MapsGeocode'] = $phDir . 'Maps_Geocode.php'; -$wgAutoloadClasses['MapsGeodistance'] = $phDir . 'Maps_Geodistance.php'; -$wgAutoloadClasses['MapsMapsDoc'] = $phDir . 'Maps_MapsDoc.php'; -unset( $phDir ); -unset( $incDir ); - -$wgAPIModules['geocode'] = 'ApiGeocode'; - -$wgExtensionMessagesFiles['MapsMagic'] = $egMapsDir . 'Maps.i18n.magic.php'; -$wgExtensionMessagesFiles['Maps'] = $egMapsDir . 'Maps.i18n.php'; -$wgExtensionMessagesFiles['MapsNamespaces'] = $egMapsDir . 'Maps.i18n.namespaces.php'; - -// Register the initialization function of Maps. -$wgExtensionFunctions[] = 'efMapsSetup'; - -// Since 0.2 -$wgHooks['AdminLinks'][] = 'MapsHooks::addToAdminLinks'; - -// Since 0.6.5 -$wgHooks['UnitTestsList'][] = 'MapsHooks::registerUnitTests'; - -// Since 0.7.1 -$wgHooks['ArticleFromTitle'][] = 'MapsHooks::onArticleFromTitle'; - -// Since 1.0 -$wgHooks['MakeGlobalVariablesScript'][] = 'MapsHooks::onMakeGlobalVariablesScript'; - -// Since ?? -$wgHooks['CanonicalNamespaces'][] = 'MapsHooks::onCanonicalNamespaces'; - -$egMapsFeatures = array(); - -$egMapsFeatures['pf'][] = 'MapsDisplayMap::initialize'; -$egMapsFeatures['pf'][] = 'MapsDisplayPoint::initialize'; - -# Parser hooks - - # Required for #coordinates. - $wgHooks['ParserFirstCallInit'][] = 'MapsCoordinates::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsCoordinates::staticMagic'; - # Required for #display_map. - $wgHooks['ParserFirstCallInit'][] = 'MapsDisplayMap::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsDisplayMap::staticMagic'; - # Required for #display_point. - $wgHooks['ParserFirstCallInit'][] = 'MapsDisplayPoint::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsDisplayPoint::staticMagic'; - # Required for #distance. - $wgHooks['ParserFirstCallInit'][] = 'MapsDistance::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsDistance::staticMagic'; - # Required for #finddestination. - $wgHooks['ParserFirstCallInit'][] = 'MapsFinddestination::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsFinddestination::staticMagic'; - # Required for #geocode. - $wgHooks['ParserFirstCallInit'][] = 'MapsGeocode::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsGeocode::staticMagic'; - # Required for #geodistance. - $wgHooks['ParserFirstCallInit'][] = 'MapsGeodistance::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsGeodistance::staticMagic'; - # Required for #mapsdoc. - $wgHooks['ParserFirstCallInit'][] = 'MapsMapsDoc::staticInit'; - $wgHooks['LanguageGetMagic'][] = 'MapsMapsDoc::staticMagic'; - -# Geocoders - - # Registration of the GeoNames service geocoder. - $wgHooks['GeocoderFirstCallInit'][] = 'MapsGeonamesGeocoder::register'; - - # Registration of the legacy GeoNames service geocoder. - $wgHooks['GeocoderFirstCallInit'][] = 'MapsGeonamesOldGeocoder::register'; - - # Registration of the Google Geocoding (v2) service geocoder. - $wgHooks['GeocoderFirstCallInit'][] = 'MapsGoogleGeocoder::register'; - - # Registration of the Yahoo! Geocoding service geocoder. - $wgHooks['GeocoderFirstCallInit'][] = 'MapsYahooGeocoder::register'; - -# Layers - - # Registration of the image layer type. - $wgHooks['MappingLayersInitialization'][] = 'MapsImageLayer::register'; - - # Registration of the KML layer type. - $wgHooks['MappingLayersInitialization'][] = 'MapsKMLLayer::register'; - -# Mapping services - - # Include the mapping services that should be loaded into Maps. - # Commenting or removing a mapping service will make Maps completely ignore it, and so improve performance. - - # Google Maps API v2 - include_once $egMapsDir . 'includes/services/GoogleMaps/GoogleMaps.php'; - - # Google Maps API v3 - include_once $egMapsDir . 'includes/services/GoogleMaps3/GoogleMaps3.php'; - - # OpenLayers API - include_once $egMapsDir . 'includes/services/OpenLayers/OpenLayers.php'; - - # Yahoo! Maps API - include_once $egMapsDir . 'includes/services/YahooMaps/YahooMaps.php'; - - # WMF OSM - include_once $egMapsDir . 'includes/services/OSM/OSM.php'; - -$egMapsSettings = array(); - -// Include the settings file. -require_once $egMapsDir . 'Maps_Settings.php'; - -define( 'Maps_NS_LAYER', $egMapsNamespaceIndex + 0 ); -define( 'Maps_NS_LAYER_TALK', $egMapsNamespaceIndex + 1 ); - -$wgResourceModules['ext.maps.common'] = array( - 'localBasePath' => dirname( __FILE__ ) . '/includes', - 'remoteBasePath' => $egMapsScriptPath . '/includes', - 'group' => 'ext.maps', - 'messages' => array( - 'maps-load-failed', - ), - 'scripts' => array( - 'ext.maps.common.js' - ) -); - -$wgResourceModules['ext.maps.coord'] = array( - 'localBasePath' => dirname( __FILE__ ) . '/includes', - 'remoteBasePath' => $egMapsScriptPath . '/includes', - 'group' => 'ext.maps', - 'messages' => array( - 'maps-abb-north', - 'maps-abb-east', - 'maps-abb-south', - 'maps-abb-west', - ), - 'scripts' => array( - 'ext.maps.coord.js' - ) -); - -$wgResourceModules['ext.maps.resizable'] = array( - 'dependencies' => 'jquery.ui.resizable' -); - -$wgAvailableRights[] = 'geocode'; - -# Users that can geocode. By default the same as those that can edit. -foreach ( $wgGroupPermissions as $group => $rights ) { - if ( array_key_exists( 'edit', $rights ) ) { - $wgGroupPermissions[$group]['geocode'] = $wgGroupPermissions[$group]['edit']; - } -} - -$egMapsGlobalJSVars = array(); - -/** - * Initialization function for the Maps extension. - * - * @since 0.1 - * - * @return true - */ -function efMapsSetup() { - wfRunHooks( 'MappingServiceLoad' ); - wfRunHooks( 'MappingFeatureLoad' ); - - return true; -} diff --git a/documentacion/extensions/Maps/Maps.settings.php b/documentacion/extensions/Maps/Maps.settings.php deleted file mode 100644 index dfe4bdf..0000000 --- a/documentacion/extensions/Maps/Maps.settings.php +++ /dev/null @@ -1,81 +0,0 @@ - - */ - -$s = array( - - new Setting( - 'services', - array( - 'googlemaps2', - 'googlemaps3', - 'yahoomaps', - 'openlayers', - 'osm' - ) - ), - - new Setting( 'defaultService', 'googlemaps3' ), - - new Setting( - 'defaultServices', - array( - 'display_point' => 'googlemaps3', - 'display_map' => 'googlemaps3' - ) - ), - - new Setting( - 'geoServices', - array( - 'geonames', - 'google', - 'yahoo' - ) - ), - - new Setting( - 'defaultGeoService', - 'geonames' - ), - - new Setting( - 'useGeoOverrides', - true - ), - - new Setting( - 'allowCoordsGeocoding', - true - ), - - new Setting( - 'enableGeoCache', - true - ), - - new Setting( - 'geoNamesUser', - '' - ), - - // TODO -); - -foreach ( $s as &$setting ) { - $setting->setMessage( 'maps-setting-' . $setting->getName() ); -} - -return $s; \ No newline at end of file diff --git a/documentacion/extensions/Maps/Maps_Settings.php b/documentacion/extensions/Maps/Maps_Settings.php deleted file mode 100644 index 7ee81d0..0000000 --- a/documentacion/extensions/Maps/Maps_Settings.php +++ /dev/null @@ -1,402 +0,0 @@ - $egMapsDefaultService, - 'display_map' => $egMapsDefaultService - ); - - - -# Geocoding - - # Array of String. Array containing all the geocoding services that will be - # made available to the user. Currently Maps provides the following services: - # geonames, google, yahoo - # It is recommended that when using GeoNames you get a GeoNames webservice account - # at http://www.geonames.org/login and set the username to $egMapsGeoNamesUser below. - # Not doing this will result into a legacy service being used, which might be - # disabled at some future point. - $egMapsAvailableGeoServices = array( - 'geonames', - 'google', - 'yahoo' - ); - - # String. The default geocoding service, which will be used when no service is - # is provided by the user. This service needs to be enabled, if not, the first - # one from the available services will be taken. - $egMapsDefaultGeoService = 'geonames'; - - # Boolean. Indicates if geocoders can override the default geoservice based on - # the used mapping service. - $egMapsUserGeoOverrides = true; - - # Boolean. Sets if coordinates should be allowed in geocoding calls. - $egMapsAllowCoordsGeocoding = true; - - # Boolean. Sets if geocoded addresses should be stored in a cache. - $egMapsEnableGeoCache = true; - - # String. GeoNames API user/application name. - # Obtain an account here: http://www.geonames.org/login - # Do not forget to activate your account for API usage! - $egMapsGeoNamesUser = ''; - - - -# Coordinate configuration - - # The coordinate notations that should be available. - $egMapsAvailableCoordNotations = array( - Maps_COORDS_FLOAT, - Maps_COORDS_DMS, - Maps_COORDS_DM, - Maps_COORDS_DD - ); - - # Enum. The default output format of coordinates. - # Possible values: Maps_COORDS_FLOAT, Maps_COORDS_DMS, Maps_COORDS_DM, Maps_COORDS_DD - $egMapsCoordinateNotation = Maps_COORDS_DMS; - - # Boolean. Indicates if coordinates should be outputted in directional notation by default. - # Recommended to be true for Maps_COORDS_DMS and false for Maps_COORDS_FLOAT. - $egMapsCoordinateDirectional = true; - - # Boolean. Sets if direction labels should be translated to their equivalent in the wiki language or not. - $egMapsInternatDirectionLabels = true; - - - -# Distance configuration - - # Array. A list of units (keys) and how many meters they represent (value). - # No spaces! If the unit consists out of multiple words, just write them together. - $egMapsDistanceUnits = array( - 'm' => 1, - 'meter' => 1, - 'meters' => 1, - 'km' => 1000, - 'kilometers' => 1000, - 'kilometres' => 1000, - 'mi' => 1609.344, - 'mile' => 1609.344, - 'miles' => 1609.344, - 'nm' => 1852, - 'nauticalmile' => 1852, - 'nauticalmiles' => 1852, - ); - - # String. The default unit for distances. - $egMapsDistanceUnit = 'm'; - - # Integer. The default amount of fractal digits in a distance. - $egMapsDistanceDecimals = 2; - - - -# General map configuration - - # Integer or string. The default width and height of a map. These values will - # only be used when the user does not provide them. - $egMapsMapWidth = 'auto'; - $egMapsMapHeight = 350; - - # Array. The minimum and maximum width and height for all maps. First min and - # max for absolute values, then min and max for percentage values. When the - # height or width exceed their limits, they will be changed to the closest - # allowed value. - $egMapsSizeRestrictions = array( - 'width' => array( 50, 1020, 1, 100 ), - 'height' => array( 50, 1000, 1, 100 ), - ); - - # String. The default centre for maps. Can be either a set of coordinates or an address. - $egMapsDefaultMapCentre = '0, 0'; - - # Strings. The default content for all pop-ups. This value will only be used - # when the user does not provide one. - $egMapsDefaultTitle = ''; - $egMapsDefaultLabel = ''; - - $egMapsResizableByDefault = false; - - $egMapsRezoomForKML = false; - - - -# Other general configuration - - # When true, debugging messages will be logged using mw.log(). Do not use on production wikis. - $egMapsDebugJS = false; - - # Namespace index start of the mapping namespaces. - $egMapsNamespaceIndex = 420; - - # Boolean. Controls if you can specify images using a full path in layers. - $egMapsAllowExternalImages = true; - - - -# Specific mapping service configuration - - # Google Maps v3 - - # Integer. The default zoom of a map. This value will only be used when the - # user does not provide one. - $egMapsGMaps3Zoom = 14; - - # Array of String. The Google Maps v3 default map types. This value will only - # be used when the user does not provide one. - $egMapsGMaps3Types = array( - 'roadmap', - 'satellite', - 'hybrid', - 'terrain' - ); - - # String. The default map type. This value will only be used when the user - # does not provide one. - $egMapsGMaps3Type = 'roadmap'; - - # Array. List of controls to display onto maps by default. - $egMapsGMaps3Controls = array( - 'pan', - 'zoom', - 'type', - 'scale', - 'streetview' - ); - - # String. The default style for the type control. - # horizontal, vertical or default - $egMapsGMaps3DefTypeStyle = 'default'; - - # String. The default style for the zoom control. - # small, large or default - $egMapsGMaps3DefZoomStyle = 'default'; - - # Boolean. Open the info windows on load by default? - $egMapsGMaps3AutoInfoWindows = false; - - # Array. Layers to load by default. - $egMapsGMaps3Layers = array(); - - # Integer. Default tilt when using Google Maps. - $egMapsGMaps3DefaultTilt = 0; - - # Google JavaScript Loader API key. - # Can be obtained at: https://code.google.com/apis/loader/signup.html - # This key is needed when using Google Earth. - $egGoogleJsApiKey = ''; - - - # Google Maps - - # Your Google Maps API key. Required for displaying Google Maps, and using the - # Google Geocoder services. - $egGoogleMapsKey = ''; # http://code.google.com/apis/maps/signup.html - - # If your wiki is accessable via multiple urls, you'll need multiple keys. - # Example: $egGoogleMapsKeys['http://yourdomain.tld/something'] = 'your key'; - $egGoogleMapsKeys = array(); - - # Integer. The default zoom of a map. This value will only be used when the - # user does not provide one. - $egMapsGoogleMapsZoom = 14; - - # Array of String. The Google Maps v2 default map types. This value will only - # be used when the user does not provide one. - $egMapsGoogleMapsTypes = array( - 'normal', - 'satellite', - 'hybrid', - 'physical' - ); - - # String. The default map type. This value will only be used when the user does - # not provide one. - $egMapsGoogleMapsType = 'normal'; - - # Boolean. The default value for enabling or disabling the autozoom of a map. - # This value will only be used when the user does not provide one. - $egMapsGoogleAutozoom = true; - - # Array of String. The default controls for Google Maps v2. This value will - # only be used when the user does not provide one. - # Available values: auto, large, small, large-original, small-original, zoom, - # type, type-menu, overview-map, scale, nav-label, overlays - $egMapsGMapControls = array( - 'auto', - 'scale', - 'type', - 'overlays' - ); - - # Array. The default overlays for the Google Maps v2 overlays control, and - # whether they should be shown at pageload. This value will only be used when - # the user does not provide one. - # Available values: photos, videos, wikipedia, webcams - $egMapsGMapOverlays = array( - 'photos', - 'videos', - 'wikipedia', - 'webcams' - ); - - - - # Yahoo! Maps - - # Your Yahoo! Maps API key. Required for displaying Yahoo! Maps. - # Haven't got an API key yet? Get it here: https://developer.yahoo.com/wsregapp/ - $egYahooMapsKey = ''; - - # Array of String. The Google Maps default map types. This value will only be - # used when the user does not provide one. - $egMapsYahooMapsTypes = array( - 'normal', - 'satellite', - 'hybrid' - ); - - # String. The default map type. This value will only be used when the user does - # not provide one. - $egMapsYahooMapsType = 'normal'; - - # Integer. The default zoom of a map. This value will only be used when the - # user does not provide one. - $egMapsYahooMapsZoom = 4; - - # Boolean. The default value for enabling or disabling the autozoom of a map. - # This value will only be used when the user does not provide one. - $egMapsYahooAutozoom = true; - - # Array of String. The default controls for Yahoo! Maps. This value will only - # be used when the user does not provide one. - # Available values: type, pan, zoom, zoom-short, auto-zoom - $egMapsYMapControls = array( - 'type', - 'pan', - 'auto-zoom' - ); - - - - # OpenLayers - - # Integer. The default zoom of a map. This value will only be used when the - # user does not provide one. - $egMapsOpenLayersZoom = 13; - - # Array of String. The default controls for Open Layers. This value will only - # be used when the user does not provide one. - # Available values: layerswitcher, mouseposition, autopanzoom, panzoom, - # panzoombar, scaleline, navigation, keyboarddefaults, overviewmap, permalink - $egMapsOLControls = array( - 'layerswitcher', - 'mouseposition', - 'autopanzoom', - 'scaleline', - 'navigation' - ); - - # Array of String. The default layers for Open Layers. This value will only be - # used when the user does not provide one. - $egMapsOLLayers = array( - 'osm-mapnik', - 'osm-cyclemap', - 'osmarender' - ); - - # The difinitions for the layers that should be available for the user. - $egMapsOLAvailableLayers = array( - //'google' => array( 'OpenLayers.Layer.Google("Google Streets")' ), - - 'bing-normal' => array( 'OpenLayers.Layer.VirtualEarth( "Bing Streets", {type: VEMapStyle.Shaded, "sphericalMercator":true} )', 'bing' ), - 'bing-satellite' => array( 'OpenLayers.Layer.VirtualEarth( "Bing Satellite", {type: VEMapStyle.Aerial, "sphericalMercator":true} )', 'bing' ), - 'bing-hybrid' => array( 'OpenLayers.Layer.VirtualEarth( "Bing Hybrid", {type: VEMapStyle.Hybrid, "sphericalMercator":true} )', 'bing' ), - - 'yahoo-normal' => array( 'OpenLayers.Layer.Yahoo( "Yahoo! Streets", {"sphericalMercator":true} )', 'yahoo' ), - 'yahoo-hybrid' => array( 'OpenLayers.Layer.Yahoo( "Yahoo! Hybrid", {"type": YAHOO_MAP_HYB, "sphericalMercator":true} )', 'yahoo' ), - 'yahoo-satellite' => array( 'OpenLayers.Layer.Yahoo( "Yahoo! Satellite", {"type": YAHOO_MAP_SAT, "sphericalMercator":true} )', 'yahoo' ), - - 'osmarender' => array( 'OpenLayers.Layer.OSM.Osmarender("OSM arender")', 'osm' ), - 'osm-mapnik' => array( 'OpenLayers.Layer.OSM.Mapnik("OSM Mapnik")', 'osm' ), - 'osm-cyclemap' => array( 'OpenLayers.Layer.OSM.CycleMap("OSM Cycle Map")', 'osm' ), - - 'nasa' => 'OpenLayers.Layer.WMS("NASA Global Mosaic", "http://t1.hypercube.telascience.org/cgi-bin/landsat7", - {layers: "landsat7", "sphericalMercator":true} )', - ); - - # Layer group definitions. Group names must be different from layer names, and - # must only contain layers that are present in $egMapsOLAvailableLayers. - $egMapsOLLayerGroups = array( - 'yahoo' => array( 'yahoo-normal', 'yahoo-satellite', 'yahoo-hybrid' ), - 'bing' => array( 'bing-normal', 'bing-satellite', 'bing-hybrid' ), - 'osm' => array( 'osmarender', 'osm-mapnik', 'osm-cyclemap' ), - ); - - # Layer dependencies - $egMapsOLLayerDependencies = array( - 'yahoo' => "", - 'bing' => "", - 'ol-wms' => "", - ); - - - - - # OpenStreetMap - - # Integer. The default zoom of a map. This value will only be used when the - # user does not provide one. - $egMapsOSMZoom = 13; - - # Boolean. Thumbnail pictures on or off. - $egMapsOSMThumbs = false; - - # Boolean. Photos in article pop-ups on or off. - $egMapsOSMPhotos = false; \ No newline at end of file diff --git a/documentacion/extensions/Maps/README b/documentacion/extensions/Maps/README deleted file mode 100644 index f88604d..0000000 --- a/documentacion/extensions/Maps/README +++ /dev/null @@ -1,32 +0,0 @@ -== About == - -Maps is the MediaWiki extension that provides the ability to visualize geographic data -with dynamic, JavaScript based, mapping API's such as Google Maps and OpenLayers in your -wiki pages. It has build in support for geocoding, displaying maps, displaying markers, -adding pop-ups, and more. Maps allows extensive customization of your maps, either per -map, or via a general setting affecting all maps on your wiki. - -Due to Maps modular build, modifying the mapping service of a map is as easy as changing -a single map property! These mapping services include Google Maps, Yahoo! Maps, OpenLayers -and OpenStreetMap. These also allow you to display maps with Google Earth, OpenStreetMaps, -Bing maps and others. - -Notes on installing Maps are found in the file INSTALL. - - -== Contributing == - -If you have bug reports or requests, please add them to the Talk page [0]. You can also -send them to Jeroen De Dauw, jeroendedauw -at- gmail.com, and Yaron Koren, at yaron57 -at- -gmail.com. - -[0] http://www.mediawiki.org/w/index.php?title=Extension_talk:Maps - -For more info, see http://mapping.referata.com/wiki/Mapping_on_MediaWiki - - -== Credits to other projects == - -* OpenLayers -This extension includes code from the OpenLayers application. OpenLayers is an open-source -product released under a BSD-style license (http://svn.openlayers.org/trunk/openlayers/license.txt) \ No newline at end of file diff --git a/documentacion/extensions/Maps/RELEASE-NOTES b/documentacion/extensions/Maps/RELEASE-NOTES deleted file mode 100644 index 0ac85a2..0000000 --- a/documentacion/extensions/Maps/RELEASE-NOTES +++ /dev/null @@ -1,740 +0,0 @@ -Extension page on mediawiki.org: http://www.mediawiki.org/wiki/Extension:Maps -Documentation and examples: http://mapping.referata.com/wiki/Maps - -== Maps change log == -This change log contains a list of completed to-do's (new features, bug fixes, refactoring) for every -version of Maps. You can find the most up-do-date version at -http://mapping.referata.com/wiki/Maps/Version_history#Maps_change_log - - -=== Maps 1.0.5 === -(2011-11-30) - -* Fixed display of attribution control for OpenLayers. -* Fixed to big precision of geographic coordinates in decimal minutes format (bug 32407). - -=== Maps 1.0.4 === -(2011-10-15) - -* Updated OpenLayers from 2.10 to 2.11. -* Fixed bug in adding adittional markers for Google Maps v3 (mainly affecting the Semantic Maps form input). - -=== Maps 1.0.3 === -(2011-09-14) - -* Added API module for geocoding. -* Added 'geocoding' right. -* Added kmlrezoom parameter for Google Maps v3 and general $egMapsRezoomForKML setting. -* Fixed Google Maps v3 JavaScript issue occuring on MediaWiki 1.17. - -=== Maps 1.0.2 === -(2011-08-24) - -* Fixed Google Maps v3 JavaScript issue occuring when using Google Earth on unsupported systems. -* Fixed internationalization of distances (bug 30467). - -=== Maps 1.0.1 === -(2011-08-17) - -* Added language parameter to the mapsdoc hook. - -* Use of Validator 0.4.10s setMessage method instead of setDescription for better i18n. - -* Fixed zoom and types parameters for Google Maps v3. - -* Minor improvement to script loading. - -* Added support for Google Earth in Google Maps v3. - -* Added tilt parameter for Google Earth in Google Maps v3. - -=== Maps 1.0 === -(2011-07-19) - -This version branched from Maps 0.7.x at version 0.7.3. - -==== New features ==== - -* Added full Google Maps v3 support and set it as the default mapping service. - -* Added new geocoder making use of the new GeoNames API. - -* Added support for the auto-documentation features for parser hooks introduced in Validator 0.4.3. - -* Added resizeable parameter to all mapping services except OSM. - -==== Removed features ==== - -* Removed compatibility with pre MediaWiki 1.17. - -* Removed overlays parameter for Google Maps v2. - -* Removed the previously deprecated "display map", "display point" and "display points" parser hooks. Use their underscored equivalents, ie "display_map". - -==== Internal improvements ==== - -* Usage of the Resource Loader for all scripts and stylesheets. - -* Rewrote all the map JavaScript to jQuery plugins. - -* Rewrote the way parameters are translated to JavaScript. Now one big PHP object is json_encoded. - -* Improved KML formatter. - -* Use of Google Maps geocoding service v3 instead of v2. - -* Completed coordinate and distance parser/formatter unit tests and made them compliant with the MediaWiki unit testing support. - -==== Bug fixes ==== - -* Fixed geocoding service overriding based on mapping service (merged in from Maps 0.7.5). - -* Fixed fatal error occurring when running maintenance/refreshLinks.php. - -* Fixed DMS coordinate parsing issue (bug 29419). - -* Fixed coordinate normalization issue (bug 29421). - -==== Other tweaks ==== - -* Improved default width of maps (merged in from Maps 0.7.5). - -=== Maps 0.7.3 === -(2010-11-30) - -* Some internal improvements and translation updates. - -* Fixed issue occurring when Maps is the only extension adding custom namespaces. - - -=== Maps 0.7.2 === -(2010-10-28) - -==== New features ==== - -* Added experimental support for KML layer definitions. - -==== Internal improvements ==== - -* Extended the layer handling to support different types of layers, each of which can be supported by one or more mapping services. - -==== Bug fixes ==== - -* Fixed incompatibility with MW 1.15.x. - -* Fixed incorect parsing of certain DM and DMS coordinates. - -* Fixed small layout issue with pop-ups in Google Maps. - -* Fixed incorrect error on non-existing pages in the Layer namespace. - -=== Maps 0.7.1 === -(2010-10-20) - -==== New features ==== - -* Image layers for OpenLayers maps, defined via pages in the Layer namespace. - -==== Bug fixes ==== - -* Support for images without namespace prefix in the display points parser hook. - -* Fixed layer oder for OpenLayers maps. - -==== Internal improvements ==== - -* Rewrote OpenLayers layer handling. - -=== Maps 0.7 === -(2010-10-15) - -==== New features ==== - -* Tag support for these parser hooks (which previously only had parser function support): -** Coordinates -** Distance -** Finddestination -** Geocode -** Geodistance - -* Thumbs and photos parameters for the OSM service. - -==== Bug fixes ==== - -* Fixed compatibility with the MW 1.17 resource loader. - -* Fixed i18n issue with the overlays control for Google Maps v2 maps. - -* Fixed default zoom level for Yahoo! Maps maps. - -* Increased the maximum decimals for DMS coordinates from 2 to 20. - -==== Removed features ==== - -* #geocodelong and #geocodelat parser functions - you can obtain their functionality using #geocode. - -==== Internal improvements ==== - -* Rewrote the geocoding functionality. It's now an integral part of the extension that can not be just pulled out, -while the reverse is true for individual geocoders. Geocoder interaction now uses the same model as mapping -service interaction. - -* Use of Validator 0.4, allowing for more robust and consistent error reporting. - -* Rewrote the parser hooks to use the ParserHook class provided by Validator. - -* Restructured the directory structure of the extension to better match it's architecture. - -* Use of OpenLayers 2.10 instead of 2.9. - -=== Maps 0.6.6 === -(2010-08-26) - -==== New features ==== - -* Support for geocoding over proxies. - -* Added $egMapsInternatDirectionLabels settings, allowing users to disable internationalization of direction labels. - -==== Refactoring ==== - -* Added MapsMappingServices, which serves as factory for MapsPappingService objects and does away with all the globals previously needed for this. - -* Removed the http/curl request code from the geocoder classes - now using Http:get() instead. - -==== Bug fixes ==== - -* Fixed issue that caused pop-up contents to render incorrectly when it contained wiki markup. - -* Fixed coordinate parsing bug (direction labels did not get recognized) that was introduced in 0.6.4. - -* Fixed spacing issues with several parser functions. - -=== Maps 0.6.5 === -(2010-07-27) - -==== Refactoring ==== - -* Added unit tests for the coordinates parser. - -* Created iMappingFeature interface, from which iMapParserFunctions inherits. - -* Moved map id creation to the mapping service class for all features. - -* Moved marker JavaScript creation for display_points to the mapping service class for all features. - -* Moved default zoom level access method to the mapping service class for all features. - -* Improved the way marker data is turned into JavaScript variables. - -* Improved coordinate recognition regexes. - -==== Bug fixes ==== - -* Fixed several small coordinate parsing and formatting issues. - -* Fixed a few small distance parsing issues. - -=== Maps 0.6.4 === -(2010-07-08) - -==== New features ==== - -* Added new OSM service based on iframe inclusion of toolserver page that renders OpenStreetMap tiles with Wikipedia overlays. - -* Added internationalization to the OpenLayers service. - -* Added support for including KML files for Google Maps v2. - -* Added 'searchbar' control for Google Maps v2. - -==== Refactoring ==== - -* Moved more functionality over from feature classes to service classes to prevent crazy code-flow and code duplication. - -==== Bug fixes ==== - -* Fixed bug in the OpenLayers service causing it to display badly in Chrome. - -* Fixed issue with with and height validation for % values, also causing backward compatibility problems with pre 0.6 setting definitions. - -* Fixed several small bugs in the coordinate parser. - -=== Maps 0.6.3 === -(2010-06-20) - -==== Refactoring ==== - -* Mayor refactoring of the mapping service handling, to make the code flow less messy and be able to do mapping service related things in a more consistent fashion. - -* Upgrade to OpenLayers 2.9.1. - -==== Bug fixes ==== - -* Fixed severe bug in the coordinate parsing that removed the degree symbol from passes values, resulting in rendering most of them invalid. Presumably present since 0.6.2. - -=== Maps 0.6.2 === -(2010-06-07) - -==== New features ==== - -* Added #distance parser function parse distances using any of the supported units and outputting them in any of these. - -* Made supported distance units configurable and added setting for the default distance unit. - -* Added 'decimals' and 'unit' parameters to #geosiatnce. - -* Default parameter handling improvements (via Validator 0.3.2). - -==== Bug fixes ==== - -* Re-added parameter name and value insensitivity (via Validator 0.3.2). - -=== Maps 0.6.1 === -(2010-06-04) - -==== Bug fixes ==== - -* Fixed bug that caused geocoding requests to fail when using display_points - -* Fixed bug that had broken the geoservice parameter for display_points and display_map. - -* Fixed bug that made OSM layers in the OpenLayers service fail. - -* Fixed issue that made custom markers on Google Maps not show up on initial page load and centred them wrongly. - -=== Maps 0.6 === -(2010-05-31) - -==== New features ==== - -* Added support for width and height in px, ex, em and %, instead of only px, allowing for maps that adjust their size to the screen width and other content. - -* Added full support for both directional and non-directional coordinate notations in DMS, DD, DM and float notation. - -* Added #coordinates parser function which allows rewformatting of coordinates to all supported notations. - -* Rewrote the #geocode parser function to work with named parameters and added support for smart geocoding. Now takes in all supported coordinate notations, and is able to output in all of them as well. - -* Added #geodistance function (based on the one in MathFunctions) with smart geocoding support. - -* Added #finddestination function with smart geocoding support. - -==== Refactoring ==== - -* Rewrote the handling of the display_map and display_point(s) parser functions, esp the way the service parameter is getting determined and acted upon. - -* Removed the MapsMapFeature class to make the base classes for the features more independent and flexible. - -* Restructured the directory structure to make what the services and features are more clear. - -* Rewrote map divs and added loading message for each map. - -* Rewrote individual map JS to be added to the page header. - -* Mayor clean up of the coordinate handling, to allow for coordinate formatting and to facilitate better integration by the GeoCoords data type in Semantic Maps. All this code is now located in MapsCoordinateParser. - -* Use native MW hook system for mapping services and features if possible. - -* Updated the magic words to mw >=1.16 style, and retained backward compatibility. - -* Updated the OpenLayers version from 2.8 to 2.9. - -* Rewrote the parameter definitions to work with Validator 0.3. - -* Rewrote the resource inclusion html to make the code cleaner and more secure. - -==== Bug fixes ==== - -* Changed parsing of parameters so that '=' signs in values don't cause themselves and proceeding characters to be omitted. - -* Add mapping to the language codes that are send to the Google Maps API to null the naming differences between MW and the API. - -* Added automatic icon image sizing for Google Maps and Yahoo! Maps markers. - -* Fixed conflict with prototype library that caused compatibility problems with the Halo extension. - -=== Maps 0.5.5. === -(2010-03-20) - -==== Refactoring ==== - -* Stylized the code to conform to MediaWiki's spacing conventions. - -==== Bug fixes ==== - -* Fixed issue with scrollbar in pop-ups on Google Maps maps. - -* Fixed Google Maps key issue with OpenLayers that arose from the new OpenLayers layer definition system. - -* Fixed JS issue with Google Maps default overlays. - -=== Maps 0.5.4 === -(2010-03-01) - -==== New features ==== - -* Added the ability to define the layers (and their dependencies) that can be added by users to an OpenLayers map. - -* Added the ability to define "layer groups" for OpenLayers layers. - -==== Refactoring ==== - -* Moved the OpenLayers layer definition validation and selection from JS to PHP. - -==== Bug fixes ==== - -* Fixed bug causing the default zoom for each mapping service to be off. - -* Fixed potential xss vectors. - -* Fixed minor JS error that was present for all maps except OSM. - -=== Maps 0.5.3 === -(2010-02-01) - -==== New features ==== - -* Added Google Maps v3 support for display_map. - -==== Refactoring ==== - -* Added service defaulting for features using a hook themselves. - -==== Bug fixes ==== - -* Fixed JavaScript bug causing all OSM maps to fail. - -=== Maps 0.5.2 === -(2010-01-20) - -==== New features ==== - -* Added icon parameter to display_point(s), allowing you to set the icon for all markers that do not have a specific icon assigned. - -==== Refactoring ==== - -* Usage of Validator 0.2 features for the static map specific parameters. - -==== Bug fixes ==== - -* Fixed escaping issue causing wikitext in the title and label parameters not to be displayed correctly. - -* Fixed file path for location specific icons. - -=== Maps 0.5.1 === -(2009-12-25) - -==== New features ==== - -* Integrated further with Validator by holding into account the error level for coordinate validation in the display_ parser functions. - -* Added activatable= parameter to the static map support. - -==== Refactoring ==== - -* Cleaned up the static map code for OSM display_map. - -* Modified the parameter definitions to work with Validator 0.2 - -* Removed redundant (because of Validator 0.2) utility function calls from the mapping classes. - -* Removed redundant (because of Validator 0.2) utility functions from the mapping service files. - -==== Bug fixes ==== - -* Fixed issue with the hook system that caused code to get executed when it shouldn't. - -=== Maps 0.5 === -(2009-12-17) - -==== New features ==== - -* Added strict parameter validation. - -* Added smart 'autopanzoom' like control for Google Maps and Yahoo! Maps. - -* Added internationalization to the OSM service, and an extra parameter to define per-map languages. - -* Static map support, similar and based upon SlippyMap. - -==== Refactoring ==== - -* Rewrite the parameter handling to be more centralized and modular. -** Make it possible to override the info of parameters for mapping services, including their aliases, default values and criteria. -** Make it possible to add and override parameters in each segment of Maps, instead of only the mapping services. - -* Cleaned up and centralized parser function code. - -* Refactored the marker specific data handling code in every display point class up to a central location. - -* Removed backward compatibility (to 0.2.x and earlier) of the earth parameter. - -* Removed support for Google Map API map type names for Google Maps. - -* Added code to unload any services from the service hook that are not present in the list of allowed services. This ensures they don't get initialized, and makes any check to see if the service is one of the allowed ones further on unneeded. - -* Added checks for extension dependencies that need to be present for Maps to be initialized. - -==== Bug fixes ==== - -* Fixed bug causing markers not to show up when a specific description was provided. - -==== Documenting ==== - -* Created screencast demonstrating display_map usage. - -* Creates screencast demonstrating display_point usage. - -* Updated the developer documentation about hooking into and extending Maps to be useful for the current version. - -===Maps 0.4.2=== -(2009-11-15) - -Changes in 0.4.2 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/11/16/maps-and-semantic-maps-0-4-2/ Maps and Semantic Maps 0.4.2 released] -* [http://blog.bn2vs.com/2009/11/12/new-in-maps-0-4-2/ New in Maps 0.4.2] - -==== New features ==== - -* Added overlays to Google Maps. This includes both an 'overlay' control, and a new parameter to choose the available and default loaded overlays. - -* Added specific handling for the coordinates= and addresses= parameters for both display_map and display_point(s). You can now specify you do not want anything that's not a coordinate on your map (so no geocoding) with the coordinates= parameter, or let Maps know everything is an address with the addresses= parameter, causing everything to be geocoded. Also modified the error messages for wrong addresses and coordinates to fit this new behaviour. - -==== Refactoring ==== - -* Added the version of Maps to the JS files call, to prevent issues when functions or calls are changed in new versions. - -* Changed the JavaScript map parameters for Google Maps from individual parameters to a groupe. - -==== Bug fixes ==== - -* Fixed inclusion path to the OSM JS file. This bug prevented any OSM maps from showing up. - -* Fixed display_map and the centre parameter of display_point(s). Both are unusable by a bug introduced in 0.4.1. - -* Fixed bug causing to many decimal digits in some coordinate notations, making them unrecognisable for Maps. - -* Fixed bug causing a form of DD notation not to get recognized. - -===Maps 0.4.1=== -(2009-11-10) - -==== Bug fixes ==== - -* Fixed problems with the ° sign, caused by wrong file encodings, resulting into problems with the DMS notation. - -* Fixed flaw in DMS to float translation, resulting into a map being displayed when the values where not separated by a comma. - -=== Maps 0.4 === -(2009-11-03) - -Changes in 0.4 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/11/03/finally-maps-and-semantic-maps-0-4/ Finally! Maps and Semantic Maps 0.4!] - -==== New features ==== - -* Added display_map parser function, to display maps without any markers. - -* Added parsing of marker-specific title and label values. - -* Added geocoding support for the centre parameter. This is based on automatic detection of non-coordinates to see if geocoding is required, similar to the modified behaviour of display_point(s). - -* Added minimum and maximum map size restrictions, like done in SlippyMap. - -* Added OSM mapping service, which uses OL, but only allows OSM layers and is optimized for OSM. - -* Added smart 'autopanzoom' control to OL and OSM services. It will determine for itself if a panzoom, panzoombar, or no control should be displayed, depending on the maps height. - -* Added support for DM and DD coordinate notations. - -==== Refactoring ==== - -* Created a hook system for the parser functions, allowing the adding or removing of additional parser function support. - -* Removed redundant absolute script path variable. This absolute value caused problems for some installations. - -* Changed the geocoding functionality into a true feature hook element, enabling easy removal. - -* Created service hook for the geocoding feature, loose from the mapping services hook. - -* Changed display_point(s) and display_address(es) to display_point(s), with auto detect functionality to see if the provided value are coordinates or addresses. display_address and display_addresses have been retained for backward compatibility, but will be removed from the docs. Backward compatibility will be removed at some point, so the use of these functions is discouraged. - -==== Bug fixes ==== - -* Fixed issue with the default parameter for the display_address(es) parser functions. - -* Fixed major bug in the initialization method causing hook code to get executed at a probably wrong moment. This bug can be the cause of some weird problems that surfaced since 0.3.3. - -* Fixed issue with size of pop-ups in Google Maps. They did not stretch far enough vertically for large contents. - -===Maps 0.3.4=== -(2009-09-12) - -Changes in 0.3.4 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/09/12/maps-and-semantic-maps-0-3-4-released/ Maps and Semantic Maps 0.3.4 released] - -====New features==== - -* Created hook system for features, which now also allows you to specify which features should be enabled and which not. - -====Refactoring==== - -* Added old style geocoding request again for people who do not have cURL enabled, plus a more consistent fall-back mechanism. - -* Added internationalization for the mapping service names. - -* Added internationalized list notations. - -* Restructured the parser function handling code to work with the new feature hook system. - -* Improved structure of geocoding classes. - -* Moved Semantic Maps JavaScript code from the Maps JS files to new SM JS files. - -* Fixed tiny performance issues all over the code. - -====Bug fixes==== - -* Fixed issue with empty parameters (par=value||par2=value2) that caused the default parameter (coordinate(s)/address(es)) to be overridden if it occurred after the default one was set. - -* Fixed wrong error message when you provide a coordinate(s)/address(es) parameter without any value (ie |coordinates=|) - -===Maps 0.3.3=== -(2009-08-25) - -Changes in 0.3.3 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/08/25/maps-and-semantic-maps-0-3-3/ Maps and Semantic Maps 0.3.3] - -====New features==== - -*Added [http://www.geonames.org GeoNames] geocoding support. This is an open source geocoding service, that does not require a licence. It has been made the default geocoding service. - -* Added wiki-text rendering to the values of the title and label parameters, allowing users to pass along links, images, and more. - -====Refactoring==== - -* Refactored some common functionality of the geocoder classes up to MapsBaseGeocoder. - -* Minor issue - the OpenLayers default zoom should be closer, when displaying one point - see the last map in [http://discoursedb.org/wiki/One-point_map the same page]. - -====Bug fixes==== - -* Fixed small bug in MapsMapper::inParamAliases that caused the determination of the geoservice to fail in some cases, and set it to the default. - -===Maps 0.3.2=== -(2009-08-18) - -Release for consistency. Only changes to Semantic Maps where made in 0.3.2. - -===Maps 0.3.1=== -(2009-08-18) - -====New features==== - -* Users can now define a default service for each feature - parser functions, query printers and form inputs. - -====Refactoring==== - -* Added check to see if the classes array is present in a mapping service info array. - -* Added check to see if a mapping service has handling for parser functions. In 0.3, Maps assumed it had, preventing the adding of mapping services that only have a form input or/and query printer. - -* The getValidService function now holds into account that not every service has support for both parser functions, query printers and form inputs. - -====Bug fixes==== - -* Added path to extension directory to non local class item in a service's info array, since adding the path is impossible in the declaration. - -===Maps 0.3=== -(2009-08-14) - -Changes in 0.3 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/08/13/final-changes-for-maps-and-sm-0-3/ Final changes for Maps and SM 0.3] - -* [http://blog.bn2vs.com/2009/08/07/new-features-in-maps-and-sm-0-3/ New features in Maps and SM 0.3] - -* [http://blog.bn2vs.com/2009/08/05/structural-changes-for-maps-and-sm-0-3/ Structural changes for Maps and SM 0.3] - -====New features==== - -* Multi location parser functions. Two completely new parser functions have been added that allow the displaying of multiple points on a map. - -* Configurable map type controls. Users can now configure the map type controls of Google maps and Yahoo! maps maps. They can set the available map types, and the order they want them to be displayed in the map type control. - -* Property names now have aliases. This means you can add several alternative ways to name the same parameter, for instance, you can make so that ‘auto zoom’ and ‘auto-zoom’ will do excellently the same as the main parameter ‘autozoom’. This is particularly handy for parameters such as ‘centre’ (British spelling) and ‘center’ (American spelling). - -* Added Google Maps moon, Mars and sky support. - -* Controls on both Yahoo! Maps and Google Maps map can now be configured by the user with the controls parameter. Yahoo! Maps maps already have this option for a limited set of controls since version 0.2, but the amount of available controls has now been expanded to what the Yahoo! Maps API offers. For Google Maps the change is significantly larger, since a lot of new controls can now be added. These included an overview map, a scale line, a drop down menu for map types, an automated reverse geocoding location determiner and more. - -* Added the ability to specify separate title, label and icon values for each marker in the display_points and display_addresses parser functions. - -* Added user friendly notices for when geocoding of an address fails. - -* A whole list of OpenLayers base layers have been added. These include the satellite, street and hybrid views for Yahoo! Maps and Bing Maps, but also finally the OpenStreetMap layers. - -====Refactoring==== - -* Created hook system for the mapping services. All hard-coded references to mapping services in the core code have been removed. A service is now added by one multi dimensional array in Maps.php (note that this can also be done in the initialization file of another extension!), which holds the name of the parser functions class and it’s location, the aliases for the service name (feature added in 0.2), and their allowed specific parameters and their aliases. This architecture allows other people to create their own mapping extension using the Maps (and Semantic Maps) ‘API’. - -* Created a class that bundles common functionality from MapsBaseMap and SMFormInput. - -* Rewrote parts of the geocoder base class. - -* Added separated handling for default parameter for each mapping service. - -* Changed the requests in the geocoder classes to CURL requests to avoid security issues. - -* Moved common, parser function specific, functions and variables from MapsMapper to a new MapsParserFunctions class. - -* Moved common code within the mapping services out of the parser function class to a new utility classes. - -====Bug fixes==== - -* Fixed issue preventing the extension description from showing up in 0.2.1 & 0.2.2. - -* Fixed bug that caused Bing maps (for open layers) to not work. - -===Maps 0.2=== -(2009-07-29) - -====New features==== - -* Added Backward compatibility by using the $wgGoogleMapsKey when this one is set and $egGoogleMapsKey isn't. - -* Added hook for [[Extension:Admin_Links|Admin Links]]. - -* Added a true aliasing system for service names. - -* Created a centre parameter, that will allow you to set a custom map centre (different from the place where the marker will be put). - -* Added pop-ups for the markers with title and label parameters to determine the pop-up contents. - -* Changed the OpenLayers control handling. Make it accept all (36) OL controls by using eval() instead of a switch statement in the JavaScript. - -* Added the 'physical' button in the map type control of Google Maps maps when this map type is set. - -* Added Yahoo! geocoder support (for parser functions). - -====Refactoring==== - -* Refactored MapsBaseMap and all it's child classes. This will vastly increase code centralization and decrease redundant logic and definitions. - -* Did a major rewrite of the Google Maps and Yahoo! Maps code. The parser function classes now only print a call to a JS function with all needed parameters, which then does all the logic and creates the map. - -====Bug fixes==== - -* Fixed issue causing aliases for service names getting turned into the default service since they are not in the allowed services list. - -* Removed redundant parts of the OpenLayers library. - -===Maps 0.1=== -(2009-07-20) - -* Initial release, featuring Google Maps (+ Google Earth), Yahoo! Maps and OpenLayers mapping services. diff --git a/documentacion/extensions/Maps/includes/Maps_BaseElement.php b/documentacion/extensions/Maps/includes/Maps_BaseElement.php deleted file mode 100644 index a54e9b4..0000000 --- a/documentacion/extensions/Maps/includes/Maps_BaseElement.php +++ /dev/null @@ -1,50 +0,0 @@ -title; - } - - public function setTitle( $title ) { - $this->title = trim($title); - } - - public function getText() { - return $this->text; - } - - public function setText( $text ) { - $this->text = trim($text); - } - - public function getLink() { - return $this->link; - } - - public function setLink( $link ) { - $this->link = trim($link); - } - - public function hasTitle() { - return !is_null($this->title) && $this->title !== ''; - } - - public function hasText() { - return !is_null($this->text) && $this->text !== ''; - } - - public function getJSONObject( $defText = '' , $defTitle = '' ) { - return array( - 'text' => $this->hasText() ? $this->getText() : $defText , - 'title' => $this->hasTitle() ? $this->getTitle() : $defTitle , - 'link' => $this->getLink() , - ); - } -} diff --git a/documentacion/extensions/Maps/includes/Maps_BaseFillableElement.php b/documentacion/extensions/Maps/includes/Maps_BaseFillableElement.php deleted file mode 100644 index df9da0a..0000000 --- a/documentacion/extensions/Maps/includes/Maps_BaseFillableElement.php +++ /dev/null @@ -1,42 +0,0 @@ -fillColor; - } - - public function setFillColor( $fillColor ) { - $this->fillColor = trim($fillColor); - } - - public function getFillOpacity() { - return $this->fillOpacity; - } - - public function setFillOpacity( $fillOpacity ) { - $this->fillOpacity = trim($fillOpacity); - } - - public function hasFillColor() { - return !is_null( $this->fillColor ) && $this->fillColor !== ''; - } - - public function hasFillOpacity() { - return !is_null( $this->fillOpacity ) && $this->fillOpacity !== ''; - } - - public function getJSONObject( $defText = '' , $defTitle = '' ) { - $parentArray = parent::getJSONObject( $defText , $defTitle ); - $array = array( - 'fillColor' => $this->hasFillColor() ? $this->getFillColor() : '#FF0000' , - 'fillOpacity' => $this->hasFillOpacity() ? $this->getFillOpacity() : '0.5' , - ); - return array_merge( $parentArray , $array ); - } -} diff --git a/documentacion/extensions/Maps/includes/Maps_Circle.php b/documentacion/extensions/Maps/includes/Maps_Circle.php deleted file mode 100644 index 6829b87..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Circle.php +++ /dev/null @@ -1,73 +0,0 @@ - - */ -class MapsCircle extends MapsBaseFillableElement { - - /** - * @var - */ - protected $circleCentre; - - /** - * @var - */ - protected $circleRadius; - - /** - * - */ - function __construct( $circleCentre , $circleRadius ) { - $this->setCircleCentre( $circleCentre ); - $this->setCircleRadius( $circleRadius ); - } - - /** - * @return - */ - public function getCircleCentre() { - return $this->circleCentre; - } - - /** - * @param $circleCentre - */ - public function setCircleCentre( $circleCentre ) { - $this->circleCentre = new MapsLocation( $circleCentre ); - } - - /** - * @return - */ - public function getCircleRadius() { - return $this->circleRadius; - } - - /** - * @param $circleRadius - */ - public function setCircleRadius( $circleRadius ) { - $this->circleRadius = $circleRadius; - } - - public function getJSONObject( $defText = '' , $defTitle = '' ) { - - $parentArray = parent::getJSONObject( $defText , $defTitle ); - $array = array( - 'centre' => array( - 'lon' => $this->getCircleCentre()->getLongitude() , - 'lat' => $this->getCircleCentre()->getLatitude() - ) , - 'radius' => intval( $this->getCircleRadius() ) , - ); - return array_merge( $parentArray , $array ); - } -} diff --git a/documentacion/extensions/Maps/includes/Maps_CoordinateParser.php b/documentacion/extensions/Maps/includes/Maps_CoordinateParser.php deleted file mode 100644 index a9af042..0000000 --- a/documentacion/extensions/Maps/includes/Maps_CoordinateParser.php +++ /dev/null @@ -1,637 +0,0 @@ - 1 ) { - $coordinates = $params; - } - - if ( is_array( $coordinates ) ) { - $coordinates = implode( self::$separators[0], $coordinates ); - } - - // Handle i18n notations. - $coordinates = self::handleI18nLabels( $coordinates ); - - // Normalize the coordinates string. - $coordinates = self::normalizeCoordinates( $coordinates ); - - // Determine what notation the coordinates are in. - $coordsType = self::getCoordinatesType( $coordinates, false ); - - // If getCoordinatesType returned false, the provided value is invalid or in an unsuported notation. - if ( $coordsType === false ) { - return false; - } - - // Split the coodrinates string into a lat and lon part. - foreach ( self::$separators as $separator ) { - $split = explode( $separator, $coordinates ); - if ( count( $split ) == 2 ) break; - } - - // This should not happen, as the validity of the coordinate set is already ensured by the regexes, - // but do the check anyway, and return false if it fails. - if ( count( $split ) != 2 ) { - return false; - } - - $coordinates = array( - 'lat' => trim( $split[0] ), - 'lon' => trim( $split[1] ), - ); - - // Ensure the coordinates are in non-directional notation. - $coordinates = self::resolveAngles( $coordinates ); - - // Parse both latitude and longitude to float notation, and return the result. - return array( - 'lat' => (float)self::parseCoordinate( $coordinates['lat'], $coordsType ), - 'lon' => (float)self::parseCoordinate( $coordinates['lon'], $coordsType ), - ); - } - - /** - * Returns the type of the provided coordinates, or false if they are invalid. - * You can use this as validation function, but be sure to use ===, since 0 can be returned. - * - * @since 0.6 - * - * @param string $coordinates - * @param boolean $normalize - * - * @return Integer or false - */ - public static function getCoordinatesType( $coordinates, $normalize = true ) { - if ( $normalize ) { - // Normalize the coordinates string. - $coordinates = self::normalizeCoordinates( $coordinates ); - } - - switch ( true ) { - case self::areFloatCoordinates( $coordinates ): - return Maps_COORDS_FLOAT; - break; - case self::areDMSCoordinates( $coordinates ): - return Maps_COORDS_DMS; - break; - case self::areDDCoordinates( $coordinates ): - return Maps_COORDS_DD; - break; - case self::areDMCoordinates( $coordinates ): - return Maps_COORDS_DM; - break; - default: - return false; - } - } - - /** - * Returns a boolean indicating if the provided value is a valid set of coordinate. - * - * @since 0.6 - * - * @param string $coordsOrAddress - * - * @return boolean - */ - public static function areCoordinates( $coordsOrAddress ) { - - // Handle i18n notations. - $coordsOrAddress = self::handleI18nLabels( $coordsOrAddress ); - - return self::getCoordinatesType( $coordsOrAddress ) !== false; - } - - /** - * Turns a given coordinate set into a single string that gets formatted - * depending on the $targetType and $directional parameters. - * - * they will be parsed to the given notation, which defaults to - * non-directional floats - * - * @since 0.6 - * - * @param array $coordinates The set of coordinates that needs to be formatted. Either an associative - * array with lat and lon keys, or a numbered array with lat on index 0, and lon on index 1. - * @param coordinate type $targetFormat The notation to which they should be formatted. Defaults to floats. - * @param boolean $directional Indicates if the target notation should be directional. Defaults to false. - * @param string $separator Delimiter to separate the latitude and longitude with. - * - * @return string - */ - public static function formatCoordinates( array $coordinates, $targetFormat = Maps_COORDS_FLOAT, $directional = false, $separator = ', ' ) { - return implode( $separator, self::formatToArray( $coordinates, $targetFormat, $directional ) ); - } - - /** - * Turns a given coordinate set into a single string that gets formatted - * depending on the $targetType and $directional parameters. - * - * they will be parsed to the given notation, which defaults to - * non-directional floats - * - * @since 0.6.2 - * - * @param array $coordinates The set of coordinates that needs to be formatted. Either an associative - * array with lat and lon keys, or a numbered array with lat on index 0, and lon on index 1. - * @param coordinate type $targetFormat The notation to which they should be formatted. Defaults to floats. - * @param boolean $directional Indicates if the target notation should be directional. Defaults to false. - * - * @return array of string - */ - public static function formatToArray( array $coordinates, $targetFormat = Maps_COORDS_FLOAT, $directional = false ) { - if ( !array_key_exists( 'lat', $coordinates ) || !array_key_exists( 'lon', $coordinates ) ) { - list( $coordinates['lat'], $coordinates['lon'] ) = $coordinates; - } - - $coordinates = array( - 'lat' => self::formatCoordinate( $coordinates['lat'], $targetFormat ), - 'lon' => self::formatCoordinate( $coordinates['lon'], $targetFormat ), - ); - - return self::setAngles( $coordinates, $directional ); - } - - /** - * Returns a normalized version of the provided coordinates. - * - * @since 0.6 - * - * @param string $coordinates - * - * @return string The normalized version of the provided coordinates. - */ - protected static function normalizeCoordinates( $coordinates ) { - $coordinates = str_replace( ' ', '', $coordinates ); - - $coordinates = str_replace( array( '°', '°' ), self::SYMBOL_DEG, $coordinates ); - $coordinates = str_replace( array( '´', '´' ), self::SYMBOL_SEC, $coordinates ); - $coordinates = str_replace( array( '′', '′', '´', '′' ), self::SYMBOL_MIN, $coordinates ); - $coordinates = str_replace( array( '″', '″', self::SYMBOL_MIN . self::SYMBOL_MIN, '´´', '′′', '″' ), self::SYMBOL_SEC, $coordinates ); - - $coordinates = self::removeInvalidChars( $coordinates ); - - return $coordinates; - } - - /** - * Returns a string with control characters and characters with ascii values above 126 removed. - * - * @since 0.6.3 - * - * @param string $string Yeah, it's a string, seriously! - * - * @return string - */ - protected static function removeInvalidChars( $string ) { - $filtered = array(); - - foreach ( str_split( $string ) as $character ) { - $asciiValue = ord( $character ); - - if ( ( $asciiValue > 31 && $asciiValue < 127 ) || $asciiValue == 194 || $asciiValue == 176 ) { - $filtered[] = $character; - } - } - - return implode( '', $filtered ); - } - - /** - * Formats a single non-directional float coordinate in the given notation. - * - * @since 0.6 - * - * @param string $coordinate The coordinate to be formatted. - * @param coordinate type $targetFormat The notation to which they should be formatted. - * - * @return string - */ - protected static function formatCoordinate( $coordinate, $targetFormat ) { - $coordinate = (float)$coordinate; - - switch ( $targetFormat ) { - case Maps_COORDS_FLOAT: - return $coordinate; - case Maps_COORDS_DMS: - $isNegative = $coordinate < 0; - $coordinate = abs( $coordinate ); - - $degrees = floor( $coordinate ); - $minutes = ( $coordinate - $degrees ) * 60; - $seconds = ( $minutes - floor( $minutes ) ) * 60; - - $result = $degrees . self::SYMBOL_DEG . ' ' . floor( $minutes ) . self::SYMBOL_MIN . ' ' . round( $seconds ) . self::SYMBOL_SEC; - if ( $isNegative ) $result = '-' . $result; - - return $result; - case Maps_COORDS_DD: - return $coordinate . self::SYMBOL_DEG; - case Maps_COORDS_DM: - $coordinate = abs( $coordinate ); - $degrees = floor( $coordinate ); - - return sprintf( - "%s%d%s %0.3f%s", - $coordinate < 0 ? '-' : '', - $degrees, self::SYMBOL_DEG, - ( $coordinate - $degrees ) * 60, self::SYMBOL_MIN - ); - default: - throw new Exception( __METHOD__ . " does not support formatting of coordinates to the $targetFormat notation." ); - } - } - - /** - * Parses a coordinate that's in the provided notation to float representatation. - * - * @since 0.6 - * - * @param string $coordinate The coordinate to be parsed. - * @param coordinate type $coordType The notation the coordinate is currently in. - * - * @return string - */ - protected static function parseCoordinate( $coordinate, $coordType ) { - switch ( $coordType ) { - case Maps_COORDS_FLOAT: - return $coordinate; - case Maps_COORDS_DD: - return self::parseDDCoordinate( $coordinate ); - case Maps_COORDS_DM: - return self::parseDMCoordinate( $coordinate ); - case Maps_COORDS_DMS: - return self::parseDMSCoordinate( $coordinate ); - default: - throw new Exception( __METHOD__ . " does not support parsing of the $coordType coordinate type." ); - } - } - - /** - * returns whether the coordinates are in float representation. - * - * @since 0.6 - * - * @param string $coordinates - * - * @return boolean - */ - public static function areFloatCoordinates( $coordinates ) { - $sep = self::getSeparatorsRegex(); - return preg_match( '/^(-)?\d{1,3}(\.\d{1,20})?' . $sep . '(-)?\d{1,3}(\.\d{1,20})?$/i', $coordinates ) // Non-directional - || preg_match( '/^\d{1,3}(\.\d{1,20})?(N|S)' . $sep . '\d{1,3}(\.\d{1,20})?(E|W)$/i', $coordinates ); // Directional - } - - /** - * returns whether the coordinates are in DMS representation. - * - * @since 0.6 - * - * @param string $coordinates - * - * @return boolean - */ - public static function areDMSCoordinates( $coordinates ) { - $sep = self::getSeparatorsRegex(); - return preg_match( '/^(-)?(\d{1,3}°)(\d{1,2}(\′|\'))?((\d{1,2}(″|"))?|(\d{1,2}\.\d{1,20}(″|"))?)' - . $sep . '(-)?(\d{1,3}°)(\d{1,2}(\′|\'))?((\d{1,2}(″|"))?|(\d{1,2}\.\d{1,20}(″|"))?)$/i', $coordinates ) // Non-directional - || preg_match( '/^(\d{1,3}°)(\d{1,2}(\′|\'))?((\d{1,2}(″|"))?|(\d{1,2}\.\d{1,20}(″|"))?)(N|S)' - . $sep . '(\d{1,3}°)(\d{1,2}(\′|\'))?((\d{1,2}(″|"))?|(\d{1,2}\.\d{1,20}(″|"))?)(E|W)$/i', $coordinates ); // Directional - } - - /** - * returns whether the coordinates are in Decimal Degree representation. - * - * @since 0.6 - * - * @param string $coordinates - * - * @return boolean - */ - public static function areDDCoordinates( $coordinates ) { - $sep = self::getSeparatorsRegex(); - return preg_match( '/^(-)?\d{1,3}(|\.\d{1,20})°' . $sep . '(-)?\d{1,3}(|\.\d{1,20})°$/i', $coordinates ) // Non-directional - || preg_match( '/^\d{1,3}(|\.\d{1,20})°(N|S)' . $sep . '\d{1,3}(|\.\d{1,20})°(E|W)?$/i', $coordinates ); // Directional - } - - /** - * returns whether the coordinates are in Decimal Minute representation. - * - * @since 0.6 - * - * @param string $coordinates - * - * @return boolean - */ - public static function areDMCoordinates( $coordinates ) { - $sep = self::getSeparatorsRegex(); - return preg_match( '/(-)?\d{1,3}°(\d{1,2}(\.\d{1,20}\')?)?' . $sep . '(-)?\d{1,3}°(\d{1,2}(\.\d{1,20}\')?)?$/i', $coordinates ) // Non-directional - || preg_match( '/\d{1,3}°(\d{1,2}(\.\d{1,20}\')?)?(N|S)' . $sep . '\d{1,3}°(\d{1,2}(\.\d{1,20}\')?)?(E|W)?$/i', $coordinates ); // Directional - } - - /** - * Turn i18n labels into English ones, for both validation and ease of handling. - * - * @since 0.6 - * - * @param string $coordinates - * - * @return string - */ - private static function handleI18nLabels( $coordinates ) { - self::initializeDirectionLabels(); - return str_replace( self::$i18nDirections, self::$directions, $coordinates ); - } - - /** - * Initialize the cache for internationalized direction labels if not done yet. - * - * @since 0.6 - */ - protected static function initializeDirectionLabels() { - global $egMapsInternatDirectionLabels; - - if ( !self::$i18nDirections ) { - if ( $egMapsInternatDirectionLabels ) { - self::$i18nDirections = array( - 'N' => wfMsgForContent( 'maps-abb-north' ), - 'E' => wfMsgForContent( 'maps-abb-east' ), - 'S' => wfMsgForContent( 'maps-abb-south' ), - 'W' => wfMsgForContent( 'maps-abb-west' ), - ); - } - else { - self::$i18nDirections = array( - 'N' => 'N', - 'E' => 'E', - 'S' => 'S', - 'W' => 'W', - ); - } - - self::$directions = array_keys( self::$i18nDirections ); - } - } - - /** - * Turns directional notation (N/E/S/W) of a coordinate set into non-directional notation (+/-). - * - * @since 0.6 - * - * @param array $coordinates - * - * @return array - */ - protected static function resolveAngles( array $coordinates ) { - return array( - 'lat' => self::resolveAngle( $coordinates['lat'] ), - 'lon' => self::resolveAngle( $coordinates['lon'] ), - ); - } - - /** - * Turns directional notation (N/E/S/W) of a single coordinate into non-directional notation (+/-). - * - * @since 0.6 - * - * @param string $coordinate - * - * @return string - */ - protected static function resolveAngle( $coordinate ) { - // Get the last char, which could be a direction indicator - $lastChar = strtoupper( substr( $coordinate, -1 ) ); - - // If there is a direction indicator, remove it, and prepend a minus sign for south and west directions. - // If there is no direction indicator, the coordinate is already non-directional and no work is required. - if ( in_array( $lastChar, self::$directions ) ) { - $coordinate = substr( $coordinate, 0, -1 ); - - if ( ( $lastChar == 'S' ) or ( $lastChar == 'W' ) ) { - $coordinate = '-' . trim( $coordinate ); - } - } - - return $coordinate; - } - - /** - * Turns non-directional notation in directional notation when needed. - * - * @since 0.6 - * - * @param array $coordinates The coordinates set to possibly make directional. Needs to be non-directional! - * - * @return array - */ - protected static function setAngles( array $coordinates, $directional ) { - if ( $directional ) { - return array( - 'lat' => self::setDirectionalAngle( $coordinates['lat'], true ), - 'lon' => self::setDirectionalAngle( $coordinates['lon'], false ), - ); - } else { - return $coordinates; - } - } - - /** - * Turns non-directional notation in directional notation. - * - * @since 0.6 - * - * @param string $coordinate The coordinate to make directional. Needs to be non-directional! - * @param boolean $isLat Should be true for latitudes and false for longitudes. - * - * @return string - */ - protected static function setDirectionalAngle( $coordinate, $isLat ) { - self::initializeDirectionLabels(); - - $coordinate = (string)$coordinate; - $isNegative = $coordinate{0} == '-'; - - if ( $isNegative ) $coordinate = substr( $coordinate, 1 ); - - if ( $isLat ) { - $directionChar = self::$i18nDirections[ $isNegative ? 'S' : 'N' ]; - } else { - $directionChar = self::$i18nDirections[ $isNegative ? 'W' : 'E' ]; - } - - return $coordinate . ' ' . $directionChar; - } - - /** - * Takes a set of coordinates in DMS representation, and returns them in float representation. - * - * @since 0.6 - * - * @param string $coordinate - * - * @return string - */ - protected static function parseDMSCoordinate( $coordinate ) { - if ( !is_string( $coordinate ) ) { - throw new Exception( 'Parameter $coordinate must be a string at ' . __METHOD__ ); - } - - $isNegative = $coordinate{0} == '-'; - if ( $isNegative ) $coordinate = substr( $coordinate, 1 ); - - $degreePosition = strpos( $coordinate, self::SYMBOL_DEG ); - $degrees = substr ( $coordinate, 0, $degreePosition ); - - $minutePosition = strpos( $coordinate, self::SYMBOL_MIN ); - - if ( $minutePosition === false ) { - $minutes = 0; - } - else { - $degSignLength = strlen( self::SYMBOL_DEG ); - $minuteLength = $minutePosition - $degreePosition - $degSignLength; - $minutes = substr ( $coordinate, $degreePosition + $degSignLength, $minuteLength ); - } - - $secondPosition = strpos( $coordinate, self::SYMBOL_SEC ); - - if ( $minutePosition === false ) { - $seconds = 0; - } - else { - $secondLength = $secondPosition - $minutePosition - 1; - $seconds = substr ( $coordinate, $minutePosition + 1, $secondLength ); - } - - $coordinate = $degrees + ( $minutes + $seconds / 60 ) / 60; - if ( $isNegative ) $coordinate *= -1; - - return $coordinate; - } - - /** - * Takes a set of coordinates in Decimal Degree representation, and returns them in float representation. - * - * @since 0.6 - * - * @param string $coordinate - * - * @return string - */ - protected static function parseDDCoordinate( $coordinate ) { - return (float)str_replace( self::SYMBOL_DEG, '', $coordinate ); - } - - /** - * Takes a set of coordinates in Decimal Minute representation, and returns them in float representation. - * - * @since 0.6 - * - * @param string $coordinate - * - * @return string - */ - protected static function parseDMCoordinate( $coordinate ) { - $isNegative = $coordinate{0} == '-'; - if ( $isNegative ) $coordinate = substr( $coordinate, 1 ); - - list( $degrees, $minutes ) = explode( self::SYMBOL_DEG, $coordinate ); - - $minutes = substr( $minutes, 0, -1 ); - - $coordinate = $degrees + $minutes / 60; - if ( $isNegative ) $coordinate *= -1; - - return $coordinate; - } - - /** - * Gets a regex group that allows only the supported separators. - * - * @since 0.6.2 - * - * @return string - */ - protected static function getSeparatorsRegex() { - if ( !self::$separatorsRegex ) self::$separatorsRegex = '(' . implode( '|', self::$separators ) . ')'; - return self::$separatorsRegex; - } - - /** - * Parse a string containing coordinates and return the same value in the specified notation. - * - * @since 0.6 - * - * @param string $coordinates - * @param $targetFormat - * @param boolean $directional - * - * return string - */ - public static function parseAndFormat( $coordinates, $targetFormat = Maps_COORDS_FLOAT, $directional = false ) { - $parsedCoords = self::parseCoordinates( $coordinates ); - - if ( $parsedCoords ) { - return self::formatCoordinates( $parsedCoords, $targetFormat, $directional ); - } else { - return false; - } - } - -} diff --git a/documentacion/extensions/Maps/includes/Maps_DisplayMapRenderer.php b/documentacion/extensions/Maps/includes/Maps_DisplayMapRenderer.php deleted file mode 100644 index ee4012f..0000000 --- a/documentacion/extensions/Maps/includes/Maps_DisplayMapRenderer.php +++ /dev/null @@ -1,156 +0,0 @@ - - * @author Kim Eik - */ -class MapsDisplayMapRenderer { - - /** - * @since 2.0 - * - * @var iMappingService - */ - protected $service; - - /** - * Constructor. - * - * @param iMappingService $service - */ - public function __construct( iMappingService $service ) { - $this->service = $service; - } - - /** - * Returns the HTML to display the map. - * - * @since 2.0 - * - * @param array $params - * @param Parser $parser - * @param string $mapName - * - * @return string - */ - protected function getMapHTML( array $params, Parser $parser, $mapName ) { - return Html::rawElement( - 'div', - array( - 'id' => $mapName, - 'style' => "width: {$params['width']}; height: {$params['height']}; background-color: #cccccc; overflow: hidden;", - 'class' => 'maps-map maps-' . $this->service->getName() - ), - wfMessage( 'maps-loading-map' )->inContentLanguage()->escaped() . - Html::element( - 'div', - array( 'style' => 'display:none', 'class' => 'mapdata' ), - FormatJson::encode( $this->getJSONObject( $params, $parser ) ) - ) - ); - } - - /** - * Returns a PHP object to encode to JSON with the map data. - * - * @since 2.0 - * - * @param array $params - * @param Parser $parser - * - * @return mixed - */ - protected function getJSONObject( array $params, Parser $parser ) { - return $params; - } - - /** - * Handles the request from the parser hook by doing the work that's common for all - * mapping services, calling the specific methods and finally returning the resulting output. - * - * @param array $params - * @param Parser $parser - * - * @return html - */ - public final function renderMap( array $params, Parser $parser ) { - $this->handleMarkerData( $params, $parser ); - - $mapName = $this->service->getMapId(); - - $output = $this->getMapHTML( $params, $parser, $mapName ); - - $configVars = Skin::makeVariablesScript( $this->service->getConfigVariables() ); - - $this->service->addDependencies( $parser ); - $parser->getOutput()->addHeadItem( $configVars ); - - return $output; - } - - /** - * Converts the data in the coordinates parameter to JSON-ready objects. - * These get stored in the locations parameter, and the coordinates on gets deleted. - * - * @since 1.0 - * - * @param array &$params - * @param Parser $parser - */ - protected function handleMarkerData( array &$params, Parser $parser ) { - $parserClone = clone $parser; - - $iconUrl = MapsMapper::getFileUrl( $params['icon'] ); - $visitedIconUrl = MapsMapper::getFileUrl( $params['visitedicon'] ); - $params['locations'] = array(); - - /** - * @var MapsLocation $location - */ - foreach ( $params['coordinates'] as $location ) { - if ( $location->isValid() ) { - $jsonObj = $location->getJSONObject( $params['title'], $params['label'], $iconUrl, '', '',$visitedIconUrl); - - $jsonObj['title'] = $parserClone->parse( $jsonObj['title'], $parserClone->getTitle(), new ParserOptions() )->getText(); - $jsonObj['text'] = $parserClone->parse( $jsonObj['text'], $parserClone->getTitle(), new ParserOptions() )->getText(); - $jsonObj['inlineLabel'] = strip_tags($parserClone->parse( $jsonObj['inlineLabel'], $parserClone->getTitle(), new ParserOptions() )->getText(),''); - - $hasTitleAndtext = $jsonObj['title'] !== '' && $jsonObj['text'] !== ''; - $jsonObj['text'] = ( $hasTitleAndtext ? '' . $jsonObj['title'] . '
    ' : $jsonObj['title'] ) . $jsonObj['text']; - $jsonObj['title'] = strip_tags( $jsonObj['title'] ); - - $params['locations'][] = $jsonObj; - } - } - - unset( $params['coordinates'] ); - - $textContainers = array( - &$params['lines'] , - &$params['polygons'] , - &$params['circles'] , - &$params['rectangles'], - &$params['imageoverlays'], // FIXME: this is Google Maps specific!! - ); - - foreach ( $textContainers as &$textContainer ) { - if ( is_array( $textContainer ) ) { - foreach ( $textContainer as &$obj ) { - $obj['title'] = $parserClone->parse( $obj['title'] , $parserClone->getTitle() , new ParserOptions() )->getText(); - $obj['text'] = $parserClone->parse( $obj['text'] , $parserClone->getTitle() , new ParserOptions() )->getText(); - - $hasTitleAndtext = $obj['title'] !== '' && $obj['text'] !== ''; - $obj['text'] = ( $hasTitleAndtext ? '' . $obj['title'] . '
    ' : $obj['title'] ) . $obj['text']; - $obj['title'] = strip_tags( $obj['title'] ); - } - } - } - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_DistanceParser.php b/documentacion/extensions/Maps/includes/Maps_DistanceParser.php deleted file mode 100644 index 8dc0992..0000000 --- a/documentacion/extensions/Maps/includes/Maps_DistanceParser.php +++ /dev/null @@ -1,187 +0,0 @@ -formatNum( round( $meters / self::getUnitRatio( $unit ), $decimals ) ); - return "$meters $unit"; - } - - /** - * Shortcut for converting from one unit to another. - * - * @since 0.6 - * - * @param string $distance - * @param string $unit - * @param integer $decimals - * - * @return string - */ - public static function parseAndFormat( $distance, $unit = null, $decimals = 2 ) { - return self::formatDistance( self::parseDistance( $distance ), $unit, $decimals ); - } - - /** - * Returns if the provided string is a valid distance. - * - * @since 0.6 - * - * @param string $distance - * - * @return boolean - */ - public static function isDistance( $distance ) { - $distance = self::normalizeDistance( $distance ); - - self::initUnitRegex(); - - return (bool)preg_match( '/^\d+(\.\d+)?\s?(' . self::$unitRegex . ')?$/', $distance ); - } - - /** - * Returns the unit to meter ratio in a safe way, by first resolving the unit. - * - * @since 0.6.2 - * - * @param string $unit - * - * @return float - */ - public static function getUnitRatio( $unit = null ) { - global $egMapsDistanceUnits; - return $egMapsDistanceUnits[self::getValidUnit( $unit )]; - } - - /** - * Returns a valid unit. If the provided one is invalid, the default will be used. - * - * @since 0.6.2 - * - * @param string $unit - * - * @return string - */ - public static function getValidUnit( $unit = null ) { - global $egMapsDistanceUnit, $egMapsDistanceUnits; - - // This ensures the value for $egMapsDistanceUnit is correct, and caches the result. - if ( self::$validatedDistanceUnit === false ) { - if ( !array_key_exists( $egMapsDistanceUnit, $egMapsDistanceUnits ) ) { - $units = array_keys( $egMapsDistanceUnits ); - $egMapsDistanceUnit = $units[0]; - } - - self::$validatedDistanceUnit = true; - } - - if ( $unit == null || !array_key_exists( $unit, $egMapsDistanceUnits ) ) { - $unit = $egMapsDistanceUnit; - } - - return $unit; - } - - /** - * Returns a list of all suported units. - * - * @since 0.6 - * - * @return array - */ - public static function getUnits() { - global $egMapsDistanceUnits; - return array_keys( $egMapsDistanceUnits ); - } - - /** - * Normalizes a potential distance by removing spaces and truning comma's into dots. - * - * @since 0.6.5 - * - * @param $distance String - * - * @return string - */ - protected static function normalizeDistance( $distance ) { - $distance = trim( (string)$distance ); - $strlen = strlen( $distance ); - - for ( $i = 0; $i < $strlen; $i++ ) { - if ( !ctype_digit( $distance{$i} ) && !in_array( $distance{$i}, array( ',', '.' ) ) ) { - $value = substr( $distance, 0, $i ); - $unit = substr( $distance, $i ); - break; - } - } - - $value = str_replace( ',', '.', isset( $value ) ? $value : $distance ); - - if ( isset( $unit ) ) { - $value .= ' ' . str_replace( array( ' ', "\t" ), '', $unit ); - } - - return $value; - } - - private static function initUnitRegex() { - if ( self::$unitRegex === false ) { - global $egMapsDistanceUnits; - self::$unitRegex = implode( '|', array_keys( $egMapsDistanceUnits ) ) . '|'; - } - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_GeoFunctions.php b/documentacion/extensions/Maps/includes/Maps_GeoFunctions.php deleted file mode 100644 index 7227b89..0000000 --- a/documentacion/extensions/Maps/includes/Maps_GeoFunctions.php +++ /dev/null @@ -1,86 +0,0 @@ - rad2deg( $lat ), - 'lon' => rad2deg( $lon ) - ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_Geocoder.php b/documentacion/extensions/Maps/includes/Maps_Geocoder.php deleted file mode 100644 index a4d2e95..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Geocoder.php +++ /dev/null @@ -1,163 +0,0 @@ -aliases; - } - - /** - * Returns if the geocoder has a certain alias. - * - * @since 0.7 - * - * @return boolean - */ - public function hasAlias( $alias ) { - return in_array( $alias, $this->aliases ); - } - - /** - * Returns an array containing the geocoded latitude (lat) and - * longitude (lon) of the provided address, or false in case the - * geocoding fails. - * - * @since 0.2 - * - * @param $address String: the address to be geocoded - * - * @return array or false - */ - public function geocode( $address ) { - $response = Http::get( $this->getRequestUrl( $address ) ); - - if ( $response === false ) { - return false; - } - else { - return $this->parseResponse( $response ); - } - } - - /** - * Gets the contents of the first XML tag with the provided name, - * returns false when no matching element is found. - * - * @param string $xml - * @param string $tagName - * - * @return string or false - */ - protected static function getXmlElementValue( $xml, $tagName ) { - $match = array(); - preg_match( "/<$tagName>(.*?)<\/$tagName>/", $xml, $match ); - return count( $match ) > 1 ? $match[1] : false; - } - - /** - * Returns the mapping service overrides for this geocoder, allowing it to be used - * instead of the default geocoder when none is provided for certain mapping services. - * - * Returns an empty array by default. Override to add overrides. - * - * @since 0.7 - * - * @return array - */ - public static function getOverrides() { - return array(); - } - - /** - * Returns if the global geocoder cache should be used or not. - * By default it should be, but overriding this function allows - * for making a geocoder ignore it and implement it's own solution. - * - * @since 0.7 - * - * @return boolean - */ - public function hasGlobalCacheSupport() { - return true; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_Geocoders.php b/documentacion/extensions/Maps/includes/Maps_Geocoders.php deleted file mode 100644 index 0dd7371..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Geocoders.php +++ /dev/null @@ -1,371 +0,0 @@ - MapsGeocoder - */ - protected static $geocoders = array(); - - /** - * Accociative with geoservice identifiers as keys containing the class - * name of the geocoders. This is used for registration of a geocoder - * without immedialty instantiating it. - * - * @since 0.7 - * - * @var array of string => string - */ - public static $registeredGeocoders = array(); - - /** - * The global geocoder cache, holding geocoded data when enabled. - * - * @since 0.7 - * - * @var array - */ - private static $globalGeocoderCache = array(); - - /** - * Can geocoding happen, ie are there any geocoders available. - * - * @since 1.0.3 - * @var boolean - */ - protected static $canGeocode = false; - - /** - * Returns if this class can do geocoding operations. - * Ie. if there are any geocoders available. - * - * @since 0.7 - * - * @return boolean - */ - public static function canGeocode() { - self::init(); - return self::$canGeocode; - } - - /** - * Gets a list of available geocoders. - * - * @since 1.0.3 - * - * @return array - */ - public static function getAvailableGeocoders() { - self::init(); - return array_keys( self::$registeredGeocoders ); - } - - /** - * Initiate the geocoding functionality. - * - * @since 1.0.3 - * - * @return boolean Indicates if init happened - */ - public static function init() { - static $initiated = false; - - if ( $initiated ) { - return false; - } - - $initiated = true; - - // Register the geocoders. - wfRunHooks( 'GeocoderFirstCallInit' ); - - // Determine if there are any geocoders. - self::$canGeocode = count( self::$registeredGeocoders ) > 0; - - return true; - } - - /** - * This function first determines wether the provided string is a pair or coordinates - * or an address. If it's the later, an attempt to geocode will be made. The function will - * return the coordinates or false, in case a geocoding attempt was made but failed. - * - * @since 0.7 - * - * @param string $coordsOrAddress - * @param string $geoservice - * @param string $mappingService - * @param boolean $checkForCoords - * @param boolean $checkForCoords - * - * @return array or false - */ - public static function attemptToGeocode( $coordsOrAddress, $geoservice = '', $mappingService = false, $checkForCoords = true ) { - if ( $checkForCoords ) { - if ( MapsCoordinateParser::areCoordinates( $coordsOrAddress ) ) { - return MapsCoordinateParser::parseCoordinates( $coordsOrAddress ); - } else { - return self::geocode( $coordsOrAddress, $geoservice, $mappingService ); - } - } else { - return self::geocode( $coordsOrAddress, $geoservice, $mappingService ); - } - } - - /** - * - * - * @since 0.7 - * - * @param string $coordsOrAddress - * - * @return boolean - */ - public static function isLocation( $coordsOrAddress, $geoService = '', $mappingService = false ) { - return self::attemptToGeocode( $coordsOrAddress, $geoService, $mappingService ) !== false; - } - - /** - * Geocodes an address with the provided geocoding service and returns the result - * as a string with the optionally provided format, or false when the geocoding failed. - * - * @since 0.7 - * - * @param string $coordsOrAddress - * @param string $service - * @param string $mappingService - * @param boolean $checkForCoords - * @param coordinate type $targetFormat The notation to which they should be formatted. Defaults to floats. - * @param boolean $directional Indicates if the target notation should be directional. Defaults to false. - * - * @return formatted coordinates string or false - */ - public static function attemptToGeocodeToString( $coordsOrAddress, $service = '', $mappingService = false, $checkForCoords = true, $targetFormat = Maps_COORDS_FLOAT, $directional = false ) { - $geoValues = self::attemptToGeocode( $coordsOrAddress, $service, $mappingService, $checkForCoords ); - return $geoValues ? MapsCoordinateParser::formatCoordinates( $geoValues, $targetFormat, $directional ) : false; - } - - /** - * Geocodes an address with the provided geocoding service and returns the result - * as an array, or false when the geocoding failed. - * - * @since 0.7 - * - * @param string $address - * @param string $geoService - * @param string $mappingService - * - * @return array with coordinates or false - */ - public static function geocode( $address, $geoService = '', $mappingService = false ) { - if ( !is_string( $address ) ) { - throw new Exception( 'Parameter $address must be a string at ' . __METHOD__ ); - } - - if ( !self::canGeocode() ) { - return false; - } - - $geocoder = self::getValidGeocoderInstance( $geoService, $mappingService ); - - // This means there was no suitable geocoder found, so return false. - if ( $geocoder === false ) { - return false; - } - - if ( $geocoder->hasGlobalCacheSupport() ) { - $cacheResult = self::cacheRead( $address ); - - // This means the cache returned an already computed set of coordinates. - if ( $cacheResult !== false ) { - return $cacheResult; - } - } - - // Do the actual geocoding via the geocoder. - $coordinates = $geocoder->geocode( $address ); - - // If there address could not be geocoded, and contains comma's, try again without the comma's. - // This is cause several geocoding services such as geonames do not handle comma's well. - if ( !$coordinates && strpos( $address, ',' ) !== false ) { - $coordinates = $geocoder->geocode( str_replace( ',', '', $address ) ); - } - - if ( $coordinates !== false ) { - self::cacheWrite( $address, $coordinates ); - } - - return $coordinates; - } - - /** - * Returns already coordinates already known from previous geocoding operations, - * or false if there is no match found in the cache. - * - * @since 0.7 - * - * @param string $address - * - * @return array or false - */ - protected static function cacheRead( $address ) { - global $egMapsEnableGeoCache; - - if ( $egMapsEnableGeoCache && array_key_exists( $address, self::$globalGeocoderCache ) ) { - return self::$globalGeocoderCache[$address]; - } - else { - return false; - } - } - - /** - * Writes the geocoded result to the cache if the cache is on. - * - * @since 0.7 - * - * @param string $address - * @param array $coordinates - */ - protected static function cacheWrite( $address, array $coordinates ) { - global $egMapsEnableGeoCache; - - // Add the obtained coordinates to the cache when there is a result and the cache is enabled. - if ( $egMapsEnableGeoCache && $coordinates ) { - self::$globalGeocoderCache[$address] = $coordinates; - } - } - - /** - * Does the same as Geocode, but also formats the result into a string. - * - * @since 0.7 - * - * @param string $coordsOrAddress - * @param string $service - * @param string $mappingService - * @param coordinate type $targetFormat The notation to which they should be formatted. Defaults to floats. - * @param boolean $directional Indicates if the target notation should be directional. Defaults to false. - * - * @return formatted coordinates string or false - */ - public static function geocodeToString( $address, $service = '', $mappingService = false, $targetFormat = Maps_COORDS_FLOAT, $directional = false ) { - $coordinates = self::geocode( $address, $service, $mappingService ); - return $coordinates ? MapsCoordinateParser::formatCoordinates( $coordinates, $targetFormat, $directional ) : false; - } - - /** - * Registeres a geocoder linked to an identifier. - * - * @since 0.7 - * - * @param string $geocoderIdentifier - * @param string $geocoderClassName - */ - public static function registerGeocoder( $geocoderIdentifier, $geocoderClassName ) { - self::$registeredGeocoders[$geocoderIdentifier] = $geocoderClassName; - } - - /** - * Returns the instance of the geocoder linked to the provided identifier - * or the default one when it's not valid. False is returned when there - * are no geocoders available. - * - * @since 0.7 - * - * @param string $geocoderIdentifier - * - * @return MapsGeocoder or false - */ - protected static function getValidGeocoderInstance( $geocoderIdentifier ) { - return self::getGeocoderInstance( self::getValidGeocoderIdentifier( $geocoderIdentifier ) ); - } - - /** - * Returns the instance of a geocoder. This function assumes there is a - * geocoder linked to the identifier you provide - if you are not sure - * it does, use getValidGeocoderInstance instead. - * - * @since 0.7 - * - * @param string $geocoderIdentifier - * - * @return MapsGeocoder or false - */ - protected static function getGeocoderInstance( $geocoderIdentifier ) { - if ( !array_key_exists( $geocoderIdentifier, self::$geocoders ) ) { - if ( array_key_exists( $geocoderIdentifier, self::$registeredGeocoders ) ) { - $geocoder = new self::$registeredGeocoders[$geocoderIdentifier]( $geocoderIdentifier ); - - //if ( $service instanceof iMappingService ) { - self::$geocoders[$geocoderIdentifier] = $geocoder; - //} - //else { - // throw new Exception( 'The geocoder linked to identifier ' . $geocoderIdentifier . ' does not implement .' ); - //} - } - else { - throw new Exception( 'There is geocoder linked to identifier ' . $geocoderIdentifier . '.' ); - } - } - - return self::$geocoders[$geocoderIdentifier]; - } - - /** - * Returns a valid geocoder idenifier. If the given one is a valid main identifier, - * it will simply be returned. If it's an alias, it will be turned into the correponding - * main identifier. If it's not recognized at all (or empty), the default will be used. - * Only call this function when there are geocoders available, else an erro will be thrown. - * - * @since 0.7 - * - * @param string $geocoderIdentifier - * - * @return string or false - */ - protected static function getValidGeocoderIdentifier( $geocoderIdentifier ) { - global $egMapsDefaultGeoService, $egMapsUserGeoOverrides; - static $validatedDefault = false; - - if ( $geocoderIdentifier === '' || !array_key_exists( $geocoderIdentifier, self::$registeredGeocoders ) ) { - if ( !$validatedDefault ) { - if ( !array_key_exists( $egMapsDefaultGeoService, self::$registeredGeocoders ) ) { - $egMapsDefaultGeoService = array_shift( array_keys( self::$registeredGeocoders ) ); - if ( is_null( $egMapsDefaultGeoService ) ) { - throw new Exception( 'Tried to geocode while there are no geocoders available at ' . __METHOD__ ); - } - } - } - - if ( array_key_exists( $egMapsDefaultGeoService, self::$registeredGeocoders ) ) { - $geocoderIdentifier = $egMapsDefaultGeoService; - } - else { - return false; - } - } - - return $geocoderIdentifier; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_ImageOverlay.php b/documentacion/extensions/Maps/includes/Maps_ImageOverlay.php deleted file mode 100644 index a8a8887..0000000 --- a/documentacion/extensions/Maps/includes/Maps_ImageOverlay.php +++ /dev/null @@ -1,99 +0,0 @@ - - */ -class MapsImageOverlay extends MapsBaseElement { - - - /** - * @var - */ - protected $boundsNorthEast; - - /** - * @var - */ - protected $boundsSouthWest; - - /** - * @var - */ - protected $image; - - /** - * - */ - function __construct( $boundsNorthEast , $boundsSouthWest, $image ) { - $this->setBoundsNorthEast( $boundsNorthEast ); - $this->setBoundsSouthWest( $boundsSouthWest ); - $this->setImage($image); - } - - /** - * @return - */ - public function getBoundsNorthEast() { - return $this->boundsNorthEast; - } - - /** - * @param $boundsNorthEast - */ - public function setBoundsNorthEast( $boundsNorthEast ) { - $this->boundsNorthEast = new MapsLocation( $boundsNorthEast ); - } - - /** - * @return - */ - public function getBoundsSouthWest() { - return $this->boundsSouthWest; - } - - /** - * @param $boundsSouthWest - */ - public function setBoundsSouthWest( $boundsSouthWest ) { - $this->boundsSouthWest = new MapsLocation( $boundsSouthWest ); - } - - /** - * @param $image - */ - public function setImage( $image ) { - $this->image = $image; - } - - /** - * @return - */ - public function getImage() { - return $this->image; - } - - public function getJSONObject( $defText = '' , $defTitle = '' ) { - - $parentArray = parent::getJSONObject( $defText , $defTitle ); - $array = array( - 'ne' => array( - 'lon' => $this->getBoundsNorthEast()->getLongitude() , - 'lat' => $this->getBoundsNorthEast()->getLatitude() - ) , - 'sw' => array( - 'lon' => $this->getBoundsSouthWest()->getLongitude() , - 'lat' => $this->getBoundsSouthWest()->getLatitude() - ), - 'image' => $this->getImage() - ); - - return array_merge( $parentArray , $array ); - } -} diff --git a/documentacion/extensions/Maps/includes/Maps_KMLFormatter.php b/documentacion/extensions/Maps/includes/Maps_KMLFormatter.php deleted file mode 100644 index d34b55e..0000000 --- a/documentacion/extensions/Maps/includes/Maps_KMLFormatter.php +++ /dev/null @@ -1,170 +0,0 @@ -params = $params; - $this->clearElements(); - } - - /** - * Builds and returns KML representing the set geographical objects. - * - * @since 0.7.3 - * - * @return string - */ - public function getKML() { - $elements = $this->getKMLElements(); - - // http://earth.google.com/kml/2.2 - return << - - - $elements - - -EOT; - } - - /** - * Adds a single placemark. - * - * @since 0.7.3 - * - * @param MapsLocation $placemark - */ - public function addPlacemark( MapsLocation $placemark ) { - $this->placemarks[] = $placemark; - } - - /** - * Adds a multiple placemarks. - * - * @since 0.7.3 - * - * @param array of MapsLocation $placemark - */ - public function addPlacemarks( array $placemarks ) { - foreach ( $placemarks as $placemark ) { - $this->addPlacemark( $placemark ); - } - } - - /** - * Clears all set geographical objects. - * - * @since 0.7.3 - */ - public function clearElements() { - $this->clearPlacemarks(); - } - - /** - * Clears all set placemarks. - * - * @since 0.7.3 - */ - public function clearPlacemarks() { - $this->placemarks = array(); - } - - /** - * Returns the KML for all set geographical objects. - * - * @since 0.7.3 - * - * @return string - */ - protected function getKMLElements() { - $elements = array(); - - $elements = array_merge( $elements, $this->getPlacemarks() ); - - return implode( "\n", $elements ); - } - - /** - * Returns KML for all set placemarks in a list, where each element is - * a KML node representing a placemark. - * - * @since 0.7.3 - * - * @return array - */ - protected function getPlacemarks() { - $placemarks = array(); - - foreach ( $this->placemarks as $location ) { - $placemarks[] = $this->getKMLForLocation( $location ); - } - - return $placemarks; - } - - /** - * Returns the KML representing the provided location. - * - * @since 0.7.3 - * - * @param MapsLocation $location - * - * @return string - */ - protected function getKMLForLocation( MapsLocation $location ) { - $name = 'getTitle() . ']]>'; - - $description = 'getText() . ']]>'; - - // lon,lat[,alt] - $coordinates = Xml::element( - 'coordinates', - array(), - $location->getLongitude() . ',' . $location->getLatitude() . ',' . $location->getAltitude() - ); - - return << - $name - $description - - $coordinates - - - -EOT; - } - -} diff --git a/documentacion/extensions/Maps/includes/Maps_Layer.php b/documentacion/extensions/Maps/includes/Maps_Layer.php deleted file mode 100644 index ac16e0b..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Layer.php +++ /dev/null @@ -1,136 +0,0 @@ -properties = $properties; - } - - /** - * Returns the error messages, optionally filtered by an error tag. - * - * @since 0.7.1 - * - * @param mixed $tag - * - * @return array of string - */ - public function getErrorMessages( $tag = false ) { - $messages = array(); - - foreach ( $this->errors as $error ) { - if ( $tag === false || $error->hasTag( $tag ) ) { - $messages[] = $error->getMessage(); - } - } - - return $messages; - } - - /** - * Returns the layers properties. - * - * @since 0.7.1 - * - * @return array - */ - public function getProperties() { - return $this->properties; - } - - /** - * Validates the layer. - * - * @since 0.7.1 - */ - protected function validate() { - $validator = new Validator(); - - $validator->setParameters( $this->properties, $this->getParameterDefinitions( array() ) ); - $validator->validateParameters(); - - if ( $validator->hasFatalError() !== false ) { - $this->errors = $validator->getErrors(); - } - - $this->properties = $validator->getParameterValues(); - } - - /** - * Gets if the properties make up a valid layer definition. - * - * @since 0.7.1 - * - * @return boolean - */ - public function isValid() { - if ( !$this->hasValidated ) { - $this->validate(); - $this->hasValidated = true; - } - - return count( $this->errors ) == 0; - } - -} diff --git a/documentacion/extensions/Maps/includes/Maps_LayerPage.php b/documentacion/extensions/Maps/includes/Maps_LayerPage.php deleted file mode 100644 index 15b249d..0000000 --- a/documentacion/extensions/Maps/includes/Maps_LayerPage.php +++ /dev/null @@ -1,283 +0,0 @@ -setPageTitle( $this->mTitle->getPrefixedText() ); - - if ( $this->exists() ) { - $layerType = $this->getLayerType(); - - if ( $layerType !== false && MapsLayers::hasLayer( $layerType ) ) { - $wgOut->addHTML( - Html::element( - 'h3', - array(), - wfMsgExt( 'maps-layer-of-type', 'parsemag', $layerType ) - ) - ); - - $supportedServices = MapsLayers::getServicesForType( $layerType ); - - $wgOut->addHTML( - wfMsgExt( 'maps-layer-type-supported-by', 'parsemag', $wgLang->listToText( $supportedServices ), count( $supportedServices ) ) - ); - - $this->displayLayerDefinition(); - } - else { - $availableLayerTypes = MapsLayers::getAvailableLayers(); - - if ( $layerType === false ) { - $wgOut->addHTML( - '' . - htmlspecialchars( wfMsgExt( - 'maps-error-no-layertype', - 'parsemag', - $wgLang->listToText( $availableLayerTypes ), - count( $availableLayerTypes ) - ) ) . - '
    ' - ); - } - else { - $wgOut->addHTML( - '' . - htmlspecialchars( wfMsgExt( - 'maps-error-invalid-layertype', - 'parsemag', - $this->getLayerType(), - $wgLang->listToText( $availableLayerTypes ), - count( $availableLayerTypes ) - ) ) . - '
    ' - ); - } - } - } - } - - /** - * Displays the layer definition as a table. - * - * @since 0.7.2 - */ - protected function displayLayerDefinition() { - global $wgOut; - - $layer = $this->getLayer(); - $errorHeader = ''; - - if ( !$layer->isValid() ) { - $messages = $layer->getErrorMessages( 'missing' ); - $errorString = ''; - - if ( count( $messages ) > 0 ) { - $errorString = '
    ' . implode( '
    ', array_map( 'htmlspecialchars', $messages ) ); - } - - $wgOut->addHTML( - '' . - htmlspecialchars( wfMsg( 'maps-error-invalid-layerdef' ) ) . $errorString . - '
    ' - ); - - $errorHeader = Html::element( - 'th', - array( 'width' => '50%' ), - wfMsg( 'maps-layer-errors' ) - ); - } - - $rows = array(); - - $rows[] = Html::rawElement( - 'tr', - array(), - Html::element( - 'th', - array( 'width' => '200px' ), - wfMsg( 'maps-layer-property' ) - ) . - Html::element( - 'th', - array( 'colspan' ), - wfMsg( 'maps-layer-value' ) - ) . $errorHeader - ); - - foreach ( $layer->getProperties() as $property => $value ) { - $errorTD = ''; - - if ( !$layer->isValid() ) { - $messages = $layer->getErrorMessages( $property ); - - if ( count( $messages ) > 0 ) { - $errorString = implode( '
    ', array_map( 'htmlspecialchars', $messages ) ); - - $errorTD = Html::rawElement( - 'td', - array(), - $errorString - ); - } - } - - $valueTD = Html::element( - 'td', - array( 'colspan' => $errorTD === '' && !$layer->isValid() ? 2 : 1 ), - $value - ); - - $rows[] = Html::rawElement( - 'tr', - array(), - Html::element( - 'td', - array(), - $property - ) . - $valueTD . $errorTD - ); - } - - $wgOut->addHTML( Html::rawElement( 'table', array( 'width' => '100%', 'class' => 'wikitable sortable' ), implode( "\n", $rows ) ) ); - } - - /** - * Returns if the layer definition in the page is valid. - * - * @since 0.7.1 - * - * @return boolean - */ - public function hasValidDefinition( $service = null ) { - if ( MapsLayers::hasLayer( $this->getLayerType(), $service ) ) { - $layer = $this->getLayer(); - return $layer->isValid(); - } - else { - return false; - } - } - - /** - * Returns a new MapsLayer object created from the data in the page. - * - * @since 0.7.1 - * - * @return MapsLayer - */ - public function getLayer() { - if ( $this->cachedLayer === false ) { - $this->cachedLayer = MapsLayers::getLayer( $this->getLayerType(), $this->getProperties() ); - } - - return $this->cachedLayer; - } - - /** - * Returns the properties defined on the page. - * - * @since 0.7.1 - * - * @return array - */ - final protected function getProperties() { - $properties = $this->getKeyValuePairs(); - - if ( array_key_exists( 'type', $properties ) ) { - unset( $properties['type'] ); - } - - return $properties; - } - - /** - * Gets the layer type of false if none is set. - * - * @since 0.7.2 - * - * @return string or false - */ - final protected function getLayerType() { - $properties = $this->getKeyValuePairs(); - return array_key_exists( 'type' , $properties ) ? $properties['type'] : false; - } - - /** - * Returns all key-value pairs stored in the page. - * - * @since 0.7.2 - * - * @return array - */ - final protected function getKeyValuePairs() { - if ( $this->keyValuePairs === false ) { - $this->keyValuePairs = array(); - - if ( is_null( $this->mContent ) ) { - $this->loadContent(); - } - - foreach ( explode( "\n", $this->mContent ) as $line ) { - $parts = explode( '=', $line, 2 ); - - if ( count( $parts ) == 2 ) { - $this->keyValuePairs[strtolower( str_replace( ' ', '', $parts[0] ) )] = $parts[1]; - } - } - } - - return $this->keyValuePairs; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_Layers.php b/documentacion/extensions/Maps/includes/Maps_Layers.php deleted file mode 100644 index d772ca3..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Layers.php +++ /dev/null @@ -1,141 +0,0 @@ - $supportedServices ) { - if ( in_array( $service, $supportedServices ) ) { - $layers[] = $layerType; - } - } - - return $layers; - } - } - - /** - * Returns the mapping services supported by the provided layer type. - * - * @since 0.7.2 - * - * @param string $type - * - * @return array - */ - public static function getServicesForType( $type ) { - return array_key_exists( $type, self::$services ) ? self::$services[$type] : array(); - } - - /** - * Returns if there is a layer class for the provided layer type. - * - * @since 0.7.2 - * - * @param string $type - * @param string $service - * - * @return boolean - */ - public static function hasLayer( $type, $service = null ) { - self::initializeLayers(); - - if ( array_key_exists( $type, self::$classes ) && array_key_exists( $type, self::$services ) ) { - return is_null( $service ) || in_array( $service, self::$services[$type] ); - } - else { - return false; - } - } - - /** - * Register a layer. - * - * @param string $type - * @param string $layerClass - * @param $serviceIdentifier - * - * @since 0.7.2 - */ - public static function registerLayer( $type, $layerClass, $serviceIdentifier ) { - self::$classes[$type] = $layerClass; - self::$services[$type][] = $serviceIdentifier; - } - - /** - * Initializes the layers functionality by registering the layer types - * by firing the hook. - * - * @since 0.7.2 - */ - protected static function initializeLayers() { - wfRunHooks( 'MappingLayersInitialization' ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_Line.php b/documentacion/extensions/Maps/includes/Maps_Line.php deleted file mode 100644 index 3cf705e..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Line.php +++ /dev/null @@ -1,51 +0,0 @@ - - */ -class MapsLine extends MapsBaseStrokableElement { - - /** - * @var - */ - protected $lineCoords; - - /** - * - */ - function __construct( $coords ) { - $this->setLineCoords( $coords ); - } - - - protected function setLineCoords( $lineCoords ) { - foreach ( $lineCoords as $lineCoord ) { - $this->lineCoords[] = new MapsLocation( $lineCoord ); - } - } - - protected function getLineCoords() { - return $this->lineCoords; - } - - public function getJSONObject( $defText = '' , $defTitle = '' ) { - $parentArray = parent::getJSONObject( $defText , $defTitle ); - $posArray = array(); - foreach ( $this->lineCoords as $mapLocation ) { - $posArray[] = array( - 'lat' => $mapLocation->getLatitude() , - 'lon' => $mapLocation->getLongitude() - ); - } - $posArray = array( 'pos' => $posArray ); - - return array_merge( $parentArray , $posArray ); - } -} diff --git a/documentacion/extensions/Maps/includes/Maps_Location.php b/documentacion/extensions/Maps/includes/Maps_Location.php deleted file mode 100644 index dca45f4..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Location.php +++ /dev/null @@ -1,408 +0,0 @@ -format = $format; - $this->directional = $directional; - $this->separator = $separator; - - if ( !is_null( $coordsOrAddress ) ) { - if ( MapsCoordinateParser::areCoordinates( $coordsOrAddress ) ) { - $this->setCoordinates( $coordsOrAddress ); - } - else { - $this->setAddress( $coordsOrAddress ); - } - } - } - - /** - * Sets the location to a set of coordinates. You can provide a string - * of raw coordinates, an array with lat and lon values and false. - * - * @since 0.7.1 - * - * @param mixed $coordinates - * - * @return boolean Success indicator - */ - public function setCoordinates( $coordinates ) { - $coordSet = MapsCoordinateParser::parseCoordinates( $coordinates ); - $this->isValid = $coordSet !== false; - - $this->latitude = $coordSet['lat']; - $this->longitude = $coordSet['lon']; - - return $this->isValid; - } - - /** - * Sets the location to an address. - * - * @since 0.7.1 - * - * @param string $address - * @param boolean $asActualLocation When set to false, the location is not changed, only the address string is. - * - * @return boolean Success indicator - */ - public function setAddress( $address, $asActualLocation = true ) { - if ( $asActualLocation ) { - $this->setCoordinates( MapsGeocoders::geocode( $address ) ); - } - - $this->address = $address; - - return $this->isValid; - } - - /** - * Returns if the location is valid. - * - * @since 0.7.1 - * - * @return boolean - */ - public function isValid() { - return $this->isValid; - } - - /** - * Returns the locations latitude. - * - * @since 0.7.1 - * - * @return float - */ - public function getLatitude() { - if ( !$this->isValid() ) { - throw new Exception( 'Attempt to get the latitude of an invalid location' ); - } - return $this->latitude; - } - - /** - * Returns the locations longitude. - * - * @since 0.7.1 - * - * @return float - */ - public function getLongitude() { - if ( !$this->isValid() ) { - throw new Exception( 'Attempt to get the longitude of an invalid location' ); - } - return $this->longitude; - } - - /** - * Returns the locations altitude. - * - * @since 0.7.3 - * - * @return float - */ - public function getAltitude() { - if ( !$this->isValid() ) { - throw new Exception( 'Attempt to get the altitude of an invalid location' ); - } - return $this->altitude; - } - - /** - * Returns the locations coordinates formatted in the specified notation. - * - * @since 0.7.1 - * - * @param string $format Element of the Maps_COORDS_ enum - * @param boolean $directional - * @param string $separator - * - * @return string - */ - public function getCoordinates( $format = null, $directional = null, $separator = null ) { - if ( !$this->isValid() ) { - throw new Exception( 'Attempt to get the coordinates for an invalid location' ); - } - return MapsCoordinateParser::formatCoordinates( - array( 'lat' => $this->latitude, 'lon' => $this->longitude ), - is_null( $format ) ? $this->format : $format, - is_null( $directional ) ? $this->directional : $directional, - is_null( $separator ) ? $this->separator : $separator - ); - } - - /** - * Returns the address corresponding to this location. - * If there is none, and empty sting is returned. - * - * @since 0.7.1 - * - * @param boolean $geocodeIfEmpty - * - * @return string - */ - public function getAddress( $geocodeIfEmpty = true ) { - if ( !$this->isValid() ) { - throw new Exception( 'Attempt to get the address of an invalid location' ); - } - - if ( is_null( $this->address ) ) { - if ( $geocodeIfEmpty ) { - // TODO: attempt to reverse-geocode - } - - $this->address = ''; - } - - return $this->address; - } - - /** - * Sets the title. - * - * @since 0.7.2 - * - * @param string $title - */ - public function setTitle( $title ) { - $this->title = $title; - } - - /** - * Sets the text. - * - * @since 0.7.2 - * - * @param string $text - */ - public function setText( $text ) { - $this->text = $text; - } - - /** - * Returns if there is any icon. - * - * @since 1.0 - * - * @return boolean - */ - public function hasIcon() { - return $this->icon !== ''; - } - - /** - * Sets the icon - * - * @since 0.7.2 - * - * @param string $icon - */ - public function setIcon( $icon ) { - $this->icon = $icon; - } - - /** - * Returns if there is any title. - * - * @since 1.0 - * - * @return boolean - */ - public function hasTitle() { - return $this->title !== ''; - } - - /** - * Returns the title. - * - * @since 0.7.2 - * - * @return string - */ - public function getTitle() { - return $this->title; - } - - /** - * Returns if there is any text. - * - * @since 1.0 - * - * @return boolean - */ - public function hasText() { - return $this->text !== ''; - } - - /** - * Returns the text. - * - * @since 0.7.2 - * - * @return string - */ - public function getText() { - return $this->text; - } - - /** - * Returns the icon. - * - * @since 0.7.2 - * - * @return string - */ - public function getIcon() { - return $this->icon; - } - - /** - * Returns an object that can directly be converted to JS using json_encode or similar. - * - * @since 1.0 - * - * @return object - */ - public function getJSONObject( $defText = '', $defTitle = '', $defIconUrl = '' ) { - return array( - 'lat' => $this->getLatitude(), - 'lon' => $this->getLongitude(), - 'alt' => $this->getAltitude(), - 'text' => $this->hasText() ? $this->getText() : $defText, - 'title' => $this->hasTitle() ? $this->getTitle() : $defTitle, - 'address' => $this->getAddress( false ), - 'icon' => $this->hasIcon() ? MapsMapper::getFileUrl( $this->getIcon() ) : $defIconUrl - ); - } - -} diff --git a/documentacion/extensions/Maps/includes/Maps_Mapper.php b/documentacion/extensions/Maps/includes/Maps_Mapper.php deleted file mode 100644 index 1072260..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Mapper.php +++ /dev/null @@ -1,168 +0,0 @@ - $elt ) { - if ( $s != '{' ) { - $s .= ', '; - } - $s .= '"' . Xml::escapeJsString( $name ) . '": ' . - self::encodeJsVar( $elt ); - } - $s .= '}'; - } else { - $s = '"' . Xml::escapeJsString( $value ) . '"'; - } - return $s; - } - - /** - * This function returns the definitions for the parameters used by every map feature. - * - * @return array - */ - public static function getCommonParameters() { - global $egMapsAvailableServices, $egMapsAvailableGeoServices, $egMapsDefaultGeoService, $egMapsMapWidth, $egMapsMapHeight, $egMapsDefaultService; - - $params = array(); - - $params['mappingservice'] = new Parameter( 'mappingservice' ); - $params['mappingservice']->addAliases( 'service' ); - $params['mappingservice']->setDefault( $egMapsDefaultService ); - $params['mappingservice']->addCriteria( new CriterionInArray( MapsMappingServices::getAllServiceValues() ) ); - - $params['geoservice'] = new Parameter( 'geoservice' ); - $params['geoservice']->setDefault( $egMapsDefaultGeoService ); - $params['geoservice']->addCriteria( new CriterionInArray( $egMapsAvailableGeoServices ) ); - $params['geoservice']->addDependencies( 'mappingservice' ); - $params['geoservice']->addManipulations( new MapsParamGeoService( 'mappingservice' ) ); - $params['geoservice']->setDescription( wfMsg( 'maps-par-geoservice' ) ); - - $params['zoom'] = new Parameter( - 'zoom', - Parameter::TYPE_INTEGER - ); - $params['zoom']->setDescription( wfMsg( 'maps-par-zoom' ) ); - - $params['width'] = new Parameter( - 'width', - Parameter::TYPE_STRING, - $egMapsMapWidth, - array(), - array( - new CriterionMapDimension( 'width' ), - ) - ); - $params['width']->addManipulations( new MapsParamDimension( 'width' ) ); - $params['width']->setDescription( wfMsg( 'maps-par-width' ) ); - - $params['height'] = new Parameter( - 'height', - Parameter::TYPE_STRING, - $egMapsMapHeight, - array(), - array( - new CriterionMapDimension( 'height' ), - ) - ); - $params['height']->addManipulations( new MapsParamDimension( 'height' ) ); - $params['height']->setDescription( wfMsg( 'maps-par-height' ) ); - - return $params; - } - - /** - * Resolves the url of images provided as wiki page; leaves others alone. - * - * @since 1.0 - * - * @param string $file - * - * @return string - */ - public static function getFileUrl( $file ) { - $title = Title::newFromText( $file, NS_FILE ); - - if ( !is_null( $title ) && $title->getNamespace() == NS_FILE && $title->exists() ) { - $imagePage = new ImagePage( $title ); - $file = $imagePage->getDisplayedFile()->getURL(); - } - - return $file; - } - - /** - * Returns JS to init the vars to hold the map data when they are not there already. - * - * @since 1.0 - * - * @param string $serviceName - */ - public static function getBaseMapJSON( $serviceName ) { - static $baseInit = false; - static $serviceInit = array(); - - $json = ''; - - if ( !$baseInit ) { - $baseInit = true; - global $egMapsScriptPath; - $json .= 'var egMapsScriptPath =' . FormatJson::encode( $egMapsScriptPath ) . ';'; - $json .= 'var mwmaps={};'; - } - - if ( !in_array( $serviceName, $serviceInit ) ) { - $serviceInit[] = $serviceName; - $json .= "mwmaps.$serviceName={};"; - } - - return $json; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_MappingService.php b/documentacion/extensions/Maps/includes/Maps_MappingService.php deleted file mode 100644 index a43fe8b..0000000 --- a/documentacion/extensions/Maps/includes/Maps_MappingService.php +++ /dev/null @@ -1,261 +0,0 @@ -serviceName = $serviceName; - $this->aliases = $aliases; - } - - /** - * @see iMappingService::addParameterInfo - * - * @since 0.7 - * - * @param array $parameterInfo - */ - public function addParameterInfo( array &$parameterInfo ) { - } - - /** - * @see iMappingService::addFeature - * - * @since 0.6.3 - */ - public function addFeature( $featureName, $handlingClass ) { - $this->features[$featureName] = $handlingClass; - } - - /** - * @see iMappingService::addDependencies - * - * @since 0.6.3 - */ - public final function addDependencies( &$parserOrOut ) { - $dependencies = $this->getDependencyHtml(); - - // Only add a head item when there are dependencies. - if ( $parserOrOut instanceof Parser ) { - if ( $dependencies ) { - $parserOrOut->getOutput()->addHeadItem( $dependencies ); - } - - $parserOrOut->getOutput()->addModules( $this->getResourceModules() ); - } - elseif ( $parserOrOut instanceof OutputPage ) { - if ( $dependencies ) { - $parserOrOut->addHeadItem( md5( $dependencies ), $dependencies ); - } - - $parserOrOut->addModules( $this->getResourceModules() ); - } - } - - /** - * Returns a list of all config variables that should be passed to the JS. - * - * @since 1.0.1 - * - * @return array - */ - public function getConfigVariables() { - return array(); - } - - /** - * @see iMappingService::getDependencyHtml - * - * @since 0.6.3 - */ - public final function getDependencyHtml() { - $allDependencies = array_merge( $this->getDependencies(), $this->dependencies ); - $dependencies = array(); - - // Only add dependnecies that have not yet been added. - foreach ( $allDependencies as $dependency ) { - if ( !in_array( $dependency, $this->addedDependencies ) ) { - $dependencies[] = $dependency; - $this->addedDependencies[] = $dependency; - } - } - - // If there are dependencies, put them all together in a string, otherwise return false. - return count( $dependencies ) > 0 ? implode( '', $dependencies ) : false; - } - - /** - * Returns a list of html fragments, such as script includes, the current service depends on. - * - * @since 0.6.3 - * - * @return array - */ - protected function getDependencies() { - return array(); - } - - /** - * @see iMappingService::getName - * - * @since 0.6.3 - */ - public function getName() { - return $this->serviceName; - } - - /** - * @see iMappingService::getFeature - * - * @since 0.6.3 - */ - public function getFeature( $featureName ) { - return array_key_exists( $featureName, $this->features ) ? $this->features[$featureName] : false; - } - - /** - * @see iMappingService::getFeatureInstance - * - * @since 0.6.6 - */ - public function getFeatureInstance( $featureName ) { - $className = $this->getFeature( $featureName ); - - if ( $className === false || !class_exists( $className ) ) { - throw new Exception( 'Could not create a mapping feature class instance' ); - } - - return new $className( $this ); - } - - /** - * @see iMappingService::getAliases - * - * @since 0.6.3 - */ - public function getAliases() { - return $this->aliases; - } - - /** - * @see iMappingService::hasAlias - * - * @since 0.6.3 - */ - public function hasAlias( $alias ) { - return in_array( $alias, $this->aliases ); - } - - /** - * Returns the resource modules that need to be loaded to use this mapping service. - * - * @since 0.7.3 - * - * @return array of string - */ - public function getResourceModules() { - return $this->resourceModules; - } - - /** - * Add one or more names of resource modules that should be loaded. - * - * @since 0.7.3 - * - * @param mixed $modules Array of string or string - */ - public function addResourceModules( $modules ) { - $this->resourceModules = array_merge( $this->resourceModules, (array)$modules ); - } - - /** - * @see iMappingService::addDependency - * - * @since 0.6.3 - */ - public final function addDependency( $dependencyHtml ) { - $this->dependencies[] = $dependencyHtml; - } - - /** - * @see iMappingService::getEarthZoom - * - * @since 1.0 - */ - public function getEarthZoom() { - return 1; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/Maps_MappingServices.php b/documentacion/extensions/Maps/includes/Maps_MappingServices.php deleted file mode 100644 index 5a33e69..0000000 --- a/documentacion/extensions/Maps/includes/Maps_MappingServices.php +++ /dev/null @@ -1,239 +0,0 @@ - $featureClassName ) { - self::registerServiceFeature( $serviceIdentifier, $featureName, $featureClassName ); - } - } - - /** - * Registeres a feature for a service object. - * Registers a warning when the service is not registered, but does not give an error. - * - * @since 0.6.6 - * - * @param $serviceIdentifier String: internal service identifier - * @param $featureName String - * @param $featureClassName String - */ - public static function registerServiceFeature( $serviceIdentifier, $featureName, $featureClassName ) { - if ( array_key_exists( $serviceIdentifier, self::$registeredServices ) ) { - $service = self::getServiceInstance( $serviceIdentifier ); - $service->addFeature( $featureName, $featureClassName ); - } - else { - // If the feature is not registered, register a warning. This is not an error though! - wfWarn( "Tried to register feature '$featureName' with class '$featureClassName' to non-registered service '$serviceIdentifier'." ); - } - } - - /** - * Returns the instance of a service class. This method takes - * care of creating the instance if this is not done yet. - * - * @since 0.6.6 - * - * @param $serviceIdentifier String: internal service identifier - * - * @return iMappingService - */ - public static function getServiceInstance( $serviceIdentifier ) { - if ( !array_key_exists( $serviceIdentifier, self::$services ) ) { - if ( array_key_exists( $serviceIdentifier, self::$registeredServices ) ) { - $service = new self::$registeredServices[$serviceIdentifier]( $serviceIdentifier ); - - if ( $service instanceof iMappingService ) { - self::$services[$serviceIdentifier] = $service; - } - else { - throw new Exception( 'The service object linked to service identifier ' . $serviceIdentifier . ' does not implement iMappingService.' ); - } - } - else { - throw new Exception( 'There is no service object linked to service identifier ' . $serviceIdentifier . '.' ); - } - } - - return self::$services[$serviceIdentifier]; - } - - /** - * Retuns an instance of a MapsMappingService. The service name is validated - * and aliases are resolved and a check is made if the feature is supported. - * If the feature is not supported, or the service does not exist, defaulting - * will be used. - * - * @since 0.6.6 - * - * @param $service String: service name or alias, does not need to be secure - * @param $feature String - * - * @return iMappingService - */ - public static function getValidServiceInstance( $service, $feature ) { - return self::getServiceInstance( self::getValidServiceName( $service, $feature ) ); - } - - /** - * Returns a valid service. When an invalid service is provided, the default one will be returned. - * Aliases are also changed into the main service names @see MapsMappingServices::getMainServiceName. - * - * @since 0.6.6 - * - * @param $service String: service name or alias, does not need to be secure - * @param $feature String - * - * @return string - */ - public static function getValidServiceName( $service, $feature ) { - global $egMapsDefaultService, $egMapsDefaultServices; - - // Get rid of any aliases. - // Also rely on this to instantiate all registered services. - $service = self::getMainServiceName( $service ); - - // Check if there is a mathing instance. - $shouldChange = !array_key_exists( $service, self::$services ); - - // If it should not be changed, ensure the service supports this feature. - if ( !$shouldChange ) { - $shouldChange = self::getServiceInstance( $service )->getFeature( $feature ) === false; - } - - // Change the service to the most specific default value available. - // Note: the default services should support their corresponding features. - // If they don't, a fatal error will occur later on. - if ( $shouldChange ) { - if ( array_key_exists( $feature, $egMapsDefaultServices ) ) { - $service = $egMapsDefaultServices[$feature]; - } - else { - $service = $egMapsDefaultService; - } - } - - return $service; - } - - /** - * Returns an array with the identifiers for all registered services. - * - * @since 0.6.6 - * - * @return array - */ - public static function getServiceIdentifiers() { - return array_keys( self::$registeredServices ); - } - - /** - * Checks if the service name is an alias for an actual service, - * and changes it into the main service name if this is the case. - * - * @since 0.6.6 - * - * @param $serviceName String: service name or alias, does not need to be secure - * - * @return string - */ - protected static function getMainServiceName( $serviceName ) { - if ( !array_key_exists( $serviceName, self::$services ) ) { - foreach ( self::getServiceIdentifiers() as $serviceIdentifier ) { - $service = self::getServiceInstance( $serviceIdentifier ); - - if ( $service->hasAlias( $serviceName ) ) { - $serviceName = $service->getName(); - break; - } - } - } - - return $serviceName; - } - - /** - * Returns an array containing all the possible values for the service parameter, including aliases. - * - * @since 0.6.6 - * - * @return array of string - */ - public static function getAllServiceValues() { - global $egMapsAvailableServices; - - $allServiceValues = array(); - - foreach ( $egMapsAvailableServices as $availableService ) { - $allServiceValues[] = $availableService; - $allServiceValues = array_merge( $allServiceValues, self::getServiceInstance( $availableService )->getAliases() ); - } - - return $allServiceValues; - } - - /** - * Returns an array with an instance of a MappingService object for every available mapping service. - * - * @since 0.7.3 - * - * @return array of MappingService - */ - public static function getAllObjects() { - $objects = array(); - - foreach ( self::$registeredServices as $service => $class ) { - $objects[] = self::getServiceInstance( $service ); - } - - return $objects; - } - -} diff --git a/documentacion/extensions/Maps/includes/Maps_Polygon.php b/documentacion/extensions/Maps/includes/Maps_Polygon.php deleted file mode 100644 index b0d3042..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Polygon.php +++ /dev/null @@ -1,75 +0,0 @@ - - */ -class MapsPolygon extends MapsBaseFillableElement implements iHoverableMapElement { - - /** - * @var - */ - protected $polygonCoords; - - /** - * @var - */ - protected $onlyVisibleOnHover = false; - - /** - * - */ - function __construct( $coords ) { - $this->setPolygonCoords( $coords ); - } - - protected function setPolygonCoords( $polygonCoords ) { - foreach ( $polygonCoords as $polygonCoord ) { - $this->polygonCoords[] = new MapsLocation( $polygonCoord ); - } - } - - protected function getPolygonCoords() { - return $this->polygonCoords; - } - - /** - * @param $visible - */ - public function setOnlyVisibleOnHover( $visible ) { - $this->onlyVisibleOnHover = $visible; - } - - /** - * @return mixed - */ - public function isOnlyVisibleOnHover() { - return $this->onlyVisibleOnHover; - } - - public function getJSONObject( $defText = '' , $defTitle = '' ) { - - $parentArray = parent::getJSONObject( $defText , $defTitle ); - $posArray = array(); - - foreach ( $this->polygonCoords as $mapLocation ) { - $posArray[] = array( - 'lat' => $mapLocation->getLatitude() , - 'lon' => $mapLocation->getLongitude() - ); - } - - $array = array( - 'pos' => $posArray , - 'onlyVisibleOnHover' => $this->isOnlyVisibleOnHover() , - ); - - return array_merge( $parentArray , $array ); - } -} diff --git a/documentacion/extensions/Maps/includes/Maps_Rectangle.php b/documentacion/extensions/Maps/includes/Maps_Rectangle.php deleted file mode 100644 index 24aa88a..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Rectangle.php +++ /dev/null @@ -1,111 +0,0 @@ - - * @author Jeroen De Dauw < jeroendedauw@gmail.com > - */ -class MapsRectangle extends MapsBaseFillableElement { - - /** - * @since 2.0 - * @var MapsLocation - */ - protected $rectangleNorthEast; - - /** - * @since 2.0 - * @var MapsLocation - */ - protected $rectangleSouthWest; - - /** - * @since 2.0 - * - * @param $rectangleNorthEast - * @param $rectangleSouthWest - */ - public function __construct( $rectangleNorthEast , $rectangleSouthWest ) { - $this->setRectangleNorthEast( $rectangleNorthEast ); - $this->setRectangleSouthWest( $rectangleSouthWest ); - } - - /** - * @since 2.0 - * - * @return MapsLocation - */ - public function getRectangleNorthEast() { - return $this->rectangleNorthEast; - } - - /** - * @since 2.0 - * - * @return MapsLocation - */ - public function getRectangleSouthWest() { - return $this->rectangleSouthWest; - } - - /** - * @since 2.0 - * - * @param $rectangleSouthWest - */ - public function setRectangleSouthWest( $rectangleSouthWest ) { - $this->rectangleSouthWest = new MapsLocation( $rectangleSouthWest ); - } - - /** - * @since 2.0 - * - * @param $rectangleNorthEast - */ - public function setRectangleNorthEast( $rectangleNorthEast ) { - $this->rectangleNorthEast = new MapsLocation( $rectangleNorthEast ); - } - - /** - * @since 2.0 - * - * @param string $defText - * @param string $defTitle - * - * @return array - */ - public function getJSONObject( $defText = '' , $defTitle = '' ) { - - $parentArray = parent::getJSONObject( $defText , $defTitle ); - $array = array( - 'ne' => array( - 'lon' => $this->getRectangleNorthEast()->getLongitude() , - 'lat' => $this->getRectangleNorthEast()->getLatitude() - ) , - 'sw' => array( - 'lon' => $this->getRectangleSouthWest()->getLongitude() , - 'lat' => $this->getRectangleSouthWest()->getLatitude() - ) , - ); - - return array_merge( $parentArray , $array ); - } - - /** - * Returns if the rectangle is valid. - * - * @since 2.0 - * - * @return boolean - */ - public function isValid() { - return $this->rectangleSouthWest->isValid() && $this->rectangleNorthEast->isValid(); - } - -} diff --git a/documentacion/extensions/Maps/includes/Maps_Settings.php b/documentacion/extensions/Maps/includes/Maps_Settings.php deleted file mode 100644 index 6e9013f..0000000 --- a/documentacion/extensions/Maps/includes/Maps_Settings.php +++ /dev/null @@ -1,369 +0,0 @@ - - */ -final class MapsSettings extends ExtensionSettings { - - /** - * Initiate the settings list if not done already. - * - * @since 1.1 - * - * @return boolean True if the settings where initiates in this call. - */ - protected static function initIfNeeded() { - $init = parent::initIfNeeded(); - - if ( $init ) { - self::$settings['php-bc'] = self::getPhpCompatSettings(); - } - - return $init; - } - - /** - * Returns a name => value array with the default settings. - * - * @since 1.1 - * - * @return array - */ - protected static function getDefaultSettings() { - static $defaultSettings = false; - - if ( $defaultSettings === false ) { - $defaultSettings = array(); - - foreach( ( include dirname( __FILE__ ) . '/../Maps.settings.php' ) as $setting ) { - $defaultSettings[$setting->getName()] = $setting->getValue(); - } - } - - return $defaultSettings; - } - - /** - * Returns a name => value array with the default settings - * specified using global PHP variables. - * - * @since 1.1 - * - * @return array - */ - protected static function getPhpSettings() { - return $GLOBALS['egMapsSettings']; - } - - /** - * Returns a name => value array with the default settings - * specified using global PHP variables that have been deprecated. - * - * @since 1.1 - * - * @return array - */ - protected static function getPhpCompatSettings() { - $mappings = array( - 'egMapsAvailableServices' => 'services', - 'egMapsDefaultService' => 'defaultService', - 'egMapsDefaultServices' => 'defaultServices', - 'egMapsAvailableGeoServices' => 'geoServices', - 'egMapsDefaultGeoService' => 'defaultGeoService', - 'egMapsUserGeoOverrides' => 'useGeoOverrides', - 'egMapsAllowCoordsGeocoding' => 'allowCoordsGeocoding', - 'egMapsEnableGeoCache' => 'enableGeoCache', - 'egMapsGeoNamesUser' => 'geoNamesUser', - '' => '', - - // TODO - ); - - $settings = array(); - - foreach ( $mappings as $oldName => $newName ) { - if ( array_key_exists( $oldName, $GLOBALS ) ) { - $settings[$newName] = $GLOBALS[$oldName]; - } - } - - return $settings; - } - -} - -/** - * Abstract static class for interaction with the settings of an extension. - * Settings can be specified in various groups, and obtained by merging these - * in a specific order. In most cases these will oly be the two default groups, - * which are "default" and "php". The former contains the settings and their - * default values while the later contains settings specified via PHP variables. - * - * The setting groups are populated the first time a setting value is requested. - * By default merged setting groups will be cached. This makes sense as in most - * cases, the only combination accessed will be ["default", "php"]. - * - * Using this class one can access configuration without the use of globals and - * in a way that allows for changing how the configuration is obtained. For - * example, it's possible to obtain configuration via database instead of by - * PHP vars or add in a user-preferences setting group without making changes - * at any other place in the extension. - * - * @since ? - * - * @licence GNU GPL v3 - * @author Jeroen De Dauw < jeroendedauw@gmail.com > - */ -abstract class ExtensionSettings { - - /** - * The different groups of settings. - * array[ group name => array[ setting name => setting value ] ] - * - * @since ? - * @var array - */ - protected static $settings = false; - - /** - * Cached merged settings groups. The keys are the name of the - * cache, which is created by joining the group names with a |. - * array[ cache name => settings[] ] - * - * @since ? - * @var array - */ - protected static $mergedCaches = array(); - - /** - * Returns a name => value array with the default settings. - * - * @since ? - * - * @return array - */ - protected static function getDefaultSettings() { return array(); } - - /** - * Initiate the settings list if not done already. - * - * @since ? - * - * @return boolean True if the settings where initiates in this call. - */ - protected static function initIfNeeded() { - $init = static::$settings === false; - - if ( $init ) { - static::$settings = array( - 'default' => static::getDefaultSettings(), - 'php' => static::getPhpSettings() - ); - } - - return $init; - } - - /** - * Returns the settings of the specified groups, merged. - * If available in the cache, it'll be used. If not, - * and $cache is true, it'll be cached. - * - * @since 1.1 - * - * @param array $groups - * @param boolean $cache - * - * @return array - */ - protected static function getMergedSettings( array $groups, $cache = true ) { - $names = implode( '|', $groups ); - - if ( array_key_exists( $names, static::$mergedCaches ) ) { - return static::$mergedCaches[$names]; - } - else { - $settings = array(); - - foreach ( $groups as $group ) { - if ( array_key_exists( $group, static::$settings ) ) { - // TODO: recursive merge, that does not append for arrays w/o named keys. - $settings = array_merge( $settings, static::$settings[$group] ); - } - } - - if ( $cache ) { - static::$mergedCaches[$names] = $settings; - } - - return $settings; - } - } - - /** - * Returns a name => value array with the default settings - * specified using global PHP variables. - * - * @since ? - * - * @return array - */ - protected static function getPhpSettings() { - return array(); - } - - /** - * Returns all settings for a group. - * - * @since ? - * - * @param array|boolean $groups True to use all overrides, false for none, array for custom set or order. - * @param boolean $cache Cache the merging of groups or not? - * - * @return array - */ - public static function getSettings( $groups = true, $cache = true ) { - static::initIfNeeded(); - - if ( $groups === false ) { - return static::getDefaultSettings(); - } - else { - if ( $groups === true ) { - $groups = array_keys( static::$settings ); - } - return static::getMergedSettings( $groups, $cache ); - } - } - - /** - * Returns the value of a single setting. - * - * @since ? - * - * @param string $settingName - * @param array|boolean $groups - * @param boolean $cache Cache the merging of groups or not? - * - * @return mixed - */ - public static function get( $settingName, $groups = true, $cache = true ) { - $settings = static::getSettings( $groups, $cache ); - - if ( !array_key_exists( $settingName, $settings ) ) { - throw new MWException(); // TODO - } - - return $settings[$settingName]; - } - - /** - * Returns if a single setting exists or not. - * - * @since ? - * - * @param string $settingName - * @param array|boolean $groups - * @param boolean $cache Cache the merging of groups or not? - * - * @return boolean - */ - public static function has( $settingName, $groups = true, $cache = true ) { - $settings = static::getSettings( $groups, $cache ); - return array_key_exists( $settingName, $settings ); - } - - /** - * Set a sigle setting in the specified group. - * - * @since ? - * - * @param string $settingName - * @param mixed $settingValue - * @param string $groupName - * @param boolean $invalidateCache - * - * @return boolean - */ - public static function set( $settingName, $settingValue, $groupName, $invalidateCache = true ) { - if ( !array_key_exists( $groupName, static::$settings ) ) { - static::$settings[$groupName] = array(); - } - elseif ( $invalidateCache - && ( !array_key_exists( $settingName, static::$settings[$groupName] ) - || static::$settings[$groupName][$settingName] !== $settingValue ) ) { - static::ivalidateCachesForGroup( $groupName ); - } - - static::$settings[$groupName][$settingName] = $settingValue; - } - - /** - * Invalidate the cahces that contain data from the specified group. - * - * @since ? - * - * @param name $group - */ - protected static function ivalidateCachesForGroup( $group ) { - foreach ( array_keys( static::$mergedCaches ) as $cacheName ) { - if ( in_array( $groupName, explode( '|', $cacheName ) ) ) { - unset( static::$mergedCaches[$cacheName] ); - } - } - } - -} - -/** - * Simple class to define settings, which can be represented - * as key values pairs, together with meta data such as - * description messages and how they can be represented in - * as UI elements. - * - * @since ? - * - * @licence GNU GPL v3 - * @author Jeroen De Dauw < jeroendedauw@gmail.com > - */ -class Setting { - - protected $name; - protected $value; - protected $message = false; - - public static function newFromValue( $name, $value ) { - return new Setting( $name, $value ); - } - - public function __construct( $name, $value, $message = false ) { - $this->name = $name; - $this->value = $value; - $this->message = $message; - } - - public function getValue() { - return $this->value; - } - - public function getName() { - return $this->name; - } - - public function getMessage() { - return $this->message; - } - - public function setMessage( $message ) { - $this->message = $message; - } - -} diff --git a/documentacion/extensions/Maps/includes/Maps_WmsOverlay.php b/documentacion/extensions/Maps/includes/Maps_WmsOverlay.php deleted file mode 100644 index 4c2a84c..0000000 --- a/documentacion/extensions/Maps/includes/Maps_WmsOverlay.php +++ /dev/null @@ -1,87 +0,0 @@ - - */ -class MapsWmsOverlay { - - /** - * @since 2.0 - * @var String Base url to WMS server - */ - protected $wmsServerUrl; - - /** - * @since 2.0 - * @var String WMS Layer name - */ - protected $wmsLayerName; - - /** - * @since 2.0 - * - * @param string $wmsServerUrl - * @param string $wmsLayerName - */ - public function __construct( $wmsServerUrl, $wmsLayerName ) { - $this->setWmsServerUrl( $wmsServerUrl ); - $this->setWmsLayerName( $wmsLayerName ); - } - - /** - * @since 2.0 - * - * @param String $wmsLayerName - */ - public function setWmsLayerName( $wmsLayerName ) { - $this->wmsLayerName = $wmsLayerName; - } - - /** - * @since 2.0 - * - * @return String - */ - public function getWmsLayerName() { - return $this->wmsLayerName; - } - - /** - * @since 2.0 - * - * @param String $wmsServerUrl - */ - public function setWmsServerUrl( $wmsServerUrl ) { - $this->wmsServerUrl = $wmsServerUrl; - } - - /** - * @since 2.0 - * - * @return String - */ - public function getWmsServerUrl() { - return $this->wmsServerUrl; - } - - /** - * @since 2.0 - * - * @return array - */ - public function getJSONObject() { - return array( - 'wmsServerUrl' => $this->getWmsServerUrl(), - 'wmsLayerName' => $this->getWmsLayerName(), - ); - } - -} diff --git a/documentacion/extensions/Maps/includes/api/ApiGeocode.php b/documentacion/extensions/Maps/includes/api/ApiGeocode.php deleted file mode 100644 index b74f49c..0000000 --- a/documentacion/extensions/Maps/includes/api/ApiGeocode.php +++ /dev/null @@ -1,103 +0,0 @@ - - */ -class ApiGeocode extends ApiBase { - - public function __construct( $main, $action ) { - parent::__construct( $main, $action ); - } - - public function execute() { - global $wgUser; - - if ( !$wgUser->isAllowed( 'geocode' ) || $wgUser->isBlocked() ) { - $this->dieUsageMsg( array( 'badaccess-groups' ) ); - } - - $params = $this->extractRequestParams(); - - $results = array(); - - foreach ( array_unique( $params['locations'] ) as $location ) { - $result = MapsGeocoders::geocode( $location, $params['service'] ); - - $results[$location] = array( - 'count' => $result === false ? 0 : 1, - 'locations' => array() - ); - - if ( $result !== false ) { - $results[$location]['locations'][] = $result; - } - - $this->getResult()->setIndexedTagName( $results[$location]['locations'], 'location' ); - } - - $this->getResult()->addValue( - null, - 'results', - $results - ); - } - - public function getAllowedParams() { - return array( - 'locations' => array( - ApiBase::PARAM_TYPE => 'string', - ApiBase::PARAM_REQUIRED => true, - ApiBase::PARAM_ISMULTI => true, - ), - 'service' => array( - ApiBase::PARAM_TYPE => MapsGeocoders::getAvailableGeocoders(), - ), - 'props' => array( - ApiBase::PARAM_ISMULTI => true, - ApiBase::PARAM_TYPE => array( 'lat', 'lon', 'alt' ), - ApiBase::PARAM_DFLT => 'lat|lon', - ), - ); - } - - public function getParamDescription() { - return array( - 'locations' => 'The locations to geocode', - 'service' => 'The geocoding service to use', - ); - } - - public function getDescription() { - return array( - 'API module for geocoding.' - ); - } - - public function getPossibleErrors() { - return array_merge( parent::getPossibleErrors(), array( - array( 'missingparam', 'locations' ), - ) ); - } - - protected function getExamples() { - return array( - 'api.php?action=geocode&locations=new york', - 'api.php?action=geocode&locations=new york|brussels|london', - 'api.php?action=geocode&locations=new york&service=geonames', - ); - } - - public function getVersion() { - return __CLASS__ . ': $Id: ApiGeocode.php 95376 2011-08-24 06:29:50Z jeroendedauw $'; - } - -} diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionIsDistance.php b/documentacion/extensions/Maps/includes/criteria/CriterionIsDistance.php deleted file mode 100644 index 35f6870..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionIsDistance.php +++ /dev/null @@ -1,47 +0,0 @@ -getOriginalName() ); - } - - /** - * @see ItemParameterCriterion::getFullListErrorMessage - */ - protected function getFullListErrorMessage( Parameter $parameter ) { - global $wgLang; - return wfMsgExt( 'validation-error-invalid-distances', 'parsemag', $parameter->getOriginalName() ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionIsImage.php b/documentacion/extensions/Maps/includes/criteria/CriterionIsImage.php deleted file mode 100644 index 0ff4a5f..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionIsImage.php +++ /dev/null @@ -1,55 +0,0 @@ -getNamespace() == NS_FILE && $title->exists(); - } - - /** - * @see ItemParameterCriterion::getItemErrorMessage - */ - protected function getItemErrorMessage( Parameter $parameter ) { - return wfMsgExt( 'validation-error-invalid-image', 'parsemag', $parameter->getOriginalName() ); - } - - /** - * @see ItemParameterCriterion::getFullListErrorMessage - */ - protected function getFullListErrorMessage( Parameter $parameter ) { - global $wgLang; - return wfMsgExt( 'validation-error-invalid-images', 'parsemag', $parameter->getOriginalName() ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionIsLocation.php b/documentacion/extensions/Maps/includes/criteria/CriterionIsLocation.php deleted file mode 100644 index ece8c2c..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionIsLocation.php +++ /dev/null @@ -1,75 +0,0 @@ -metaDataSeparator = $metaDataSeparator; - } - - /** - * @see ItemParameterCriterion::validate - */ - protected function doValidation( $value, Parameter $parameter, array $parameters ) { - if ( $this->metaDataSeparator !== false ) { - $parts = explode( $this->metaDataSeparator, $value ); - $value = $parts[0]; - } - - if ( MapsGeocoders::canGeocode() ) { - $geoService = $parameter->hasDependency( 'geoservice' ) ? $parameters['geoservice']->getValue() : ''; - $mappingService = $parameter->hasDependency( 'mappingservice' ) ? $parameters['mappingservice']->getValue() : false; - - return MapsGeocoders::isLocation( - $value, - $geoService, - $mappingService - ); - } else { - return MapsCoordinateParser::areCoordinates( $value ); - } - } - - /** - * @see ItemParameterCriterion::getItemErrorMessage - */ - protected function getItemErrorMessage( Parameter $parameter ) { - return wfMsgExt( 'validation-error-invalid-location', 'parsemag', $parameter->getOriginalName() ); - } - - /** - * @see ItemParameterCriterion::getFullListErrorMessage - */ - protected function getFullListErrorMessage( Parameter $parameter ) { - return wfMsgExt( 'validation-error-invalid-locations', 'parsemag', $parameter->getOriginalName() ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionLine.php b/documentacion/extensions/Maps/includes/criteria/CriterionLine.php deleted file mode 100644 index 0d1358f..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionLine.php +++ /dev/null @@ -1,97 +0,0 @@ -metaDataSeparator = $metaDataSeparator; - } - - - /** - * Returns true if the parameter value contains atleast 1 comma - * meaning that there are atleast two enpoints on which to draw a line. - * - * @param string $value - * @param Parameter $parameter - * @param array $parameters - * - * @since 0.4 - * - * @return boolean - */ - protected function doValidation($value, Parameter $parameter, array $parameters) - { - //fetch locations - $value = explode($this->metaDataSeparator,$value); - $value = $value[0]; - - //need atleast two points to create a line - $valid = strpos($value, ':') != false; - if (!$valid) { - return $valid; - } - - //setup geocode deps - $canGeoCode = MapsGeocoders::canGeocode(); - if ($canGeoCode) { - $geoService = $parameter->hasDependency('geoservice') ? $parameters['geoservice']->getValue() : ''; - $mappingService = $parameter->hasDependency('mappingservice') ? $parameters['mappingservice']->getValue() : false; - } - - //strip away line parameters and check for valid locations - $parts = explode(':', $value); - foreach ($parts as $part) { - $toIndex = strpos($part, $this->metaDataSeparator); - if ($toIndex != false) { - $part = substr($part, 0, $toIndex); - } - - if($canGeoCode){ - $valid = MapsGeocoders::isLocation( - $part, - $geoService, - $mappingService - ); - } else { - $valid = MapsCoordinateParser::areCoordinates($part); - } - - if(!$valid){ - break; - } - } - return $valid; - } - - /** - * Gets an internationalized error message to construct a ValidationError with - * when the criteria validation failed. (for non-list values) - * - * @param Parameter $parameter - * - * @since 0.4 - * - * @return string - */ - protected function getItemErrorMessage(Parameter $parameter) - { - return wfMsgExt('validation-error-invalid-line-param', 'parsemag', $parameter->getOriginalName()); - } -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionMapDimension.php b/documentacion/extensions/Maps/includes/criteria/CriterionMapDimension.php deleted file mode 100644 index 9ece057..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionMapDimension.php +++ /dev/null @@ -1,79 +0,0 @@ -dimension = $dimension; - } - - /** - * @see ItemParameterCriterion::validate - */ - protected function doValidation( $value, Parameter $parameter, array $parameters ) { - global $egMapsSizeRestrictions; - - if ( $value == 'auto' && $this->dimension == 'width' ) { - return true; - } - - // See if the notation is valid. - if ( !preg_match( '/^\d+(\.\d+)?(px|ex|em|%)?$/', $value ) ) { - return false; - } - - // Determine the minimum and maximum values. - if ( preg_match( '/^.*%$/', $value ) ) { - if ( count( $egMapsSizeRestrictions[$this->dimension] ) >= 4 ) { - $min = $egMapsSizeRestrictions[$this->dimension][2]; - $max = $egMapsSizeRestrictions[$this->dimension][3]; - } else { - // This is for backward compatibility with people who have set a custom min and max before 0.6. - $min = 1; - $max = 100; - } - } else { - $min = $egMapsSizeRestrictions[$this->dimension][0]; - $max = $egMapsSizeRestrictions[$this->dimension][1]; - } - - // See if the actual value is withing the limits. - $number = preg_replace( '/[^0-9]/', '', $value ); - - return $number >= $min && $number <= $max; - } - - /** - * @see ItemParameterCriterion::getItemErrorMessage - */ - protected function getItemErrorMessage( Parameter $parameter ) { - return wfMsgExt( "validation-error-invalid-$this->dimension", 'parsemag', $parameter->getOriginalName() ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionMapLayer.php b/documentacion/extensions/Maps/includes/criteria/CriterionMapLayer.php deleted file mode 100644 index c694b5d..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionMapLayer.php +++ /dev/null @@ -1,57 +0,0 @@ -service = $service; - } - - /** - * @see ItemParameterCriterion::validate - */ - protected function doValidation( $value, Parameter $parameter, array $parameters ) { - $title = Title::newFromText( $value, Maps_NS_LAYER ); - - if ( $title->getNamespace() == Maps_NS_LAYER && $title->exists() ) { - $layerPage = new MapsLayerPage( $title ); - return $layerPage->hasValidDefinition( $this->service ); - } - - return false; - } - - /** - * @see ItemParameterCriterion::getItemErrorMessage - */ - protected function getItemErrorMessage( Parameter $parameter ) { - return wfMsgExt( 'validation-error-invalid-layer', 'parsemag', $parameter->getOriginalName() ); - } - - /** - * @see ItemParameterCriterion::getFullListErrorMessage - */ - protected function getFullListErrorMessage( Parameter $parameter ) { - return wfMsgExt( 'validation-error-invalid-layers', 'parsemag', $parameter->getOriginalName() ); - } - -} diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionPolygon.php b/documentacion/extensions/Maps/includes/criteria/CriterionPolygon.php deleted file mode 100644 index c06ffbd..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionPolygon.php +++ /dev/null @@ -1,99 +0,0 @@ -metaDataSeparator = $metaDataSeparator; - } - - /** - * Returns true if the parameter value contains atleast 1 colon - * meaning that there are atleast two enpoints on which to draw a polygon. - * And if the first and last coordinates are the same, indicating that there is a loop. - * - * @param string $value - * @param Parameter $parameter - * @param array $parameters - * - * @since 0.4 - * - * @return boolean - */ - protected function doValidation($value, Parameter $parameter, array $parameters) - { - - //fetch locations - $value = explode($this->metaDataSeparator,$value); - $value = $value[0]; - - //need atleast two points to create a polygon - $valid = strpos($value, ':') != false; - if (!$valid) { - return $valid; - } - - //setup geocode deps - $canGeoCode = MapsGeocoders::canGeocode(); - if ($canGeoCode) { - $geoService = $parameter->hasDependency('geoservice') ? $parameters['geoservice']->getValue() : ''; - $mappingService = $parameter->hasDependency('mappingservice') ? $parameters['mappingservice']->getValue() : false; - } - - //strip away polygon parameters and check for valid locations - $parts = explode(':', $value); - foreach ($parts as $part) { - $toIndex = strpos($part, $this->metaDataSeparator); - if ($toIndex != false) { - $part = substr($part, 0, $toIndex); - } - - if($canGeoCode){ - $valid = MapsGeocoders::isLocation( - $part, - $geoService, - $mappingService - ); - } else { - $valid = MapsCoordinateParser::areCoordinates($part); - } - - if(!$valid){ - break; - } - } - - return $valid; - } - - /** - * Gets an internationalized error message to construct a ValidationError with - * when the criteria validation failed. (for non-list values) - * - * @param Parameter $parameter - * - * @since 0.4 - * - * @return string - */ - protected function getItemErrorMessage(Parameter $parameter) - { - return wfMsgExt('validation-error-invalid-polyline-param', 'parsemag', $parameter->getOriginalName()); - } -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/criteria/CriterionSearchMarkers.php b/documentacion/extensions/Maps/includes/criteria/CriterionSearchMarkers.php deleted file mode 100644 index a59da27..0000000 --- a/documentacion/extensions/Maps/includes/criteria/CriterionSearchMarkers.php +++ /dev/null @@ -1,43 +0,0 @@ -getOriginalName()); - } -} diff --git a/documentacion/extensions/Maps/includes/ext.maps.common.js b/documentacion/extensions/Maps/includes/ext.maps.common.js deleted file mode 100644 index bc47cf4..0000000 --- a/documentacion/extensions/Maps/includes/ext.maps.common.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * JavasSript for the Maps extension. - * @see http://www.mediawiki.org/wiki/Extension:Maps - * - * @since 1.0 - * @ingroup Maps - * - * @licence GNU GPL v3+ - * @author Jeroen De Dauw - */ -window.maps = new ( function( $, mw ) { - - this.log = function( message ) { - if ( mw.config.get( 'egMapsDebugJS' ) ) { - mw.log( message ); - } - }; - -} )( jQuery, mediaWiki ); \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/ext.maps.coord.js b/documentacion/extensions/Maps/includes/ext.maps.coord.js deleted file mode 100644 index 1697824..0000000 --- a/documentacion/extensions/Maps/includes/ext.maps.coord.js +++ /dev/null @@ -1,114 +0,0 @@ -/** - * JavasSript for coordinate handling in the Maps extension. - * @see http://www.mediawiki.org/wiki/Extension:Maps - * - * @since 1.0 - * @ingroup Maps - * - * @licence GNU GPL v3+ - * @author Jeroen De Dauw - */ -window.coord = new ( function( $ ) { - - /** - * The separator used between latitude and longitude in a coordinate set. - * @const - * @type {string} - */ - this.SEPARATOR = ','; - - /** - * The delimiter used between coordinate sets. - * @const - * @type {string} - */ - this.DELIMITER = ';'; - - /** - * Returns a list with coordinates obtained by splitting the provided string. - * @param {string} coords The coordinates to split. - * @return {Array} The split coordinates. - */ - this.split = function( coords ) { - coords = coords.split( this.DELIMITER ); - for ( i in coords ) coords[i] = coords[i].trim(); - return coords; - } - - /** - * Returns the provided coordinates joined in a string. - * @param {Array} coords The coordinates to join. - * @return {string} The joined coordinates. - */ - this.join = function( coords ) { - return coords.join( this.DELIMITER + ' ' ); - } - - /** - * Returns a string with the directional DMS representatation of the provided latitude and longitude. - * @param {float} lat The latitude. - * @param {float} lon The longitude. - * @return {string} The string with DMS coordinates. - */ - this.dms = function( lat, lon ) { // TODO: i18n - return Math.abs( lat ).toString() + '° ' + ( lat < 0 ? 'S' : 'N' ) - + this.SEPARATOR + ' ' - + Math.abs( lon ).toString() + '° ' + ( lon < 0 ? 'W' : 'E' ); - }; - - /** - * Returns a string with the non-directional float representatation of the provided latitude and longitude. - * @param {float} lat The latitude. - * @param {float} lon The longitude. - * @return {string} The string with float coordinates. - */ - this.float = function( lat, lon ) { - return lat.toString() + this.SEPARATOR + ' ' + lon.toString(); - }; - - this.parse = function( coord ) { - coord = coord.split( this.SEPARATOR ); - if ( coord.length != 2 ) return false; - - var lat = coord[0].trim(); - var lon = coord[1].trim(); - var parsed; - - parsed = this.parseFloat( lat, lon ); - if ( parsed !== false ) return parsed; - - parsed = this.parseDMS( lat, lon ); - if ( parsed !== false ) return parsed; - - return false; - }; - - this.parseDMS = function( lat, lon ) { - if ( this.isDMS( lat, lon ) ) { - // TODO - } - else { - return false; - } - }; - - this.parseFloat = function( lat, lon ) { - if ( this.isFloat( lat, lon ) ) { - return { lat: parseFloat( lat ), lon: parseFloat( lon ) }; - } - else { - return false; - } - }; - - this.isFloat = function( lat, lon ) { - var regex = /(-)?\d{1,3}(\.\d{1,20})?$/; - return regex.test( lat ) && regex.test( lon ); - }; - - this.isDMS = function( lat, lon ) { - var regex = ''; // TODO - return regex.test( lat ) && regex.test( lon ); - }; - -} )( jQuery ); \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/features/Maps_BaseMap.php b/documentacion/extensions/Maps/includes/features/Maps_BaseMap.php deleted file mode 100644 index 3022364..0000000 --- a/documentacion/extensions/Maps/includes/features/Maps_BaseMap.php +++ /dev/null @@ -1,175 +0,0 @@ -service = $service; - } - - /** - * @since 0.7.3 - */ - public function addParameterInfo( array &$params ) { - } - - /** - * Handles the request from the parser hook by doing the work that's common for all - * mapping services, calling the specific methods and finally returning the resulting output. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * - * @return html - */ - public final function renderMap( array $params, Parser $parser ) { - $this->setCentre( $params ); - - if ( $params['zoom'] === false ) { - $params['zoom'] = $this->service->getDefaultZoom(); - } - - $mapName = $this->service->getMapId(); - - $output = $this->getMapHTML( $params, $parser, $mapName ) . $this->getJSON( $params, $parser, $mapName ); - - $configVars = Skin::makeVariablesScript( $this->service->getConfigVariables() ); - - // MediaWiki 1.17 does not play nice with addScript, so add the vars via the globals hook. - if ( version_compare( $GLOBALS['wgVersion'], '1.18', '<' ) ) { - $GLOBALS['egMapsGlobalJSVars'] += $this->service->getConfigVariables(); - } - - global $wgTitle; - if ( !is_null( $wgTitle ) && $wgTitle->isSpecialPage() ) { - global $wgOut; - $this->service->addDependencies( $wgOut ); - $wgOut->addScript( $configVars ); - } - else { - $this->service->addDependencies( $parser ); - $parser->getOutput()->addHeadItem( $configVars ); - } - - return $output; - } - - /** - * Returns the HTML to display the map. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * @param string $mapName - * - * @return string - */ - protected function getMapHTML( array $params, Parser $parser, $mapName ) { - return Html::element( - 'div', - array( - 'id' => $mapName, - 'style' => "width: {$params['width']}; height: {$params['height']}; background-color: #cccccc; overflow: hidden;", - ), - wfMsg( 'maps-loading-map' ) - ); - } - - /** - * Returns the JSON with the maps data. - * - * @since 0.7.3 - * - * @param array $params - * @param Parser $parser - * @param string $mapName - * - * @return string - */ - protected function getJSON( array $params, Parser $parser, $mapName ) { - $object = $this->getJSONObject( $params, $parser ); - - if ( $object === false ) { - return ''; - } - - return Html::inlineScript( - MapsMapper::getBaseMapJSON( $this->service->getName() ) - . "mwmaps.{$this->service->getName()}.{$mapName}=" . FormatJson::encode( $object ) . ';' - ); - } - - /** - * Returns a PHP object to encode to JSON with the map data. - * - * @since 0.7.3 - * - * @param array $params - * @param Parser $parser - * - * @return mixed - */ - protected function getJSONObject( array $params, Parser $parser ) { - return $params; - } - - /** - * Translates the coordinates field to the centre field and makes sure it's set to it's default when invalid. - * - * @since 1.0 - * - * @param array &$params - */ - protected function setCentre( array &$params ) { - // If it's false, the coordinate was invalid, or geocoding failed. Either way, the default's should be used. - if ( $params['coordinates'] === false ) { - global $egMapsDefaultMapCentre; - - $centre = MapsGeocoders::attemptToGeocode( $egMapsDefaultMapCentre, $params['geoservice'], $this->service->getName() ); - - if ( $centre === false ) { - throw new Exception( 'Failed to parse the default centre for the map. Please check the value of $egMapsDefaultMapCentre.' ); - } - else { - $params['centre'] = $centre; - } - } - else { - $params['centre'] = $params['coordinates']; - } - - unset( $params['coordinates'] ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/features/Maps_BasePointMap.php b/documentacion/extensions/Maps/includes/features/Maps_BasePointMap.php deleted file mode 100644 index a6d29ee..0000000 --- a/documentacion/extensions/Maps/includes/features/Maps_BasePointMap.php +++ /dev/null @@ -1,155 +0,0 @@ -service = $service; - } - - /** - * Handles the request from the parser hook by doing the work that's common for all - * mapping services, calling the specific methods and finally returning the resulting output. - * - * @param array $params - * @param Parser $parser - * - * @return html - */ - public final function renderMap( array $params, Parser $parser ) { - $this->handleMarkerData( $params, $parser ); - - $mapName = $this->service->getMapId(); - - $output = $this->getMapHTML( $params, $parser, $mapName ) . $this->getJSON( $params, $parser, $mapName ); - - $configVars = Skin::makeVariablesScript( $this->service->getConfigVariables() ); - - // MediaWiki 1.17 does not play nice with addScript, so add the vars via the globals hook. - if ( version_compare( $GLOBALS['wgVersion'], '1.18', '<' ) ) { - $GLOBALS['egMapsGlobalJSVars'] += $this->service->getConfigVariables(); - } - - global $wgTitle; - if ( !is_null( $wgTitle ) && $wgTitle->isSpecialPage() ) { - global $wgOut; - $this->service->addDependencies( $wgOut ); - $wgOut->addScript( $configVars ); - } - else { - $this->service->addDependencies( $parser ); - $parser->getOutput()->addHeadItem( $configVars ); - } - - return $output; - } - - /** - * Returns the HTML to display the map. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * @param string $mapName - * - * @return string - */ - protected function getMapHTML( array $params, Parser $parser, $mapName ) { - return Html::element( - 'div', - array( - 'id' => $mapName, - 'style' => "width: {$params['width']}; height: {$params['height']}; background-color: #cccccc; overflow: hidden;", - ), - wfMsg( 'maps-loading-map' ) - ); - } - - /** - * Returns the JSON with the maps data. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * @param string $mapName - * - * @return string - */ - protected function getJSON( array $params, Parser $parser, $mapName ) { - $object = $this->getJSONObject( $params, $parser ); - - if ( $object === false ) { - return ''; - } - - return Html::inlineScript( - MapsMapper::getBaseMapJSON( $this->service->getName() ) - . "mwmaps.{$this->service->getName()}.{$mapName}=" . FormatJson::encode( $object ) . ';' - ); - } - - /** - * Returns a PHP object to encode to JSON with the map data. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * - * @return mixed - */ - protected function getJSONObject( array $params, Parser $parser ) { - return $params; - } - - /** - * Converts the data in the coordinates parameter to JSON-ready objects. - * These get stored in the locations parameter, and the coordinates on gets deleted. - * - * @since 1.0 - * - * @param array &$params - * @param Parser $parser - */ - protected function handleMarkerData( array &$params, Parser $parser ) { - $parserClone = clone $parser; - $iconUrl = MapsMapper::getFileUrl( $params['icon'] ); - $params['locations'] = array(); - - foreach ( $params['coordinates'] as $location ) { - if ( $location->isValid() ) { - $jsonObj = $location->getJSONObject( $params['title'], $params['label'], $iconUrl ); - - $jsonObj['title'] = $parserClone->parse( $jsonObj['title'], $parserClone->getTitle(), new ParserOptions() )->getText(); - $jsonObj['text'] = $parserClone->parse( $jsonObj['text'], $parserClone->getTitle(), new ParserOptions() )->getText(); - - $hasTitleAndtext = $jsonObj['title'] !== '' && $jsonObj['text'] !== ''; - $jsonObj['text'] = ( $hasTitleAndtext ? '' . $jsonObj['title'] . '
    ' : $jsonObj['title'] ) . $jsonObj['text']; - $jsonObj['title'] = strip_tags( $jsonObj['title'] ); - - $params['locations'][] = $jsonObj; - } - } - - unset( $params['coordinates'] ); - } - -} diff --git a/documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesGeocoder.php b/documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesGeocoder.php deleted file mode 100644 index c5008ab..0000000 --- a/documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesGeocoder.php +++ /dev/null @@ -1,70 +0,0 @@ - - */ -final class MapsGeonamesGeocoder extends MapsGeocoder { - - /** - * Registeres the geocoder. - * - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - * - * @since 1.0 - */ - public static function register() { - global $egMapsGeoNamesUser; - - if ( $egMapsGeoNamesUser !== '' ) { - MapsGeocoders::registerGeocoder( 'geonames', __CLASS__ ); - } - - return true; - } - - /** - * @see MapsGeocoder::getRequestUrl - * - * @since 1.0 - * - * @param string $address - * - * @return string - */ - protected function getRequestUrl( $address ) { - global $egMapsGeoNamesUser; - return 'http://api.geonames.org/search?q=' . urlencode( $address ) . '&maxRows=1&username=' . urlencode( $egMapsGeoNamesUser ); - } - - /** - * @see MapsGeocoder::parseResponse - * - * @since 1.0 - * - * @param string $address - * - * @return array - */ - protected function parseResponse( $response ) { - $lon = self::getXmlElementValue( $response, 'lng' ); - $lat = self::getXmlElementValue( $response, 'lat' ); - - // In case one of the values is not found, return false. - if ( !$lon || !$lat ) return false; - - return array( - 'lat' => (float)$lat, - 'lon' => (float)$lon - ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesOldGeocoder.php b/documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesOldGeocoder.php deleted file mode 100644 index 00add07..0000000 --- a/documentacion/extensions/Maps/includes/geocoders/Maps_GeonamesOldGeocoder.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * Thanks go to Joel Natividad for pointing me to the GeoNames services. - */ -final class MapsGeonamesOldGeocoder extends MapsGeocoder { - - /** - * Registeres the geocoder. - * - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - * - * @since 0.7 - */ - public static function register() { - global $egMapsGeoNamesUser; - - MapsGeocoders::registerGeocoder( $egMapsGeoNamesUser === '' ? 'geonames' : 'geonamesold', __CLASS__ ); - - return true; - } - - /** - * @see MapsGeocoder::getRequestUrl - * - * @since 0.7 - * - * @param string $address - * - * @return string - */ - protected function getRequestUrl( $address ) { - return 'http://ws.geonames.org/search?q=' . urlencode( $address ) . '&maxRows=1&style=SHORT'; - } - - /** - * @see MapsGeocoder::parseResponse - * - * @since 0.7 - * - * @param string $address - * - * @return array - */ - protected function parseResponse( $response ) { - $lon = self::getXmlElementValue( $response, 'lng' ); - $lat = self::getXmlElementValue( $response, 'lat' ); - - // In case one of the values is not found, return false. - if ( !$lon || !$lat ) return false; - - return array( - 'lat' => $lat, - 'lon' => $lon - ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/geocoders/Maps_GoogleGeocoder.php b/documentacion/extensions/Maps/includes/geocoders/Maps_GoogleGeocoder.php deleted file mode 100644 index dade5d1..0000000 --- a/documentacion/extensions/Maps/includes/geocoders/Maps_GoogleGeocoder.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @author Sergey Chernyshev - * @author Desiree Gennaro - */ -final class MapsGoogleGeocoder extends MapsGeocoder { - - /** - * Registeres the geocoder. - * - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - * - * @since 0.7 - */ - public static function register() { - MapsGeocoders::registerGeocoder( 'google', __CLASS__ ); - return true; - } - - /** - * @see MapsGeocoder::getRequestUrl - * - * @since 0.7 - * - * @param string $address - * - * @return string - */ - protected function getRequestUrl( $address ) { - return 'http://maps.googleapis.com/maps/api/geocode/xml?address=' . urlencode( $address ) . '&sensor=false'; - } - - /** - * @see MapsGeocoder::parseResponse - * - * @since 0.7 - * - * @param string $address - * - * @return array - */ - protected function parseResponse( $response ) { - $lon = self::getXmlElementValue( $response, 'lng' ); - $lat = self::getXmlElementValue( $response, 'lat' ); - - // In case on of the values is not found, return false. - if ( !$lon || !$lat ) return false; - - return array( - 'lat' => (float)$lat, - 'lon' => (float)$lon - ); - } - - /** - * @see MapsGeocoder::getOverrides - * - * @since 0.7 - * - * @return array - */ - public static function getOverrides() { - return array( 'googlemaps2', 'googlemaps3' ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/geocoders/Maps_YahooGeocoder.php b/documentacion/extensions/Maps/includes/geocoders/Maps_YahooGeocoder.php deleted file mode 100644 index 795d3eb..0000000 --- a/documentacion/extensions/Maps/includes/geocoders/Maps_YahooGeocoder.php +++ /dev/null @@ -1,77 +0,0 @@ - - */ -final class MapsYahooGeocoder extends MapsGeocoder { - - /** - * Registeres the geocoder. - * - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - * - * @since 0.7 - */ - public static function register() { - MapsGeocoders::registerGeocoder( 'yahoo', __CLASS__ ); - return true; - } - - /** - * @see MapsGeocoder::getRequestUrl - * - * @since 0.7 - * - * @param string $address - * - * @return string - */ - protected function getRequestUrl( $address ) { - global $egYahooMapsKey; - return "http://where.yahooapis.com/v1/places.q('" . urlencode( $address ) . "')?appid=" . urlencode( $egYahooMapsKey ) . '&format=xml'; - } - - /** - * @see MapsGeocoder::parseResponse - * - * @since 0.7 - * - * @param string $address - * - * @return array - */ - protected function parseResponse( $response ) { - $lon = self::getXmlElementValue( $response, 'longitude' ); - $lat = self::getXmlElementValue( $response, 'latitude' ); - - // In case one of the values is not found, return false. - if ( !$lon || !$lat ) return false; - - return array( - 'lat' => (float)$lat, - 'lon' => (float)$lon - ); - } - - /** - * @see MapsGeocoder::getOverrides - * - * @since 0.7 - * - * @return array - */ - public static function getOverrides() { - return array( 'yahoomaps' ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/iMappingService.php b/documentacion/extensions/Maps/includes/iMappingService.php deleted file mode 100644 index f82d678..0000000 --- a/documentacion/extensions/Maps/includes/iMappingService.php +++ /dev/null @@ -1,125 +0,0 @@ -addCriteria( new CriterionIsImage() ); - $params['source']->addManipulations( new MapsParamFile() ); - - return $params; - } - - /** - * @see MapsLayer::getJavaScriptDefinition - * - * @since 0.7.2 - * - * @return string - */ - public function getJavaScriptDefinition() { - foreach ( $this->properties as $name => $value ) { - ${ $name } = MapsMapper::encodeJsVar( $value ); - } - - $options = array( 'isImage' => true ); - - if ( $zoomlevels !== false ) { - $options['numZoomLevels'] = $zoomlevels; - } - - $options = Xml::encodeJsVar( (object)$options ); - - return <<addCriteria( new CriterionIsImage() ); - $params['source']->addManipulations( new MapsParamFile() ); - - $params[] = new Parameter( 'maxdepth', Parameter::TYPE_INTEGER, 2 ); - - return $params; - } - - /** - * @see MapsLayer::getJavaScriptDefinition - * - * @since 0.7.2 - * - * @return string - */ - public function getJavaScriptDefinition() { - foreach ( $this->properties as $name => $value ) { - ${ $name } = MapsMapper::encodeJsVar( $value ); - } - - $options = array( - 'extractStyles' => true, - 'extractAttributes' => true, - 'maxDepth' => $maxdepth - ); - - $options = Xml::encodeJsVar( (object)$options ); - - return <<dimension = $dimension; - } - - /** - * @see ItemParameterManipulation::doManipulation - * - * @since 0.7 - */ - public function doManipulation( &$value, Parameter $parameter, array &$parameters ) { - global $egMapsSizeRestrictions, $egMapsMapWidth, $egMapsMapHeight; - - if ( $value == 'auto' && $this->dimension == 'width' ) { - return; - } - - // Set the default if the value is not valid. - if ( !preg_match( '/^\d+(\.\d+)?(px|ex|em|%)?$/', $value ) ) { - $value = $this->dimension == 'width' ? $egMapsMapWidth : $egMapsMapHeight; - } - - // Determine the minimum and maximum values. - if ( preg_match( '/^.*%$/', $value ) ) { - if ( count( $egMapsSizeRestrictions[$this->dimension] ) >= 4 ) { - $min = $egMapsSizeRestrictions[$this->dimension][2]; - $max = $egMapsSizeRestrictions[$this->dimension][3]; - } else { - // This is for backward compatibility with people who have set a custom min and max before 0.6. - // Can be removed from version 0.8. - $min = 1; - $max = 100; - } - } else { - $min = $egMapsSizeRestrictions[$this->dimension][0]; - $max = $egMapsSizeRestrictions[$this->dimension][1]; - } - - // See if the actual value is withing the limits. - $number = preg_replace( '/[^0-9]/', '', $value ); - if ( $number < $min ) { - $value = $min; - } elseif ( $number > $max ) { - $value = $max; - } - - if ( !preg_match( '/(px|ex|em|%)$/', $value ) ) { - $value .= 'px'; - } - } - -} diff --git a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamFile.php b/documentacion/extensions/Maps/includes/manipulations/Maps_ParamFile.php deleted file mode 100644 index c4d4ac4..0000000 --- a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamFile.php +++ /dev/null @@ -1,34 +0,0 @@ -mappingServiceParam = $mappingServiceParam; - } - - /** - * @see ItemParameterManipulation::doManipulation - * - * @since 0.7.5 - */ - public function doManipulation( &$value, Parameter $parameter, array &$parameters ) { - global $egMapsDefaultGeoService, $egMapsUserGeoOverrides; - static $validatedDefault = false; - - if ( !MapsGeocoders::canGeocode() ) { - throw new Exception( 'There are no geocoders registered, so no geocoding can happen.' ); - } - - // Get rid of any aliases. - $value = $this->getMainIndentifier( $value ); - - // Override the defaulting. - if ( $parameter->wasSetToDefault() - && is_string( $this->mappingServiceParam ) - && array_key_exists( $this->mappingServiceParam, $parameters ) ) { - $value = self::resolveOverrides( $value, $parameters[$this->mappingServiceParam]->getValue() ); - } - - if ( $value === '' || !array_key_exists( $value, MapsGeocoders::$registeredGeocoders ) ) { - if ( !$validatedDefault ) { - if ( !array_key_exists( $egMapsDefaultGeoService, MapsGeocoders::$registeredGeocoders ) ) { - $egMapsDefaultGeoService = array_shift( array_keys( MapsGeocoders::$registeredGeocoders ) ); - if ( is_null( $egMapsDefaultGeoService ) ) { - throw new Exception( 'Tried to geocode while there are no geocoders available at ' . __METHOD__ ); - } - } - } - - if ( array_key_exists( $egMapsDefaultGeoService, MapsGeocoders::$registeredGeocoders ) ) { - $value = $egMapsDefaultGeoService; - } - else { - throw new Exception( 'Attempt to use the default geocoder while it does not exist.' ); - } - } - } - - /** - * Replaces the geocoder identifier in case there is an override specified by - * one of the registered geocoders. - * - * @since 0.7.5 - * - * @param string $geocoderIdentifier - * @param string $mappingService - * - * @return string - */ - protected static function resolveOverrides( $geocoderIdentifier, $mappingService ) { - static $overrides = false; - - if ( $overrides === false ) { - $overrides = array(); - - foreach ( MapsGeocoders::$registeredGeocoders as $key => $class ) { - $overrides[$key] = call_user_func( array( $class, 'getOverrides' ) ); - } - } - - foreach ( $overrides as $geocoder => $services ) { - if ( in_array( $mappingService, $services ) ) { - return $geocoder; - } - } - - return $geocoderIdentifier; - } - - /** - * Gets the main geocoder identifier by resolving aliases. - * - * @since 0.7.5 - * - * @param string $geocoderIdentifier - * - * @return string - */ - protected function getMainIndentifier( $geocoderIdentifier ) { - // TODO: implement actual function - return $geocoderIdentifier; - } - - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamLocation.php b/documentacion/extensions/Maps/includes/manipulations/Maps_ParamLocation.php deleted file mode 100644 index d3b6c24..0000000 --- a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamLocation.php +++ /dev/null @@ -1,73 +0,0 @@ -metaDataSeparator = $metaDataSeparator; - } - - /** - * @see ItemParameterManipulation::doManipulation - * - * @since 0.7.2 - */ - public function doManipulation( &$value, Parameter $parameter, array &$parameters ) { - $parts = $this->metaDataSeparator === false ? array( $value ) : explode( $this->metaDataSeparator, $value ); - - $value = array_shift( $parts ); - $value = new MapsLocation( $value ); - - if ( $title = array_shift( $parts ) ) { - $value->setTitle( $title ); - } - - if ( $text = array_shift( $parts ) ) { - $value->setText( $text ); - } - - if ( $icon = array_shift( $parts ) ) { - $value->setIcon( $icon ); - } - - if ( $this->toJSONObj ) { - $value = $value->getJSONObject(); - } - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamService.php b/documentacion/extensions/Maps/includes/manipulations/Maps_ParamService.php deleted file mode 100644 index 69f2c6f..0000000 --- a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamService.php +++ /dev/null @@ -1,52 +0,0 @@ -feature = $feature; - } - - /** - * @see ItemParameterManipulation::doManipulation - * - * @since 0.7 - */ - public function doManipulation( &$value, Parameter $parameter, array &$parameters ) { - // Make sure the service is valid. - $value = MapsMappingServices::getValidServiceName( $value, $this->feature ); - - // Get the service object so the service specific parameters can be retrieved. - $serviceObject = MapsMappingServices::getServiceInstance( $value ); - - // Add the service specific service parameters. - $serviceObject->addParameterInfo( $parameters ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamZoom.php b/documentacion/extensions/Maps/includes/manipulations/Maps_ParamZoom.php deleted file mode 100644 index 476ef21..0000000 --- a/documentacion/extensions/Maps/includes/manipulations/Maps_ParamZoom.php +++ /dev/null @@ -1,38 +0,0 @@ -wasSetToDefault() && count( $parameters['coordinates']->getValue() ) > 1 ) { - $value = false; - } - } - -} diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_Coordinates.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_Coordinates.php deleted file mode 100644 index 0244eb1..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_Coordinates.php +++ /dev/null @@ -1,138 +0,0 @@ -=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'coordinates'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsAvailableServices, $egMapsAvailableCoordNotations; - global $egMapsDefaultServices, $egMapsDefaultGeoService, $egMapsCoordinateNotation; - global $egMapsAllowCoordsGeocoding, $egMapsCoordinateDirectional; - - $params = array(); - - $params['location'] = new Parameter( - 'location', - Parameter::TYPE_STRING, - null, - array(), - array( - new CriterionIsLocation(), - ) - ); - $params['location']->setMessage( 'maps-coordinates-par-location' ); - - $params['format'] = new Parameter( - 'format', - Parameter::TYPE_STRING, - $egMapsCoordinateNotation, - array( 'notation' ), - array( - new CriterionInArray( $egMapsAvailableCoordNotations ), - ) - ); - $params['format']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['format']->setMessage( 'maps-coordinates-par-format' ); - - $params['directional'] = new Parameter( - 'directional', - Parameter::TYPE_BOOLEAN, - $egMapsCoordinateDirectional - ); - $params['directional']->setMessage( 'maps-coordinates-par-directional' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location', 'format', 'directional' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $parsedCoords = MapsCoordinateParser::parseCoordinates( $parameters['location'] ); - - if ( $parsedCoords ) { - $output = MapsCoordinateParser::formatCoordinates( $parsedCoords, $parameters['format'], $parameters['directional'] ); - } else { - // The coordinates should be valid when this method gets called. - throw new Exception( 'Attempt to format an invalid set of coordinates' ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-coordinates-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayMap.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayMap.php deleted file mode 100644 index 41b25cd..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayMap.php +++ /dev/null @@ -1,135 +0,0 @@ -=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - public static function initialize() { - - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'display_map'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsMapWidth, $egMapsMapHeight, $egMapsDefaultServices; - - $params = MapsMapper::getCommonParameters(); - - $params['mappingservice']->setDefault( $egMapsDefaultServices['display_map'] ); - $params['mappingservice']->addManipulations( new MapsParamService( 'display_map' ) ); - $params['mappingservice']->setMessage( 'maps-displaymap-par-mappingservice' ); - - $params['coordinates'] = new Parameter( 'coordinates' ); - $params['coordinates']->addAliases( 'coords', 'location', 'address' ); - $params['coordinates']->addCriteria( new CriterionIsLocation() ); - $params['coordinates']->addDependencies( 'mappingservice', 'geoservice' ); - $params['coordinates']->setMessage( 'maps-displaymap-par-coordinates' ); - $params['coordinates']->setDoManipulationOfDefault( false ); - $manipulation = new MapsParamLocation(); - $manipulation->toJSONObj = true; - $params['coordinates']->addManipulations( $manipulation ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'coordinates' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - // Get the instance of the service class. - $service = MapsMappingServices::getServiceInstance( $parameters['mappingservice'], $this->getName() ); - - // Get an instance of the class handling the current parser hook and service. - $mapClass = $service->getFeatureInstance( $this->getName() ); - - return $mapClass->renderMap( $parameters, $this->parser ); - } - - /** - * Returns the parser function otpions. - * @see ParserHook::getFunctionOptions - * - * @since 0.7 - * - * @return array - */ - protected function getFunctionOptions() { - return array( - 'noparse' => true, - 'isHTML' => true - ); - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-displaymap-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayPoint.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayPoint.php deleted file mode 100644 index 5f8dd30..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_DisplayPoint.php +++ /dev/null @@ -1,168 +0,0 @@ -=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return array( 'display_point', 'display_points' ); - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsMapWidth, $egMapsMapHeight, $egMapsDefaultServices, $egMapsDefaultTitle, $egMapsDefaultLabel, $egMapsDefaultMapCentre; - - $params = MapsMapper::getCommonParameters(); - - $params['mappingservice']->setDefault( $egMapsDefaultServices['display_point'] ); - $params['mappingservice']->addManipulations( new MapsParamService( 'display_point' ) ); - $params['mappingservice']->setMessage( 'maps-displaypoints-par-mappingservice' ); - - $params['zoom']->addDependencies( 'coordinates', 'mappingservice' ); - $params['zoom']->addManipulations( new MapsParamZoom() ); - $params['zoom']->setMessage( 'maps-displaypoints-par-zoom' ); - - $params['coordinates'] = new ListParameter( 'coordinates', $type === ParserHook::TYPE_FUNCTION ? ';' : "\n" ); - $params['coordinates']->addAliases( 'coords', 'location', 'address', 'addresses', 'locations' ); - $params['coordinates']->addCriteria( new CriterionIsLocation( $type === ParserHook::TYPE_FUNCTION ? '~' : '|' ) ); - $params['coordinates']->addManipulations( new MapsParamLocation( $type === ParserHook::TYPE_FUNCTION ? '~' : '|' ) ); - $params['coordinates']->addDependencies( 'mappingservice', 'geoservice' ); - $params['coordinates']->setMessage( 'maps-displaypoints-par-coordinates' ); - - $params['centre'] = new Parameter( 'centre' ); - $params['centre']->setDefault( false ); - $params['centre']->addAliases( 'center' ); - $params['centre']->addCriteria( new CriterionIsLocation() ); - $params['centre']->setMessage( 'maps-displaypoints-par-centre' ); - $params['centre']->setDoManipulationOfDefault( false ); - $manipulation = new MapsParamLocation(); - $manipulation->toJSONObj = true; - $params['centre']->addManipulations( $manipulation ); - - $params['title'] = new Parameter( - 'title', - Parameter::TYPE_STRING, - $egMapsDefaultTitle - ); - $params['title']->setMessage( 'maps-displaypoints-par-title' ); - - $params['label'] = new Parameter( - 'label', - Parameter::TYPE_STRING, - $egMapsDefaultLabel, - array( 'text' ) - ); - $params['label']->setMessage( 'maps-displaypoints-par-label' ); - - $params['icon'] = new Parameter( - 'icon', - Parameter::TYPE_STRING, - '', // TODO - array(), - array( - New CriterionNotEmpty() - ) - ); - $params['icon']->setMessage( 'maps-displaypoints-par-icon' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'coordinates' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - // Get the instance of the service class. - $service = MapsMappingServices::getServiceInstance( $parameters['mappingservice'], $this->getName() ); - - // Get an instance of the class handling the current parser hook and service. - $mapClass = $service->getFeatureInstance( 'display_point' ); - - return $mapClass->renderMap( $parameters, $this->parser ); - } - - /** - * Returns the parser function otpions. - * @see ParserHook::getFunctionOptions - * - * @since 0.7 - * - * @return array - */ - protected function getFunctionOptions() { - return array( - 'noparse' => true, - 'isHTML' => true - ); - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-displaypoint-description'; - } - -} diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_Distance.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_Distance.php deleted file mode 100644 index 0862358..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_Distance.php +++ /dev/null @@ -1,120 +0,0 @@ -=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'distance'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsDistanceUnit, $egMapsDistanceDecimals; - - $params = array(); - - $params['distance'] = new Parameter( 'distance' ); - $params['distance']->addCriteria( new CriterionIsDistance() ); - $params['distance']->setMessage( 'maps-distance-par-distance' ); - - $params['unit'] = new Parameter( - 'unit', - Parameter::TYPE_STRING, - $egMapsDistanceUnit, - array(), - array( - new CriterionInArray( MapsDistanceParser::getUnits() ), - ) - ); - $params['unit']->setMessage( 'maps-distance-par-unit' ); - - $params['decimals'] = new Parameter( - 'decimals', - Parameter::TYPE_INTEGER, - $egMapsDistanceDecimals - ); - $params['decimals']->setMessage( 'maps-distance-par-decimals' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'distance', 'unit', 'decimals' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $distanceInMeters = MapsDistanceParser::parseDistance( $parameters['distance'] ); - return MapsDistanceParser::formatDistance( $distanceInMeters, $parameters['unit'], $parameters['decimals'] ); - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-distance-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_Finddestination.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_Finddestination.php deleted file mode 100644 index c4df273..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_Finddestination.php +++ /dev/null @@ -1,189 +0,0 @@ -=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'finddestination'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsAvailableServices, $egMapsAvailableGeoServices, $egMapsDefaultGeoService, $egMapsAvailableCoordNotations; - global $egMapsCoordinateNotation, $egMapsAllowCoordsGeocoding, $egMapsCoordinateDirectional; - - $params = array(); - - $params['location'] = new Parameter( 'location' ); - $params['location']->addCriteria( new CriterionIsLocation() ); - $params['location']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location']->setMessage( 'maps-finddestination-par-location' ); - - $params['bearing'] = new Parameter( - 'bearing', - Parameter::TYPE_FLOAT - ); - $params['bearing']->setMessage( 'maps-finddestination-par-bearing' ); - - $params['distance'] = new Parameter( 'distance' ); - $params['distance']->addCriteria( new CriterionIsDistance() ); - $params['distance']->setMessage( 'maps-finddestination-par-distance' ); - // TODO: manipulate to distance object - - $params['mappingservice'] = new Parameter( - 'mappingservice', - Parameter::TYPE_STRING, - '', // TODO - array(), - array( - new CriterionInArray( MapsMappingServices::getAllServiceValues() ), - ) - ); - $params['mappingservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['mappingservice']->setMessage( 'maps-finddestination-par-mappingservice' ); - - $params['geoservice'] = new Parameter( - 'geoservice', - Parameter::TYPE_STRING, - $egMapsDefaultGeoService, - array( 'service' ), - array( - new CriterionInArray( $egMapsAvailableGeoServices ), - ) - ); - $params['geoservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['geoservice']->setMessage( 'maps-finddestination-par-geoservice' ); - - $params['allowcoordinates'] = new Parameter( - 'allowcoordinates', - Parameter::TYPE_BOOLEAN, - $egMapsAllowCoordsGeocoding - ); - $params['allowcoordinates']->setMessage( 'maps-finddestination-par-allowcoordinates' ); - - $params['format'] = new Parameter( - 'format', - Parameter::TYPE_STRING, - $egMapsCoordinateNotation, - array( 'notation' ), - array( - new CriterionInArray( $egMapsAvailableCoordNotations ), - ) - ); - $params['format']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['format']->setMessage( 'maps-finddestination-par-format' ); - - $params['directional'] = new Parameter( - 'directional', - Parameter::TYPE_BOOLEAN, - $egMapsCoordinateDirectional - ); - $params['directional']->setMessage( 'maps-finddestination-par-directional' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location', 'bearing', 'distance' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $canGeocode = MapsGeocoders::canGeocode(); - - if ( $canGeocode ) { - $location = MapsGeocoders::attemptToGeocode( - $parameters['location'], - $parameters['geoservice'], - $parameters['mappingservice'] - ); - } else { - $location = MapsCoordinateParser::parseCoordinates( $parameters['location'] ); - } - - // TODO - if ( $location ) { - $destination = MapsGeoFunctions::findDestination( - $location, - $parameters['bearing'], - MapsDistanceParser::parseDistance( $parameters['distance'] ) - ); - $output = MapsCoordinateParser::formatCoordinates( $destination, $parameters['format'], $parameters['directional'] ); - } else { - // The location should be valid when this method gets called. - throw new Exception( 'Attempt to find a destination from an invalid location' ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-finddestination-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_Geocode.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_Geocode.php deleted file mode 100644 index 275fdd3..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_Geocode.php +++ /dev/null @@ -1,170 +0,0 @@ -=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'geocode'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsAvailableServices, $egMapsAvailableGeoServices, $egMapsAvailableCoordNotations; - global $egMapsDefaultServices, $egMapsDefaultGeoService, $egMapsCoordinateNotation; - global $egMapsAllowCoordsGeocoding, $egMapsCoordinateDirectional; - - $params = array(); - - $params['location'] = new Parameter( 'location' ); - $params['location']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location']->addCriteria( new CriterionIsLocation() ); - $params['location']->setMessage( 'maps-geocode-par-location' ); - - $params['mappingservice'] = new Parameter( - 'mappingservice', - Parameter::TYPE_STRING, - '', // TODO - array(), - array( - new CriterionInArray( MapsMappingServices::getAllServiceValues() ), - ) - ); - $params['mappingservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['mappingservice']->setMessage( 'maps-geocode-par-mappingservice' ); - - $params['geoservice'] = new Parameter( - 'geoservice', - Parameter::TYPE_STRING, - $egMapsDefaultGeoService, - array( 'service' ), - array( - new CriterionInArray( $egMapsAvailableGeoServices ), - ) - ); - $params['geoservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['geoservice']->setMessage( 'maps-geocode-par-geoservice' ); - - $params['allowcoordinates'] = new Parameter( - 'allowcoordinates', - Parameter::TYPE_BOOLEAN, - $egMapsAllowCoordsGeocoding - ); - $params['allowcoordinates']->setMessage( 'maps-geocode-par-allowcoordinates' ); - - $params['format'] = new Parameter( - 'format', - Parameter::TYPE_STRING, - $egMapsCoordinateNotation, - array( 'notation' ), - array( - new CriterionInArray( $egMapsAvailableCoordNotations ), - ) - ); - $params['format']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['format']->setMessage( 'maps-geocode-par-format' ); - - $params['directional'] = new Parameter( - 'directional', - Parameter::TYPE_BOOLEAN, - $egMapsCoordinateDirectional - ); - $params['directional']->setMessage( 'maps-geocode-par-directional' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location', 'geoservice', 'mappingservice' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - if ( MapsGeocoders::canGeocode() ) { - $geovalues = MapsGeocoders::attemptToGeocodeToString( - $parameters['location'], - $parameters['geoservice'], - $parameters['mappingservice'], - $parameters['allowcoordinates'], - $parameters['format'], - $parameters['directional'] - ); - - $output = $geovalues ? $geovalues : ''; - } - else { - $output = htmlspecialchars( wfMsg( 'maps-geocoder-not-available' ) ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-geocode-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_Geodistance.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_Geodistance.php deleted file mode 100644 index 2764d36..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_Geodistance.php +++ /dev/null @@ -1,179 +0,0 @@ -=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'geodistance'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsDistanceUnit, $egMapsDistanceDecimals, $egMapsAvailableGeoServices, $egMapsDefaultGeoService; - - $params = array(); - - $params['location1'] = new Parameter( - 'location1', - Parameter::TYPE_STRING, - null, - array( 'from' ), - array( - new CriterionIsLocation(), - ) - ); - $params['location1']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location1']->setMessage( 'maps-geodistance-par-location1' ); - - $params['location2'] = new Parameter( - 'location2', - Parameter::TYPE_STRING, - null, - array( 'to' ), - array( - new CriterionIsLocation(), - ) - ); - $params['location2']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location2']->setMessage( 'maps-geodistance-par-location2' ); - - $params['unit'] = new Parameter( - 'unit', - Parameter::TYPE_STRING, - $egMapsDistanceUnit, - array(), - array( - new CriterionInArray( MapsDistanceParser::getUnits() ), - ) - ); - $params['unit']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['unit']->setMessage( 'maps-geodistance-par-unit' ); - - $params['decimals'] = new Parameter( - 'decimals', - Parameter::TYPE_INTEGER, - $egMapsDistanceDecimals - ); - $params['decimals']->setMessage( 'maps-geodistance-par-decimals' ); - - $params['mappingservice'] = new Parameter( - 'mappingservice', - Parameter::TYPE_STRING, - '', // TODO - array(), - array( - new CriterionInArray( MapsMappingServices::getAllServiceValues() ), - ) - ); - $params['mappingservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['mappingservice']->setMessage( 'maps-geodistance-par-mappingservice' ); - - $params['geoservice'] = new Parameter( - 'geoservice', - Parameter::TYPE_STRING, - $egMapsDefaultGeoService, - array( 'service' ), - array( - new CriterionInArray( $egMapsAvailableGeoServices ), - ) - ); - $params['geoservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['geoservice']->setMessage( 'maps-geodistance-par-geoservice' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location1', 'location2', 'unit', 'decimals' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - if ( MapsGeocoders::canGeocode() ) { - $start = MapsGeocoders::attemptToGeocode( $parameters['location1'], $parameters['geoservice'], $parameters['mappingservice'] ); - $end = MapsGeocoders::attemptToGeocode( $parameters['location2'], $parameters['geoservice'], $parameters['mappingservice'] ); - } else { - $start = MapsCoordinateParser::parseCoordinates( $parameters['location1'] ); - $end = MapsCoordinateParser::parseCoordinates( $parameters['location2'] ); - } - - if ( $start && $end ) { - $output = MapsDistanceParser::formatDistance( MapsGeoFunctions::calculateDistance( $start, $end ), $parameters['unit'], $parameters['decimals'] ); - } else { - // The locations should be valid when this method gets called. - throw new Exception( 'Attempt to find the distance between locations of at least one is invalid' ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-geodistance-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserHooks/Maps_MapsDoc.php b/documentacion/extensions/Maps/includes/parserHooks/Maps_MapsDoc.php deleted file mode 100644 index bea61ac..0000000 --- a/documentacion/extensions/Maps/includes/parserHooks/Maps_MapsDoc.php +++ /dev/null @@ -1,226 +0,0 @@ - - */ -class MapsMapsDoc extends ParserHook { - - /** - * Field to store the value of the language parameter. - * - * @since 1.0.1 - * - * @var string - */ - protected $language; - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticMagic( array &$magicWords, $langCode ) { - $instance = new self; - return $instance->magic( $magicWords, $langCode ); - } - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 1.0 - * - * @return string - */ - protected function getName() { - return 'mapsdoc'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 1.0 - * - * @return array - */ - protected function getParameterInfo( $type ) { - $params = array(); - - $params['service'] = new Parameter( 'service' ); - $params['service']->addCriteria( new CriterionInArray( $GLOBALS['egMapsAvailableServices'] ) ); - $params['service']->setMessage( 'maps-mapsdoc-par-service' ); - - $params['language'] = new Parameter( 'language' ); - $params['language']->setDefault( $GLOBALS['wgLanguageCode'] ); - $params['language']->setMessage( 'maps-mapsdoc-par-language' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 1.0 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'service', 'language' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 1.0 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $this->language = $parameters['language']; - - $params = $this->getServiceParameters( $parameters['service'] ); - - return $this->getParameterTable( $params ); - } - - /** - * Message function that takes into account the language parameter. - * - * @since 1.0.1 - * - * @param string $key - * @param array $args - * - * @return string - */ - protected function msg( $key ) { - $args = func_get_args(); - $key = array_shift( $args ); - return wfMsgReal( $key, $args, true, $this->language ); - } - - /** - * Returns the wikitext for a table listing the provided parameters. - * - * @since 1.0 - * - * @param array $parameters - * - * @return string - */ - protected function getParameterTable( array $parameters ) { - $tableRows = array(); - - foreach ( $parameters as $parameter ) { - $tableRows[] = $this->getDescriptionRow( $parameter ); - } - - $table = ''; - - if ( count( $tableRows ) > 0 ) { - $tableRows = array_merge( array( - '!' . $this->msg( 'validator-describe-header-parameter' ) ."\n" . - //'!' . $this->msg( 'validator-describe-header-aliases' ) ."\n" . - '!' . $this->msg( 'validator-describe-header-type' ) ."\n" . - '!' . $this->msg( 'validator-describe-header-default' ) ."\n" . - '!' . $this->msg( 'validator-describe-header-description' ) - ), $tableRows ); - - $table = implode( "\n|-\n", $tableRows ); - - $table = - '{| class="wikitable sortable"' . "\n" . - $table . - "\n|}"; - } - - return $table; - } - - /** - * Returns the wikitext for a table row describing a single parameter. - * - * @since 1.0 - * - * @param Parameter $parameter - * - * @return string - */ - protected function getDescriptionRow( Parameter $parameter ) { -// $aliases = $parameter->getAliases(); -// $aliases = count( $aliases ) > 0 ? implode( ', ', $aliases ) : '-'; - - $description = $parameter->getMessage(); - if ( $description === false ) { - $description = $parameter->getDescription(); - if ( $description === false ) $description = '-'; - } - else { - $description = $this->msg( $description ); - } - - $type = $parameter->getTypeMessage(); - - $default = $parameter->isRequired() ? "''" . $this->msg( 'validator-describe-required' ) . "''" : $parameter->getDefault(); - if ( is_array( $default ) ) { - $default = implode( ', ', $default ); - } - elseif ( is_bool( $default ) ) { - $default = $default ? 'yes' : 'no'; - } - - if ( $default === '' ) $default = "''" . $this->msg( 'validator-describe-empty' ) . "''"; - - return <<getName()} -| {$type} -| {$default} -| {$description} -EOT; - } - - protected function getServiceParameters( $service ) { - $service = MapsMappingServices::getServiceInstance( $service ); - - $params = array(); - - $params['zoom'] = new Parameter( 'zoom', Parameter::TYPE_INTEGER ); - $params['zoom']->setMessage( 'maps-par-zoom' ); - - $service->addParameterInfo( $params ); - - return $params; - } - - /** - * @see ParserHook::getDescription() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-mapsdoc-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserhooks/Maps_Coordinates.php b/documentacion/extensions/Maps/includes/parserhooks/Maps_Coordinates.php deleted file mode 100644 index 7a4619d..0000000 --- a/documentacion/extensions/Maps/includes/parserhooks/Maps_Coordinates.php +++ /dev/null @@ -1,129 +0,0 @@ - - */ -class MapsCoordinates extends ParserHook { - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'coordinates'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsAvailableCoordNotations; - global $egMapsCoordinateNotation; - global $egMapsCoordinateDirectional; - - $params = array(); - - $params['location'] = new Parameter( - 'location', - Parameter::TYPE_STRING, - null, - array(), - array( - new CriterionIsLocation(), - ) - ); - $params['location']->setMessage( 'maps-coordinates-par-location' ); - - $params['format'] = new Parameter( - 'format', - Parameter::TYPE_STRING, - $egMapsCoordinateNotation, - array( 'notation' ), - array( - new CriterionInArray( $egMapsAvailableCoordNotations ), - ) - ); - $params['format']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['format']->setMessage( 'maps-coordinates-par-format' ); - - $params['directional'] = new Parameter( - 'directional', - Parameter::TYPE_BOOLEAN, - $egMapsCoordinateDirectional - ); - $params['directional']->setMessage( 'maps-coordinates-par-directional' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location', 'format', 'directional' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $parsedCoords = MapsCoordinateParser::parseCoordinates( $parameters['location'] ); - - if ( $parsedCoords ) { - $output = MapsCoordinateParser::formatCoordinates( $parsedCoords, $parameters['format'], $parameters['directional'] ); - } else { - // The coordinates should be valid when this method gets called. - throw new MWException( 'Attempt to format an invalid set of coordinates' ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-coordinates-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserhooks/Maps_DisplayMap.php b/documentacion/extensions/Maps/includes/parserhooks/Maps_DisplayMap.php deleted file mode 100644 index 22c89ec..0000000 --- a/documentacion/extensions/Maps/includes/parserhooks/Maps_DisplayMap.php +++ /dev/null @@ -1,225 +0,0 @@ - - */ -class MapsDisplayMap extends ParserHook { - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - public static function initialize() { - - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'display_map'; - } - - /** - * @see ParserHook::getNames() - * - * @since 2.0 - * - * @return array - */ - protected function getNames() { - return array( $this->getName(), 'display_point', 'display_points', 'display_line' ); - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * TODO: migrate stuff - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsDefaultTitle, $egMapsDefaultLabel; - - $params = MapsMapper::getCommonParameters(); - - $params['mappingservice']['feature'] = 'display_map'; - - $params['zoom']['dependencies'] = array( 'coordinates', 'mappingservice' ); - $params['zoom']['manipulations'] = new MapsParamZoom(); - - $params['coordinates'] = array( - 'aliases' => array( 'coords', 'location', 'address', 'addresses', 'locations', 'points' ), - 'criteria' => new CriterionIsLocation( $type === ParserHook::TYPE_FUNCTION ? '~' : '|' ), - 'manipulations' => new MapsParamLocation( $type === ParserHook::TYPE_FUNCTION ? '~' : '|' ), - 'dependencies' => array( 'mappingservice', 'geoservice' ), - 'default' => array(), - 'islist' => true, - 'delimiter' => $type === ParserHook::TYPE_FUNCTION ? ';' : "\n", - ); - - $params['title'] = array( - 'name' => 'title', - 'default' => $egMapsDefaultTitle, - ); - - $params['label'] = array( - 'default' => $egMapsDefaultLabel, - 'aliases' => 'text', - ); - - $params['icon'] = array( // TODO: image param - 'default' => '', // TODO - ); - - $params['visitedicon'] = array( - 'default' => '', //TODO: image param - ); - - $params['lines'] = array( - 'default' => array(), - 'criteria' => new CriterionLine( '~' ), // TODO - 'manipulations' => new MapsParamLine( '~' ), // TODO - 'delimiter' => ';', - 'islist' => true, - ); - - $params['polygons'] = array( - 'default' => array(), - 'criteria' => new CriterionPolygon( '~' ), // TODO - 'manipulations' => new MapsParamPolygon( '~' ), // TODO - 'delimiter' => ';', - 'islist' => true, - ); - - $params['circles'] = array( - 'default' => array(), - 'manipulations' => new MapsParamCircle( '~' ), // TODO - 'delimiter' => ';', - 'islist' => true, - ); - - $params['rectangles'] = array( - 'default' => array(), - 'manipulations' => new MapsParamRectangle( '~' ), // TODO - 'delimiter' => ';', - 'islist' => true, - ); - - $params['copycoords'] = array( - 'type' => 'boolean', - 'default' => false, - ); - - $params['static'] = array( - 'type' => 'boolean', - 'default' => false, - ); - - $params['wmsoverlay'] = array( - 'type' => 'string', - 'default' => false, - 'manipulations' => new MapsParamWmsOverlay( ' ' ), // TODO - 'delimiter' => ';', - ); - - $params['maxzoom'] = array( - 'type' => 'integer', - 'default' => false, - 'manipulatedefault' => false, - 'dependencies' => 'minzoom', - ); - - $params['minzoom'] = array( - 'type' => 'integer', - 'default' => false, - 'manipulatedefault' => false, - 'lowerbound' => 0, - ); - - foreach ( $params as $name => &$param ) { - if ( !array_key_exists( 'message', $param ) ) { - $param['message'] = 'maps-displaymap-par-' . $name; - } - } - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'coordinates' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - // Get the instance of the service class. - $service = MapsMappingServices::getServiceInstance( $parameters['mappingservice'], $this->getName() ); - - // Get an instance of the class handling the current parser hook and service. - $mapClass = $service->getFeatureInstance( $this->getName() ); - - return $mapClass->renderMap( $parameters, $this->parser ); - } - - /** - * Returns the parser function otpions. - * @see ParserHook::getFunctionOptions - * - * @since 0.7 - * - * @return array - */ - protected function getFunctionOptions() { - return array( - 'noparse' => true, - 'isHTML' => true - ); - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-displaymap-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserhooks/Maps_Distance.php b/documentacion/extensions/Maps/includes/parserhooks/Maps_Distance.php deleted file mode 100644 index 429bb06..0000000 --- a/documentacion/extensions/Maps/includes/parserhooks/Maps_Distance.php +++ /dev/null @@ -1,111 +0,0 @@ - - */ -class MapsDistance extends ParserHook { - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'distance'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsDistanceUnit, $egMapsDistanceDecimals; - - $params = array(); - - $params['distance'] = new Parameter( 'distance' ); - $params['distance']->addCriteria( new CriterionIsDistance() ); - $params['distance']->setMessage( 'maps-distance-par-distance' ); - - $params['unit'] = new Parameter( - 'unit', - Parameter::TYPE_STRING, - $egMapsDistanceUnit, - array(), - array( - new CriterionInArray( MapsDistanceParser::getUnits() ), - ) - ); - $params['unit']->setMessage( 'maps-distance-par-unit' ); - - $params['decimals'] = new Parameter( - 'decimals', - Parameter::TYPE_INTEGER, - $egMapsDistanceDecimals - ); - $params['decimals']->setMessage( 'maps-distance-par-decimals' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'distance', 'unit', 'decimals' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $distanceInMeters = MapsDistanceParser::parseDistance( $parameters['distance'] ); - return MapsDistanceParser::formatDistance( $distanceInMeters, $parameters['unit'], $parameters['decimals'] ); - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-distance-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserhooks/Maps_Finddestination.php b/documentacion/extensions/Maps/includes/parserhooks/Maps_Finddestination.php deleted file mode 100644 index f51ccdc..0000000 --- a/documentacion/extensions/Maps/includes/parserhooks/Maps_Finddestination.php +++ /dev/null @@ -1,180 +0,0 @@ - - */ -class MapsFinddestination extends ParserHook { - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'finddestination'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsAvailableGeoServices, $egMapsDefaultGeoService, $egMapsAvailableCoordNotations; - global $egMapsCoordinateNotation, $egMapsAllowCoordsGeocoding, $egMapsCoordinateDirectional; - - $params = array(); - - $params['location'] = new Parameter( 'location' ); - $params['location']->addCriteria( new CriterionIsLocation() ); - $params['location']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location']->setMessage( 'maps-finddestination-par-location' ); - - $params['bearing'] = new Parameter( - 'bearing', - Parameter::TYPE_FLOAT - ); - $params['bearing']->setMessage( 'maps-finddestination-par-bearing' ); - - $params['distance'] = new Parameter( 'distance' ); - $params['distance']->addCriteria( new CriterionIsDistance() ); - $params['distance']->setMessage( 'maps-finddestination-par-distance' ); - // TODO: manipulate to distance object - - $params['mappingservice'] = new Parameter( - 'mappingservice', - Parameter::TYPE_STRING, - '', // TODO - array(), - array( - new CriterionInArray( MapsMappingServices::getAllServiceValues() ), - ) - ); - $params['mappingservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['mappingservice']->setMessage( 'maps-finddestination-par-mappingservice' ); - - $params['geoservice'] = new Parameter( - 'geoservice', - Parameter::TYPE_STRING, - $egMapsDefaultGeoService, - array( 'service' ), - array( - new CriterionInArray( $egMapsAvailableGeoServices ), - ) - ); - $params['geoservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['geoservice']->setMessage( 'maps-finddestination-par-geoservice' ); - - $params['allowcoordinates'] = new Parameter( - 'allowcoordinates', - Parameter::TYPE_BOOLEAN, - $egMapsAllowCoordsGeocoding - ); - $params['allowcoordinates']->setMessage( 'maps-finddestination-par-allowcoordinates' ); - - $params['format'] = new Parameter( - 'format', - Parameter::TYPE_STRING, - $egMapsCoordinateNotation, - array( 'notation' ), - array( - new CriterionInArray( $egMapsAvailableCoordNotations ), - ) - ); - $params['format']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['format']->setMessage( 'maps-finddestination-par-format' ); - - $params['directional'] = new Parameter( - 'directional', - Parameter::TYPE_BOOLEAN, - $egMapsCoordinateDirectional - ); - $params['directional']->setMessage( 'maps-finddestination-par-directional' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location', 'bearing', 'distance' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $canGeocode = MapsGeocoders::canGeocode(); - - if ( $canGeocode ) { - $location = MapsGeocoders::attemptToGeocode( - $parameters['location'], - $parameters['geoservice'], - $parameters['mappingservice'] - ); - } else { - $location = MapsCoordinateParser::parseCoordinates( $parameters['location'] ); - } - - // TODO - if ( $location ) { - $destination = MapsGeoFunctions::findDestination( - $location, - $parameters['bearing'], - MapsDistanceParser::parseDistance( $parameters['distance'] ) - ); - $output = MapsCoordinateParser::formatCoordinates( $destination, $parameters['format'], $parameters['directional'] ); - } else { - // The location should be valid when this method gets called. - throw new MWException( 'Attempt to find a destination from an invalid location' ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-finddestination-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserhooks/Maps_Geocode.php b/documentacion/extensions/Maps/includes/parserhooks/Maps_Geocode.php deleted file mode 100644 index 616f0e5..0000000 --- a/documentacion/extensions/Maps/includes/parserhooks/Maps_Geocode.php +++ /dev/null @@ -1,161 +0,0 @@ - - */ -class MapsGeocode extends ParserHook { - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'geocode'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsAvailableGeoServices, $egMapsAvailableCoordNotations; - global $egMapsDefaultGeoService, $egMapsCoordinateNotation; - global $egMapsAllowCoordsGeocoding, $egMapsCoordinateDirectional; - - $params = array(); - - $params['location'] = new Parameter( 'location' ); - $params['location']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location']->addCriteria( new CriterionIsLocation() ); - $params['location']->setMessage( 'maps-geocode-par-location' ); - - $params['mappingservice'] = new Parameter( - 'mappingservice', - Parameter::TYPE_STRING, - '', // TODO - array(), - array( - new CriterionInArray( MapsMappingServices::getAllServiceValues() ), - ) - ); - $params['mappingservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['mappingservice']->setMessage( 'maps-geocode-par-mappingservice' ); - - $params['geoservice'] = new Parameter( - 'geoservice', - Parameter::TYPE_STRING, - $egMapsDefaultGeoService, - array( 'service' ), - array( - new CriterionInArray( $egMapsAvailableGeoServices ), - ) - ); - $params['geoservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['geoservice']->setMessage( 'maps-geocode-par-geoservice' ); - - $params['allowcoordinates'] = new Parameter( - 'allowcoordinates', - Parameter::TYPE_BOOLEAN, - $egMapsAllowCoordsGeocoding - ); - $params['allowcoordinates']->setMessage( 'maps-geocode-par-allowcoordinates' ); - - $params['format'] = new Parameter( - 'format', - Parameter::TYPE_STRING, - $egMapsCoordinateNotation, - array( 'notation' ), - array( - new CriterionInArray( $egMapsAvailableCoordNotations ), - ) - ); - $params['format']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['format']->setMessage( 'maps-geocode-par-format' ); - - $params['directional'] = new Parameter( - 'directional', - Parameter::TYPE_BOOLEAN, - $egMapsCoordinateDirectional - ); - $params['directional']->setMessage( 'maps-geocode-par-directional' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location', 'geoservice', 'mappingservice' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - if ( MapsGeocoders::canGeocode() ) { - $geovalues = MapsGeocoders::attemptToGeocodeToString( - $parameters['location'], - $parameters['geoservice'], - $parameters['mappingservice'], - $parameters['allowcoordinates'], - $parameters['format'], - $parameters['directional'] - ); - - $output = $geovalues ? $geovalues : ''; - } - else { - $output = htmlspecialchars( wfMsg( 'maps-geocoder-not-available' ) ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-geocode-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserhooks/Maps_Geodistance.php b/documentacion/extensions/Maps/includes/parserhooks/Maps_Geodistance.php deleted file mode 100644 index e1f0986..0000000 --- a/documentacion/extensions/Maps/includes/parserhooks/Maps_Geodistance.php +++ /dev/null @@ -1,170 +0,0 @@ - - */ -class MapsGeodistance extends ParserHook { - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 0.7 - * - * @return string - */ - protected function getName() { - return 'geodistance'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 0.7 - * - * @return array - */ - protected function getParameterInfo( $type ) { - global $egMapsDistanceUnit, $egMapsDistanceDecimals, $egMapsAvailableGeoServices, $egMapsDefaultGeoService; - - $params = array(); - - $params['location1'] = new Parameter( - 'location1', - Parameter::TYPE_STRING, - null, - array( 'from' ), - array( - new CriterionIsLocation(), - ) - ); - $params['location1']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location1']->setMessage( 'maps-geodistance-par-location1' ); - - $params['location2'] = new Parameter( - 'location2', - Parameter::TYPE_STRING, - null, - array( 'to' ), - array( - new CriterionIsLocation(), - ) - ); - $params['location2']->addDependencies( 'mappingservice', 'geoservice' ); - $params['location2']->setMessage( 'maps-geodistance-par-location2' ); - - $params['unit'] = new Parameter( - 'unit', - Parameter::TYPE_STRING, - $egMapsDistanceUnit, - array(), - array( - new CriterionInArray( MapsDistanceParser::getUnits() ), - ) - ); - $params['unit']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['unit']->setMessage( 'maps-geodistance-par-unit' ); - - $params['decimals'] = new Parameter( - 'decimals', - Parameter::TYPE_INTEGER, - $egMapsDistanceDecimals - ); - $params['decimals']->setMessage( 'maps-geodistance-par-decimals' ); - - $params['mappingservice'] = new Parameter( - 'mappingservice', - Parameter::TYPE_STRING, - '', // TODO - array(), - array( - new CriterionInArray( MapsMappingServices::getAllServiceValues() ), - ) - ); - $params['mappingservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['mappingservice']->setMessage( 'maps-geodistance-par-mappingservice' ); - - $params['geoservice'] = new Parameter( - 'geoservice', - Parameter::TYPE_STRING, - $egMapsDefaultGeoService, - array( 'service' ), - array( - new CriterionInArray( $egMapsAvailableGeoServices ), - ) - ); - $params['geoservice']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['geoservice']->setMessage( 'maps-geodistance-par-geoservice' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 0.7 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'location1', 'location2', 'unit', 'decimals' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 0.7 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - if ( MapsGeocoders::canGeocode() ) { - $start = MapsGeocoders::attemptToGeocode( $parameters['location1'], $parameters['geoservice'], $parameters['mappingservice'] ); - $end = MapsGeocoders::attemptToGeocode( $parameters['location2'], $parameters['geoservice'], $parameters['mappingservice'] ); - } else { - $start = MapsCoordinateParser::parseCoordinates( $parameters['location1'] ); - $end = MapsCoordinateParser::parseCoordinates( $parameters['location2'] ); - } - - if ( $start && $end ) { - $output = MapsDistanceParser::formatDistance( MapsGeoFunctions::calculateDistance( $start, $end ), $parameters['unit'], $parameters['decimals'] ); - } else { - // The locations should be valid when this method gets called. - throw new MWException( 'Attempt to find the distance between locations of at least one is invalid' ); - } - - return $output; - } - - /** - * @see ParserHook::getMessage() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-geodistance-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/parserhooks/Maps_MapsDoc.php b/documentacion/extensions/Maps/includes/parserhooks/Maps_MapsDoc.php deleted file mode 100644 index 105f82b..0000000 --- a/documentacion/extensions/Maps/includes/parserhooks/Maps_MapsDoc.php +++ /dev/null @@ -1,214 +0,0 @@ - - */ -class MapsMapsDoc extends ParserHook { - - /** - * Field to store the value of the language parameter. - * - * @since 1.0.1 - * - * @var string - */ - protected $language; - - /** - * No LSB in pre-5.3 PHP *sigh*. - * This is to be refactored as soon as php >=5.3 becomes acceptable. - */ - public static function staticInit( Parser &$parser ) { - $instance = new self; - return $instance->init( $parser ); - } - - /** - * Gets the name of the parser hook. - * @see ParserHook::getName - * - * @since 1.0 - * - * @return string - */ - protected function getName() { - return 'mapsdoc'; - } - - /** - * Returns an array containing the parameter info. - * @see ParserHook::getParameterInfo - * - * @since 1.0 - * - * @return array - */ - protected function getParameterInfo( $type ) { - $params = array(); - - $params['service'] = new Parameter( 'service' ); - $params['service']->addCriteria( new CriterionInArray( $GLOBALS['egMapsAvailableServices'] ) ); - $params['service']->setMessage( 'maps-mapsdoc-par-service' ); - - $params['language'] = new Parameter( 'language' ); - $params['language']->setDefault( $GLOBALS['wgLanguageCode'] ); - $params['language']->setMessage( 'maps-mapsdoc-par-language' ); - - return $params; - } - - /** - * Returns the list of default parameters. - * @see ParserHook::getDefaultParameters - * - * @since 1.0 - * - * @return array - */ - protected function getDefaultParameters( $type ) { - return array( 'service', 'language' ); - } - - /** - * Renders and returns the output. - * @see ParserHook::render - * - * @since 1.0 - * - * @param array $parameters - * - * @return string - */ - public function render( array $parameters ) { - $this->language = $parameters['language']; - - $params = $this->getServiceParameters( $parameters['service'] ); - - return $this->getParameterTable( $params ); - } - - /** - * Message function that takes into account the language parameter. - * - * @since 1.0.1 - * - * @param string $key - * @param ... $args - * - * @return string - */ - protected function msg() { - $args = func_get_args(); - $key = array_shift( $args ); - return wfMsgReal( $key, $args, true, $this->language ); - } - - /** - * Returns the wikitext for a table listing the provided parameters. - * - * @since 1.0 - * - * @param array $parameters - * - * @return string - */ - protected function getParameterTable( array $parameters ) { - $tableRows = array(); - - foreach ( $parameters as $parameter ) { - $tableRows[] = $this->getDescriptionRow( $parameter ); - } - - $table = ''; - - if ( count( $tableRows ) > 0 ) { - $tableRows = array_merge( array( - '!' . $this->msg( 'validator-describe-header-parameter' ) ."\n" . - //'!' . $this->msg( 'validator-describe-header-aliases' ) ."\n" . - '!' . $this->msg( 'validator-describe-header-type' ) ."\n" . - '!' . $this->msg( 'validator-describe-header-default' ) ."\n" . - '!' . $this->msg( 'validator-describe-header-description' ) - ), $tableRows ); - - $table = implode( "\n|-\n", $tableRows ); - - $table = - '{| class="wikitable sortable"' . "\n" . - $table . - "\n|}"; - } - - return $table; - } - - /** - * Returns the wikitext for a table row describing a single parameter. - * - * @since 1.0 - * - * @param Parameter $parameter - * - * @return string - */ - protected function getDescriptionRow( Parameter $parameter ) { - $description = $parameter->getMessage(); - if ( $description === false ) { - $description = $parameter->getDescription(); - if ( $description === false ) $description = '-'; - } - else { - $description = $this->msg( $description ); - } - - $type = $parameter->getTypeMessage(); - - $default = $parameter->isRequired() ? "''" . $this->msg( 'validator-describe-required' ) . "''" : $parameter->getDefault(); - if ( is_array( $default ) ) { - $default = implode( ', ', $default ); - } - elseif ( is_bool( $default ) ) { - $default = $default ? 'yes' : 'no'; - } - - if ( $default === '' ) $default = "''" . $this->msg( 'validator-describe-empty' ) . "''"; - - return <<getName()} -| {$type} -| {$default} -| {$description} -EOT; - } - - protected function getServiceParameters( $service ) { - $service = MapsMappingServices::getServiceInstance( $service ); - - $params = array(); - - $params['zoom'] = new Parameter( 'zoom', Parameter::TYPE_INTEGER ); - $params['zoom']->setMessage( 'maps-par-zoom' ); - - $service->addParameterInfo( $params ); - - return $params; - } - - /** - * @see ParserHook::getDescription() - * - * @since 1.0 - */ - public function getMessage() { - return 'maps-mapsdoc-description'; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/properties/iBubbleMapElement.php b/documentacion/extensions/Maps/includes/properties/iBubbleMapElement.php deleted file mode 100644 index d786069..0000000 --- a/documentacion/extensions/Maps/includes/properties/iBubbleMapElement.php +++ /dev/null @@ -1,24 +0,0 @@ -overlayData = $overlayData; - } - - /** - * @see ItemParameterCriterion::validate - */ - protected function doValidation( $value, Parameter $parameter, array $parameters ) { - $value = explode( '-', $value ); - - return - in_array( $value[0], array_keys( $this->overlayData ) ) - || count( $value ) == 2 && in_array( $value[1], array( '0', '1' ) ) - ; - } - - /** - * @see ItemParameterCriterion::getItemErrorMessage - */ - protected function getItemErrorMessage( Parameter $parameter ) { - return wfMsgExt( 'validation-error-invalid-goverlay', 'parsemag', $parameter->getOriginalName() ); - } - - /** - * @see ItemParameterCriterion::getFullListErrorMessage - */ - protected function getFullListErrorMessage( Parameter $parameter ) { - return wfMsgExt( 'validation-error-invalid-goverlays', 'parsemag', $parameter->getOriginalName() ); - } - -} diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps/GoogleMaps.php b/documentacion/extensions/Maps/includes/services/GoogleMaps/GoogleMaps.php deleted file mode 100644 index af92757..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps/GoogleMaps.php +++ /dev/null @@ -1,69 +0,0 @@ - array( 'ext.maps.common' ), - 'localBasePath' => dirname( __FILE__ ), - 'remoteBasePath' => $egMapsScriptPath . '/includes/services/GoogleMaps', - 'group' => 'ext.maps', - 'scripts' => array( - 'jquery.googlemap2.js', - 'ext.maps.googlemaps2.js', - ), - 'styles' => array( - //'ext.maps.googlemaps2.css', - ), - 'messages' => array( - 'maps-markers', - 'maps_overlays', - 'maps_photos', - 'maps_videos', - 'maps_wikipedia', - 'maps_webcams', - 'maps-googlemaps2-incompatbrowser' - ) -); - -$wgHooks['MappingServiceLoad'][] = 'efMapsInitGoogleMaps'; - -/** - * Initialization function for the Google Maps v2 service. - * - * @since 0.6.3 - * @ingroup MapsGoogleMaps - * - * @return true - */ -function efMapsInitGoogleMaps() { - global $wgAutoloadClasses; - - $wgAutoloadClasses['MapsGoogleMaps'] = dirname( __FILE__ ) . '/Maps_GoogleMaps.php'; - $wgAutoloadClasses['CriterionGoogleOverlay'] = dirname( __FILE__ ) . '/CriterionGoogleOverlay.php'; - $wgAutoloadClasses['MapsParamGMapType'] = dirname( __FILE__ ) . '/Maps_ParamGMapType.php'; - - MapsMappingServices::registerService( 'googlemaps2', 'MapsGoogleMaps' ); - $googleMaps = MapsMappingServices::getServiceInstance( 'googlemaps2' ); - $googleMaps->addFeature( 'display_point', 'MapsBasePointMap' ); - $googleMaps->addFeature( 'display_map', 'MapsBaseMap' ); - - return true; -} diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMaps.php b/documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMaps.php deleted file mode 100644 index 1d5322e..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMaps.php +++ /dev/null @@ -1,273 +0,0 @@ - '0', - 'videos' => '1', - 'wikipedia' => '2', - 'webcams' => '3' - ); - - /** - * Constructor. - * - * @since 0.6.6 - */ - function __construct( $serviceName ) { - parent::__construct( - $serviceName, - array( 'google2', 'gmap', 'gmaps' ) - ); - } - - /** - * @see MapsMappingService::addParameterInfo - * - * @since 0.7 - */ - public function addParameterInfo( array &$params ) { - global $egMapsGoogleMapsType, $egMapsGoogleMapsTypes, $egMapsGoogleAutozoom; - global $egMapsGMapControls, $egMapsGMapOverlays, $egMapsResizableByDefault; - - $params['zoom']->addCriteria( new CriterionInRange( 0, 20 ) ); - $params['zoom']->setDefault( self::getDefaultZoom() ); - - $params['controls'] = new ListParameter( 'controls' ); - $params['controls']->setDefault( $egMapsGMapControls ); - $params['controls']->addCriteria( new CriterionInArray( self::getControlNames() ) ); - $params['controls']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['controls']->setMessage( 'maps-googlemaps2-par-controls' ); - - $params['type'] = new Parameter( - 'type', - Parameter::TYPE_STRING, - $egMapsGoogleMapsType, // FIXME: default value should not be used when not present in types parameter. - array(), - array( - new CriterionInArray( array_keys( self::$mapTypes ) ), - ), - array( 'types' ) - ); - $params['type']->addManipulations( new MapsParamGMapType() ); - $params['type']->setMessage( 'maps-googlemaps2-par-type' ); - - $params['types'] = new ListParameter( - 'types', - ListParameter::DEFAULT_DELIMITER, - Parameter::TYPE_STRING, - $egMapsGoogleMapsTypes, - array(), - array( - new CriterionInArray( array_keys( self::$mapTypes ) ), - ) - ); - $params['types']->addManipulations( new MapsParamGMapType() ); - $params['types']->setMessage( 'maps-googlemaps2-par-types' ); - - $params['autozoom'] = new Parameter( - 'autozoom', - Parameter::TYPE_BOOLEAN, - $egMapsGoogleAutozoom - ); - $params['autozoom']->setMessage( 'maps-googlemaps2-par-autozoom' ); - - $params['kml'] = new ListParameter( 'kml' ); - $params['kml']->setDefault( array() ); - //$params['kml']->addManipulations( new MapsParamFile() ); - $params['kml']->setMessage( 'maps-googlemaps2-par-kml' ); - - $params['overlays'] = new ListParameter( 'overlays' ); - $params['overlays']->setDefault( $egMapsGMapOverlays ); - $params['overlays']->addCriteria( new CriterionGoogleOverlay( self::$overlayData ) ); - $params['overlays']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); // TODO - $params['overlays']->setMessage( 'maps-googlemaps2-par-overlays' ); - - $params['resizable'] = new Parameter( 'resizable', Parameter::TYPE_BOOLEAN ); - $params['resizable']->setDefault( $egMapsResizableByDefault, false ); - $params['resizable']->setMessage( 'maps-par-resizable' ); - } - - /** - * @see iMappingService::getDefaultZoom - * - * @since 0.6.5 - */ - public function getDefaultZoom() { - global $egMapsGoogleMapsZoom; - return $egMapsGoogleMapsZoom; - } - - /** - * Returns all possible values for the overlays parameter. - * - * @since 0.7.1 - * - * @return array - */ - public function getOverlayNames() { - return array_keys( self::$overlayData ); - } - - /** - * @see MapsMappingService::getMapId - * - * @since 0.6.5 - */ - public function getMapId( $increment = true ) { - static $mapsOnThisPage = 0; - - if ( $increment ) { - $mapsOnThisPage++; - } - - return 'map_google_' . $mapsOnThisPage; - } - - /** - * @see MapsMappingService::getMapObject - * - * @since 1.0 - */ - public function getMapObject() { - - } - - /** - * A list of mappings between supported map type values and their corresponding JS variable. - * - * http://code.google.com/apis/maps/documentation/reference.html#GMapType.G_NORMAL_MAP - * - * @var array - */ - public static $mapTypes = array( - 'normal' => 'G_NORMAL_MAP', - 'satellite' => 'G_SATELLITE_MAP', - 'hybrid' => 'G_HYBRID_MAP', - 'terrain' => 'G_PHYSICAL_MAP', - 'physical' => 'G_PHYSICAL_MAP', - 'earth' => 'G_SATELLITE_3D_MAP', - 'sky' => 'G_SKY_VISIBLE_MAP', - 'moon' => 'G_MOON_VISIBLE_MAP', - 'moon-elevation' => 'G_MOON_ELEVATION_MAP', - 'mars' => 'G_MARS_VISIBLE_MAP', - 'mars-elevation' => 'G_MARS_ELEVATION_MAP', - 'mars-infrared' => 'G_MARS_INFRARED_MAP' - ); - - /** - * Returns the names of all supported controls. - * This data is a copy of the one used to actually translate the names - * into the controls, since this resides client side, in GoogleMapFunctions.js. - * - * @return array - */ - public static function getControlNames() { - return array( - 'auto', - 'large', - 'small', - 'large-original', - 'small-original', - 'zoom', - 'type', - 'type-menu', - 'overlays', - 'overview', - 'overview-map', - 'scale', - 'nav-label', - 'nav', - 'searchbar' - ); - } - - /** - * @see MapsMappingService::getDependencies - * - * @return array - */ - protected function getDependencies() { - global $wgLang; - global $egGoogleMapsKeys, $egGoogleMapsKey; - - $langCode = self::getMappedLanguageCode( $wgLang->getCode() ); - - $dependencies = array(); - - $dependencies[] = Html::linkedScript( "http://maps.google.com/maps?file=api&v=2&key=$egGoogleMapsKey&hl=$langCode" ); - - $dependencies[] = Html::inlineScript( - 'var googleMapsKey = '. FormatJson::encode( $egGoogleMapsKey ) . ';' . - 'var googleMapsKeys = '. FormatJson::encode( $egGoogleMapsKeys ) . ';' . - 'var googleLangCode = '. FormatJson::encode( $langCode ) . ';' - ); - - return $dependencies; - } - - /** - * Maps language codes to Google Maps API v2 compatible values. - * - * @param string $code - * - * @return string The mapped code - */ - protected static function getMappedLanguageCode( $code ) { - $mappings = array( - 'en_gb' => 'en',// v2 does not support en_gb - use english :( - 'he' => 'iw', // iw is googlish for hebrew - 'fj' => 'fil', // google does not support Fijian - use Filipino as close(?) supported relative - 'or' => 'en' // v2 does not support Oriya. - ); - - if ( array_key_exists( $code, $mappings ) ) { - $code = $mappings[$code]; - } - - return $code; - } - - /** - * This function ensures backward compatibility with Semantic Google Maps and other extensions - * using $wgGoogleMapsKey instead of $egGoogleMapsKey. - */ - public static function validateGoogleMapsKey() { - global $egGoogleMapsKey, $wgGoogleMapsKey; - - if ( isset( $wgGoogleMapsKey ) && $egGoogleMapsKey !== '' ) { - $egGoogleMapsKey = $wgGoogleMapsKey; - } - } - - /** - * @see MapsMappingService::getResourceModules - * - * @since 1.0 - * - * @return array of string - */ - public function getResourceModules() { - return array_merge( - parent::getResourceModules(), - array( 'ext.maps.googlemaps2' ) - ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_ParamGMapType.php b/documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_ParamGMapType.php deleted file mode 100644 index 0100cbb..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps/Maps_ParamGMapType.php +++ /dev/null @@ -1,35 +0,0 @@ - - */ - -jQuery(document).ready(function() { - if ( GBrowserIsCompatible() ) { - window.unload = GUnload; - - window.GOverlays = [ - new GLayer("com.panoramio.all"), - new GLayer("com.youtube.all"), - new GLayer("org.wikipedia.en"), - new GLayer("com.google.webcams") - ]; - - for ( i in window.mwmaps.googlemaps2 ) { - jQuery( '#' + i ).googlemaps2( window.mwmaps.googlemaps2[i] ); - } - } - else { - alert( mediaWiki.msg( 'maps-googlemaps2-incompatbrowser' ) ); - - for ( i in window.mwmaps.googlemaps2 ) { - jQuery( '#' + i ).text( mediaWiki.msg( 'maps-load-failed' ) ); - } - } -}); - \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps/jquery.googlemap2.js b/documentacion/extensions/Maps/includes/services/GoogleMaps/jquery.googlemap2.js deleted file mode 100644 index 272b287..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps/jquery.googlemap2.js +++ /dev/null @@ -1,195 +0,0 @@ -/** - * JavasSript for Google Maps v2 maps in the Maps extension. - * @see http://www.mediawiki.org/wiki/Extension:Maps - * - * @author Jeroen De Dauw - */ - -(function( $ ){ $.fn.googlemaps2 = function( options ) { - - options.types = ensureTypeIsSelectable( options.type, options.types ); - - var types = []; - - for ( i in options.types ) { - types.push( eval( options.types[i] ) ); - } - - var mapOptions = { - mapTypes: types - }; - - var map = new GMap2( this.get( 0 ), mapOptions ); - - map.setMapType( eval( options.type ) ); - - var hasSearchBar = false; - - for ( var i = options.controls.length - 1; i >= 0; i-- ) { - if ( options.controls[i] == 'searchbar' ) { - hasSearchBar = true; - break; - } - } - - // List of GControls: http://code.google.com/apis/maps/documentation/reference.html#GControl - for ( var i = 0, n = options.controls.length; i < n; i++ ) { - if ( options.controls[i] == 'auto' ) { - if ( this.get( 0 ).offsetHeight > 75 ) options.controls[i] = this.get( 0 ).offsetHeight > 320 ? 'large' : 'small'; - } - - switch ( options.controls[i] ) { - case 'large' : - map.addControl( new GLargeMapControl3D() ); - break; - case 'small' : - map.addControl( new GSmallZoomControl3D() ); - break; - case 'large-original' : - map.addControl( new GLargeMapControl() ); - break; - case 'small-original' : - map.addControl( new GSmallMapControl() ); - break; - case 'zoom' : - map.addControl( new GSmallZoomControl() ); - break; - case 'type' : - map.addControl( new GMapTypeControl() ); - break; - case 'type-menu' : - map.addControl( new GMenuMapTypeControl() ); - break; - //case 'overlays' : - // map.addControl( new MoreControl() ); - // break; - case 'overview' : case 'overview-map' : - map.addControl( new GOverviewMapControl() ); - break; - case 'scale' : - if ( hasSearchBar ) { - map.addControl( new GScaleControl(), new GControlPosition( G_ANCHOR_BOTTOM_LEFT, new GSize( 5,37 ) ) ); - } - else { - map.addControl( new GScaleControl() ); - } - break; - case 'nav-label' : case 'nav' : - map.addControl( new GNavLabelControl() ); - break; - case 'searchbar' : - map.enableGoogleBar(); - break; - } - } - - if ( !options.locations ) { - options.locations = []; - } - - var bounds = ( ( options.zoom === false || options.centre === false ) && options.locations.length > 1 ) ? new GLatLngBounds() : null; - - for ( i = options.locations.length - 1; i >= 0; i-- ) { - var location = options.locations[i]; - location.point = new GLatLng( location.lat, location.lon ); - map.addOverlay( createGMarker( location ) ); - if ( bounds != null ) bounds.extend( location.point ); - } - - if ( bounds != null ) { - map.setCenter( bounds.getCenter(), map.getBoundsZoomLevel( bounds ) ); - } - - if ( options.centre !== false ) { - map.setCenter( new GLatLng( options.centre.lat, options.centre.lon ) ); - } - - if ( options.zoom !== false ) { - map.setZoom( options.zoom ); - } - - if ( options.autozoom ) { - map.enableScrollWheelZoom(); - } - - map.enableContinuousZoom(); - - // Code to add KML files. - for ( i = options.kml.length - 1; i >= 0; i-- ) { - map.addOverlay( new GGeoXml( options.kml[i] ) ); - } - - if ( options.resizable ) { - mw.loader.using( 'ext.maps.resizable', function() { - _this.resizable(); - } ); - } - - function ensureTypeIsSelectable( type, types ) { - var typesContainType = false; - - for ( var i = 0, n = types.length; i < n; i++ ) { - if ( types[i] == type ) { - typesContainType = true; - break; - } - } - - if ( !typesContainType ) { - types.push( type ); - } - - return types; - } - - /** - * Returns GMarker object on the provided location. It will show a popup baloon - * with title and label when clicked, if either of these is set. - */ - function createGMarker( markerData ) { - var marker; - - if ( markerData.icon !== '' ) { - var iconObj = new GIcon( G_DEFAULT_ICON ); - iconObj.image = markerData.icon; - - var newimg = new Image(); - newimg.src = markerData.icon; - - // Only do these things when there is an actual width, which there won,t the first time the image is loaded. - // FIXME: this means the image won't have it's correct size when it differs from the default on first load! - if ( newimg.width > 0 ) { - /* Determine size of icon and pass it in */ - iconObj.iconSize.width = newimg.width; - iconObj.iconSize.height = newimg.height; - iconObj.shadow = null; - - /* Anchor the icon on bottom middle */ - var anchor = new GPoint(); - anchor.x = Math.floor( newimg.width / 2 ); - anchor.y = newimg.height; - iconObj.iconAnchor = anchor; - } - - marker = new GMarker( markerData.point, { icon: iconObj } ); - } else { - marker = new GMarker( markerData.point ); - } - - if ( markerData.text !== '' ) { - GEvent.addListener(marker, 'click', - function() { - marker.openInfoWindowHtml( - '
    ' + markerData.text + '
    ', - { maxWidth:350 } - ); - } - ); - } - - return marker; - } - - return this; - -}; })( jQuery ); \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/GoogleMaps3.php b/documentacion/extensions/Maps/includes/services/GoogleMaps3/GoogleMaps3.php deleted file mode 100644 index b9f589a..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/GoogleMaps3.php +++ /dev/null @@ -1,81 +0,0 @@ - - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - die( 'Not an entry point.' ); -} - -$wgResourceModules['ext.maps.googlemaps3'] = array( - 'dependencies' => array( 'ext.maps.common' ), - 'localBasePath' => dirname( __FILE__ ), - 'remoteBasePath' => $egMapsScriptPath . '/includes/services/GoogleMaps3', - 'group' => 'ext.maps', - 'scripts' => array( - 'jquery.googlemap.js', - 'ext.maps.googlemaps3.js', - ), - 'messages' => array( - 'maps-googlemaps3-incompatbrowser' - ) -); - -$wgResourceModules['ext.maps.gm3.geoxml'] = array( - 'localBasePath' => dirname( __FILE__ ) . '/geoxml3', - 'remoteBasePath' => $egMapsScriptPath . '/includes/services/GoogleMaps3/geoxml3', - 'group' => 'ext.maps', - 'scripts' => array( - 'geoxml3.js', - ), -); - -$wgResourceModules['ext.maps.gm3.earth'] = array( - 'localBasePath' => dirname( __FILE__ ) . '/earth', - 'remoteBasePath' => $egMapsScriptPath . '/includes/services/GoogleMaps3/earth', - 'group' => 'ext.maps', - 'scripts' => array( - 'googleearth.js', - ), -); - -$wgHooks['MappingServiceLoad'][] = 'efMapsInitGoogleMaps3'; - -/** - * Initialization function for the Google Maps v3 service. - * - * @since 0.6.3 - * @ingroup MapsGoogleMaps3 - * - * @return true - */ -function efMapsInitGoogleMaps3() { - global $wgAutoloadClasses; - - $wgAutoloadClasses['MapsGoogleMaps3'] = dirname( __FILE__ ) . '/Maps_GoogleMaps3.php'; - $wgAutoloadClasses['MapsParamGMap3Type'] = dirname( __FILE__ ) . '/Maps_ParamGMap3Type.php'; - $wgAutoloadClasses['MapsParamGMap3Types'] = dirname( __FILE__ ) . '/Maps_ParamGMap3Types.php'; - $wgAutoloadClasses['MapsParamGMap3Typestyle'] = dirname( __FILE__ ) . '/Maps_ParamGMap3Typestyle.php'; - $wgAutoloadClasses['MapsParamGMap3Zoomstyle'] = dirname( __FILE__ ) . '/Maps_ParamGMap3Zoomstyle.php'; - - MapsMappingServices::registerService( 'googlemaps3', 'MapsGoogleMaps3' ); - $googleMaps = MapsMappingServices::getServiceInstance( 'googlemaps3' ); - $googleMaps->addFeature( 'display_map', 'MapsBaseMap' ); - $googleMaps->addFeature( 'display_point', 'MapsBasePointMap' ); - - return true; -} diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3.php b/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3.php deleted file mode 100644 index 496e7ed..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3.php +++ /dev/null @@ -1,267 +0,0 @@ - - */ -class MapsGoogleMaps3 extends MapsMappingService { - - /** - * List of map types (keys) and their internal values (values). - * - * @since 0.7 - * - * @var array - */ - public static $mapTypes = array( - 'normal' => 'ROADMAP', - 'roadmap' => 'ROADMAP', - 'satellite' => 'SATELLITE', - 'hybrid' => 'HYBRID', - 'terrain' => 'TERRAIN', - 'physical' => 'TERRAIN', - 'earth' => 'earth' - ); - - /** - * List of supported map layers. - * - * @since 1.0 - * - * @var array - */ - protected static $mapLayers = array( - 'traffic', - 'bicycling' - ); - - public static $tyepControlStyles = array( - 'default' => 'DEFAULT', - 'horizontal' => 'HORIZONTAL_BAR', - 'dropdown' => 'DROPDOWN_MENU' - ); - - /** - * List of supported control names. - * - * @since 1.0 - * - * @var array - */ - protected static $controlNames = array( - 'pan', - 'zoom', - 'type', - 'scale', - 'streetview' - ); - - /** - * Constructor. - * - * @since 0.6.6 - */ - function __construct( $serviceName ) { - parent::__construct( - $serviceName, - array( 'googlemaps', 'google' ) - ); - } - - /** - * @see MapsMappingService::addParameterInfo - * - * @since 0.7 - */ - public function addParameterInfo( array &$params ) { - global $egMapsGMaps3Type, $egMapsGMaps3Types, $egMapsGMaps3Controls, $egMapsGMaps3Layers; - global $egMapsGMaps3DefTypeStyle, $egMapsGMaps3DefZoomStyle, $egMapsGMaps3AutoInfoWindows; - global $egMapsResizableByDefault, $egMapsGMaps3DefaultTilt; - - $params['zoom']->addCriteria( new CriterionInRange( 0, 20 ) ); - $params['zoom']->setDefault( self::getDefaultZoom() ); - - $params['type'] = new Parameter( 'type' ); - $params['type']->setDefault( $egMapsGMaps3Type ); - $params['type']->addCriteria( new CriterionInArray( self::getTypeNames() ) ); - $params['type']->addManipulations( new MapsParamGMap3Type() ); - $params['type']->setMessage( 'maps-googlemaps3-par-type' ); - - $params['types'] = new ListParameter( 'types' ); - $params['types']->addDependencies( 'type' ); - $params['types']->setDefault( $egMapsGMaps3Types ); - $params['types']->addCriteria( new CriterionInArray( self::getTypeNames() ) ); - $params['types']->addManipulations( new MapsParamGMap3Type(), new MapsParamGMap3Types() ); - $params['types']->setMessage( 'maps-googlemaps3-par-types' ); - - $params['layers'] = new ListParameter( 'layers' ); - $params['layers']->setDefault( $egMapsGMaps3Layers ); - $params['layers']->addCriteria( new CriterionInArray( self::getLayerNames() ) ); - $params['layers']->setMessage( 'maps-googlemaps3-par-layers' ); - - $params['controls'] = new ListParameter( 'controls' ); - $params['controls']->setDefault( $egMapsGMaps3Controls ); - $params['controls']->addCriteria( new CriterionInArray( self::$controlNames ) ); - $params['controls']->addManipulations( new ParamManipulationFunctions( 'strtolower' ) ); - $params['controls']->setMessage( 'maps-googlemaps3-par-controls' ); - - $params['zoomstyle'] = new Parameter( 'zoomstyle' ); - $params['zoomstyle']->setDefault( $egMapsGMaps3DefZoomStyle ); - $params['zoomstyle']->addCriteria( new CriterionInArray( 'default', 'small', 'large' ) ); - $params['zoomstyle']->addManipulations( new MapsParamGMap3Zoomstyle() ); - $params['zoomstyle']->setMessage( 'maps-googlemaps3-par-zoomstyle' ); - - $params['typestyle'] = new Parameter( 'typestyle' ); - $params['typestyle']->setDefault( $egMapsGMaps3DefTypeStyle ); - $params['typestyle']->addCriteria( new CriterionInArray( array_keys( self::$tyepControlStyles ) ) ); - $params['typestyle']->addManipulations( new MapsParamGMap3Typestyle() ); - $params['typestyle']->setMessage( 'maps-googlemaps3-par-typestyle' ); - - $params['autoinfowindows'] = new Parameter( 'autoinfowindows', Parameter::TYPE_BOOLEAN ); - $params['autoinfowindows']->setDefault( $egMapsGMaps3AutoInfoWindows ); - $params['autoinfowindows']->setMessage( 'maps-googlemaps3-par-autoinfowindows' ); - - $params['kml'] = new ListParameter( 'kml' ); - $params['kml']->setDefault( array() ); - $params['kml']->setMessage( 'maps-googlemaps3-par-kml' ); - - $params['gkml'] = new ListParameter( 'gkml' ); - $params['gkml']->setDefault( array() ); - $params['gkml']->setMessage( 'maps-googlemaps3-par-gkml' ); - - $params['fusiontables'] = new ListParameter( 'fusiontables' ); - $params['fusiontables']->setDefault( array() ); - $params['fusiontables']->setMessage( 'maps-googlemaps3-par-fusiontables' ); - - $params['resizable'] = new Parameter( 'resizable', Parameter::TYPE_BOOLEAN ); - $params['resizable']->setDefault( $egMapsResizableByDefault, false ); - $params['resizable']->setMessage( 'maps-par-resizable' ); - - $params['tilt'] = new Parameter( 'tilt', Parameter::TYPE_INTEGER ); - $params['tilt']->setDefault( $egMapsGMaps3DefaultTilt, false ); - $params['tilt']->setMessage( 'maps-googlemaps3-par-tilt' ); - - $params['kmlrezoom'] = new Parameter( 'kmlrezoom', Parameter::TYPE_BOOLEAN ); - $params['kmlrezoom']->setDefault( $GLOBALS['egMapsRezoomForKML'], false ); - $params['kmlrezoom']->setMessage( 'maps-googlemaps3-par-kmlrezoom' ); - } - - /** - * @see iMappingService::getDefaultZoom - * - * @since 0.6.5 - */ - public function getDefaultZoom() { - global $egMapsGMaps3Zoom; - return $egMapsGMaps3Zoom; - } - - /** - * @see MapsMappingService::getMapId - * - * @since 0.6.5 - */ - public function getMapId( $increment = true ) { - static $mapsOnThisPage = 0; - - if ( $increment ) { - $mapsOnThisPage++; - } - - return 'map_google3_' . $mapsOnThisPage; - } - - /** - * Returns the names of all supported map types. - * - * @return array - */ - public static function getTypeNames() { - return array_keys( self::$mapTypes ); - } - - /** - * Returns the names of all supported map layers. - * - * @since 1.0 - * - * @return array - */ - public static function getLayerNames() { - return self::$mapLayers; - } - - /** - * @see MapsMappingService::getDependencies - * - * @return array - */ - protected function getDependencies() { - global $wgLang; - global $egMapsStyleVersion, $egMapsScriptPath; - - $languageCode = self::getMappedLanguageCode( $wgLang->getCode() ); - - return array( - Html::linkedScript( "https://maps.google.com/maps/api/js?sensor=false&language=$languageCode" ) - ); - } - - /** - * Maps language codes to Google Maps API v3 compatible values. - * - * @param string $code - * - * @return string The mapped code - */ - protected static function getMappedLanguageCode( $code ) { - $mappings = array( - 'en_gb' => 'en-gb',// v3 supports en_gb - but wants us to call it en-gb - 'he' => 'iw', // iw is googlish for hebrew - 'fj' => 'fil', // google does not support Fijian - use Filipino as close(?) supported relative - ); - - if ( array_key_exists( $code, $mappings ) ) { - $code = $mappings[$code]; - } - - return $code; - } - - /** - * @see MapsMappingService::getResourceModules - * - * @since 1.0 - * - * @return array of string - */ - public function getResourceModules() { - return array_merge( - parent::getResourceModules(), - array( 'ext.maps.googlemaps3' ) - ); - } - - /** - * Returns a list of all config variables that should be passed to the JS. - * - * @since 1.0.1 - * - * @return array - */ - public final function getConfigVariables() { - return parent::getConfigVariables() - + array( - 'egGoogleJsApiKey' => $GLOBALS['egGoogleJsApiKey'] - ); - } - -} diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Type.php b/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Type.php deleted file mode 100644 index 4c7326b..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Type.php +++ /dev/null @@ -1,26 +0,0 @@ - - */ -class MapsParamGMap3Types extends ListParameterManipulation { - - /** - * @see ParameterManipulation::manipulate - * - * @since 1.0.1 - */ - public function manipulate( Parameter &$parameter, array &$parameters ) { - if ( !in_array( $parameters['type']->getValue(), $parameter->getValue() ) ) { - if ( $parameters['type']->wasSetToDefault() ) { - if ( count( $parameter->getValue() ) > 0 ) { - $types = $parameter->getValue(); - $parameters['type']->setValue( $types[0] ); - } - } - else { - array_unshift( $parameter->getValue(), $parameters['type']->getValue() ); - } - } - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Typestyle.php b/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Typestyle.php deleted file mode 100644 index fd57a9c..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/Maps_ParamGMap3Typestyle.php +++ /dev/null @@ -1,26 +0,0 @@ -} list of overlays of given type currently on map. - * @private - */ -GoogleEarth.prototype.getOverlaysForType_ = function(type) { - var tmp = []; - var overlays = GoogleEarth.overlays_[type]; - for (var i in overlays) { - if (overlays.hasOwnProperty(i)) { - var overlay = overlays[i]; - if (overlay.get('map') == this.map_) { - tmp.push(overlay); - } - } - } - return tmp; -}; - -/** - * @return {Object} dictionary of lists for all map overlays. - * @private - */ -GoogleEarth.prototype.getOverlays_ = function() { - var overlays = {}; - var overlayClasses = GoogleEarth.OVERLAY_CLASSES; - - for (var i = 0, overlayClass; overlayClass = overlayClasses[i]; i++) { - overlays[overlayClass] = this.getOverlaysForType_(overlayClass); - } - return overlays; -}; - -/** - * @private - */ -GoogleEarth.overlays_ = {}; - -/** - * override the open property for infowindow - * @private - */ -GoogleEarth.modifyOpen_ = function() { - google.maps.InfoWindow.prototype.openOriginal_ = - google.maps.InfoWindow.prototype['open']; - - GoogleEarth.overlays_['InfoWindow'] = {}; - google.maps.InfoWindow.prototype['open'] = function(map, anchor) { - if (map) { - if (!this['__gme_id']) { - this['__gme_id'] = GoogleEarth.counter_++; - GoogleEarth.overlays_['InfoWindow'][this['__gme_id']] = this; - } - } else { - delete GoogleEarth.overlays_['InfoWindow'][this['__gme_id']]; - this['__gme_id'] = undefined; - } - google.maps.event.trigger(map, GoogleEarth.INFO_WINDOW_OPENED_EVENT_, this); - this.openOriginal_(map, anchor); - }; -}; - -/** - * @param {string} overlayClass overlay type, such as Marker, Polygon, etc. - * @private - */ -GoogleEarth.modifySetMap_ = function(overlayClass) { - var proto = google.maps[overlayClass].prototype; - proto['__gme_setMapOriginal'] = proto.setMap; - - GoogleEarth.overlays_[overlayClass] = {}; - google.maps[overlayClass].prototype['setMap'] = function(map) { - if (map) { - if (!this['__gme_id']) { - this['__gme_id'] = GoogleEarth.counter_++; - GoogleEarth.overlays_[overlayClass][this['__gme_id']] = this; - } - } else { - delete GoogleEarth.overlays_[overlayClass][this['__gme_id']]; - this['__gme_id'] = undefined; - } - - this['__gme_setMapOriginal'](map); - }; -}; - -/** - * @const - * @type {Array.} - */ -GoogleEarth.OVERLAY_CLASSES = ['Marker', 'Polyline', 'Polygon', 'Rectangle', - 'Circle', 'KmlLayer', 'GroundOverlay', 'InfoWindow']; - -/** - * Keep track of total number of placemarks added. - * @type {number} - * @private - */ -GoogleEarth.counter_ = 0; - -/** - * Wrapper to call appropriate prototype override methods for all overlays - * @private - */ -GoogleEarth.trackOverlays_ = function() { - var overlayClasses = GoogleEarth.OVERLAY_CLASSES; - - for (var i = 0, overlayClass; overlayClass = overlayClasses[i]; i++) { - GoogleEarth.modifySetMap_(overlayClass); - if (overlayClass == 'InfoWindow') { - GoogleEarth.modifyOpen_(); - } - } -}; - -GoogleEarth.trackOverlays_(); diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/ext.maps.googlemaps3.js b/documentacion/extensions/Maps/includes/services/GoogleMaps3/ext.maps.googlemaps3.js deleted file mode 100644 index 9ab44cd..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/ext.maps.googlemaps3.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * JavasSript for Google Maps v3 maps in the Maps extension. - * @see http://www.mediawiki.org/wiki/Extension:Maps - * - * @author Jeroen De Dauw - */ -jQuery(document).ready(function() { - if ( typeof google != 'undefined' ) { - for ( i in window.mwmaps.googlemaps3 ) { - jQuery( '#' + i ).googlemaps( window.mwmaps.googlemaps3[i] ); - } - } - else { - for ( i in window.mwmaps.googlemaps3 ) { - jQuery( '#' + i ).text( mediaWiki.msg( 'maps-load-failed' ) + ' ' + mediaWiki.msg( 'maps-googlemaps3-incompatbrowser' ) ); - } - } -}); diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/ProjectedOverlay.js b/documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/ProjectedOverlay.js deleted file mode 100644 index 95e849d..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/ProjectedOverlay.js +++ /dev/null @@ -1,138 +0,0 @@ -// Create an overlay on the map from a projected image - Maps v3... -// Author. John D. Coryat 05/2009 -// USNaviguide LLC - http://www.usnaviguide.com -// Thanks go to Mile Williams EInsert: http://econym.googlepages.com/einsert.js, Google's GOverlay Example and Bratliff's suggestion... -// Opacity code from TPhoto: http://gmaps.tommangan.us/addtphoto.html -// This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. -// -// Parameters: -// map: This Map -// imageUrl: URL of the image (Mandatory) -// bounds: Bounds object of image destination (Mandatory) -// Options: -// addZoom: Added Zoom factor as a parameter to the imageUrl (include complete parameter, including separater like '?zoom=' -// percentOpacity: Default 50, percent opacity to use when the image is loaded 0-100. -// id: Default imageUrl, ID of the div -// - -function ProjectedOverlay(map, imageUrl, bounds, opts) -{ - google.maps.OverlayView.call(this); - - this.map_ = map; - this.url_ = imageUrl ; - this.bounds_ = bounds ; - this.addZ_ = opts.addZoom || '' ; // Add the zoom to the image as a parameter - this.id_ = opts.id || this.url_ ; // Added to allow for multiple images - this.percentOpacity_ = opts.percentOpacity || 50 ; - - this.setMap(map); -} - -ProjectedOverlay.prototype = new google.maps.OverlayView(); - -ProjectedOverlay.prototype.createElement = function() -{ - var panes = this.getPanes() ; - var div = this.div_ ; - - if (!div) - { - div = this.div_ = document.createElement("div"); - div.style.position = "absolute" ; - div.setAttribute('id',this.id_) ; - this.div_ = div ; - this.lastZoom_ = -1 ; - if( this.percentOpacity_ ) - { - this.setOpacity(this.percentOpacity_) ; - } - panes.overlayLayer.appendChild(div); - } -} - -// Remove the main DIV from the map pane - -ProjectedOverlay.prototype.remove = function() -{ - if (this.div_) - { - this.div_.parentNode.removeChild(this.div_); - this.div_ = null; - } -} - -// Redraw based on the current projection and zoom level... - -ProjectedOverlay.prototype.draw = function(firstTime) -{ - // Creates the element if it doesn't exist already. - - this.createElement(); - - if (!this.div_) - { - return ; - } - - var c1 = this.get('projection').fromLatLngToDivPixel(this.bounds_.getSouthWest()); - var c2 = this.get('projection').fromLatLngToDivPixel(this.bounds_.getNorthEast()); - - if (!c1 || !c2) return; - - // Now position our DIV based on the DIV coordinates of our bounds - - this.div_.style.width = Math.abs(c2.x - c1.x) + "px"; - this.div_.style.height = Math.abs(c2.y - c1.y) + "px"; - this.div_.style.left = Math.min(c2.x, c1.x) + "px"; - this.div_.style.top = Math.min(c2.y, c1.y) + "px"; - - // Do the rest only if the zoom has changed... - - if ( this.lastZoom_ == this.map_.getZoom() ) - { - return ; - } - - this.lastZoom_ = this.map_.getZoom() ; - - var url = this.url_ ; - - if ( this.addZ_ ) - { - url += this.addZ_ + this.map_.getZoom() ; - } - - this.div_.innerHTML = '' ; -} - -ProjectedOverlay.prototype.setOpacity=function(opacity) -{ - if (opacity < 0) - { - opacity = 0 ; - } - if(opacity > 100) - { - opacity = 100 ; - } - var c = opacity/100 ; - - if (typeof(this.div_.style.filter) =='string') - { - this.div_.style.filter = 'alpha(opacity:' + opacity + ')' ; - } - if (typeof(this.div_.style.KHTMLOpacity) == 'string' ) - { - this.div_.style.KHTMLOpacity = c ; - } - if (typeof(this.div_.style.MozOpacity) == 'string') - { - this.div_.style.MozOpacity = c ; - } - if (typeof(this.div_.style.opacity) == 'string') - { - this.div_.style.opacity = c ; - } -} - diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/geoxml3.js b/documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/geoxml3.js deleted file mode 100644 index c452dd6..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/geoxml3/geoxml3.js +++ /dev/null @@ -1,442 +0,0 @@ -/* - geoXML3.js - - Renders KML on the Google Maps JavaScript API Version 3 - http://code.google.com/p/geoxml3/ - - Copyright 2009 Sterling Udell - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -*/ - -// Extend the global String with a method to remove leading and trailing whitespace -if (!String.prototype.trim) { - String.prototype.trim = function () { - return this.replace(/^\s+|\s+$/g, ''); - }; -} - -// Declare namespace -geoXML3 = window.geoXML3 || {}; - -// Constructor for the root KML parser object -geoXML3.parser = function (options) { - // Private variables - var parserOptions = geoXML3.combineOptions(options, { - singleInfoWindow: false, - processStyles: true, - zoom: true - }); - var docs = []; // Individual KML documents - var lastMarker; - - // Private methods - - var parse = function (urls) { - // Process one or more KML documents - - if (typeof urls === 'string') { - // Single KML document - urls = [urls]; - } - - // Internal values for the set of documents as a whole - var internals = { - docSet: [], - remaining: urls.length, - parserOnly: !parserOptions.afterParse - }; - - var thisDoc; - for (var i = 0; i < urls.length; i++) { - thisDoc = { - url: urls[i], - internals: internals - }; - internals.docSet.push(thisDoc); - geoXML3.fetchXML(thisDoc.url, function (responseXML) {render(responseXML, thisDoc);}); - } - }; - - var hideDocument = function (doc) { - // Hide the map objects associated with a document - var i; - for (i = 0; i < doc.markers.length; i++) { - this.markers[i].set_visible(false); - } - for (i = 0; i < doc.overlays.length; i++) { - doc.overlays[i].setOpacity(0); - } - }; - - var showDocument = function (doc) { - // Show the map objects associated with a document - var i; - for (i = 0; i < doc.markers.length; i++) { - doc.markers[i].set_visible(true); - } - for (i = 0; i < doc.overlays.length; i++) { - doc.overlays[i].setOpacity(doc.overlays[i].percentOpacity_); - } - }; - - var render = function (responseXML, doc) { - // Callback for retrieving a KML document: parse the KML and display it on the map - - if (!responseXML) { - // Error retrieving the data - geoXML3.log('Unable to retrieve ' + doc.url); - if (parserOptions.failedParse) { - parserOptions.failedParse(doc); - } - } else if (!doc) { - throw 'geoXML3 internal error: render called with null document'; - } else { - doc.styles = {}; - doc.placemarks = []; - doc.groundOverlays = []; - if (parserOptions.zoom && !!parserOptions.map) - doc.bounds = new google.maps.LatLngBounds(); - - // Parse styles - var styleID, iconNodes, i; - var styleNodes = responseXML.getElementsByTagName('Style'); - for (i = 0; i < styleNodes.length; i++) { - styleID = styleNodes[i].getAttribute('id'); - iconNodes = styleNodes[i].getElementsByTagName('Icon'); - if (!!iconNodes.length) { - doc.styles['#' + styleID] = { - href: geoXML3.nodeValue(iconNodes[0].getElementsByTagName('href')[0]) - }; - } - } - if (!!parserOptions.processStyles || !parserOptions.createMarker) { - // Convert parsed styles into GMaps equivalents - processStyles(doc); - } - - // Parse placemarks - var placemark, node, coords, path; - var placemarkNodes = responseXML.getElementsByTagName('Placemark'); - for (i = 0; i < placemarkNodes.length; i++) { - // Init the placemark object - node = placemarkNodes[i]; - placemark = { - name: geoXML3.nodeValue(node.getElementsByTagName('name')[0]), - description: geoXML3.nodeValue(node.getElementsByTagName('description')[0]), - styleUrl: geoXML3.nodeValue(node.getElementsByTagName('styleUrl')[0]) - }; - placemark.style = doc.styles[placemark.styleUrl] || {}; - if (/^https?:\/\//.test(placemark.description)) { - placemark.description = '
    ' + placemark.description + ''; - } - - // Extract the coordinates - coords = geoXML3.nodeValue(node.getElementsByTagName('coordinates')[0]).trim(); - coords = coords.replace(/\s+/g, ' ').replace(/, /g, ','); - path = coords.split(' '); - - // What sort of placemark? - if (path.length === 1) { - // Polygons/lines not supported in v3, so only plot markers - coords = path[0].split(','); - placemark.point = { - lat: parseFloat(coords[1]), - lng: parseFloat(coords[0]), - alt: parseFloat(coords[2]) - }; - if (!!doc.bounds) { - doc.bounds.extend(new google.maps.LatLng(placemark.point.lat, placemark.point.lng)); - } - - // Call the appropriate function to create the marker - if (!!parserOptions.createMarker) { - parserOptions.createMarker(placemark, doc); - } else { - createMarker(placemark, doc); - } - } - } - - // Parse ground overlays - var groundOverlay, color, transparency; - var groundNodes = responseXML.getElementsByTagName('GroundOverlay'); - for (i = 0; i < groundNodes.length; i++) { - node = groundNodes[i]; - - // Init the ground overlay object - groundOverlay = { - name: geoXML3.nodeValue(node.getElementsByTagName('name')[0]), - description: geoXML3.nodeValue(node.getElementsByTagName('description')[0]), - icon: {href: geoXML3.nodeValue(node.getElementsByTagName('href')[0])}, - latLonBox: { - north: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('north')[0])), - east: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('east')[0])), - south: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('south')[0])), - west: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('west')[0])) - } - }; - if (!!doc.bounds) { - doc.bounds.union(new google.maps.LatLngBounds( - new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), - new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east) - )); - } - - // Opacity is encoded in the color node - color = geoXML3.nodeValue(node.getElementsByTagName('color')[0]); - if ((color !== '') && (color.length == 8)) { - transparency = parseInt(color.substring(0, 2), 16); - groundOverlay.opacity = Math.round((255 - transparency) / 2.55); - } else { - groundOverlay.opacity = 100; - } - - // Call the appropriate function to create the overlay - if (!!parserOptions.createOverlay) { - parserOptions.createOverlay(groundOverlay, doc); - } else { - createOverlay(groundOverlay, doc); - } - } - - if (!!doc.bounds) { - doc.internals.bounds = doc.internals.bounds || new google.maps.LatLngBounds(); - doc.internals.bounds.union(doc.bounds); - } - if (!!doc.styles || !!doc.markers || !!doc.overlays) { - doc.internals.parserOnly = false; - } - - doc.internals.remaining -= 1; - if (doc.internals.remaining === 0) { - // We're done processing this set of KML documents - - // Options that get invoked after parsing completes - if (!!doc.internals.bounds) { - parserOptions.map.fitBounds(doc.internals.bounds); - } - if (parserOptions.afterParse) { - parserOptions.afterParse(doc.internals.docSet); - } - - if (!doc.internals.parserOnly) { - // geoXML3 is not being used only as a real-time parser, so keep the parsed documents around - docs.concat(doc.internals.docSet); - } - } - } - }; - - var processStyles = function (doc) { - var stdRegEx = /\/(red|blue|green|yellow|lightblue|purple|pink|orange)(-dot)?\.png/; - for (var styleID in doc.styles) { - if (!!doc.styles[styleID].href) { - // Init the style object with a standard KML icon - doc.styles[styleID].icon = new google.maps.MarkerImage( - doc.styles[styleID].href, - new google.maps.Size(32, 32), - new google.maps.Point(0, 0), - new google.maps.Point(16, 12) - ); - - // Look for a predictable shadow - if (stdRegEx.test(doc.styles[styleID].href)) { - // A standard GMap-style marker icon - doc.styles[styleID].shadow = new google.maps.MarkerImage( - 'http://maps.google.com/mapfiles/ms/micons/msmarker.shadow.png', - new google.maps.Size(59, 32), - new google.maps.Point(0, 0), - new google.maps.Point(16, 12)); - } else if (doc.styles[styleID].href.indexOf('-pushpin.png') > -1) { - // Pushpin marker icon - doc.styles[styleID].shadow = new google.maps.MarkerImage( - 'http://maps.google.com/mapfiles/ms/micons/pushpin_shadow.png', - new google.maps.Size(59, 32), - new google.maps.Point(0, 0), - new google.maps.Point(16, 12)); - } else { - // Other MyMaps KML standard icon - doc.styles[styleID].shadow = new google.maps.MarkerImage( - doc.styles[styleID].href.replace('.png', '.shadow.png'), - new google.maps.Size(59, 32), - new google.maps.Point(0, 0), - new google.maps.Point(16, 12)); - } - } - } - }; - - var createMarker = function (placemark, doc) { - // create a Marker to the map from a placemark KML object - - // Load basic marker properties - var markerOptions = geoXML3.combineOptions(parserOptions.markerOptions, { - map: parserOptions.map, - position: new google.maps.LatLng(placemark.point.lat, placemark.point.lng), - title: placemark.name, - zIndex: Math.round(-placemark.point.lat * 100000), - icon: placemark.style.icon, - shadow: placemark.style.shadow - }); - - // Create the marker on the map - var marker = new google.maps.Marker(markerOptions); - - // Set up and create the infowindow - var infoWindowOptions = geoXML3.combineOptions(parserOptions.infoWindowOptions, { - content: '

    ' + placemark.name + - '

    ' + placemark.description + '
    ', - pixelOffset: new google.maps.Size(0, 2) - }); - marker.infoWindow = new google.maps.InfoWindow(infoWindowOptions); - - // Infowindow-opening event handler - google.maps.event.addListener(marker, 'click', function() { - if (!!parserOptions.singleInfoWindow) { - if (!!lastMarker && !!lastMarker.infoWindow) { - lastMarker.infoWindow.close(); - } - lastMarker = this; - } - this.infoWindow.open(this.map, this); - }); - - if (!!doc) { - doc.markers = doc.markers || []; - doc.markers.push(marker); - } - - return marker; - }; - - var createOverlay = function (groundOverlay, doc) { - // Add a ProjectedOverlay to the map from a groundOverlay KML object - - if (!window.ProjectedOverlay) { - throw 'geoXML3 error: ProjectedOverlay not found while rendering GroundOverlay from KML'; - } - - var bounds = new google.maps.LatLngBounds( - new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), - new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east) - ); - var overlayOptions = geoXML3.combineOptions(parserOptions.overlayOptions, {percentOpacity: groundOverlay.opacity}); - var overlay = new ProjectedOverlay(parserOptions.map, groundOverlay.icon.href, bounds, overlayOptions); - - if (!!doc) { - doc.overlays = doc.overlays || []; - doc.overlays.push(overlay); - } - - return - }; - - return { - // Expose some properties and methods - - options: parserOptions, - docs: docs, - - parse: parse, - hideDocument: hideDocument, - showDocument: showDocument, - processStyles: processStyles, - createMarker: createMarker, - createOverlay: createOverlay - }; -}; -// End of KML Parser - -// Helper objects and functions - -// Log a message to the debugging console, if one exists -geoXML3.log = function(msg) { - if (!!window.console) { - console.log(msg); - } -}; - -// Combine two options objects, a set of default values and a set of override values -geoXML3.combineOptions = function (overrides, defaults) { - var result = {}; - if (!!overrides) { - for (var prop in overrides) { - if (overrides.hasOwnProperty(prop)) { - result[prop] = overrides[prop]; - } - } - } - if (!!defaults) { - for (prop in defaults) { - if (defaults.hasOwnProperty(prop) && (result[prop] === undefined)) { - result[prop] = defaults[prop]; - } - } - } - return result; -}; - -// Retrieve a text document from url and pass it to callback as a string -geoXML3.fetchers = []; -geoXML3.fetchXML = function (url, callback) { - function timeoutHandler() { - callback(); - }; - - var xhrFetcher; - if (!!geoXML3.fetchers.length) { - xhrFetcher = geoXML3.fetchers.pop(); - } else { - if (!!window.XMLHttpRequest) { - xhrFetcher = new window.XMLHttpRequest(); // Most browsers - } else if (!!window.ActiveXObject) { - xhrFetcher = new window.ActiveXObject('Microsoft.XMLHTTP'); // Some IE - } - } - - if (!xhrFetcher) { - geoXML3.log('Unable to create XHR object'); - callback(null); - } else { - xhrFetcher.open('GET', url, true); - xhrFetcher.onreadystatechange = function () { - if (xhrFetcher.readyState === 4) { - // Retrieval complete - if (!!xhrFetcher.timeout) - clearTimeout(xhrFetcher.timeout); - if (xhrFetcher.status >= 400) { - geoXML3.log('HTTP error ' + xhrFetcher.status + ' retrieving ' + url); - callback(); - } else { - // Returned successfully - callback(xhrFetcher.responseXML); - } - // We're done with this fetcher object - geoXML3.fetchers.push(xhrFetcher); - } - }; - xhrFetcher.timeout = setTimeout(timeoutHandler, 60000); - xhrFetcher.send(null); - } -}; - -//nodeValue: Extract the text value of a DOM node, with leading and trailing whitespace trimmed -geoXML3.nodeValue = function(node) { - if (!node) { - return ''; - } else { - return (node.innerText || node.text || node.textContent).trim(); - } -}; diff --git a/documentacion/extensions/Maps/includes/services/GoogleMaps3/jquery.googlemap.js b/documentacion/extensions/Maps/includes/services/GoogleMaps3/jquery.googlemap.js deleted file mode 100644 index 9d2acc2..0000000 --- a/documentacion/extensions/Maps/includes/services/GoogleMaps3/jquery.googlemap.js +++ /dev/null @@ -1,309 +0,0 @@ -/** - * JavasSript for Google Maps v3 maps in the Maps extension. - * @see http://www.mediawiki.org/wiki/Extension:Maps - * - * @author Jeroen De Dauw - */ - -(function( $, mw ){ $.fn.googlemaps = function( options ) { - - var _this = this; - - this.map = null; - this.options = options; - - /** - * All markers that are currently on the map. - * @type {Array} - * @private - */ - this.markers = []; - - /** - * Creates a new marker with the provided data, - * adds it to the map, and returns it. - * @param {Object} markerData Contains the fields lat, lon, title, text and icon - * @return {google.maps.Marker} - */ - this.addMarker = function( markerData ) { - var markerOptions = { - position: new google.maps.LatLng( markerData.lat , markerData.lon ), - title: markerData.title - }; - - if ( markerData.icon !== '' ) { - markerOptions.icon = markerData.icon; - } - - var marker = new google.maps.Marker( markerOptions ); - - marker.openWindow = false; - - if ( markerData.text !== '' ) { - marker.text = markerData.text; - google.maps.event.addListener( marker, 'click', function() { - if ( this.openWindow !== false ) { - this.openWindow.close(); - } - this.openWindow = new google.maps.InfoWindow( { content: this.text } ); - this.openWindow.closeclick = function() { - marker.openWindow = false; - }; - this.openWindow.open( _this.map, this ); - } ); - } - - marker.setMap( this.map ); - this.markers.push( marker ); - - return marker; - }; - - /** - * Removes a single marker from the map. - * @param {google.maps.Marker} marker The marker to remove. - */ - this.removeMarker = function( marker ) { - marker.setMap( null ); - - for ( var i = this.markers.length - 1; i >= 0; i-- ) { - if ( this.markers[i] === marker ) { - delete this.markers[i]; - break; - } - } - - delete marker; - }; - - /** - * Removes all markers from the map. - */ - this.removeMarkers = function() { - for ( var i = this.markers.length - 1; i >= 0; i-- ) { - this.markers[i].setMap( null ); - } - this.markers = []; - }; - - /** - * Remove the "earth" type from options.types if it's present. - * - * @since 1.0.1 - */ - this.removeEarthType = function() { - if ( Array.prototype.filter ) { - options.types = options.types.filter( function( element, index, array ) { return element !== 'earth'; } ); - } - else { - // Seems someone is using the o-so-awesome browser that is IE. - var types = []; - - for ( i in options.types ) { - if ( typeof( options.types[i] ) !== 'function' && options.types[i] !== 'earth' ) { - types.push( options.types[i] ); - } - } - - options.types = types; - } - }; - - this.addOverlays = function() { - // Add the Google KML/KMZ layers. - for ( i = options.gkml.length - 1; i >= 0; i-- ) { - var kmlLayer = new google.maps.KmlLayer( - options.gkml[i], - { - map: map, - preserveViewport: !options.kmlrezoom - } - ); - } - - // If there are any non-Google KML/KMZ layers, load the geoxml library and use it to add these layers. - if ( options.kml.length != 0 ) { - mw.loader.using( 'ext.maps.gm3.geoxml', function() { - var geoXml = new geoXML3.parser( { map: map, zoom: options.kmlrezoom } ); - - for ( i = options.kml.length - 1; i >= 0; i-- ) { - geoXml.parse( options.kml[i] ); - } - } ); - } - }; - - this.setup = function() { - var showEarth = $.inArray( 'earth', options.types ) !== -1; - - // If there are any non-Google KML/KMZ layers, load the geoxml library and use it to add these layers. - if ( showEarth ) { - this.removeEarthType(); - showEarth = mw.config.get( 'egGoogleJsApiKey' ) !== ''; - } - - var mapOptions = { - disableDefaultUI: true, - mapTypeId: options.type == 'earth' ? google.maps.MapTypeId.SATELLITE : eval( 'google.maps.MapTypeId.' + options.type ) - }; - - // Map controls - mapOptions.panControl = $.inArray( 'pan', options.controls ) != -1; - mapOptions.zoomControl = $.inArray( 'zoom', options.controls ) != -1; - mapOptions.mapTypeControl = $.inArray( 'type', options.controls ) != -1; - mapOptions.scaleControl = $.inArray( 'scale', options.controls ) != -1; - mapOptions.streetViewControl = $.inArray( 'streetview', options.controls ) != -1; - - for ( i in options.types ) { - if ( typeof( options.types[i] ) !== 'function' ) { - options.types[i] = eval( 'google.maps.MapTypeId.' + options.types[i] ); - } - } - - // Map control styles - mapOptions.zoomControlOptions = { style: eval( 'google.maps.ZoomControlStyle.' + options.zoomstyle ) }; - mapOptions.mapTypeControlOptions = { - style: eval( 'google.maps.MapTypeControlStyle.' + options.typestyle ), - mapTypeIds: options.types - }; - - var map = new google.maps.Map( this.get( 0 ), mapOptions ); - this.map = map; - - if ( !options.locations ) { - options.locations = []; - } - - // Add the markers. - for ( var i = options.locations.length - 1; i >= 0; i-- ) { - this.addMarker( options.locations[i] ); - } - - for ( i = options.fusiontables.length - 1; i >= 0; i-- ) { - var ftLayer = new google.maps.FusionTablesLayer( options.fusiontables[i], { map: map } ); - } - - var layerMapping = { - 'traffic': 'new google.maps.TrafficLayer()', - 'bicycling': 'new google.maps.BicyclingLayer()' - }; - - for ( i = options.layers.length - 1; i >= 0; i-- ) { - var layer = eval( layerMapping[options.layers[i]] ); - layer.setMap( map ); - } - - var bounds; - - if ( ( options.centre === false || options.zoom === false ) && options.locations.length > 1 ) { - bounds = new google.maps.LatLngBounds(); - - for ( var i = this.markers.length - 1; i >= 0; i-- ) { - bounds.extend( this.markers[i].getPosition() ); - } - } - - if ( options.zoom === false ) { - map.fitBounds( bounds ); - } - else { - map.setZoom( options.zoom ); - } - - var centre; - - if ( options.centre === false ) { - if ( options.locations.length > 1 ) { - centre = bounds.getCenter(); - } - else if ( options.locations.length == 1 ) { - centre = new google.maps.LatLng( options.locations[0].lat, options.locations[0].lon ); - } - else { - centre = new google.maps.LatLng( 0, 0 ); - } - } - else { - centre = new google.maps.LatLng( options.centre.lat, options.centre.lon ); - } - - map.setCenter( centre ); - - if ( showEarth ) { - $.getScript( - 'https://www.google.com/jsapi?key=' + mw.config.get( 'egGoogleJsApiKey' ), - function( data, textStatus ) { - google.load( 'earth', '1', { callback: function() { - mw.loader.using( 'ext.maps.gm3.earth', function() { - if ( google.earth.isSupported() ) { - var ge = new GoogleEarth( map ); - var setTilt = function() { - - if ( ge.getInstance() !== undefined ) { - - var center = map.getCenter(); - var lookAt = ge.instance_.createLookAt(''); - var range = Math.pow(2, GoogleEarth.MAX_EARTH_ZOOM_ - map.getZoom()); - lookAt.setRange(range); - lookAt.setLatitude(center.lat()); - lookAt.setLongitude(center.lng()); - lookAt.setHeading(0); - lookAt.setAltitude(0); - - // Teleport to the pre-tilt view immediately. - ge.instance_.getOptions().setFlyToSpeed(5); - ge.instance_.getView().setAbstractView(lookAt); - lookAt.setTilt(options.tilt); - // Fly to the tilt at regular speed in 200ms - ge.instance_.getOptions().setFlyToSpeed(0.75); - window.setTimeout(function() { - ge.instance_.getView().setAbstractView(lookAt); - }, 200); - // Set the flyto speed back to default after the animation starts. - window.setTimeout(function() { - ge.instance_.getOptions().setFlyToSpeed(1); - }, 250); - - } - else { - setTimeout( function() { setTilt(); }, 100 ); - } - }; - - if ( options.type == 'earth' ) { - map.setMapTypeId( GoogleEarth.MAP_TYPE_ID ); - setTilt(); - } - else { - google.maps.event.addListenerOnce( map, 'maptypeid_changed', function() { setTilt(); } ); - } - } - - _this.addOverlays(); - } ); - } } ); - } - ); - } - else { - google.maps.event.addListenerOnce( map, 'tilesloaded', function() { _this.addOverlays(); } ); - } - - if ( options.autoinfowindows ) { - for ( var i = this.markers.length - 1; i >= 0; i-- ) { - google.maps.event.trigger( this.markers[i], 'click' ); - } - } - - if ( options.resizable ) { - mw.loader.using( 'ext.maps.resizable', function() { - _this.resizable(); - } ); - } - }; - - this.setup(); - - return this; - -}; })( jQuery, window.mediaWiki ); \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/OSM/Maps_OSM.php b/documentacion/extensions/Maps/includes/services/OSM/Maps_OSM.php deleted file mode 100644 index ea3ca44..0000000 --- a/documentacion/extensions/Maps/includes/services/OSM/Maps_OSM.php +++ /dev/null @@ -1,79 +0,0 @@ -addCriteria( new CriterionInRange( 1, 18 ) ); - $params['zoom']->setDefault( self::getDefaultZoom() ); - - $params['thumbs'] = new Parameter( - 'thumbs', - Parameter::TYPE_BOOLEAN, - $egMapsOSMThumbs - ); - $params['thumbs']->setMessage( 'maps-osm-par-thumbs' ); - - $params['photos'] = new Parameter( - 'photos', - Parameter::TYPE_BOOLEAN, - $egMapsOSMPhotos - ); - $params['photos']->setMessage( 'maps-osm-par-photos' ); - } - -} diff --git a/documentacion/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php b/documentacion/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php deleted file mode 100644 index b832434..0000000 --- a/documentacion/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php +++ /dev/null @@ -1,37 +0,0 @@ -getCode(); - - // https://secure.wikimedia.org/wikipedia/de/wiki/Wikipedia:WikiProjekt_Georeferenzierung/Wikipedia-World/en#Expert_mode - return Html::element( - 'iframe', - array( - 'id' => $mapName, - 'style' => "width: {$params['width']}; height: {$params['height']}; clear: both;", - 'src' => "http://toolserver.org/~kolossos/openlayers/kml-on-ol.php?zoom={$params['zoom']}&lat={$params['centre']['lat']}&lon={$params['centre']['lon']}&lang=$lang&thumbs=$thumbs&photo=$photos" - ), - wfMsg( 'maps-loading-map' ) - ); - } - -} diff --git a/documentacion/extensions/Maps/includes/services/OSM/OSM.php b/documentacion/extensions/Maps/includes/services/OSM/OSM.php deleted file mode 100644 index c0db641..0000000 --- a/documentacion/extensions/Maps/includes/services/OSM/OSM.php +++ /dev/null @@ -1,48 +0,0 @@ - 'MapsOSMDispMap', - ) - ); - - return true; -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/OpenLayers/CriterionOLLayer.php b/documentacion/extensions/Maps/includes/services/OpenLayers/CriterionOLLayer.php deleted file mode 100644 index 980c9ed..0000000 --- a/documentacion/extensions/Maps/includes/services/OpenLayers/CriterionOLLayer.php +++ /dev/null @@ -1,39 +0,0 @@ -addCriteria( new CriterionInRange( 0, 19 ) ); - $params['zoom']->setDefault( self::getDefaultZoom() ); - - $params['controls'] = new ListParameter( 'controls' ); - $params['controls']->setDefault( $egMapsOLControls ); - $params['controls']->addCriteria( new CriterionInArray( self::getControlNames() ) ); - $params['controls']->addManipulations( - new ParamManipulationFunctions( 'strtolower' ) - ); - $params['controls']->setMessage( 'maps-openlayers-par-controls' ); - - $params['layers'] = new ListParameter( 'layers' ); - $params['layers']->addManipulations( new MapsParamOLLayers() ); - $params['layers']->setDoManipulationOfDefault( true ); - $params['layers']->addCriteria( new CriterionOLLayer() ); - $params['layers']->setDefault( $egMapsOLLayers ); - $params['layers']->setMessage( 'maps-openlayers-par-layers' ); - - $params['resizable'] = new Parameter( 'resizable', Parameter::TYPE_BOOLEAN ); - $params['resizable']->setDefault( $egMapsResizableByDefault, false ); - $params['resizable']->setMessage( 'maps-par-resizable' ); - } - - /** - * @see iMappingService::getDefaultZoom - * - * @since 0.6.5 - */ - public function getDefaultZoom() { - global $egMapsOpenLayersZoom; - return $egMapsOpenLayersZoom; - } - - /** - * @see MapsMappingService::getMapId - * - * @since 0.6.5 - */ - public function getMapId( $increment = true ) { - static $mapsOnThisPage = 0; - - if ( $increment ) { - $mapsOnThisPage++; - } - - return 'open_layer_' . $mapsOnThisPage; - } - - /** - * Returns the names of all supported controls. - * This data is a copy of the one used to actually translate the names - * into the controls, since this resides client side, in OpenLayerFunctions.js. - * - * @return array - */ - public static function getControlNames() { - return array( - 'argparser', 'attribution', 'button', 'dragfeature', 'dragpan', - 'drawfeature', 'editingtoolbar', 'getfeature', 'keyboarddefaults', 'layerswitcher', - 'measure', 'modifyfeature', 'mousedefaults', 'mouseposition', 'mousetoolbar', - 'navigation', 'navigationhistory', 'navtoolbar', 'overviewmap', 'pan', - 'panel', 'panpanel', 'panzoom', 'panzoombar', 'autopanzoom', 'permalink', - 'scale', 'scaleline', 'selectfeature', 'snapping', 'split', - 'wmsgetfeatureinfo', 'zoombox', 'zoomin', 'zoomout', 'zoompanel', - 'zoomtomaxextent' - ); - } - - /** - * Returns the names of all supported dynamic layers. - * - * @return array - */ - public static function getLayerNames( $includeGroups = false ) { - global $egMapsOLAvailableLayers, $egMapsOLLayerGroups; - - $keys = array_keys( $egMapsOLAvailableLayers ); - - if ( $includeGroups ) { - $keys = array_merge( $keys, array_keys( $egMapsOLLayerGroups ) ); - } - - return $keys; - } - - /** - * Adds the layer dependencies. - * - * @since 0.7.1 - * - * @param array $dependencies - */ - public function addLayerDependencies( array $dependencies ) { - foreach ( $dependencies as $dependency ) { - $this->addDependency( $dependency ); - } - } - - /** - * @see MapsMappingService::getResourceModules - * - * @since 0.7.3 - * - * @return array of string - */ - public function getResourceModules() { - return array_merge( - parent::getResourceModules(), - array( 'ext.maps.openlayers' ) - ); - } - -} diff --git a/documentacion/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php b/documentacion/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php deleted file mode 100644 index 769ec4f..0000000 --- a/documentacion/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php +++ /dev/null @@ -1,122 +0,0 @@ -getValue() as $layerOrGroup ) { - $lcLayerOrGroup = strtolower( $layerOrGroup ); - - // Layer groups. Loop over all items and add them when not present yet. - if ( array_key_exists( $lcLayerOrGroup, $egMapsOLLayerGroups ) ) { - foreach ( $egMapsOLLayerGroups[$lcLayerOrGroup] as $layerName ) { - if ( !in_array( $layerName, $layerNames ) ) { - if ( is_array( $egMapsOLAvailableLayers[$layerName] ) ) { - $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$layerName][0]; - } - else { - $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$layerName]; - } - $layerNames[] = $layerName; - } - } - } - // Single layers. Add them when not present yet. - elseif ( array_key_exists( $lcLayerOrGroup, $egMapsOLAvailableLayers ) ) { - if ( !in_array( $lcLayerOrGroup, $layerNames ) ) { - if ( is_array( $egMapsOLAvailableLayers[$lcLayerOrGroup] ) ) { - $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$lcLayerOrGroup][0]; - } - else { - $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$lcLayerOrGroup]; - } - - $layerNames[] = $lcLayerOrGroup; - } - } - // Image layers. Check validity and add when not present yet. - else { - $title = Title::newFromText( $layerOrGroup, Maps_NS_LAYER ); - - if ( $title->getNamespace() == Maps_NS_LAYER && $title->exists() ) { - $layerPage = new MapsLayerPage( $title ); - - if ( $layerPage->hasValidDefinition( 'openlayers' ) ) { - $layer = $layerPage->getLayer(); - if ( !in_array( $layerOrGroup, $layerNames ) ) { - $layerDefs[] = $layer->getJavaScriptDefinition(); - $layerNames[] = $layerOrGroup; - } - } - else { - wfWarn( "Invalid layer ($layerOrGroup) encountered after validation." ); - } - } - else { - wfWarn( "Invalid layer ($layerOrGroup) encountered after validation." ); - } - } - } - - $parameter->setValue( $layerDefs ); - - MapsMappingServices::getServiceInstance( 'openlayers' )->addLayerDependencies( $this->getDependencies( $layerNames ) ); - } - - /** - * Returns the depencies for the provided layers. - * - * @since 0.7.1 - * - * @param array $layerNames - * - * @return array - */ - protected function getDependencies( array $layerNames ) { - global $egMapsOLLayerDependencies, $egMapsOLAvailableLayers; - - $layerDependencies = array(); - - foreach ( $layerNames as $layerName ) { - if ( array_key_exists( $layerName, $egMapsOLAvailableLayers ) // The layer must be defined in php - && is_array( $egMapsOLAvailableLayers[$layerName] ) // The layer must be an array... - && count( $egMapsOLAvailableLayers[$layerName] ) > 1 // ...with a second element... - && array_key_exists( $egMapsOLAvailableLayers[$layerName][1], $egMapsOLLayerDependencies ) ) { //...that is a dependency. - $layerDependencies[] = $egMapsOLLayerDependencies[$egMapsOLAvailableLayers[$layerName][1]]; - } - } - - return array_unique( $layerDependencies ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/OpenLayers/OSM/OpenStreetMap.js b/documentacion/extensions/Maps/includes/services/OpenLayers/OSM/OpenStreetMap.js deleted file mode 100644 index aebfa65..0000000 --- a/documentacion/extensions/Maps/includes/services/OpenLayers/OSM/OpenStreetMap.js +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Namespace: Util.OSM - */ -OpenLayers.Util.OSM = {}; - -/** - * Constant: MISSING_TILE_URL - * {String} URL of image to display for missing tiles - */ -OpenLayers.Util.OSM.MISSING_TILE_URL = "http://www.openstreetmap.org/openlayers/img/404.png"; - -/** - * Property: originalOnImageLoadError - * {Function} Original onImageLoadError function. - */ -OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError; - -/** - * Function: onImageLoadError - */ -OpenLayers.Util.onImageLoadError = function() { - if (this.src.match(/^http:\/\/[abc]\.[a-z]+\.openstreetmap\.org\//)) { - this.src = OpenLayers.Util.OSM.MISSING_TILE_URL; - } else if (this.src.match(/^http:\/\/[def]\.tah\.openstreetmap\.org\//)) { - // do nothing - this layer is transparent - } else { - OpenLayers.Util.OSM.originalOnImageLoadError; - } -}; - -/** - * Class: OpenLayers.Layer.OSM.Mapnik - * - * Inherits from: - * - - */ -OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, { - /** - * Constructor: OpenLayers.Layer.OSM.Mapnik - * - * Parameters: - * name - {String} - * options - {Object} Hashtable of extra options to tag onto the layer - */ - initialize: function(name, options) { - var url = [ - "http://a.tile.openstreetmap.org/${z}/${x}/${y}.png", - "http://b.tile.openstreetmap.org/${z}/${x}/${y}.png", - "http://c.tile.openstreetmap.org/${z}/${x}/${y}.png" - ]; - options = OpenLayers.Util.extend({ - numZoomLevels: 19, - buffer: 0, - transitionEffect: "resize" - }, options); - var newArguments = [name, url, options]; - OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); - }, - - CLASS_NAME: "OpenLayers.Layer.OSM.Mapnik" -}); - -/** - * Class: OpenLayers.Layer.OSM.Osmarender - * - * Inherits from: - * - - */ -OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, { - /** - * Constructor: OpenLayers.Layer.OSM.Osmarender - * - * Parameters: - * name - {String} - * options - {Object} Hashtable of extra options to tag onto the layer - */ - initialize: function(name, options) { - var url = [ - "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png", - "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png", - "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png" - ]; - options = OpenLayers.Util.extend({ - numZoomLevels: 18, - buffer: 0, - transitionEffect: "resize" - }, options); - var newArguments = [name, url, options]; - OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); - }, - - CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender" -}); - -/** - * Class: OpenLayers.Layer.OSM.CycleMap - * - * Inherits from: - * - - */ -OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, { - /** - * Constructor: OpenLayers.Layer.OSM.CycleMap - * - * Parameters: - * name - {String} - * options - {Object} Hashtable of extra options to tag onto the layer - */ - initialize: function(name, options) { - var url = [ - "http://a.tile.opencyclemap.org/cycle/${z}/${x}/${y}.png", - "http://b.tile.opencyclemap.org/cycle/${z}/${x}/${y}.png", - "http://c.tile.opencyclemap.org/cycle/${z}/${x}/${y}.png" - ]; - options = OpenLayers.Util.extend({ - numZoomLevels: 19, - buffer: 0, - transitionEffect: "resize" - }, options); - var newArguments = [name, url, options]; - OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); - }, - - CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap" -}); diff --git a/documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers.php b/documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers.php deleted file mode 100644 index 7ccaa9d..0000000 --- a/documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers.php +++ /dev/null @@ -1,58 +0,0 @@ - array( 'ext.maps.common' ), - 'localBasePath' => dirname( __FILE__ ), - 'remoteBasePath' => $egMapsScriptPath . '/includes/services/OpenLayers', - 'group' => 'ext.maps', - 'scripts' => array( - 'OpenLayers/OpenLayers.js', - 'OSM/OpenStreetMap.js', - 'jquery.openlayers.js', - 'ext.maps.openlayers.js' - ), - 'styles' => array( - 'OpenLayers/theme/default/style.css' - ), - 'messages' => array( - 'maps-markers' - ) -); - -$wgAutoloadClasses['CriterionOLLayer'] = dirname( __FILE__ ) . '/CriterionOLLayer.php'; -$wgAutoloadClasses['MapsOpenLayers'] = dirname( __FILE__ ) . '/Maps_OpenLayers.php'; -$wgAutoloadClasses['MapsParamOLLayers'] = dirname( __FILE__ ) . '/Maps_ParamOLLayers.php'; - -$wgHooks['MappingServiceLoad'][] = 'efMapsInitOpenLayers'; -function efMapsInitOpenLayers() { - MapsMappingServices::registerService( - 'openlayers', - 'MapsOpenLayers', - array( - 'display_point' => 'MapsBasePointMap', - 'display_map' => 'MapsBaseMap' - ) - ); - - return true; -} \ No newline at end of file diff --git a/documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/OpenLayers.js b/documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/OpenLayers.js deleted file mode 100644 index d3b2f8b..0000000 --- a/documentacion/extensions/Maps/includes/services/OpenLayers/OpenLayers/OpenLayers.js +++ /dev/null @@ -1,1906 +0,0 @@ -/* - - OpenLayers.js -- OpenLayers Map Viewer Library - - Copyright 2005-2011 OpenLayers Contributors, released under the FreeBSD - license. Please see http://svn.openlayers.org/trunk/openlayers/license.txt - for the full text of the license. - - Includes compressed code under the following licenses: - - (For uncompressed versions of the code used please see the - OpenLayers SVN repository: ) - -*/ - -/* Contains portions of Prototype.js: - * - * Prototype JavaScript framework, version 1.4.0 - * (c) 2005 Sam Stephenson - * - * Prototype is freely distributable under the terms of an MIT-style license. - * For details, see the Prototype web site: http://prototype.conio.net/ - * - *--------------------------------------------------------------------------*/ - -/** -* -* Contains portions of Rico -* -* Copyright 2005 Sabre Airline Solutions -* -* Licensed under the Apache License, Version 2.0 (the "License"); you -* may not use this file except in compliance with the License. You -* may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -* implied. See the License for the specific language governing -* permissions and limitations under the License. -* -**/ - -/** - * Contains XMLHttpRequest.js - * Copyright 2007 Sergey Ilinsky (http://www.ilinsky.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -/** - * Contains portions of Gears - * - * Copyright 2007, Google Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of Google Inc. nor the names of its contributors may be - * used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Sets up google.gears.*, which is *the only* supported way to access Gears. - * - * Circumvent this file at your own risk! - * - * In the future, Gears may automatically define google.gears.* without this - * file. Gears may use these objects to transparently fix bugs and compatibility - * issues. Applications that use the code below will continue to work seamlessly - * when that happens. - */ - -/** - * OpenLayers.Util.pagePosition is based on Yahoo's getXY method, which is - * Copyright (c) 2006, Yahoo! Inc. - * All rights reserved. - * - * Redistribution and use of this software in source and binary forms, with or - * without modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * * Neither the name of Yahoo! Inc. nor the names of its contributors may be - * used to endorse or promote products derived from this software without - * specific prior written permission of Yahoo! Inc. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */(function(){if(!window.google||!google.gears){var a=null;if(typeof GearsFactory!="undefined")a=new GearsFactory;else try{a=new ActiveXObject("Gears.Factory"),a.getBuildInfo().indexOf("ie_mobile")!=-1&&a.privateSetGlobalObject(this)}catch(b){if(typeof navigator.mimeTypes!="undefined"&&navigator.mimeTypes["application/x-googlegears"])a=document.createElement("object"),a.style.display="none",a.width=0,a.height=0,a.type="application/x-googlegears",document.documentElement.appendChild(a)}if(a&&(window.google|| -(google={}),!google.gears))google.gears={factory:a}}})();var OpenLayers={VERSION_NUMBER:"$Revision$",singleFile:true,_getScriptLocation:function(){for(var a=/(^|(.*?\/))(OpenLayers.js)(\?|$)/,b=document.getElementsByTagName("script"),c,d="",e=0,f=b.length;e1?(a=[d,b].concat(Array.prototype.slice.call(arguments).slice(1,a-1),c),OpenLayers.inherit.apply(null,a)):d.prototype=c;return d}; -OpenLayers.inherit=function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;var d,e;for(c=2,d=arguments.length;c0},CLASS_NAME:"OpenLayers.Protocol.Response"}); -OpenLayers.Protocol.Response.SUCCESS=1;OpenLayers.Protocol.Response.FAILURE=0;OpenLayers.Protocol.SQL=OpenLayers.Class(OpenLayers.Protocol,{databaseName:"ol",tableName:"ol_vector_features",postReadFiltering:true,initialize:function(a){OpenLayers.Protocol.prototype.initialize.apply(this,[a])},destroy:function(){OpenLayers.Protocol.prototype.destroy.apply(this)},supported:function(){return false},evaluateFilter:function(a,b){return b&&this.postReadFiltering?b.evaluate(a):true},CLASS_NAME:"OpenLayers.Protocol.SQL"}); -OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(a){alert(a)},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"}; -(function(){for(var a=document.getElementsByTagName("script"),b=0,c=a.length;b0&&(c=parseFloat(a.toPrecision(b)));return c},format:function(a,b,c,d){b=typeof b!="undefined"?b:0;c=typeof c!="undefined"?c:OpenLayers.Number.thousandsSeparator;d=typeof d!="undefined"?d:OpenLayers.Number.decimalSeparator;b!=null&&(a=parseFloat(a.toFixed(b)));var e=a.toString().split(".");e.length==1&&b==null&&(b=0);a=e[0];if(c)for(var f=/(-?[0-9]+)([0-9]{3})/;f.test(a);)a=a.replace(f,"$1"+c+"$2"); -b==0?b=a:(c=e.length>1?e[1]:"0",b!=null&&(c+=Array(b-c.length+1).join("0")),b=a+d+c);return b}};OpenLayers.Function={bind:function(a,b){var c=Array.prototype.slice.apply(arguments,[2]);return function(){var d=c.concat(Array.prototype.slice.apply(arguments,[0]));return a.apply(b,d)}},bindAsEventListener:function(a,b){return function(c){return a.call(b,c||window.event)}},False:function(){return false},True:function(){return true},Void:function(){}}; -OpenLayers.Array={filter:function(a,b,c){var d=[];if(Array.prototype.filter)d=a.filter(b,c);else{var e=a.length;if(typeof b!="function")throw new TypeError;for(var f=0;fthis.right)this.right=b.right;if(this.top==null||b.top>this.top)this.top=b.top}}},containsLonLat:function(a,b){typeof b==="boolean"&&(b={inclusive:b});var b=b||{},c=this.contains(a.lon,a.lat,b.inclusive),d=b.worldBounds;d&&!c&&(c=d.getWidth(),a=a.clone(),d=Math.round((a.lon-(d.left+d.right)/2)/c),a.lon-=d*c,c=this.containsLonLat(a,{inclusive:b.inclusive}));return c},containsPixel:function(a, -b){return this.contains(a.x,a.y,b)},contains:function(a,b,c){c==null&&(c=true);if(a==null||b==null)return false;var a=OpenLayers.Util.toFloat(a),b=OpenLayers.Util.toFloat(b),d=false;return d=c?a>=this.left&&a<=this.right&&b>=this.bottom&&b<=this.top:a>this.left&&athis.bottom&&b=c.bottom&&a.top<=c.top||c.top>a.bottom&&c.top=c.left&&a.left<=c.right||c.left>=a.left&&c.left<=a.right,f=a.right>=c.left&&a.right<=c.right||c.right>=a.left&&c.right<=a.right,d=(a.bottom>=c.bottom&&a.bottom<=c.top||c.bottom>=a.bottom&&c.bottom<=a.top||d)&&(e||f);if(b.worldBounds&&!d){var g=b.worldBounds,e=g.getWidth(),f=!g.containsBounds(c),g=!g.containsBounds(a);f&& -!g?(a=a.add(-e,0),d=c.intersectsBounds(a,{inclusive:b.inclusive})):g&&!f&&(c=c.add(-e,0),d=a.intersectsBounds(c,{inclusive:b.inclusive}))}return d},containsBounds:function(a,b,c){b==null&&(b=false);c==null&&(c=true);var d=this.contains(a.left,a.bottom,c),e=this.contains(a.right,a.bottom,c),f=this.contains(a.left,a.top,c),a=this.contains(a.right,a.top,c);return b?d||e||f||a:d&&e&&f&&a},determineQuadrant:function(a){var b="",c=this.getCenterLonLat();b+=a.lat=a.right&&e.right>a.right;)e=e.add(-f,0);c=e.left+c;ca.left&&e.right-d>a.right&&(e=e.add(-f,0))}return e},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(a,b){var c=a.split(",");return OpenLayers.Bounds.fromArray(c,b)}; -OpenLayers.Bounds.fromArray=function(a,b){return b===true?new OpenLayers.Bounds(a[1],a[0],a[3],a[2]):new OpenLayers.Bounds(a[0],a[1],a[2],a[3])};OpenLayers.Bounds.fromSize=function(a){return new OpenLayers.Bounds(0,a.h,a.w,0)};OpenLayers.Bounds.oppositeQuadrant=function(a){var b="";b+=a.charAt(0)=="t"?"b":"t";b+=a.charAt(1)=="l"?"r":"l";return b}; -OpenLayers.Element={visible:function(a){return OpenLayers.Util.getElement(a).style.display!="none"},toggle:function(){for(var a=0,b=arguments.length;aa.right;)b.lon-=a.getWidth()}return b},CLASS_NAME:"OpenLayers.LonLat"}); -OpenLayers.LonLat.fromString=function(a){a=a.split(",");return new OpenLayers.LonLat(a[0],a[1])};OpenLayers.LonLat.fromArray=function(a){var b=OpenLayers.Util.isArray(a);return new OpenLayers.LonLat(b&&a[0],b&&a[1])}; -OpenLayers.Pixel=OpenLayers.Class({x:0,y:0,initialize:function(a,b){this.x=parseFloat(a);this.y=parseFloat(b)},toString:function(){return"x="+this.x+",y="+this.y},clone:function(){return new OpenLayers.Pixel(this.x,this.y)},equals:function(a){var b=false;a!=null&&(b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y));return b},distanceTo:function(a){return Math.sqrt(Math.pow(this.x-a.x,2)+Math.pow(this.y-a.y,2))},add:function(a,b){if(a==null||b==null)throw new TypeError("Pixel.add cannot receive null values"); -return new OpenLayers.Pixel(this.x+a,this.y+b)},offset:function(a){var b=this.clone();a&&(b=this.add(a.x,a.y));return b},CLASS_NAME:"OpenLayers.Pixel"}); -OpenLayers.Size=OpenLayers.Class({w:0,h:0,initialize:function(a,b){this.w=parseFloat(a);this.h=parseFloat(b)},toString:function(){return"w="+this.w+",h="+this.h},clone:function(){return new OpenLayers.Size(this.w,this.h)},equals:function(a){var b=false;a!=null&&(b=this.w==a.w&&this.h==a.h||isNaN(this.w)&&isNaN(this.h)&&isNaN(a.w)&&isNaN(a.h));return b},CLASS_NAME:"OpenLayers.Size"});OpenLayers.Util=OpenLayers.Util||{}; -OpenLayers.Util.getElement=function(){for(var a=[],b=0,c=arguments.length;b=0;c--)a[c]==b&&a.splice(c,1);return a};OpenLayers.Util.clearArray=function(a){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"array = []"}));a.length=0};OpenLayers.Util.indexOf=function(a,b){if(typeof a.indexOf=="function")return a.indexOf(b);else{for(var c=0,d=a.length;c=0&&parseFloat(h)<1)a.style.filter="alpha(opacity="+h*100+")",a.style.opacity=h;else if(parseFloat(h)==1)a.style.filter="",a.style.opacity=""}; -OpenLayers.Util.createDiv=function(a,b,c,d,e,f,g,h){var i=document.createElement("div");if(d)i.style.backgroundImage="url("+d+")";a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="absolute");OpenLayers.Util.modifyDOMElement(i,a,b,c,e,f,g,h);return i}; -OpenLayers.Util.createImage=function(a,b,c,d,e,f,g,h){var i=document.createElement("img");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="relative");OpenLayers.Util.modifyDOMElement(i,a,b,c,e,f,null,g);if(h)i.style.display="none",b=function(){i.style.display="";OpenLayers.Event.stopObservingElement(i)},OpenLayers.Event.observe(i,"load",b),OpenLayers.Event.observe(i,"error",b);i.style.alt=a;i.galleryImg="no";if(d)i.src=d;return i}; -OpenLayers.Util.setOpacity=function(a,b){OpenLayers.Util.modifyDOMElement(a,null,null,null,null,null,null,b)};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var a=navigator.appVersion.split("MSIE"),a=parseFloat(a[1]),b=false;try{b=!!document.body.filters}catch(c){}OpenLayers.Util.alphaHackNeeded=b&&a>=5.5&&a<7}return OpenLayers.Util.alphaHackNeeded}; -OpenLayers.Util.modifyAlphaImageDiv=function(a,b,c,d,e,f,g,h,i){OpenLayers.Util.modifyDOMElement(a,b,c,d,f,null,null,i);b=a.childNodes[0];if(e)b.src=e;OpenLayers.Util.modifyDOMElement(b,a.id+"_innerImage",null,d,"relative",g);if(OpenLayers.Util.alphaHack()){if(a.style.display!="none")a.style.display="inline-block";h==null&&(h="scale");a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b.src+"', sizingMethod='"+h+"')";parseFloat(a.style.opacity)>=0&&parseFloat(a.style.opacity)< -1&&(a.style.filter+=" alpha(opacity="+a.style.opacity*100+")");b.style.filter="alpha(opacity=0)"}};OpenLayers.Util.createAlphaImageDiv=function(a,b,c,d,e,f,g,h,i){var j=OpenLayers.Util.createDiv(),i=OpenLayers.Util.createImage(null,null,null,null,null,null,null,i);j.appendChild(i);OpenLayers.Util.modifyAlphaImageDiv(j,a,b,c,d,e,f,g,h);return j};OpenLayers.Util.upperCaseObject=function(a){var b={},c;for(c in a)b[c.toUpperCase()]=a[c];return b}; -OpenLayers.Util.applyDefaults=function(a,b){var a=a||{},c=typeof window.Event=="function"&&b instanceof window.Event,d;for(d in b)if(a[d]===void 0||!c&&b.hasOwnProperty&&b.hasOwnProperty(d)&&!a.hasOwnProperty(d))a[d]=b[d];if(!c&&b&&b.hasOwnProperty&&b.hasOwnProperty("toString")&&!a.hasOwnProperty("toString"))a.toString=b.toString;return a}; -OpenLayers.Util.getParameterString=function(a){var b=[],c;for(c in a){var d=a[c];if(d!=null&&typeof d!="function"){if(typeof d=="object"&&d.constructor==Array){for(var e=[],f,g=0,h=d.length;g1.0E-12&&--m>0;){var n=Math.sin(k),o=Math.cos(k),q=Math.sqrt(h*n*h*n+(g*j-i*h*o)*(g*j-i*h*o));if(q==0)return 0;var o=i*j+g*h*o,r=Math.atan2(q,o),p=Math.asin(g* -h*n/q),s=Math.cos(p)*Math.cos(p),n=o-2*i*j/s,t=c/16*s*(4+c*(4-3*s)),l=k,k=f+(1-t)*c*Math.sin(p)*(r+t*q*(n+t*o*(-1+2*n*n)))}if(m==0)return NaN;d=s*(d*d-e*e)/(e*e);c=d/1024*(256+d*(-128+d*(74-47*d)));return(e*(1+d/16384*(4096+d*(-768+d*(320-175*d))))*(r-c*q*(n+c/4*(o*(-1+2*n*n)-c/6*n*(-3+4*q*q)*(-3+4*n*n))))).toFixed(3)/1E3}; -OpenLayers.Util.destinationVincenty=function(a,b,c){for(var d=OpenLayers.Util,e=d.VincentyConstants,f=e.a,g=e.b,h=e.f,e=a.lon,a=a.lat,i=d.rad(b),b=Math.sin(i),i=Math.cos(i),a=(1-h)*Math.tan(d.rad(a)),j=1/Math.sqrt(1+a*a),k=a*j,l=Math.atan2(a,i),a=j*b,m=1-a*a,f=m*(f*f-g*g)/(g*g),n=1+f/16384*(4096+f*(-768+f*(320-175*f))),o=f/1024*(256+f*(-128+f*(74-47*f))),f=c/(g*n),q=2*Math.PI;Math.abs(f-q)>1.0E-12;)var r=Math.cos(2*l+f),p=Math.sin(f),s=Math.cos(f),t=o*p*(r+o/4*(s*(-1+2*r*r)-o/6*r*(-3+4*p*p)*(-3+4* -r*r))),q=f,f=c/(g*n)+t;c=k*p-j*s*i;g=Math.atan2(k*s+j*p*i,(1-h)*Math.sqrt(a*a+c*c));b=Math.atan2(p*b,j*s-k*p*i);i=h/16*m*(4+h*(4-3*m));r=b-(1-i)*h*a*(f+i*p*(r+i*s*(-1+2*r*r)));Math.atan2(a,-c);return new OpenLayers.LonLat(e+d.deg(r),d.deg(g))}; -OpenLayers.Util.getParameters=function(a){var a=a===null||a===void 0?window.location.href:a,b="";if(OpenLayers.String.contains(a,"?"))var b=a.indexOf("?")+1,c=OpenLayers.String.contains(a,"#")?a.indexOf("#"):a.length,b=a.substring(b,c);for(var a={},b=b.split(/[&;]/),c=0,d=b.length;c1?1/a:a};OpenLayers.Util.getResolutionFromScale=function(a,b){var c;a&&(b==null&&(b="degrees"),c=1/(OpenLayers.Util.normalizeScale(a)*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH));return c}; -OpenLayers.Util.getScaleFromResolution=function(a,b){b==null&&(b="degrees");return a*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH};OpenLayers.Util.safeStopPropagation=function(a){OpenLayers.Event.stop(a,true)}; -OpenLayers.Util.pagePosition=function(a){var b=[0,0],c=OpenLayers.Util.getViewportElement();if(!a||a==window||a==c)return b;var d=OpenLayers.IS_GECKO&&document.getBoxObjectFor&&OpenLayers.Element.getStyle(a,"position")=="absolute"&&(a.style.top==""||a.style.left==""),e=null;if(a.getBoundingClientRect)a=a.getBoundingClientRect(),e=c.scrollTop,b[0]=a.left+c.scrollLeft,b[1]=a.top+e;else if(document.getBoxObjectFor&&!d)a=document.getBoxObjectFor(a),c=document.getBoxObjectFor(c),b[0]=a.screenX-c.screenX, -b[1]=a.screenY-c.screenY;else{b[0]=a.offsetLeft;b[1]=a.offsetTop;e=a.offsetParent;if(e!=a)for(;e;)b[0]+=e.offsetLeft,b[1]+=e.offsetTop,e=e.offsetParent;c=OpenLayers.BROWSER_NAME;if(c=="opera"||c=="safari"&&OpenLayers.Element.getStyle(a,"position")=="absolute")b[1]-=document.body.offsetTop;for(e=a.offsetParent;e&&e!=document.body;){b[0]-=e.scrollLeft;if(c!="opera"||e.tagName!="TR")b[1]-=e.scrollTop;e=e.offsetParent}}return b}; -OpenLayers.Util.getViewportElement=function(){var a=arguments.callee.viewportElement;if(a==void 0)a=OpenLayers.BROWSER_NAME=="msie"&&document.compatMode!="CSS1Compat"?document.body:document.documentElement,arguments.callee.viewportElement=a;return a}; -OpenLayers.Util.isEquivalentUrl=function(a,b,c){c=c||{};OpenLayers.Util.applyDefaults(c,{ignoreCase:true,ignorePort80:true,ignoreHash:true});var a=OpenLayers.Util.createUrlObject(a,c),b=OpenLayers.Util.createUrlObject(b,c),d;for(d in a)if(d!=="args"&&a[d]!=b[d])return false;for(d in a.args){if(a.args[d]!=b.args[d])return false;delete b.args[d]}for(d in b.args)return false;return true}; -OpenLayers.Util.createUrlObject=function(a,b){b=b||{};if(!/^\w+:\/\//.test(a)){var c=window.location,d=c.port?":"+c.port:"",d=c.protocol+"//"+c.host.split(":").shift()+d;a.indexOf("/")===0?a=d+a:(c=c.pathname.split("/"),c.pop(),a=d+c.join("/")+"/"+a)}b.ignoreCase&&(a=a.toLowerCase());c=document.createElement("a");c.href=a;d={};d.host=c.host.split(":").shift();d.protocol=c.protocol;d.port=b.ignorePort80?c.port=="80"||c.port=="0"?"":c.port:c.port==""||c.port=="0"?"80":c.port;d.hash=b.ignoreHash||c.hash=== -"#"?"":c.hash;var e=c.search;e||(e=a.indexOf("?"),e=e!=-1?a.substr(e):"");d.args=OpenLayers.Util.getParameters(e);d.pathname=c.pathname.charAt(0)=="/"?c.pathname:"/"+c.pathname;return d};OpenLayers.Util.removeTail=function(a){var b=null,b=a.indexOf("?"),c=a.indexOf("#");return b=b==-1?c!=-1?a.substr(0,c):a:c!=-1?a.substr(0,Math.min(b,c)):a.substr(0,b)};OpenLayers.IS_GECKO=function(){var a=navigator.userAgent.toLowerCase();return a.indexOf("webkit")==-1&&a.indexOf("gecko")!=-1}(); -OpenLayers.BROWSER_NAME=function(){var a="",b=navigator.userAgent.toLowerCase();b.indexOf("opera")!=-1?a="opera":b.indexOf("msie")!=-1?a="msie":b.indexOf("safari")!=-1?a="safari":b.indexOf("mozilla")!=-1&&(a=b.indexOf("firefox")!=-1?"firefox":"mozilla");return a}();OpenLayers.Util.getBrowserName=function(){return OpenLayers.BROWSER_NAME}; -OpenLayers.Util.getRenderedDimensions=function(a,b,c){var d,e,f=document.createElement("div");f.style.visibility="hidden";var g=c&&c.containerElement?c.containerElement:document.body;if(b)if(b.w)d=b.w,f.style.width=d+"px";else if(b.h)e=b.h,f.style.height=e+"px";if(c&&c.displayClass)f.className=c.displayClass;b=document.createElement("div");b.innerHTML=a;b.style.overflow="visible";if(b.childNodes){a=0;for(c=b.childNodes.length;a=60&&(f-=60,d+=1,d>=60&&(d-=60,e+=1));e<10&&(e="0"+e);e+="\u00b0";c.indexOf("dm")>=0&&(d<10&&(d="0"+d),e+=d+"'",c.indexOf("dms")>=0&&(f<10&&(f="0"+f),e+=f+'"'));e+=b=="lon"?a<0?OpenLayers.i18n("W"):OpenLayers.i18n("E"):a<0?OpenLayers.i18n("S"):OpenLayers.i18n("N");return e}; -OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a},destroy:function(){},read:function(){throw Error("Read not implemented.");},write:function(){throw Error("Write not implemented.");},CLASS_NAME:"OpenLayers.Format"}); -OpenLayers.Format.JSON=OpenLayers.Class(OpenLayers.Format,{indent:" ",space:" ",newline:"\n",level:0,pretty:false,nativeJSON:function(){return!(!window.JSON||!(typeof JSON.parse=="function"&&typeof JSON.stringify=="function"))}(),read:function(a,b){var c;if(this.nativeJSON)c=JSON.parse(a,b);else try{if(/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))&&(c=eval("("+a+")"),typeof b=== -"function")){var d=function(a,c){if(c&&typeof c==="object")for(var e in c)c.hasOwnProperty(e)&&(c[e]=d(e,c[e]));return b(a,c)};c=d("",c)}}catch(e){}if(this.keepData)this.data=c;return c},write:function(a,b){this.pretty=!!b;var c=null,d=typeof a;if(this.serialize[d])try{c=!this.pretty&&this.nativeJSON?JSON.stringify(a):this.serialize[d].apply(this,[a])}catch(e){OpenLayers.Console.error("Trouble serializing: "+e)}return c},writeIndent:function(){var a=[];if(this.pretty)for(var b=0;b0&&c.push(","),c.push(this.writeNewline(),this.writeIndent(),b));this.level-=1;c.push(this.writeNewline(),this.writeIndent(), -"]");return c.join("")},string:function(a){var b={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(a)?'"'+a.replace(/([\x00-\x1f\\"])/g,function(a,d){var e=b[d];if(e)return e;e=d.charCodeAt();return"\\u00"+Math.floor(e/16).toString(16)+(e%16).toString(16)})+'"':'"'+a+'"'},number:function(a){return isFinite(a)?String(a):"null"},"boolean":function(a){return String(a)},date:function(a){function b(a){return a<10?"0"+a:a}return'"'+a.getFullYear()+ -"-"+b(a.getMonth()+1)+"-"+b(a.getDate())+"T"+b(a.getHours())+":"+b(a.getMinutes())+":"+b(a.getSeconds())+'"'}},CLASS_NAME:"OpenLayers.Format.JSON"}); -OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:null,popup:null,initialize:function(a,b,c){this.layer=a;this.lonlat=b;this.data=c!=null?c:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.layer!=null&&this.layer.map!=null&&this.popup!=null&&this.layer.map.removePopup(this.popup);this.layer!=null&&this.marker!=null&&this.layer.removeMarker(this.marker);this.data=this.lonlat=this.id=this.layer=null;if(this.marker!= -null)this.destroyMarker(this.marker),this.marker=null;if(this.popup!=null)this.destroyPopup(this.popup),this.popup=null},onScreen:function(){var a=false;this.layer!=null&&this.layer.map!=null&&(a=this.layer.map.getExtent().containsLonLat(this.lonlat));return a},createMarker:function(){if(this.lonlat!=null)this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon);return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(a){if(this.lonlat!=null){if(!this.popup)this.popup= -new (this.popupClass?this.popupClass:OpenLayers.Popup.AnchoredBubble)(this.id+"_popup",this.lonlat,this.data.popupSize,this.data.popupContentHTML,this.marker?this.marker.icon:null,a);if(this.data.overflow!=null)this.popup.contentDiv.style.overflow=this.data.overflow;this.popup.feature=this}return this.popup},destroyPopup:function(){if(this.popup)this.popup.feature=null,this.popup.destroy(),this.popup=null},CLASS_NAME:"OpenLayers.Feature"}); -OpenLayers.State={UNKNOWN:"Unknown",INSERT:"Insert",UPDATE:"Update",DELETE:"Delete"}; -OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,url:null,renderIntent:"default",modified:null,initialize:function(a,b,c){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,b]);this.lonlat=null;this.geometry=a?a:null;this.state=null;this.attributes={};if(b)this.attributes=OpenLayers.Util.extend(this.attributes,b);this.style=c?c:null},destroy:function(){if(this.layer)this.layer.removeFeatures(this),this.layer= -null;this.modified=this.geometry=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments)},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style)},onScreen:function(a){var b=false;this.layer&&this.layer.map&&(b=this.layer.map.getExtent(),a?(a=this.geometry.getBounds(),b=b.intersectsBounds(a)):b=b.toGeometry().intersects(this.geometry));return b},getVisibility:function(){return!(this.style&&this.style.display=="none"||!this.layer|| -this.layer&&this.layer.styleMap&&this.layer.styleMap.createSymbolizer(this,this.renderIntent).display=="none"||this.layer&&!this.layer.getVisibility())},createMarker:function(){return null},destroyMarker:function(){},createPopup:function(){return null},atPoint:function(a,b,c){var d=false;this.geometry&&(d=this.geometry.atPoint(a,b,c));return d},destroyPopup:function(){},move:function(a){if(this.layer&&this.geometry.move){var a=a.CLASS_NAME=="OpenLayers.LonLat"?this.layer.getViewPortPxFromLonLat(a): -a,b=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat()),c=this.layer.map.getResolution();this.geometry.move(c*(a.x-b.x),c*(b.y-a.y));this.layer.drawFeature(this);return b}},toState:function(a){if(a==OpenLayers.State.UPDATE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=a}else if(a==OpenLayers.State.INSERT)switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=a}else if(a==OpenLayers.State.DELETE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state= -a}else if(a==OpenLayers.State.UNKNOWN)this.state=a},CLASS_NAME:"OpenLayers.Feature.Vector"}); -OpenLayers.Feature.Vector.style={"default":{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},select:{fillColor:"blue",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1, -strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer"},temporary:{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1, -hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},"delete":{display:"none"}}; -OpenLayers.Format.WKT=OpenLayers.Class(OpenLayers.Format,{initialize:function(a){this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/};OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(a){var b,c,a=a.replace(/[\n\r]/g," ");if(c=this.regExes.typeStr.exec(a))if(a=c[1].toLowerCase(),c=c[2],this.parse[a]&&(b=this.parse[a].apply(this,[c])),this.internalProjection&&this.externalProjection)if(b&& -b.CLASS_NAME=="OpenLayers.Feature.Vector")b.geometry.transform(this.externalProjection,this.internalProjection);else if(b&&a!="geometrycollection"&&typeof b=="object"){a=0;for(c=b.length;a0&&d.push(","),b=a[e].geometry,d.push(this.extractGeometry(b));c&&d.push(")"); -return d.join("")},extractGeometry:function(a){var b=a.CLASS_NAME.split(".")[2].toLowerCase();if(!this.extract[b])return null;this.internalProjection&&this.externalProjection&&(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));return(b=="collection"?"GEOMETRYCOLLECTION":b.toUpperCase())+"("+this.extract[b].apply(this,[a])+")"},extract:{point:function(a){return a.x+" "+a.y},multipoint:function(a){for(var b=[],c=0,d=a.components.length;c=0;k--)switch(d=a[k],d.state){case OpenLayers.State.INSERT:h.push(d);break;case OpenLayers.State.UPDATE:i.push(d);break;case OpenLayers.State.DELETE:j.push(d)}h.length>0&&(f++,d=OpenLayers.Util.applyDefaults({callback:c,scope:this}, -b.create),e.push(this.create(h,d)));i.length>0&&(f++,d=OpenLayers.Util.applyDefaults({callback:c,scope:this},b.update),e.push(this.update(i,d)));j.length>0&&(f++,d=OpenLayers.Util.applyDefaults({callback:c,scope:this},b["delete"]),e.push(this["delete"](j,d)));return e},clear:function(){this.db.execute("DELETE FROM "+this.tableName)},callUserCallback:function(a,b){var c=a[b.requestType];c&&c.callback&&c.callback.call(c.scope,b);b.last&&a.callback&&a.callback.call(a.scope)},CLASS_NAME:"OpenLayers.Protocol.SQL.Gears"}); -OpenLayers.Event={observers:false,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(a){return a.target||a.srcElement},isSingleTouch:function(a){return a.touches&&a.touches.length==1},isMultiTouch:function(a){return a.touches&&a.touches.length>1},isLeftClick:function(a){return a.which&&a.which==1||a.button&&a.button==1},isRightClick:function(a){return a.which&&a.which==3||a.button&&a.button==2},stop:function(a,b){if(!b)a.preventDefault? -a.preventDefault():a.returnValue=false;a.stopPropagation?a.stopPropagation():a.cancelBubble=true},findElement:function(a,b){for(var c=OpenLayers.Event.element(a);c.parentNode&&(!c.tagName||c.tagName.toUpperCase()!=b.toUpperCase());)c=c.parentNode;return c},observe:function(a,b,c,d){a=OpenLayers.Util.getElement(a);d=d||false;if(b=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.attachEvent))b="keydown";if(!this.observers)this.observers={};if(!a._eventCacheID){var e="eventCacheID_"; -a.id&&(e=a.id+"_"+e);a._eventCacheID=OpenLayers.Util.createUniqueID(e)}e=a._eventCacheID;this.observers[e]||(this.observers[e]=[]);this.observers[e].push({element:a,name:b,observer:c,useCapture:d});a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},stopObservingElement:function(a){a=OpenLayers.Util.getElement(a)._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[a])},_removeElementObservers:function(a){if(a)for(var b=a.length-1;b>=0;b--){var c= -a[b];OpenLayers.Event.stopObserving.apply(this,[c.element,c.name,c.observer,c.useCapture])}},stopObserving:function(a,b,c,d){var d=d||false,a=OpenLayers.Util.getElement(a),e=a._eventCacheID;if(b=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.detachEvent))b="keydown";var f=false,g=OpenLayers.Event.observers[e];if(g)for(var h=0;!f&&hthis.duration&&this.stop()},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(a,b,c,d){return c*a/d+b},easeOut:function(a,b,c,d){return c*a/d+b},easeInOut:function(a,b,c,d){return c*a/d+b},CLASS_NAME:"OpenLayers.Easing.Linear"}; -OpenLayers.Easing.Expo={easeIn:function(a,b,c,d){return a==0?b:c*Math.pow(2,10*(a/d-1))+b},easeOut:function(a,b,c,d){return a==d?b+c:c*(-Math.pow(2,-10*a/d)+1)+b},easeInOut:function(a,b,c,d){return a==0?b:a==d?b+c:(a/=d/2)<1?c/2*Math.pow(2,10*(a-1))+b:c/2*(-Math.pow(2,-10*--a)+2)+b},CLASS_NAME:"OpenLayers.Easing.Expo"}; -OpenLayers.Easing.Quad={easeIn:function(a,b,c,d){return c*(a/=d)*a+b},easeOut:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInOut:function(a,b,c,d){return(a/=d/2)<1?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b},CLASS_NAME:"OpenLayers.Easing.Quad"}; -OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1E3},id:null,fractionalZoom:false,events:null,allOverlays:false,div:null,dragging:false,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,tileSize:null,projection:"EPSG:4326",units:"degrees",resolutions:null,maxResolution:1.40625,minResolution:null,maxScale:null,minScale:null, -maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:true,panTween:null,eventListeners:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,paddingForPopups:null,minPx:null,maxPx:null,initialize:function(a,b){arguments.length===1&&typeof a==="object"&&(a=(b=a)&&b.div);this.tileSize=new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,OpenLayers.Map.TILE_HEIGHT);this.maxExtent=new OpenLayers.Bounds(-180,-90,180,90);this.paddingForPopups= -new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+"theme/default/style.css";OpenLayers.Util.extend(this,b);if(this.maxExtent&&!(this.maxExtent instanceof OpenLayers.Bounds))this.maxExtent=new OpenLayers.Bounds(this.maxExtent);if(this.restrictedExtent&&!(this.restrictedExtent instanceof OpenLayers.Bounds))this.restrictedExtent=new OpenLayers.Bounds(this.restrictedExtent);this.layers=[];this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(a); -if(!this.div)this.div=document.createElement("div"),this.div.style.height="1px",this.div.style.width="1px";OpenLayers.Element.addClass(this.div,"olMap");var c=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(c,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);c=document.createElement("div");c.id=this.id+"_events";c.style.position= -"absolute";c.style.width="100%";c.style.height="100%";c.style.zIndex=this.Z_INDEX_BASE.Control-1;this.viewPortDiv.appendChild(c);this.eventsDiv=c;this.events=new OpenLayers.Events(this,this.eventsDiv,null,this.fallThrough,{includeXY:true});c=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(c);this.layerContainerDiv.style.width="100px";this.layerContainerDiv.style.height="100px";this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE.Popup-1;this.eventsDiv.appendChild(this.layerContainerDiv); -this.updateSize();if(this.eventListeners instanceof Object)this.events.on(this.eventListeners);this.events.register("movestart",this,this.updateSize);OpenLayers.String.contains(navigator.appName,"Microsoft")?this.events.register("resize",this,this.updateSize):(this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this),OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy));if(this.theme){for(var c=true,d=document.getElementsByTagName("link"),e=0,f=d.length;e=0;--a)this.controls[a].destroy();this.controls=null}if(this.layers!= -null){for(a=this.layers.length-1;a>=0;--a)this.layers[a].destroy(false);this.layers=null}this.viewPortDiv&&this.div.removeChild(this.viewPortDiv);this.viewPortDiv=null;if(this.eventListeners)this.events.un(this.eventListeners),this.eventListeners=null;this.events.destroy();this.events=null},setOptions:function(a){var b=this.minPx&&a.restrictedExtent!=this.restrictedExtent;OpenLayers.Util.extend(this,a);b&&this.moveTo(this.getCachedCenter(),this.zoom,{forceZoomChange:true})},getTileSize:function(){return this.tileSize}, -getBy:function(a,b,c){var d=typeof c.test=="function";return OpenLayers.Array.filter(this[a],function(a){return a[b]==c||d&&c.test(a[b])})},getLayersBy:function(a,b){return this.getBy("layers",a,b)},getLayersByName:function(a){return this.getLayersBy("name",a)},getLayersByClass:function(a){return this.getLayersBy("CLASS_NAME",a)},getControlsBy:function(a,b){return this.getBy("controls",a,b)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",a)},getLayer:function(a){for(var b=null, -c=0,d=this.layers.length;cthis.layers.length)b=this.layers.length;if(c!=b){this.layers.splice(c,1);this.layers.splice(b,0,a);for(var c=0,d=this.layers.length;c=0;--c)this.removePopup(this.popups[c]);a.map=this;this.popups.push(a);if(c=a.draw())c.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length,this.layerContainerDiv.appendChild(c)},removePopup:function(a){OpenLayers.Util.removeItem(this.popups,a);if(a.div)try{this.layerContainerDiv.removeChild(a.div)}catch(b){}a.map=null},getSize:function(){var a=null;this.size!= -null&&(a=this.size.clone());return a},updateSize:function(){var a=this.getCurrentSize();if(a&&!isNaN(a.h)&&!isNaN(a.w)){this.events.clearMouseCache();var b=this.getSize();if(b==null)this.size=b=a;if(!a.equals(b)){this.size=a;a=0;for(b=this.layers.length;a=this.minPx.x+ -h?Math.round(a):0;b=f<=this.maxPx.y-i&&f>=this.minPx.y+i?Math.round(b):0;if(a||b){if(!this.dragging)this.dragging=true,this.events.triggerEvent("movestart");this.center=null;if(a)this.layerContainerDiv.style.left=parseInt(this.layerContainerDiv.style.left)-a+"px",this.minPx.x-=a,this.maxPx.x-=a;if(b)this.layerContainerDiv.style.top=parseInt(this.layerContainerDiv.style.top)-b+"px",this.minPx.y-=b,this.maxPx.y-=b;for(d=0,e=this.layers.length;dthis.restrictedExtent.getWidth()?a=new OpenLayers.LonLat(g.lon,a.lat):f.leftthis.restrictedExtent.right&&(a=a.add(this.restrictedExtent.right-f.right,0));f.getHeight()>this.restrictedExtent.getHeight()?a=new OpenLayers.LonLat(a.lon,g.lat):f.bottomthis.restrictedExtent.top&&(a=a.add(0,this.restrictedExtent.top-f.top))}}e=e||this.isValidZoomLevel(b)&&b!=this.getZoom();f=this.isValidLonLat(a)&&!a.equals(this.center);if(e||f||d){d||this.events.triggerEvent("movestart");if(f)!e&&this.center&&this.centerLayerContainer(a),this.center=a.clone();a=e?this.getResolutionForZoom(b):this.getResolution();if(e||this.layerContainerOrigin==null){this.layerContainerOrigin=this.getCachedCenter();this.layerContainerDiv.style.left= -"0px";this.layerContainerDiv.style.top="0px";var h=this.getMaxExtent({restricted:true}),f=h.getCenterLonLat(),g=this.center.lon-f.lon,i=f.lat-this.center.lat,f=Math.round(h.getWidth()/a),h=Math.round(h.getHeight()/a),g=(this.size.w-f)/2-g/a,i=(this.size.h-h)/2-i/a;this.minPx=new OpenLayers.Pixel(g,i);this.maxPx=new OpenLayers.Pixel(g+f,i+h)}if(e)this.zoom=b,this.resolution=a;a=this.getExtent();this.baseLayer.visibility&&(this.baseLayer.moveTo(a,e,c.dragging),c.dragging||this.baseLayer.events.triggerEvent("moveend", -{zoomChanged:e}));a=this.baseLayer.getExtent();for(b=this.layers.length-1;b>=0;--b)if(f=this.layers[b],f!==this.baseLayer&&!f.isBaseLayer){g=f.calculateInRange();if(f.inRange!=g)(f.inRange=g)||f.display(false),this.events.triggerEvent("changelayer",{layer:f,property:"visibility"});g&&f.visibility&&(f.moveTo(a,e,c.dragging),c.dragging||f.events.triggerEvent("moveend",{zoomChanged:e}))}this.events.triggerEvent("move");d||this.events.triggerEvent("moveend");if(e){b=0;for(c=this.popups.length;b=0&&a0&&(a=this.layers[0].getResolution()); -return a},getUnits:function(){var a=null;if(this.baseLayer!=null)a=this.baseLayer.units;return a},getScale:function(){var a=null;this.baseLayer!=null&&(a=this.getResolution(),a=OpenLayers.Util.getScaleFromResolution(a,this.baseLayer.units));return a},getZoomForExtent:function(a,b){var c=null;this.baseLayer!=null&&(c=this.baseLayer.getZoomForExtent(a,b));return c},getResolutionForZoom:function(a){var b=null;this.baseLayer&&(b=this.baseLayer.getResolutionForZoom(a));return b},getZoomForResolution:function(a, -b){var c=null;this.baseLayer!=null&&(c=this.baseLayer.getZoomForResolution(a,b));return c},zoomTo:function(a){this.isValidZoomLevel(a)&&this.setCenter(null,a)},zoomIn:function(){this.zoomTo(this.getZoom()+1)},zoomOut:function(){this.zoomTo(this.getZoom()-1)},zoomToExtent:function(a,b){a instanceof OpenLayers.Bounds||(a=new OpenLayers.Bounds(a));var c=a.getCenterLonLat();if(this.baseLayer.wrapDateLine){c=this.getMaxExtent();for(a=a.clone();a.right=0){this.initResolutions();b&&this.map.baseLayer===this&&(this.map.setCenter(this.map.getCenter(), -this.map.getZoomForResolution(c),false,true),this.map.events.triggerEvent("changebaselayer",{layer:this}));break}}},onMapResize:function(){},redraw:function(){var a=false;if(this.map){this.inRange=this.calculateInRange();var b=this.getExtent();b&&this.inRange&&this.visibility&&(this.moveTo(b,true,false),this.events.triggerEvent("moveend",{zoomChanged:true}),a=true)}return a},moveTo:function(){var a=this.visibility;this.isBaseLayer||(a=a&&this.inRange);this.display(a)},moveByPx:function(){},setMap:function(a){if(this.map== -null){this.map=a;this.maxExtent=this.maxExtent||this.map.maxExtent;this.minExtent=this.minExtent||this.map.minExtent;this.projection=this.projection||this.map.projection;if(typeof this.projection=="string")this.projection=new OpenLayers.Projection(this.projection);this.units=this.projection.getUnits()||this.units||this.map.units;this.initResolutions();if(!this.isBaseLayer)this.inRange=this.calculateInRange(),this.div.style.display=this.visibility&&this.inRange?"":"none";this.setTileSize()}},afterAdd:function(){}, -removeMap:function(){},getImageSize:function(){return this.imageSize||this.tileSize},setTileSize:function(a){this.tileSize=a=a?a:this.tileSize?this.tileSize:this.map.getTileSize();if(this.gutter)this.imageOffset=new OpenLayers.Pixel(-this.gutter,-this.gutter),this.imageSize=new OpenLayers.Size(a.w+2*this.gutter,a.h+2*this.gutter)},getVisibility:function(){return this.visibility},setVisibility:function(a){if(a!=this.visibility)this.visibility=a,this.display(a),this.redraw(),this.map!=null&&this.map.events.triggerEvent("changelayer", -{layer:this,property:"visibility"}),this.events.triggerEvent("visibilitychanged")},display:function(a){if(a!=(this.div.style.display!="none"))this.div.style.display=a&&this.calculateInRange()?"block":"none"},calculateInRange:function(){var a=false;this.alwaysInRange?a=true:this.map&&(a=this.map.getResolution(),a=a>=this.minResolution&&a<=this.maxResolution);return a},setIsBaseLayer:function(a){if(a!=this.isBaseLayer)this.isBaseLayer=a,this.map!=null&&this.map.events.triggerEvent("changebaselayer", -{layer:this})},initResolutions:function(){var a,b,c,d={},e=true;for(a=0,b=this.RESOLUTION_PROPERTIES.length;a=a&&(f=h,e=c),h<= -a){g=h;break}c=f-g;c=c>0?e+(f-a)/c:e}else{f=Number.POSITIVE_INFINITY;for(c=0,d=this.resolutions.length;cf)break;f=e}else if(this.resolutions[c]0&&(a=a.substring(b));b=OpenLayers.Util.Try(OpenLayers.Function.bind(function(){var b;b=window.ActiveXObject&&!this.xmldom?new ActiveXObject("Microsoft.XMLDOM"):this.xmldom;b.loadXML(a);return b},this),function(){return(new DOMParser).parseFromString(a,"text/xml")},function(){var b=new XMLHttpRequest;b.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(a),false); -b.overrideMimeType&&b.overrideMimeType("text/xml");b.send(null);return b.responseXML});if(this.keepData)this.data=b;return b},write:function(a){if(this.xmldom)a=a.xml;else{var b=new XMLSerializer;if(a.nodeType==1){var c=document.implementation.createDocument("","",null);c.importNode&&(a=c.importNode(a,true));c.appendChild(a);a=b.serializeToString(c)}else a=b.serializeToString(a)}return a},createElementNS:function(a,b){return this.xmldom?typeof a=="string"?this.xmldom.createNode(1,b,a):this.xmldom.createNode(1, -b,""):document.createElementNS(a,b)},createTextNode:function(a){typeof a!=="string"&&(a=String(a));return this.xmldom?this.xmldom.createTextNode(a):document.createTextNode(a)},getElementsByTagNameNS:function(a,b,c){var d=[];if(a.getElementsByTagNameNS)d=a.getElementsByTagNameNS(b,c);else for(var a=a.getElementsByTagName("*"),e,f,g=0,h=a.length;g0?(d=a.substring(0,e),a=a.substring(e+1)):d=c?this.namespaceAlias[c.namespaceURI]:this.defaultPrefix;b=this.writers[d][a].apply(this,[b]);c&&c.appendChild(b);return b},getChildEl:function(a,b,c){return a&&this.getThisOrNextEl(a.firstChild, -b,c)},getNextEl:function(a,b,c){return a&&this.getThisOrNextEl(a.nextSibling,b,c)},getThisOrNextEl:function(a,b,c){a:for(;a;a=a.nextSibling)switch(a.nodeType){case 1:if((!b||b===(a.localName||a.nodeName.split(":").pop()))&&(!c||c===a.namespaceURI))break a;a=null;break a;case 3:if(/^\s*$/.test(a.nodeValue))break;case 4:case 6:case 12:case 10:case 11:a=null;break a}return a||null},lookupNamespaceURI:function(a,b){var c=null;if(a)if(a.lookupNamespaceURI)c=a.lookupNamespaceURI(b);else a:switch(a.nodeType){case 1:if(a.namespaceURI!== -null&&a.prefix===b){c=a.namespaceURI;break a}if(c=a.attributes.length)for(var d,e=0;e=0&&f<=1&&l>=0&&l<=1&&(d?(h=a.x1+f*h,l=a.y1+f*i,e=new OpenLayers.Geometry.Point(h,l)):e=true));if(c)if(e){if(d){a=[a,b];b=0;a:for(;b<2;++b){f=a[b];for(i=1;i<3;++i)if(h=f["x"+i],l=f["y"+i],d=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(l-e.y,2)),d=1?(e=g,f=h):(e+=k*i,f+=k*j));return{distance:Math.sqrt(Math.pow(e-c,2)+Math.pow(f-d,2)),x:e,y:f}}; -OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(a,b){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(a);this.y=parseFloat(b)},clone:function(a){a==null&&(a=new OpenLayers.Geometry.Point(this.x,this.y));OpenLayers.Util.applyDefaults(a,this);return a},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y)},distanceTo:function(a,b){var c=!(b&&b.edge===false)&&b&&b.details,d,e,f,g,h;a instanceof -OpenLayers.Geometry.Point?(e=this.x,f=this.y,g=a.x,h=a.y,d=Math.sqrt(Math.pow(e-g,2)+Math.pow(f-h,2)),d=!c?d:{x0:e,y0:f,x1:g,y1:h,distance:d}):(d=a.distanceTo(this,b),c&&(d={x0:d.x1,y0:d.y1,x1:d.x0,y1:d.y0,distance:d.distance}));return d},equals:function(a){var b=false;a!=null&&(b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y));return b},toShortString:function(){return this.x+", "+this.y},move:function(a,b){this.x+=a;this.y+=b;this.clearBounds()},rotate:function(a, -b){a*=Math.PI/180;var c=this.distanceTo(b),d=a+Math.atan2(this.y-b.y,this.x-b.x);this.x=b.x+c*Math.cos(d);this.y=b.y+c*Math.sin(d);this.clearBounds()},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y)},resize:function(a,b,c){this.x=b.x+a*(c==void 0?1:c)*(this.x-b.x);this.y=b.y+a*(this.y-b.y);this.clearBounds();return this},intersects:function(a){var b=false;return b=a.CLASS_NAME=="OpenLayers.Geometry.Point"?this.equals(a):a.intersects(this)},transform:function(a,b){if(a&& -b)OpenLayers.Projection.transform(this,a,b),this.bounds=null;return this},getVertices:function(){return[this]},CLASS_NAME:"OpenLayers.Geometry.Point"}); -OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(a){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];a!=null&&this.addComponents(a)},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments)},clone:function(){for(var a=eval("new "+this.CLASS_NAME+"()"),b=0,c=this.components.length;b-1)){if(b!=null&&b=0;--c)b=this.removeComponent(a[c])||b;return b},removeComponent:function(a){OpenLayers.Util.removeItem(this.components,a);this.clearBounds();return true},getLength:function(){for(var a=0,b=0,c=this.components.length;b0?h:e,c.push(f))}a=b.length;if(d===0){for(g=0;g1)for(var b=1,c=this.components.length;b1)for(var d,e=1,f=b.components.length;e< -f;e++)c=b.components[e-1],d=b.components[e],a+=OpenLayers.Util.distVincenty({lon:c.x,lat:c.y},{lon:d.x,lat:d.y});return a*1E3},CLASS_NAME:"OpenLayers.Geometry.Curve"}); -OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{removeComponent:function(a){var b=this.components&&this.components.length>2;b&&OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);return b},intersects:function(a){var b=false,c=a.CLASS_NAME;if(c=="OpenLayers.Geometry.LineString"||c=="OpenLayers.Geometry.LinearRing"||c=="OpenLayers.Geometry.Point"){var d=this.getSortedSegments(),a=c=="OpenLayers.Geometry.Point"?[{x1:a.x,y1:a.y,x2:a.x,y2:a.y}]:a.getSortedSegments(), -e,f,g,h,i,j,k,l=0,m=d.length;a:for(;lf)break;if(!(i.x2Math.max(g,h))&&!(Math.max(j,k)0)var r=a.x10&&(n.unshift(p,1),Array.prototype.splice.apply(h,n),p+=n.length-2),d)for(var s=0,t=m.points.length;s0&&o.length>0&&(o.push(k.clone()),g.push(new OpenLayers.Geometry.LineString(o)))}else c= -a.splitWith(this,b);h&&h.length>1?f=true:h=[];g&&g.length>1?e=true:g=[];if(f||e)c=d?[g,h]:h;return c},splitWith:function(a,b){return a.split(this,b)},getVertices:function(a){return a===true?[this.components[0],this.components[this.components.length-1]]:a===false?this.components.slice(1,this.components.length-1):this.components.slice()},distanceTo:function(a,b){var c=!(b&&b.edge===false)&&b&&b.details,d,e={},f=Number.POSITIVE_INFINITY;if(a instanceof OpenLayers.Geometry.Point){for(var g=this.getSortedSegments(), -h=a.x,i=a.y,j,k=0,l=g.length;kh&&(i>j.y1&&ij.y2))break;e=c?{distance:e.distance,x0:e.x,y0:e.y,x1:h,y1:i}:e.distance}else if(a instanceof OpenLayers.Geometry.LineString){var g=this.getSortedSegments(),h=a.getSortedSegments(),m,n,o=h.length,q={point:true},k=0,l=g.length;a:for(;kj&&(j=m,k=l)}j>i&&k!=b&&(e.push(k),c(a,b,k,i),c(a,k,d,i))},d=b.length-1,e=[];e.push(0);for(e.push(d);b[0].equals(b[d]);)d--,e.push(d);c(b,0,d,a);a=[];e.sort(function(a,b){return a-b});for(d=0;d3;b&&(this.components.pop(),OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this, -arguments),OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[this.components[0]]));return b},move:function(a,b){for(var c=0,d=this.components.length;c2){for(var a=0,b=0,c=0;c2){for(var b=a=0,c=this.components.length;b2){for(var d,e,f=0;f=g&&c<=h||g>=h&&c<=g&&c>=h)){j=-1;break}}else{i=b(((g-h)*a+(h*e-g*f))/(e-f),14);if(i==c&&(e=e&&a<=f||e>f&&a<=e&&a>=f)){j=-1;break}i<=c||g!=h&&(iMath.max(g,h))||(e=e&&af&&a=f)&&++j}return j==-1?1:!!(j&1)},intersects:function(a){var b=false;if(a.CLASS_NAME=="OpenLayers.Geometry.Point")b= -this.containsPoint(a);else if(a.CLASS_NAME=="OpenLayers.Geometry.LineString")b=a.intersects(this);else if(a.CLASS_NAME=="OpenLayers.Geometry.LinearRing")b=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[a]);else for(var c=0,d=a.components.length;c0){a+=Math.abs(this.components[0].getArea());for(var b=1,c=this.components.length;b0){b+=Math.abs(this.components[0].getGeodesicArea(a));for(var c=1,d=this.components.length;c< -d;c++)b-=Math.abs(this.components[c].getGeodesicArea(a))}return b},containsPoint:function(a){var b=this.components.length,c=false;if(b>0&&(c=this.components[0].containsPoint(a),c!==1&&c&&b>1))for(var d,e=1;e0||c.length>0&&d.length>0){b.length>0?(c=OpenLayers.String.trim(b[0].firstChild.nodeValue).split(/\s+/),c.length!=2&&(c=OpenLayers.String.trim(b[0].firstChild.nodeValue).split(/\s*,\s*/))):c=[parseFloat(c[0].firstChild.nodeValue),parseFloat(d[0].firstChild.nodeValue)]; -var h=new OpenLayers.Geometry.Point(c[1],c[0])}else if(e.length>0){c=OpenLayers.String.trim(this.getChildValue(e[0])).split(/\s+/);d=[];e=0;for(f=c.length;e0){c=OpenLayers.String.trim(this.getChildValue(f[0])).split(/\s+/);d=[];e=0;for(f=c.length;e -0){if(!this.gmlParser)this.gmlParser=new OpenLayers.Format.GML({xy:this.xy});h=this.gmlParser.parseFeature(g[0]).geometry}else a.length>0&&(c=OpenLayers.String.trim(a[0].firstChild.nodeValue).split(/\s+/),d=[],c.length>3&&(b=new OpenLayers.Geometry.Point(c[1],c[0]),d.push(b),b=new OpenLayers.Geometry.Point(c[1],c[2]),d.push(b),b=new OpenLayers.Geometry.Point(c[3],c[2]),d.push(b),b=new OpenLayers.Geometry.Point(c[3],c[0]),d.push(b),b=new OpenLayers.Geometry.Point(c[1],c[0]),d.push(b)),h=new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(d)])); -h&&this.internalProjection&&this.externalProjection&&h.transform(this.externalProjection,this.internalProjection);return h},createFeatureFromItem:function(a){var b=this.createGeometryFromItem(a),c=this._getChildValue(a,"*","title",this.featureTitle),d=this._getChildValue(a,"*","description",this._getChildValue(a,"*","content",this._getChildValue(a,"*","summary",this.featureDescription))),e=this._getChildValue(a,"*","link");if(!e)try{e=this.getElementsByTagNameNS(a,"*","link")[0].getAttribute("href")}catch(f){e= -null}a=this._getChildValue(a,"*","id",null);b=new OpenLayers.Feature.Vector(b,{title:c,description:d,link:e});b.fid=a;return b},_getChildValue:function(a,b,c,d){return(a=this.getElementsByTagNameNS(a,b,c))&&a[0]&&a[0].firstChild&&a[0].firstChild.nodeValue?this.getChildValue(a[0]):d==void 0?"":d},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=null,b=this.getElementsByTagNameNS(a,"*","item");b.length==0&&(b=this.getElementsByTagNameNS(a,"*","entry")); -for(var a=b.length,c=Array(a),d=0;d0){f=true;g=0;for(h=e.length;g0&&f==false)b.display="none";if(b.label!=null&& -typeof b.label!=="string")b.label=String(b.label);return b},applySymbolizer:function(a,b,c){var d=c.geometry?this.getSymbolizerPrefix(c.geometry):OpenLayers.Style.SYMBOLIZER_PREFIXES[0],a=a.symbolizer[d]||a.symbolizer;if(this.defaultsPerSymbolizer===true)d=this.defaultStyle,OpenLayers.Util.applyDefaults(a,{pointRadius:d.pointRadius}),(a.stroke===true||a.graphic===true)&&OpenLayers.Util.applyDefaults(a,{strokeWidth:d.strokeWidth,strokeColor:d.strokeColor,strokeOpacity:d.strokeOpacity,strokeDashstyle:d.strokeDashstyle, -strokeLinecap:d.strokeLinecap}),(a.fill===true||a.graphic===true)&&OpenLayers.Util.applyDefaults(a,{fillColor:d.fillColor,fillOpacity:d.fillOpacity}),a.graphic===true&&OpenLayers.Util.applyDefaults(a,{pointRadius:this.defaultStyle.pointRadius,externalGraphic:this.defaultStyle.externalGraphic,graphicName:this.defaultStyle.graphicName,graphicOpacity:this.defaultStyle.graphicOpacity,graphicWidth:this.defaultStyle.graphicWidth,graphicHeight:this.defaultStyle.graphicHeight,graphicXOffset:this.defaultStyle.graphicXOffset, -graphicYOffset:this.defaultStyle.graphicYOffset});return this.createLiterals(OpenLayers.Util.extend(b,a),c)},createLiterals:function(a,b){var c=OpenLayers.Util.extend({},b.attributes||b.data);OpenLayers.Util.extend(c,this.context);for(var d in this.propertyStyles)a[d]=OpenLayers.Style.createLiteral(a[d],c,b,d);return a},findPropertyStyles:function(){var a={};this.addPropertyStyles(a,this.defaultStyle);for(var b=this.rules,c,d,e=0,f=b.length;ethis.value;break;case OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:b=a<=this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:b= -a>=this.value;break;case OpenLayers.Filter.Comparison.BETWEEN:b=a>=this.lowerBoundary&&a<=this.upperBoundary;break;case OpenLayers.Filter.Comparison.LIKE:b=RegExp(this.value,"gi").test(a)}return b},value2regex:function(a,b,c){if(a==".")throw Error("'.' is an unsupported wildCard character for OpenLayers.Filter.Comparison");a=a?a:"*";b=b?b:".";this.value=this.value.replace(RegExp("\\"+(c?c:"!")+"(.|$)","g"),"\\$1");this.value=this.value.replace(RegExp("\\"+b,"g"),".");this.value=this.value.replace(RegExp("\\"+ -a,"g"),".*");this.value=this.value.replace(RegExp("\\\\.\\*","g"),"\\"+a);return this.value=this.value.replace(RegExp("\\\\\\.","g"),"\\"+b)},regex2value:function(){var a=this.value,a=a.replace(/!/g,"!!"),a=a.replace(/(\\)?\\\./g,function(a,c){return c?a:"!."}),a=a.replace(/(\\)?\\\*/g,function(a,c){return c?a:"!*"}),a=a.replace(/\\\\/g,"\\");return a=a.replace(/\.\*/g,"*")},clone:function(){return OpenLayers.Util.extend(new OpenLayers.Filter.Comparison,this)},CLASS_NAME:"OpenLayers.Filter.Comparison"}); -OpenLayers.Filter.Comparison.EQUAL_TO="==";OpenLayers.Filter.Comparison.NOT_EQUAL_TO="!=";OpenLayers.Filter.Comparison.LESS_THAN="<";OpenLayers.Filter.Comparison.GREATER_THAN=">";OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO="<=";OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO=">=";OpenLayers.Filter.Comparison.BETWEEN="..";OpenLayers.Filter.Comparison.LIKE="~";OpenLayers.Format.Filter=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",CLASS_NAME:"OpenLayers.Format.Filter"}); -OpenLayers.Filter.Function=OpenLayers.Class(OpenLayers.Filter,{name:null,params:null,CLASS_NAME:"OpenLayers.Filter.Function"}); -OpenLayers.Format.Filter.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ogc:"http://www.opengis.net/ogc",gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"ogc",schemaLocation:null,initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){var b={};this.readers.ogc.Filter.apply(this,[a,b]);return b.filter},readers:{ogc:{_expression:function(a){for(var b="",c=a.firstChild;c;c= -c.nextSibling)switch(c.nodeType){case 1:a=this.readNode(c);a.property?b+="${"+a.property+"}":a.value!==void 0&&(b+=a.value);break;case 3:case 4:b+=c.nodeValue}return b},Filter:function(a,b){var c={fids:[],filters:[]};this.readChildNodes(a,c);if(c.fids.length>0)b.filter=new OpenLayers.Filter.FeatureId({fids:c.fids});else if(c.filters.length>0)b.filter=c.filters[0]},FeatureId:function(a,b){var c=a.getAttribute("fid");c&&b.fids.push(c)},And:function(a,b){var c=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND}); -this.readChildNodes(a,c);b.filters.push(c)},Or:function(a,b){var c=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.OR});this.readChildNodes(a,c);b.filters.push(c)},Not:function(a,b){var c=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.NOT});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsLessThan:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsGreaterThan:function(a, -b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsLessThanOrEqualTo:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsGreaterThanOrEqualTo:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO});this.readChildNodes(a,c);b.filters.push(c)}, -PropertyIsBetween:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN});this.readChildNodes(a,c);b.filters.push(c)},Literal:function(a,b){b.value=OpenLayers.String.numericIf(this.getChildValue(a))},PropertyName:function(a,b){b.property=this.getChildValue(a)},LowerBoundary:function(a,b){b.lowerBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this,a))},UpperBoundary:function(a,b){b.upperBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this, -a))},Intersects:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.INTERSECTS)},Within:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.WITHIN)},Contains:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.CONTAINS)},DWithin:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.DWITHIN)},Distance:function(a,b){b.distance=parseInt(this.getChildValue(a));b.distanceUnits=a.getAttribute("units")},Function:function(){}}},readSpatial:function(a,b,c){c=new OpenLayers.Filter.Spatial({type:c}); -this.readChildNodes(a,c);c.value=c.components[0];delete c.components;b.filters.push(c)},writeOgcExpression:function(a,b){if(a instanceof OpenLayers.Filter.Function){var c=this.writeNode("Function",a,b);b.appendChild(c)}else this.writeNode("Literal",a,b);return b},write:function(a){return this.writers.ogc.Filter.apply(this,[a])},writeFeatureIdNodes:function(a,b){for(var c=0,d=a.fids.length;c":"PropertyIsGreaterThan", -"<=":"PropertyIsLessThanOrEqualTo",">=":"PropertyIsGreaterThanOrEqualTo","..":"PropertyIsBetween","~":"PropertyIsLike",BBOX:"BBOX",DWITHIN:"DWITHIN",WITHIN:"WITHIN",CONTAINS:"CONTAINS",INTERSECTS:"INTERSECTS",FID:"FeatureId"},CLASS_NAME:"OpenLayers.Format.Filter.v1"}); -OpenLayers.Geometry.MultiLineString=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LineString"],split:function(a,b){for(var c=null,d=b&&b.mutual,e,f,g,h,i=[],j=[a],k=0,l=this.components.length;k1?g=true:i=[];j&&j.length>1?h=true:j=[];if(g||h)c=d?[i,j]:j;return c},splitWith:function(a,b){var c=null,d=b&&b.mutual,e,f,g,h,i,j;if(a instanceof OpenLayers.Geometry.LineString){j=[];i=[a];for(var k=0,l=this.components.length;k1?h=true:i=[];j&&j.length>1?g=true:j=[];if(h||g)c=d?[i,j]:j;return c},CLASS_NAME:"OpenLayers.Geometry.MultiLineString"}); -OpenLayers.Geometry.MultiPolygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Polygon"],CLASS_NAME:"OpenLayers.Geometry.MultiPolygon"}); -OpenLayers.Format.GML=OpenLayers.Class(OpenLayers.Format.XML,{featureNS:"http://mapserver.gis.umn.edu/mapserver",featurePrefix:"feature",featureName:"featureMember",layerName:"features",geometryName:"geometry",collectionName:"FeatureCollection",gmlns:"http://www.opengis.net/gml",extractAttributes:true,xy:true,initialize:function(a){this.regExes={trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g};OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){typeof a== -"string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var a=this.getElementsByTagNameNS(a.documentElement,this.gmlns,this.featureName),b=[],c=0;c0){if(e=this.parseGeometry[c.toLowerCase()])e=e.apply(this, -[d[0]]),this.internalProjection&&this.externalProjection&&e.transform(this.externalProjection,this.internalProjection);else throw new TypeError("Unsupported geometry type: "+c);break}var g;c=this.getElementsByTagNameNS(a,this.gmlns,"Box");for(f=0;f0)c=b[0].firstChild.nodeValue,c=c.replace(this.regExes.trimSpace,""),c=c.split(this.regExes.splitSpace);if(c.length==0&&(b=this.getElementsByTagNameNS(a, -this.gmlns,"coordinates"),b.length>0))c=b[0].firstChild.nodeValue,c=c.replace(this.regExes.removeSpace,""),c=c.split(",");c.length==0&&(b=this.getElementsByTagNameNS(a,this.gmlns,"coord"),b.length>0&&(a=this.getElementsByTagNameNS(b[0],this.gmlns,"X"),b=this.getElementsByTagNameNS(b[0],this.gmlns,"Y"),a.length>0&&b.length>0&&(c=[a[0].firstChild.nodeValue,b[0].firstChild.nodeValue])));c.length==2&&(c[2]=null);return this.xy?new OpenLayers.Geometry.Point(c[0],c[1],c[2]):new OpenLayers.Geometry.Point(c[1], -c[0],c[2])},multipoint:function(a){var a=this.getElementsByTagNameNS(a,this.gmlns,"Point"),b=[];if(a.length>0)for(var c,d=0;d0){d=this.getChildValue(c[0]);d=d.replace(this.regExes.trimSpace,"");d=d.split(this.regExes.splitSpace);var f=parseInt(c[0].getAttribute("dimension")), -g,h,i;for(c=0;c0)){d=this.getChildValue(c[0]);d=d.replace(this.regExes.trimSpace,"");d=d.replace(this.regExes.trimComma,",");f=d.split(this.regExes.splitSpace);for(c=0;c0)for(var c,d=0;d0)for(var c,d=0;d0)for(var c,d=0;d -0){c=[];if(e.length>0)c=e[0].firstChild.nodeValue,c=c.replace(this.regExes.trimSpace,""),c=c.split(this.regExes.splitSpace);c.length==2&&(c[2]=null);var f=this.xy?new OpenLayers.Geometry.Point(c[0],c[1],c[2]):new OpenLayers.Geometry.Point(c[1],c[0],c[2])}a=this.getElementsByTagNameNS(a,this.gmlns,"upperCorner");if(a.length>0){c=[];if(a.length>0)c=a[0].firstChild.nodeValue,c=c.replace(this.regExes.trimSpace,""),c=c.split(this.regExes.splitSpace);c.length==2&&(c[2]=null);var g=this.xy?new OpenLayers.Geometry.Point(c[0], -c[1],c[2]):new OpenLayers.Geometry.Point(c[1],c[0],c[2])}f&&g&&(b.push(new OpenLayers.Geometry.Point(f.x,f.y)),b.push(new OpenLayers.Geometry.Point(g.x,f.y)),b.push(new OpenLayers.Geometry.Point(g.x,g.y)),b.push(new OpenLayers.Geometry.Point(f.x,g.y)),b.push(new OpenLayers.Geometry.Point(f.x,f.y)),b=new OpenLayers.Geometry.LinearRing(b),d=new OpenLayers.Geometry.Polygon([b]));return d},box:function(a){var b=this.getElementsByTagNameNS(a,this.gmlns,"coordinates"),c=a=null;if(b.length>0)b=b[0].firstChild.nodeValue, -b=b.split(" "),b.length==2&&(a=b[0].split(","),c=b[1].split(","));if(a!==null&&c!==null)return new OpenLayers.Bounds(parseFloat(a[0]),parseFloat(a[1]),parseFloat(c[0]),parseFloat(c[1]))}},parseAttributes:function(a){for(var b={},a=a.firstChild,c,d,e;a;){if(a.nodeType==1){a=a.childNodes;for(c=0;c0)b.bounds=c.components[0]},Point:function(a,b){var c={points:[]};this.readChildNodes(a,c);if(!b.components)b.components=[];b.components.push(c.points[0])},coordinates:function(a,b){for(var c=this.getChildValue(a).replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),c=c.split(this.regExes.splitSpace),d,e=c.length,f=Array(e),g=0;g0)b.components=[new OpenLayers.Geometry.MultiLineString(c.components)]},curveMember:function(a,b){this.readChildNodes(a,b)},MultiSurface:function(a,b){var c={components:[]};this.readChildNodes(a,c);if(c.components.length>0)b.components=[new OpenLayers.Geometry.MultiPolygon(c.components)]},surfaceMember:function(a,b){this.readChildNodes(a, -b)},surfaceMembers:function(a,b){this.readChildNodes(a,b)},pointMembers:function(a,b){this.readChildNodes(a,b)},lineStringMembers:function(a,b){this.readChildNodes(a,b)},polygonMembers:function(a,b){this.readChildNodes(a,b)},geometryMembers:function(a,b){this.readChildNodes(a,b)},Envelope:function(a,b){var c={points:Array(2)};this.readChildNodes(a,c);if(!b.components)b.components=[];var d=c.points[0],c=c.points[1];b.components.push(new OpenLayers.Bounds(d.x,d.y,c.x,c.y))},lowerCorner:function(a,b){var c= -{};this.readers.gml.pos.apply(this,[a,c]);b.points[0]=c.points[0]},upperCorner:function(a,b){var c={};this.readers.gml.pos.apply(this,[a,c]);b.points[1]=c.points[0]}},OpenLayers.Format.GML.Base.prototype.readers.gml),feature:OpenLayers.Format.GML.Base.prototype.readers.feature,wfs:OpenLayers.Format.GML.Base.prototype.readers.wfs},write:function(a){a=this.writeNode("gml:"+(OpenLayers.Util.isArray(a)?"featureMembers":"featureMember"),a);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation", -this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{gml:OpenLayers.Util.applyDefaults({featureMembers:function(a){for(var b=this.createElementNSPlus("gml:featureMembers"),c=0,d=a.length;c=0;b--)a=this.controls[b],a.events&&a.events.un({activate:this.iconOn,deactivate:this.iconOff}),OpenLayers.Event.stopObservingElement(a.panel_div), -a.panel_div=null;this.activeState=null},activate:function(){if(OpenLayers.Control.prototype.activate.apply(this,arguments)){for(var a,b=0,c=this.controls.length;b=0;a--)this.div.removeChild(this.div.childNodes[a]);this.div.innerHTML="";if(this.active)for(var a=0,b=this.controls.length;aa.lon)b.lon<0?b.lon=-180-(b.lon+180):a.lon= -180+a.lon+180;return new OpenLayers.Bounds(b.lon,a.lat,a.lon,b.lat)},CLASS_NAME:"OpenLayers.Tile"}); -OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,imageReloadAttempts:null,layerAlphaHack:null,asyncRequestId:null,blankImageUrl:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAQAIBRAA7",maxGetUrlLength:null,initialize:function(a,b,c,d,e,f){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=d;this.frame=document.createElement("div");this.frame.style.position="absolute";this.frame.style.overflow="hidden";this.layerAlphaHack= -this.layer.alpha&&OpenLayers.Util.alphaHack();this.maxGetUrlLength!=null&&OpenLayers.Util.extend(this,OpenLayers.Tile.Image.IFrame)},destroy:function(){if(this.frame!=null)this.clear(),this.frame=this.imgDiv=null;this.asyncRequestId=null;OpenLayers.Tile.prototype.destroy.apply(this,arguments)},draw:function(){var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);if(a){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject)this.bounds=this.getBoundsFromBaseLayer(this.position);this.isLoading? -this.events.triggerEvent("reload"):(this.isLoading=true,this.events.triggerEvent("loadstart"));this.positionTile();this.renderTile()}else this.unload();return a},renderTile:function(){this.layer.div.appendChild(this.frame);if(this.layer.async){var a=this.asyncRequestId=(this.asyncRequestId||0)+1;this.layer.getURLasync(this.bounds,this,"url",function(){a==this.asyncRequestId&&this.initImage()})}else this.url=this.layer.getURL(this.bounds),this.initImage()},positionTile:function(){var a=this.frame.style; -a.left=this.position.x+"%";a.top=this.position.y+"%";a.width=this.size.w+"%";a.height=this.size.h+"%"},clear:function(){var a=this.imgDiv;if(a){OpenLayers.Event.stopObservingElement(a);this.frame.parentNode===this.layer.div&&this.layer.div.removeChild(this.frame);this.setImgSrc();if(this.layerAlphaHack===true)a.style.filter="";OpenLayers.Element.removeClass(a,"olImageLoadError")}},createImage:function(){var a=document.createElement("img");this.imgDiv=a;a.className="olTileImage";a.galleryImg="no"; -var b=a.style,c=this.layer.gutter;if(c){var d=this.layer.tileSize,e=c/d.w*100,c=c/d.h*100;b.left=-e+"%";b.top=-c+"%";b.width=2*e+100+"%";b.height=2*c+100+"%";b.position="absolute"}else b.width="100%",b.height="100%";b.display="none";this.layer.opacity<1&&OpenLayers.Util.modifyDOMElement(a,null,null,null,null,null,null,this.layer.opacity);if(this.layerAlphaHack)b.paddingTop=b.height,b.height="0";this.frame.appendChild(a);return a},initImage:function(){var a=this.imgDiv||this.createImage();if(this.url&& -a.getAttribute("src")==this.url)this.onImageLoad();else{var b=OpenLayers.Function.bind(function(){OpenLayers.Event.stopObservingElement(a);OpenLayers.Event.observe(a,"load",OpenLayers.Function.bind(this.onImageLoad,this));OpenLayers.Event.observe(a,"error",OpenLayers.Function.bind(this.onImageError,this));this.imageReloadAttempts=0;this.setImgSrc(this.url)},this);a.getAttribute("src")==this.blankImageUrl?b():(OpenLayers.Event.observe(a,"load",b),OpenLayers.Event.observe(a,"error",b),a.src=this.blankImageUrl)}}, -setImgSrc:function(a){var b=this.imgDiv;b.style.display="none";if(a)b.src=a},getTile:function(){return this.frame},createBackBuffer:function(){if(this.imgDiv&&!this.isLoading){var a=this.frame.cloneNode(false);a.appendChild(this.imgDiv);this.imgDiv=null;return a}},onImageLoad:function(){var a=this.imgDiv;OpenLayers.Event.stopObservingElement(a);a.style.display="";this.isLoading=false;this.events.triggerEvent("loadend");if(parseFloat(navigator.appVersion.split("MSIE")[1])<7&&this.layer&&this.layer.div){var b= -document.createElement("span");b.style.display="none";var c=this.layer.div;c.appendChild(b);window.setTimeout(function(){b.parentNode===c&&b.parentNode.removeChild(b)},0)}if(this.layerAlphaHack===true)a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"', sizingMethod='scale')"},onImageError:function(){var a=this.imgDiv;a.src!=null&&(this.imageReloadAttempts++,this.imageReloadAttempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS?this.setImgSrc(this.layer.getURL(this.bounds)):(OpenLayers.Element.addClass(a, -"olImageLoadError"),this.onImageLoad()))},CLASS_NAME:"OpenLayers.Tile.Image"}); -OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,tileOriginCorner:"bl",tileOrigin:null,tileOptions:null,grid:null,singleTile:false,ratio:1.5,buffer:0,numLoadingTiles:0,tileLoadingDelay:100,serverResolutions:null,timerId:null,backBuffer:null,gridResolution:null,backBufferResolution:null,backBufferLonLat:null,initialize:function(a,b,c,d){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.events.addEventType("tileloaded");this.grid=[];this._moveGriddedTiles= -OpenLayers.Function.bind(this.moveGriddedTiles,this)},removeMap:function(){if(this.timerId!=null)window.clearTimeout(this.timerId),this.timerId=null},destroy:function(){this.clearGrid();this.tileSize=this.grid=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){if(this.grid){for(var a=0,b=this.grid.length;a=0;b--)if(c=this.serverResolutions[b],c>a){a=c;break}if(b===-1)throw"no appropriate resolution in serverResolutions";}return a},getServerZoom:function(){return this.map.getZoomForResolution(this.getServerResolution())},transformDiv:function(a){this.div.style.width=100*a+"%"; -this.div.style.height=100*a+"%";var b=this.map.getSize(),c=parseInt(this.map.layerContainerDiv.style.left,10),d=(parseInt(this.map.layerContainerDiv.style.top,10)-b.h/2)*(a-1);this.div.style.left=(c-b.w/2)*(a-1)+"%";this.div.style.top=d+"%"},getResolutionScale:function(){return parseInt(this.div.style.width,10)/100},applyBackBuffer:function(a){var b=this.backBuffer;if(!b){b=this.createBackBuffer();if(!b)return;this.div.insertBefore(b,this.div.firstChild);this.backBuffer=b;var c=this.grid[0][0].bounds; -this.backBufferLonLat={lon:c.left,lat:c.top};this.backBufferResolution=this.gridResolution}var c=b.style,d=this.backBufferResolution/a;c.width=100*d+"%";c.height=100*d+"%";a=this.getViewPortPxFromLonLat(this.backBufferLonLat,a);c=parseInt(this.map.layerContainerDiv.style.left,10);d=parseInt(this.map.layerContainerDiv.style.top,10);b.style.left=a.x-c+"%";b.style.top=a.y-d+"%"},createBackBuffer:function(){var a;if(this.grid.length>0){a=document.createElement("div");a.id=this.div.id+"_bb";a.className= -"olBackBuffer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";for(var b=0,c=this.grid.length;b=a.bottom-f*this.buffer||l=0&&h=0&&(i=this.grid[g][h]);i!=null&&!i.queued?(a.unshift(i),i.queued=true,f=0,c=g,d=h):(e=(e+1)%4,f++)}b=0;for(c=a.length;b-e.w*(b-1)?this.shiftColumn(true):d.x<-e.w*b?this.shiftColumn(false):d.y>-e.h*(b-1)?this.shiftRow(true):d.y<-e.h*b?this.shiftRow(false): -a=false;if(a)this.timerId=window.setTimeout(this._moveGriddedTiles,0)},shiftRow:function(a){var b=this.grid,c=b[a?0:this.grid.length-1],d=this.getServerResolution(),e=a?-this.tileSize.h:this.tileSize.h;d*=-e;for(var f=a?b.pop():b.shift(),g=0,h=c.length;ga;)for(var c=this.grid.pop(),d=0,e=c.length;db;){d=0;for(e=this.grid.length;d0):b=this.response.error!=="";return b},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=null;a&&a.documentElement&&(b=a.documentElement.nodeName=="ARCXML"?a.documentElement:a.documentElement.getElementsByTagName("ARCXML")[0]); -if(!b||b.firstChild.nodeName==="parsererror"){var c,d;try{c=a.firstChild.nodeValue,d=a.firstChild.childNodes[1].firstChild.nodeValue}catch(e){}throw{message:"Error parsing the ArcXML request",error:c,source:d};}return this.parseResponse(b)},write:function(a){if(!a)a=this.request;var b=this.createElementNS("","ARCXML");b.setAttribute("version","1.1");var c=this.createElementNS("","REQUEST");if(a.get_image!=null){var d=this.createElementNS("","GET_IMAGE");c.appendChild(d);var e=this.createElementNS("", -"PROPERTIES");d.appendChild(e);a=a.get_image.properties;a.featurecoordsys!=null&&(d=this.createElementNS("","FEATURECOORDSYS"),e.appendChild(d),a.featurecoordsys.id===0?d.setAttribute("string",a.featurecoordsys.string):d.setAttribute("id",a.featurecoordsys.id));a.filtercoordsys!=null&&(d=this.createElementNS("","FILTERCOORDSYS"),e.appendChild(d),a.filtercoordsys.id===0?d.setAttribute("string",a.filtercoordsys.string):d.setAttribute("id",a.filtercoordsys.id));a.envelope!=null&&(d=this.createElementNS("", -"ENVELOPE"),e.appendChild(d),d.setAttribute("minx",a.envelope.minx),d.setAttribute("miny",a.envelope.miny),d.setAttribute("maxx",a.envelope.maxx),d.setAttribute("maxy",a.envelope.maxy));d=this.createElementNS("","IMAGESIZE");e.appendChild(d);d.setAttribute("height",a.imagesize.height);d.setAttribute("width",a.imagesize.width);if(a.imagesize.height!=a.imagesize.printheight||a.imagesize.width!=a.imagesize.printwidth)d.setAttribute("printheight",a.imagesize.printheight),d.setArrtibute("printwidth",a.imagesize.printwidth); -a.background!=null&&(d=this.createElementNS("","BACKGROUND"),e.appendChild(d),d.setAttribute("color",a.background.color.r+","+a.background.color.g+","+a.background.color.b),a.background.transcolor!==null&&d.setAttribute("transcolor",a.background.transcolor.r+","+a.background.transcolor.g+","+a.background.transcolor.b));if(a.layerlist!=null&&a.layerlist.length>0){d=this.createElementNS("","LAYERLIST");e.appendChild(d);for(e=0;e0&&h.setAttribute("accuracy",g.accuracy);typeof g.featurelimit=="number"&&g.featurelimit<2E3&&h.setAttribute("featurelimit", -g.featurelimit);typeof g.subfields=="string"&&g.subfields!="#ALL#"&&h.setAttribute("subfields",g.subfields);typeof g.joinexpression=="string"&&g.joinexpression.length>0&&h.setAttribute("joinexpression",g.joinexpression);typeof g.jointables=="string"&&g.jointables.length>0&&h.setAttribute("jointables",g.jointables);f.appendChild(h)}typeof a.layerlist[e].renderer=="object"&&this.addRenderer(f,a.layerlist[e].renderer)}}}else if(a.get_feature!=null)d=this.createElementNS("","GET_FEATURES"),d.setAttribute("outputmode", -"newxml"),d.setAttribute("checkesc","true"),a.get_feature.geometry?d.setAttribute("geometry",a.get_feature.geometry):d.setAttribute("geometry","false"),a.get_feature.compact&&d.setAttribute("compact",a.get_feature.compact),a.get_feature.featurelimit=="number"&&d.setAttribute("featurelimit",a.get_feature.featurelimit),d.setAttribute("globalenvelope","true"),c.appendChild(d),a.get_feature.layer!=null&&a.get_feature.layer.length>0&&(e=this.createElementNS("","LAYER"),e.setAttribute("id",a.get_feature.layer), -d.appendChild(e)),a=a.get_feature.query,a!=null&&(e=null,e=a.isspatial?this.createElementNS("","SPATIALQUERY"):this.createElementNS("","QUERY"),d.appendChild(e),typeof a.accuracy=="number"&&e.setAttribute("accuracy",a.accuracy),a.featurecoordsys!=null&&(d=this.createElementNS("","FEATURECOORDSYS"),a.featurecoordsys.id==0?d.setAttribute("string",a.featurecoordsys.string):d.setAttribute("id",a.featurecoordsys.id),e.appendChild(d)),a.filtercoordsys!=null&&(d=this.createElementNS("","FILTERCOORDSYS"), -a.filtercoordsys.id===0?d.setAttribute("string",a.filtercoordsys.string):d.setAttribute("id",a.filtercoordsys.id),e.appendChild(d)),a.buffer>0&&(d=this.createElementNS("","BUFFER"),d.setAttribute("distance",a.buffer),e.appendChild(d)),a.isspatial&&(d=this.createElementNS("","SPATIALFILTER"),d.setAttribute("relation",a.spatialfilter.relation),e.appendChild(d),a.spatialfilter.envelope?(f=this.createElementNS("","ENVELOPE"),f.setAttribute("minx",a.spatialfilter.envelope.minx),f.setAttribute("miny",a.spatialfilter.envelope.miny), -f.setAttribute("maxx",a.spatialfilter.envelope.maxx),f.setAttribute("maxy",a.spatialfilter.envelope.maxy),d.appendChild(f)):typeof a.spatialfilter.polygon=="object"&&d.appendChild(this.writePolygonGeometry(a.spatialfilter.polygon))),a.where!=null&&a.where.length>0&&e.setAttribute("where",a.where));b.appendChild(c);return OpenLayers.Format.XML.prototype.write.apply(this,[b])},addGroupRenderer:function(a,b){var c=this.createElementNS("","GROUPRENDERER");a.appendChild(c);for(var d=0;d0)b.error=this.getChildValue(c,"Unknown error.");else{c=a.getElementsByTagName("RESPONSE");if(c==null||c.length==0)return b.error="No RESPONSE tag found in ArcXML response.",b;var d=c[0].firstChild.nodeName;if(d=="#text")d=c[0].firstChild.nextSibling.nodeName;if(d=="IMAGE")c= -a.getElementsByTagName("ENVELOPE"),a=a.getElementsByTagName("OUTPUT"),c==null||c.length==0?b.error="No ENVELOPE tag found in ArcXML response.":a==null||a.length==0?b.error="No OUTPUT tag found in ArcXML response.":(c=this.parseAttributes(c[0]),d=this.parseAttributes(a[0]),b.image=typeof d.type=="string"?{envelope:c,output:{type:d.type,data:this.getChildValue(a[0])}}:{envelope:c,output:d});else if(d=="FEATURES"){if(a=c[0].getElementsByTagName("FEATURES"),c=a[0].getElementsByTagName("FEATURECOUNT"), -b.features.featurecount=c[0].getAttribute("count"),b.features.featurecount>0){c=a[0].getElementsByTagName("ENVELOPE");b.features.envelope=this.parseAttributes(c[0],"number");a=a[0].getElementsByTagName("FEATURE");for(c=0;c0){e=e[0].getElementsByTagName("RING"); -f=[];for(g=0;g0){a=this.getChildValue(c[0]);a=a.split(/;/);for(c=0;c0)for(c=0;c=200&&b.status<300)this.events.triggerEvent("success",a),e&&e(b);if(b.status&&(b.status<200||b.status>=300))this.events.triggerEvent("failure",a),f&&f(b)},GET:function(a){a= -OpenLayers.Util.extend(a,{method:"GET"});return OpenLayers.Request.issue(a)},POST:function(a){a=OpenLayers.Util.extend(a,{method:"POST"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},PUT:function(a){a=OpenLayers.Util.extend(a,{method:"PUT"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml"); -return OpenLayers.Request.issue(a)},DELETE:function(a){a=OpenLayers.Util.extend(a,{method:"DELETE"});return OpenLayers.Request.issue(a)},HEAD:function(a){a=OpenLayers.Util.extend(a,{method:"HEAD"});return OpenLayers.Request.issue(a)},OPTIONS:function(a){a=OpenLayers.Util.extend(a,{method:"OPTIONS"});return OpenLayers.Request.issue(a)}}; -OpenLayers.Layer.ArcIMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{ClientVersion:"9.2",ServiceName:""},tileSize:null,featureCoordSys:"4326",filterCoordSys:"4326",layers:null,async:true,name:"ArcIMS",isBaseLayer:true,DEFAULT_OPTIONS:{tileSize:new OpenLayers.Size(512,512),featureCoordSys:"4326",filterCoordSys:"4326",layers:null,isBaseLayer:true,async:true,name:"ArcIMS"},initialize:function(a,b,c){this.tileSize=new OpenLayers.Size(512,512);this.params=OpenLayers.Util.applyDefaults({ServiceName:c.serviceName}, -this.DEFAULT_PARAMS);this.options=OpenLayers.Util.applyDefaults(c,this.DEFAULT_OPTIONS);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a,b,this.params,c]);if(this.transparent){if(!this.isBaseLayer)this.isBaseLayer=false;if(this.format=="image/jpeg")this.format=OpenLayers.Util.alphaHack()?"image/gif":"image/png"}if(this.options.layers===null)this.options.layers=[]},getURL:function(a){var b="",a=this.adjustBounds(a),a=new OpenLayers.Format.ArcXML(OpenLayers.Util.extend(this.options,{requesttype:"image", -envelope:a.toArray(),tileSize:this.tileSize})),a=new OpenLayers.Request.POST({url:this.getFullRequestString(),data:a.write(),async:false});if(a!=null){b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;b=this.getUrlOrImage((new OpenLayers.Format.ArcXML).read(b).image.output)}return b},getURLasync:function(a,b,c,d){a=this.adjustBounds(a);a=new OpenLayers.Format.ArcXML(OpenLayers.Util.extend(this.options,{requesttype:"image",envelope:a.toArray(),tileSize:this.tileSize}));OpenLayers.Request.POST({url:this.getFullRequestString(), -async:true,data:a.write(),callback:function(a){var f=a.responseXML;if(!f||!f.documentElement)f=a.responseText;a=(new OpenLayers.Format.ArcXML).read(f);b[c]=this.getUrlOrImage(a.image.output);d.apply(b)},scope:this})},getUrlOrImage:function(a){var b="";a.url?b=a.url:a.data&&(b="data:image/"+a.type+";base64,"+a.data);return b},setLayerQuery:function(a,b){for(var c=0;c=0;--a)this._removeButton(this.buttons[a])},doubleClick:function(a){OpenLayers.Event.stop(a); -return false},buttonDown:function(a){if(OpenLayers.Event.isLeftClick(a)){switch(this.action){case "panup":this.map.pan(0,-this.getSlideFactor("h"));break;case "pandown":this.map.pan(0,this.getSlideFactor("h"));break;case "panleft":this.map.pan(-this.getSlideFactor("w"),0);break;case "panright":this.map.pan(this.getSlideFactor("w"),0);break;case "zoomin":this.map.zoomIn();break;case "zoomout":this.map.zoomOut();break;case "zoomworld":this.map.zoomToMaxExtent()}OpenLayers.Event.stop(a)}},CLASS_NAME:"OpenLayers.Control.PanZoom"}); -OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4; -OpenLayers.Control.PanZoomBar=OpenLayers.Class(OpenLayers.Control.PanZoom,{zoomStopWidth:18,zoomStopHeight:11,slider:null,sliderEvents:null,zoombarDiv:null,divEvents:null,zoomWorldIcon:false,panIcons:true,forceFixedZoomLevel:false,mouseDragStart:null,deltaY:null,zoomStart:null,destroy:function(){this._removeZoomBar();this.map.events.un({changebaselayer:this.redraw,scope:this});OpenLayers.Control.PanZoom.prototype.destroy.apply(this,arguments);delete this.mouseDragStart;delete this.zoomStart},setMap:function(a){OpenLayers.Control.PanZoom.prototype.setMap.apply(this, -arguments);this.map.events.register("changebaselayer",this,this.redraw)},redraw:function(){this.div!=null&&(this.removeButtons(),this._removeZoomBar());this.draw()},draw:function(a){OpenLayers.Control.prototype.draw.apply(this,arguments);a=this.position.clone();this.buttons=[];var b=new OpenLayers.Size(18,18);if(this.panIcons){var c=new OpenLayers.Pixel(a.x+b.w/2,a.y),d=b.w;this.zoomWorldIcon&&(c=new OpenLayers.Pixel(a.x+b.w,a.y));this._addButton("panup","north-mini.png",c,b);a.y=c.y+b.h;this._addButton("panleft", -"west-mini.png",a,b);this.zoomWorldIcon&&(this._addButton("zoomworld","zoom-world-mini.png",a.add(b.w,0),b),d*=2);this._addButton("panright","east-mini.png",a.add(d,0),b);this._addButton("pandown","south-mini.png",c.add(0,b.h*2),b);this._addButton("zoomin","zoom-plus-mini.png",c.add(0,b.h*3+5),b);c=this._addZoomBar(c.add(0,b.h*4+5));this._addButton("zoomout","zoom-minus-mini.png",c,b)}else this._addButton("zoomin","zoom-plus-mini.png",a,b),c=this._addZoomBar(a.add(0,b.h)),this._addButton("zoomout", -"zoom-minus-mini.png",c,b),this.zoomWorldIcon&&(c=c.add(0,b.h+3),this._addButton("zoomworld","zoom-world-mini.png",c,b));return this.div},_addZoomBar:function(a){var b=OpenLayers.Util.getImagesLocation(),c=this.id+"_"+this.map.id,d=this.map.getNumZoomLevels()-1-this.map.getZoom(),d=OpenLayers.Util.createAlphaImageDiv(c,a.add(-1,d*this.zoomStopHeight),new OpenLayers.Size(20,9),b+"slider.png","absolute");d.style.cursor="move";this.slider=d;this.sliderEvents=new OpenLayers.Events(this,d,null,true,{includeXY:true}); -this.sliderEvents.on({touchstart:this.zoomBarDown,touchmove:this.zoomBarDrag,touchend:this.zoomBarUp,mousedown:this.zoomBarDown,mousemove:this.zoomBarDrag,mouseup:this.zoomBarUp,dblclick:this.doubleClick,click:this.doubleClick});var e=new OpenLayers.Size;e.h=this.zoomStopHeight*this.map.getNumZoomLevels();e.w=this.zoomStopWidth;c=null;OpenLayers.Util.alphaHack()?(c=this.id+"_"+this.map.id,c=OpenLayers.Util.createAlphaImageDiv(c,a,new OpenLayers.Size(e.w,this.zoomStopHeight),b+"zoombar.png","absolute", -null,"crop"),c.style.height=e.h+"px"):c=OpenLayers.Util.createDiv("OpenLayers_Control_PanZoomBar_Zoombar"+this.map.id,a,e,b+"zoombar.png");c.style.cursor="pointer";this.zoombarDiv=c;this.divEvents=new OpenLayers.Events(this,c,null,true,{includeXY:true});this.divEvents.on({touchmove:this.passEventToSlider,mousedown:this.divClick,mousemove:this.passEventToSlider,dblclick:this.doubleClick,click:this.doubleClick});this.div.appendChild(c);this.startTop=parseInt(c.style.top);this.div.appendChild(d);this.map.events.register("zoomend", -this,this.moveZoomBar);return a=a.add(0,this.zoomStopHeight*this.map.getNumZoomLevels())},_removeZoomBar:function(){this.sliderEvents.un({touchmove:this.zoomBarDrag,mousedown:this.zoomBarDown,mousemove:this.zoomBarDrag,mouseup:this.zoomBarUp,dblclick:this.doubleClick,click:this.doubleClick});this.sliderEvents.destroy();this.divEvents.un({touchmove:this.passEventToSlider,mousedown:this.divClick,mousemove:this.passEventToSlider,dblclick:this.doubleClick,click:this.doubleClick});this.divEvents.destroy(); -this.div.removeChild(this.zoombarDiv);this.zoombarDiv=null;this.div.removeChild(this.slider);this.slider=null;this.map.events.unregister("zoomend",this,this.moveZoomBar)},passEventToSlider:function(a){this.sliderEvents.handleBrowserEvent(a)},divClick:function(a){if(OpenLayers.Event.isLeftClick(a)){var b=a.xy.y/this.zoomStopHeight;if(this.forceFixedZoomLevel||!this.map.fractionalZoom)b=Math.floor(b);b=this.map.getNumZoomLevels()-1-b;b=Math.min(Math.max(b,0),this.map.getNumZoomLevels()-1);this.map.zoomTo(b); -OpenLayers.Event.stop(a)}},zoomBarDown:function(a){if(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))this.map.events.on({touchmove:this.passEventToSlider,mousemove:this.passEventToSlider,mouseup:this.passEventToSlider,scope:this}),this.mouseDragStart=a.xy.clone(),this.zoomStart=a.xy.clone(),this.div.style.cursor="move",this.zoombarDiv.offsets=null,OpenLayers.Event.stop(a)},zoomBarDrag:function(a){if(this.mouseDragStart!=null){var b=this.mouseDragStart.y-a.xy.y,c=OpenLayers.Util.pagePosition(this.zoombarDiv); -if(a.clientY-c[1]>0&&a.clientY-c[1]0))a.featureNS=this.lookupNamespaceURI(b,c[0])},read_cap_Title:function(a,b){var c=this.getChildValue(b);if(c)a.title=c},read_cap_Abstract:function(a,b){var c=this.getChildValue(b);c&&(a["abstract"]=c)},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1"}); -OpenLayers.Format.WFSCapabilities.v1_1_0=OpenLayers.Class(OpenLayers.Format.WFSCapabilities.v1,{initialize:function(a){OpenLayers.Format.WFSCapabilities.v1.prototype.initialize.apply(this,[a])},read_cap_DefaultSRS:function(a,b){var c=this.getChildValue(b);if(c)a.srs=c},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1_1_0"}); -OpenLayers.Layer.Image=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:true,url:null,extent:null,size:null,tile:null,aspectRatio:null,initialize:function(a,b,c,d,e){this.url=b;this.maxExtent=this.extent=c;this.size=d;OpenLayers.Layer.prototype.initialize.apply(this,[a,e]);this.aspectRatio=this.extent.getHeight()/this.size.h/(this.extent.getWidth()/this.size.w)},destroy:function(){if(this.tile)this.removeTileMonitoringHooks(this.tile),this.tile.destroy(),this.tile=null;OpenLayers.Layer.prototype.destroy.apply(this, -arguments)},clone:function(a){a==null&&(a=new OpenLayers.Layer.Image(this.name,this.url,this.extent,this.size,this.getOptions()));return a=OpenLayers.Layer.prototype.clone.apply(this,[a])},setMap:function(a){if(this.options.maxResolution==null)this.options.maxResolution=this.aspectRatio*this.extent.getWidth()/this.size.w;OpenLayers.Layer.prototype.setMap.apply(this,arguments)},moveTo:function(a,b,c){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);var d=this.tile==null;if(b||d){this.setTileSize(); -var e=this.map.getLayerPxFromLonLat(new OpenLayers.LonLat(this.extent.left,this.extent.top));d?(this.tile=new OpenLayers.Tile.Image(this,e,this.extent,null,this.tileSize),this.addTileMonitoringHooks(this.tile)):(this.tile.size=this.tileSize.clone(),this.tile.position=e.clone());this.tile.draw()}},setTileSize:function(){var a=this.extent.getWidth()/this.map.getResolution(),b=this.extent.getHeight()/this.map.getResolution();this.tileSize=new OpenLayers.Size(a,b)},addTileMonitoringHooks:function(a){a.onLoadStart= -function(){this.events.triggerEvent("loadstart")};a.events.register("loadstart",this,a.onLoadStart);a.onLoadEnd=function(){this.events.triggerEvent("loadend")};a.events.register("loadend",this,a.onLoadEnd);a.events.register("unload",this,a.onLoadEnd)},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,scope:this})},setUrl:function(a){this.url=a;this.tile.draw()},getURL:function(){return this.url},CLASS_NAME:"OpenLayers.Layer.Image"}); -OpenLayers.Strategy=OpenLayers.Class({layer:null,options:null,active:null,autoActivate:true,autoDestroy:true,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a;this.active=false},destroy:function(){this.deactivate();this.options=this.layer=null},setLayer:function(a){this.layer=a},activate:function(){return!this.active?this.active=true:false},deactivate:function(){return this.active?(this.active=false,true):false},CLASS_NAME:"OpenLayers.Strategy"}); -OpenLayers.Strategy.Save=OpenLayers.Class(OpenLayers.Strategy,{events:null,auto:false,timer:null,initialize:function(a){OpenLayers.Strategy.prototype.initialize.apply(this,[a]);this.events=new OpenLayers.Events(this)},activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a&&this.auto)if(typeof this.auto==="number")this.timer=window.setInterval(OpenLayers.Function.bind(this.save,this),this.auto*1E3);else this.layer.events.on({featureadded:this.triggerSave,afterfeaturemodified:this.triggerSave, -scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.auto&&(typeof this.auto==="number"?window.clearInterval(this.timer):this.layer.events.un({featureadded:this.triggerSave,afterfeaturemodified:this.triggerSave,scope:this}));return a},triggerSave:function(a){var b=a.feature;(b.state===OpenLayers.State.INSERT||b.state===OpenLayers.State.UPDATE||b.state===OpenLayers.State.DELETE)&&this.save([a.feature])},save:function(a){if(!a)a=this.layer.features; -this.events.triggerEvent("start",{features:a});var b=this.layer.projection,c=this.layer.map.getProjectionObject();if(!c.equals(b)){for(var d=a.length,e=Array(d),f,g,h=0;h0&&this.layer.destroyFeatures(e);this.events.triggerEvent("success",b)}else this.events.triggerEvent("fail",b)},CLASS_NAME:"OpenLayers.Strategy.Save"}); -OpenLayers.Format.GPX=OpenLayers.Class(OpenLayers.Format.XML,{defaultDesc:"No description available",extractWaypoints:true,extractTracks:true,extractRoutes:true,extractAttributes:true,gpxns:"http://www.topografix.com/GPX/1/1",initialize:function(a){this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=[];if(this.extractTracks)for(var c= -a.getElementsByTagName("trk"),d=0,e=c.length;d0))if(this.map.baseLayer)this.layers=[this.map.baseLayer.clone()];else return this.map.events.register("changebaselayer",this,this.baseLayerDraw),this.div;this.element=document.createElement("div"); -this.element.className=this.displayClass+"Element";this.element.style.display="none";this.mapDiv=document.createElement("div");this.mapDiv.style.width=this.size.w+"px";this.mapDiv.style.height=this.size.h+"px";this.mapDiv.style.position="relative";this.mapDiv.style.overflow="hidden";this.mapDiv.id=OpenLayers.Util.createUniqueID("overviewMap");this.extentRectangle=document.createElement("div");this.extentRectangle.style.position="absolute";this.extentRectangle.style.zIndex=1E3;this.extentRectangle.className= -this.displayClass+"ExtentRectangle";this.element.appendChild(this.mapDiv);this.div.appendChild(this.element);if(this.outsideViewport)this.element.style.display="";else{this.div.className+=" "+this.displayClass+"Container";var a=OpenLayers.Util.getImagesLocation();this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv(this.displayClass+"MaximizeButton",null,new OpenLayers.Size(18,18),a+"layer-switcher-maximize.png","absolute");this.maximizeDiv.style.display="none";this.maximizeDiv.className=this.displayClass+ -"MaximizeButton";OpenLayers.Event.observe(this.maximizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.maximizeControl,this));this.div.appendChild(this.maximizeDiv);this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_minimizeDiv",null,new OpenLayers.Size(18,18),a+"layer-switcher-minimize.png","absolute");this.minimizeDiv.style.display="none";this.minimizeDiv.className=this.displayClass+"MinimizeButton";OpenLayers.Event.observe(this.minimizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.minimizeControl, -this));this.div.appendChild(this.minimizeDiv);for(var a=["dblclick","mousedown"],b=0,c=a.length;bthis.minRatio&&b<=this.maxRatio&&this.ovmap.getExtent().containsBounds(a)},updateOverview:function(){var a=this.map.getResolution(),b=this.ovmap.getResolution(),c=b/a;c>this.maxRatio?b=this.minRatio*a:c<=this.minRatio&&(b=this.maxRatio*a);this.ovmap.getProjection()!=this.map.getProjection()?(a=this.map.center.clone(),a.transform(this.map.getProjectionObject(), -this.ovmap.getProjectionObject())):a=this.map.center;this.ovmap.setCenter(a,this.ovmap.getZoomForResolution(b*this.resolutionFactor));this.updateRectToMap()},createMap:function(){var a=OpenLayers.Util.extend({controls:[],maxResolution:"auto",fallThrough:false},this.mapOptions);this.ovmap=new OpenLayers.Map(this.mapDiv,a);this.ovmap.eventsDiv.appendChild(this.extentRectangle);OpenLayers.Event.stopObserving(window,"unload",this.ovmap.unloadDestroy);this.ovmap.addLayers(this.layers);this.ovmap.zoomToMaxExtent(); -this.wComp=(this.wComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-right-width")))?this.wComp:2;this.hComp=(this.hComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-bottom-width")))?this.hComp:2;this.handlers.drag=new OpenLayers.Handler.Drag(this,{move:this.rectDrag,done:this.updateMapToRect},{map:this.ovmap}); -this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.mapDivClick},{single:true,"double":false,stopSingle:true,stopDouble:true,pixelTolerance:1,map:this.ovmap});this.handlers.click.activate();this.rectEvents=new OpenLayers.Events(this,this.extentRectangle,null,true);this.rectEvents.register("mouseover",this,function(){!this.handlers.drag.active&&!this.map.dragging&&this.handlers.drag.activate()});this.rectEvents.register("mouseout",this,function(){this.handlers.drag.dragging||this.handlers.drag.deactivate()}); -if(this.ovmap.getProjection()!=this.map.getProjection()){var a=this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units,b=this.ovmap.getProjectionObject().getUnits()||this.ovmap.units||this.ovmap.baseLayer.units;this.resolutionFactor=a&&b?OpenLayers.INCHES_PER_UNIT[a]/OpenLayers.INCHES_PER_UNIT[b]:1}},updateRectToMap:function(){var a=this.getRectBoundsFromMapBounds(this.ovmap.getProjection()!=this.map.getProjection()?this.map.getExtent().transform(this.map.getProjectionObject(), -this.ovmap.getProjectionObject()):this.map.getExtent());a&&this.setRectPxBounds(a)},updateMapToRect:function(){var a=this.getMapBoundsFromRectBounds(this.rectPxBounds);this.ovmap.getProjection()!=this.map.getProjection()&&(a=a.transform(this.ovmap.getProjectionObject(),this.map.getProjectionObject()));this.map.panTo(a.getCenterLonLat())},setRectPxBounds:function(a){var b=Math.max(a.top,0),c=Math.max(a.left,0),d=Math.min(a.top+Math.abs(a.getHeight()),this.ovmap.size.h-this.hComp),a=Math.min(a.left+ -a.getWidth(),this.ovmap.size.w-this.wComp),e=Math.max(a-c,0),f=Math.max(d-b,0);e0&&((h=c[0].getAttribute("typeName"))||(h=c[0].getAttribute("typename")));b.push({layerName:d,owsType:f,owsURL:g,typeName:h})}return b},CLASS_NAME:"OpenLayers.Format.WMSDescribeLayer.v1_1"});OpenLayers.Format.WPSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",CLASS_NAME:"OpenLayers.Format.WPSCapabilities"}); -OpenLayers.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:false,size:null,resolution:null,map:null,featureDx:0,initialize:function(a,b){this.container=OpenLayers.Util.getElement(a);OpenLayers.Util.extend(this,b)},destroy:function(){this.map=this.resolution=this.size=this.extent=this.container=null},supported:function(){return false},setExtent:function(a,b){this.extent=a.clone();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine)this.extent=a.wrapDateLine(this.map.getMaxExtent()); -if(b)this.resolution=null;return true},setSize:function(a){this.size=a.clone();this.resolution=null},getResolution:function(){return this.resolution=this.resolution||this.map.getResolution()},drawFeature:function(a,b){if(b==null)b=a.style;if(a.geometry){var c=a.geometry.getBounds();if(c){var d;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(d=this.map.getMaxExtent());c.intersectsBounds(this.extent,{worldBounds:d})?this.calculateFeatureDx(c,d):b={display:"none"};c=this.drawGeometry(a.geometry, -b,a.id);if(b.display!="none"&&b.label&&c!==false){d=a.geometry.getCentroid();if(b.labelXOffset||b.labelYOffset){var e=isNaN(b.labelXOffset)?0:b.labelXOffset,f=isNaN(b.labelYOffset)?0:b.labelYOffset,g=this.getResolution();d.move(e*g,f*g)}this.drawText(a.id,b,d)}else this.removeText(a.id);return c}}},calculateFeatureDx:function(a,b){this.featureDx=0;if(b){var c=b.getWidth();this.featureDx=Math.round(((a.left+a.right)/2-(this.extent.left+this.extent.right)/2)/c)*c}},drawGeometry:function(){},drawText:function(){}, -removeText:function(){},clear:function(){},getFeatureIdFromEvent:function(){},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,c=a.length;b=16777216)this.hitOverflow=a-16777215,a=a%16777216+1;var a="000000"+a.toString(16),b=a.length;return a="#"+a.substring(b-6,b)},setHitContextStyle:function(a,b,c){b=this.featureIdToHex(b);a=="fill"?(this.hitContext.globalAlpha=1,this.hitContext.fillStyle=b):a=="stroke"?(this.hitContext.globalAlpha=1,this.hitContext.strokeStyle=b,this.hitContext.lineWidth=c.strokeWidth+2):(this.hitContext.globalAlpha=0,this.hitContext.lineWidth= -1)},drawPoint:function(a,b,c){if(b.graphic!==false)if(b.externalGraphic)this.drawExternalGraphic(a,b,c);else{var d=this.getLocalXY(a),a=d[0],d=d[1];if(!isNaN(a)&&!isNaN(d)){var e=Math.PI*2,f=b.pointRadius;b.fill!==false&&(this.setCanvasStyle("fill",b),this.canvas.beginPath(),this.canvas.arc(a,d,f,0,e,true),this.canvas.fill(),this.hitDetection&&(this.setHitContextStyle("fill",c,b),this.hitContext.beginPath(),this.hitContext.arc(a,d,f,0,e,true),this.hitContext.fill()));b.stroke!==false&&(this.setCanvasStyle("stroke", -b),this.canvas.beginPath(),this.canvas.arc(a,d,f,0,e,true),this.canvas.stroke(),this.hitDetection&&(this.setHitContextStyle("stroke",c,b),this.hitContext.beginPath(),this.hitContext.arc(a,d,f,0,e,true),this.hitContext.stroke()),this.setCanvasStyle("reset"))}}},drawLineString:function(a,b,c){b=OpenLayers.Util.applyDefaults({fill:false},b);this.drawLinearRing(a,b,c)},drawLinearRing:function(a,b,c){b.fill!==false&&(this.setCanvasStyle("fill",b),this.renderPath(this.canvas,a,b,c,"fill"),this.hitDetection&& -(this.setHitContextStyle("fill",c,b),this.renderPath(this.hitContext,a,b,c,"fill")));b.stroke!==false&&(this.setCanvasStyle("stroke",b),this.renderPath(this.canvas,a,b,c,"stroke"),this.hitDetection&&(this.setHitContextStyle("stroke",c,b),this.renderPath(this.hitContext,a,b,c,"stroke")));this.setCanvasStyle("reset")},renderPath:function(a,b,c,d,e){b=b.components;c=b.length;a.beginPath();var d=this.getLocalXY(b[0]),f=d[1];if(!isNaN(d[0])&&!isNaN(f)){a.moveTo(d[0],d[1]);for(d=1;d=0;c--)for(var d=this.createFeatureNodes(a[c]), -e=0;e0)this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval);this.dragging=true;this.move(a);this.callback("move",[a.xy]);if(!this.oldOnselectstart)this.oldOnselectstart= -document.onselectstart,document.onselectstart=OpenLayers.Function.False;this.last=a.xy}return true},dragend:function(a){if(this.started){this.documentDrag===true&&this.documentEvents&&(this.adjustXY(a),this.removeDocumentEvents());var b=this.start!=this.last;this.dragging=this.started=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(a);this.callback("up",[a.xy]);b&&this.callback("done",[a.xy]);document.onselectstart=this.oldOnselectstart}return true},down:function(){}, -move:function(){},up:function(){},out:function(){},mousedown:function(a){return this.dragstart(a)},touchstart:function(a){if(!this.touch)this.touch=true,this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,scope:this});return this.dragstart(a)},mousemove:function(a){return this.dragmove(a)},touchmove:function(a){return this.dragmove(a)},removeTimeout:function(){this.timeoutId=null;this.dragging&&this.mousemove(this.lastMoveEvt)},mouseup:function(a){return this.dragend(a)}, -touchend:function(a){a.xy=this.last;return this.dragend(a)},mouseout:function(a){if(this.started&&OpenLayers.Util.mouseLeft(a,this.map.eventsDiv))if(this.documentDrag===true)this.addDocumentEvents();else{var b=this.start!=this.last;this.dragging=this.started=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(a);this.callback("out",[]);b&&this.callback("done",[a.xy]);if(document.onselectstart)document.onselectstart=this.oldOnselectstart}return true},click:function(){return this.start== -this.last},activate:function(){var a=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments))this.dragging=false,a=true;return a},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments))this.dragging=this.started=this.touch=false,this.last=this.start=null,a=true,OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");return a},adjustXY:function(a){var b=OpenLayers.Util.pagePosition(this.map.viewPortDiv);a.xy.x-=b[0];a.xy.y-=b[1]},addDocumentEvents:function(){OpenLayers.Element.addClass(document.body, -"olDragDown");this.documentEvents=true;OpenLayers.Event.observe(document,"mousemove",this._docMove);OpenLayers.Event.observe(document,"mouseup",this._docUp)},removeDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents=false;OpenLayers.Event.stopObserving(document,"mousemove",this._docMove);OpenLayers.Event.stopObserving(document,"mouseup",this._docUp)},CLASS_NAME:"OpenLayers.Handler.Drag"}); -OpenLayers.Handler.Feature=OpenLayers.Class(OpenLayers.Handler,{EVENTMAP:{click:{"in":"click",out:"clickout"},mousemove:{"in":"over",out:"out"},dblclick:{"in":"dblclick",out:null},mousedown:{"in":null,out:null},mouseup:{"in":null,out:null},touchstart:{"in":"click",out:"clickout"}},feature:null,lastFeature:null,down:null,up:null,touch:false,clickTolerance:4,geometryTypes:null,stopClick:true,stopDown:true,stopUp:false,initialize:function(a,b,c,d){OpenLayers.Handler.prototype.initialize.apply(this,[a, -c,d]);this.layer=b},touchstart:function(a){if(!this.touch)this.touch=true,this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,dblclick:this.dblclick,scope:this});return OpenLayers.Event.isMultiTouch(a)?true:this.mousedown(a)},touchmove:function(a){OpenLayers.Event.stop(a)},mousedown:function(a){this.down=a.xy;return this.handle(a)?!this.stopDown:true},mouseup:function(a){this.up=a.xy;return this.handle(a)?!this.stopUp:true},click:function(a){return this.handle(a)? -!this.stopClick:true},mousemove:function(a){if(!this.callbacks.over&&!this.callbacks.out)return true;this.handle(a);return true},dblclick:function(a){return!this.handle(a)},geometryTypeMatches:function(a){return this.geometryTypes==null||OpenLayers.Util.indexOf(this.geometryTypes,a.geometry.CLASS_NAME)>-1},handle:function(a){if(this.feature&&!this.feature.layer)this.feature=null;var b=a.type,c=false,d=!!this.feature,e=b=="click"||b=="dblclick"||b=="touchstart";if((this.feature=this.layer.getFeatureFromEvent(a))&& -!this.feature.layer)this.feature=null;if(this.lastFeature&&!this.lastFeature.layer)this.lastFeature=null;this.feature?(b==="touchstart"&&OpenLayers.Event.stop(a),a=this.feature!=this.lastFeature,this.geometryTypeMatches(this.feature)?(d&&a?(this.lastFeature&&this.triggerCallback(b,"out",[this.lastFeature]),this.triggerCallback(b,"in",[this.feature])):(!d||e)&&this.triggerCallback(b,"in",[this.feature]),this.lastFeature=this.feature,c=true):(this.lastFeature&&(d&&a||e)&&this.triggerCallback(b,"out", -[this.lastFeature]),this.feature=null)):this.lastFeature&&(d||e)&&this.triggerCallback(b,"out",[this.lastFeature]);return c},triggerCallback:function(a,b,c){(b=this.EVENTMAP[a][b])&&(a=="click"&&this.up&&this.down?Math.sqrt(Math.pow(this.up.x-this.down.x,2)+Math.pow(this.up.y-this.down.y,2))<=this.clickTolerance&&this.callback(b,c):this.callback(b,c))},activate:function(){var a=false;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.moveLayerToTop(),this.map.events.on({removelayer:this.handleMapEvents, -changelayer:this.handleMapEvents,scope:this}),a=true);return a},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments))this.moveLayerBack(),this.up=this.down=this.lastFeature=this.feature=null,this.touch=false,this.map.events.un({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this}),a=true;return a},handleMapEvents:function(a){(a.type=="removelayer"||a.property=="order")&&this.moveLayerToTop()},moveLayerToTop:function(){this.layer.setZIndex(Math.max(this.map.Z_INDEX_BASE.Feature- -1,this.layer.getZIndex())+1)},moveLayerBack:function(){var a=this.layer.getZIndex()-1;a>=this.map.Z_INDEX_BASE.Feature?this.layer.setZIndex(a):this.map.setLayerZIndex(this.layer,this.map.getLayerIndex(this.layer))},CLASS_NAME:"OpenLayers.Handler.Feature"}); -OpenLayers.Control.DragFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,onStart:function(){},onDrag:function(){},onComplete:function(){},onEnter:function(){},onLeave:function(){},documentDrag:false,layer:null,feature:null,dragCallbacks:{},featureCallbacks:{},lastPixel:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.layer=a;this.handlers={drag:new OpenLayers.Handler.Drag(this,OpenLayers.Util.extend({down:this.downFeature,move:this.moveFeature, -up:this.upFeature,out:this.cancel,done:this.doneDragging},this.dragCallbacks),{documentDrag:this.documentDrag}),feature:new OpenLayers.Handler.Feature(this,this.layer,OpenLayers.Util.extend({click:this.clickFeature,clickout:this.clickoutFeature,over:this.overFeature,out:this.outFeature},this.featureCallbacks),{geometryTypes:this.geometryTypes})}},clickFeature:function(a){if(this.handlers.feature.touch&&!this.over&&this.overFeature(a))this.handlers.drag.dragstart(this.handlers.feature.evt),this.handlers.drag.stopDown= -false},clickoutFeature:function(a){if(this.handlers.feature.touch&&this.over)this.outFeature(a),this.handlers.drag.stopDown=true},destroy:function(){this.layer=null;OpenLayers.Control.prototype.destroy.apply(this,[])},activate:function(){return this.handlers.feature.activate()&&OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.handlers.drag.deactivate();this.handlers.feature.deactivate();this.feature=null;this.dragging=false;this.lastPixel=null;OpenLayers.Element.removeClass(this.map.viewPortDiv, -this.displayClass+"Over");return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},overFeature:function(a){var b=false;this.handlers.drag.dragging?this.over=this.feature.id==a.id?true:false:(this.feature=a,this.handlers.drag.activate(),this.over=b=true,OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onEnter(a));return b},downFeature:function(a){this.lastPixel=a;this.onStart(this.feature,a)},moveFeature:function(a){var b=this.map.getResolution();this.feature.geometry.move(b* -(a.x-this.lastPixel.x),b*(this.lastPixel.y-a.y));this.layer.drawFeature(this.feature);this.lastPixel=a;this.onDrag(this.feature,a)},upFeature:function(){this.over||this.handlers.drag.deactivate()},doneDragging:function(a){this.onComplete(this.feature,a)},outFeature:function(a){if(this.handlers.drag.dragging){if(this.feature.id==a.id)this.over=false}else this.over=false,this.handlers.drag.deactivate(),OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onLeave(a),this.feature= -null},cancel:function(){this.handlers.drag.deactivate();this.over=false},setMap:function(a){this.handlers.drag.setMap(a);this.handlers.feature.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},CLASS_NAME:"OpenLayers.Control.DragFeature"}); -OpenLayers.StyleMap=OpenLayers.Class({styles:null,extendDefault:true,initialize:function(a,b){this.styles={"default":new OpenLayers.Style(OpenLayers.Feature.Vector.style["default"]),select:new OpenLayers.Style(OpenLayers.Feature.Vector.style.select),temporary:new OpenLayers.Style(OpenLayers.Feature.Vector.style.temporary),"delete":new OpenLayers.Style(OpenLayers.Feature.Vector.style["delete"])};if(a instanceof OpenLayers.Style)this.styles["default"]=a,this.styles.select=a,this.styles.temporary=a, -this.styles["delete"]=a;else if(typeof a=="object")for(var c in a)if(a[c]instanceof OpenLayers.Style)this.styles[c]=a[c];else if(typeof a[c]=="object")this.styles[c]=new OpenLayers.Style(a[c]);else{this.styles["default"]=new OpenLayers.Style(a);this.styles.select=new OpenLayers.Style(a);this.styles.temporary=new OpenLayers.Style(a);this.styles["delete"]=new OpenLayers.Style(a);break}OpenLayers.Util.extend(this,b)},destroy:function(){for(var a in this.styles)this.styles[a].destroy();this.styles=null}, -createSymbolizer:function(a,b){a||(a=new OpenLayers.Feature.Vector);this.styles[b]||(b="default");a.renderIntent=b;var c={};this.extendDefault&&b!="default"&&(c=this.styles["default"].createSymbolizer(a));return OpenLayers.Util.extend(c,this.styles[b].createSymbolizer(a))},addUniqueValueRules:function(a,b,c,d){var e=[],f;for(f in c)e.push(new OpenLayers.Rule({symbolizer:c[f],context:d,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:b,value:f})}));this.styles[a].addRules(e)}, -CLASS_NAME:"OpenLayers.StyleMap"}); -OpenLayers.Layer.Vector=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:false,isFixed:false,features:null,filter:null,selectedFeatures:null,unrenderedFeatures:null,reportError:true,style:null,styleMap:null,strategies:null,protocol:null,renderers:["SVG","VML","Canvas"],renderer:null,rendererOptions:null,geometryType:null,drawn:false,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);(!this.renderer||!this.renderer.supported())&&this.assignRenderer();if(!this.renderer|| -!this.renderer.supported())this.renderer=null,this.displayError();if(!this.styleMap)this.styleMap=new OpenLayers.StyleMap;this.features=[];this.selectedFeatures=[];this.unrenderedFeatures={};if(this.strategies)for(var c=0,d=this.strategies.length;c=0;d--){this.renderer.locked=d!=0&&a[d-1].geometry?true:false;var e=a[d];delete this.unrenderedFeatures[e.id];c&&this.events.triggerEvent("beforefeatureremoved",{feature:e});this.features=OpenLayers.Util.removeItem(this.features, -e);e.layer=null;e.geometry&&this.renderer.eraseFeatures(e);OpenLayers.Util.indexOf(this.selectedFeatures,e)!=-1&&OpenLayers.Util.removeItem(this.selectedFeatures,e);c&&this.events.triggerEvent("featureremoved",{feature:e})}c&&this.events.triggerEvent("featuresremoved",{features:a})}},removeAllFeatures:function(a){var a=!a||!a.silent,b=this.features;a&&this.events.triggerEvent("beforefeaturesremoved",{features:b});for(var c,d=b.length-1;d>=0;d--)c=b[d],a&&this.events.triggerEvent("beforefeatureremoved", -{feature:c}),c.layer=null,a&&this.events.triggerEvent("featureremoved",{feature:c});this.renderer.clear();this.features=[];this.unrenderedFeatures={};this.selectedFeatures=[];a&&this.events.triggerEvent("featuresremoved",{features:b})},destroyFeatures:function(a,b){if(a==void 0)a=this.features;if(a){this.removeFeatures(a,b);for(var c=a.length-1;c>=0;c--)a[c].destroy()}},drawFeature:function(a,b){if(this.drawn){if(typeof b!="object"){!b&&a.state===OpenLayers.State.DELETE&&(b="delete");var c=b||a.renderIntent; -(b=a.style||this.style)||(b=this.styleMap.createSymbolizer(a,c))}c=this.renderer.drawFeature(a,b);c===false||c===null?this.unrenderedFeatures[a.id]=a:delete this.unrenderedFeatures[a.id]}},eraseFeatures:function(a){this.renderer.eraseFeatures(a)},getFeatureFromEvent:function(a){if(!this.renderer)throw Error("getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.");var b=null;(a=this.renderer.getFeatureIdFromEvent(a))&& -(b=typeof a==="string"?this.getFeatureById(a):a);return b},getFeatureBy:function(a,b){for(var c=null,d=0,e=this.features.length;d0)for(var c=null,d=0,e=b.length;d=0;--f)d=c.selectedFeatures[f],(!a||a.except!=d)&&this.unselect(d)}},clickFeature:function(a){this.hover||(OpenLayers.Util.indexOf(a.layer.selectedFeatures,a)>-1?this.toggleSelect()? -this.unselect(a):this.multipleSelect()||this.unselectAll({except:a}):(this.multipleSelect()||this.unselectAll({except:a}),this.select(a)))},multipleSelect:function(){return this.multiple||this.handlers.feature.evt&&this.handlers.feature.evt[this.multipleKey]},toggleSelect:function(){return this.toggle||this.handlers.feature.evt&&this.handlers.feature.evt[this.toggleKey]},clickoutFeature:function(){!this.hover&&this.clickout&&this.unselectAll()},overFeature:function(a){var b=a.layer;this.hover&&(this.highlightOnly? -this.highlight(a):OpenLayers.Util.indexOf(b.selectedFeatures,a)==-1&&this.select(a))},outFeature:function(a){if(this.hover)if(this.highlightOnly){if(a._lastHighlighter==this.id)if(a._prevHighlighter&&a._prevHighlighter!=this.id){delete a._lastHighlighter;var b=this.map.getControl(a._prevHighlighter);b&&b.highlight(a)}else this.unhighlight(a)}else this.unselect(a)},highlight:function(a){var b=a.layer;if(this.events.triggerEvent("beforefeaturehighlighted",{feature:a})!==false)a._prevHighlighter=a._lastHighlighter, -a._lastHighlighter=this.id,b.drawFeature(a,this.selectStyle||this.renderIntent),this.events.triggerEvent("featurehighlighted",{feature:a})},unhighlight:function(a){var b=a.layer;if(a._prevHighlighter==void 0)delete a._lastHighlighter;else{if(a._prevHighlighter!=this.id)a._lastHighlighter=a._prevHighlighter;delete a._prevHighlighter}b.drawFeature(a,a.style||a.layer.style||"default");this.events.triggerEvent("featureunhighlighted",{feature:a})},select:function(a){var b=this.onBeforeSelect.call(this.scope, -a),c=a.layer;if(b!==false&&(b=c.events.triggerEvent("beforefeatureselected",{feature:a}),b!==false)){c.selectedFeatures.push(a);this.highlight(a);if(!this.handlers.feature.lastFeature)this.handlers.feature.lastFeature=c.selectedFeatures[0];c.events.triggerEvent("featureselected",{feature:a});this.onSelect.call(this.scope,a)}},unselect:function(a){var b=a.layer;this.unhighlight(a);OpenLayers.Util.removeItem(b.selectedFeatures,a);b.events.triggerEvent("featureunselected",{feature:a});this.onUnselect.call(this.scope, -a)},selectBox:function(a){if(a instanceof OpenLayers.Bounds){var b=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.left,a.bottom)),a=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.right,a.top)),b=new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat);this.multipleSelect()||this.unselectAll();a=this.multiple;this.multiple=true;for(var c=this.layers||[this.layer],d,e=0;e-1)&&b.toGeometry().intersects(h.geometry)&&OpenLayers.Util.indexOf(d.selectedFeatures,h)==-1&&this.select(h)}}this.multiple=a}},setMap:function(a){this.handlers.feature.setMap(a);this.box&&this.handlers.box.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},setLayer:function(a){var b=this.active;this.unselectAll();this.deactivate();if(this.layers)this.layer.destroy(),this.layers=null;this.initLayer(a);this.handlers.feature.layer=this.layer;b&&this.activate()}, -CLASS_NAME:"OpenLayers.Control.SelectFeature"}); -OpenLayers.Handler.Keyboard=OpenLayers.Class(OpenLayers.Handler,{KEY_EVENTS:["keydown","keyup"],eventListener:null,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.eventListener=OpenLayers.Function.bindAsEventListener(this.handleKeyEvent,this)},destroy:function(){this.deactivate();this.eventListener=null;OpenLayers.Handler.prototype.destroy.apply(this,arguments)},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){for(var a= -0,b=this.KEY_EVENTS.length;a0)this.layer.destroyFeatures(this.virtualVertices,{silent:true}),this.virtualVertices=[];this.layer.drawFeature(this.feature,this.standalone?void 0:this.selectControl.renderIntent)}this.layer.drawFeature(a)},dragComplete:function(){this.resetVertices(); -this.setFeatureState();this.onModification(this.feature);this.layer.events.triggerEvent("featuremodified",{feature:this.feature})},setFeatureState:function(){if(this.feature.state!=OpenLayers.State.INSERT&&this.feature.state!=OpenLayers.State.DELETE&&(this.feature.state=OpenLayers.State.UPDATE,this.modified&&this._originalGeometry)){var a=this.feature;a.modified=OpenLayers.Util.extend(a.modified,{geometry:this._originalGeometry});delete this._originalGeometry}},resetVertices:function(){this.dragControl.feature&& -this.dragControl.outFeature(this.dragControl.feature);if(this.vertices.length>0)this.layer.removeFeatures(this.vertices,{silent:true}),this.vertices=[];if(this.virtualVertices.length>0)this.layer.removeFeatures(this.virtualVertices,{silent:true}),this.virtualVertices=[];if(this.dragHandle)this.layer.destroyFeatures([this.dragHandle],{silent:true}),this.dragHandle=null;if(this.radiusHandle)this.layer.destroyFeatures([this.radiusHandle],{silent:true}),this.radiusHandle=null;this.feature&&this.feature.geometry.CLASS_NAME!= -"OpenLayers.Geometry.Point"&&(this.mode&OpenLayers.Control.ModifyFeature.DRAG&&this.collectDragHandle(),this.mode&(OpenLayers.Control.ModifyFeature.ROTATE|OpenLayers.Control.ModifyFeature.RESIZE)&&this.collectRadiusHandle(),this.mode&OpenLayers.Control.ModifyFeature.RESHAPE&&(this.mode&OpenLayers.Control.ModifyFeature.RESIZE||this.collectVertices()))},handleKeypress:function(a){var b=a.keyCode;if(this.feature&&OpenLayers.Util.indexOf(this.deleteCodes,b)!=-1&&(b=this.dragControl.feature)&&OpenLayers.Util.indexOf(this.vertices, -b)!=-1&&!this.dragControl.handlers.drag.dragging&&b.geometry.parent)b.geometry.parent.removeComponent(b.geometry),this.layer.events.triggerEvent("vertexremoved",{vertex:b.geometry,feature:this.feature,pixel:a.xy}),this.layer.drawFeature(this.feature,this.standalone?void 0:this.selectControl.renderIntent),this.modified=true,this.resetVertices(),this.setFeatureState(),this.onModification(this.feature),this.layer.events.triggerEvent("featuremodified",{feature:this.feature})},collectVertices:function(){function a(c){var d, -e,f;if(c.CLASS_NAME=="OpenLayers.Geometry.Point")e=new OpenLayers.Feature.Vector(c),e._sketch=true,e.renderIntent=b.vertexRenderIntent,b.vertices.push(e);else{f=c.components.length;c.CLASS_NAME=="OpenLayers.Geometry.LinearRing"&&(f-=1);for(d=0;dOpenStreetMap",sphericalMercator:true,url:"http://tile.openstreetmap.org/${z}/${x}/${y}.png",clone:function(a){a==null&&(a=new OpenLayers.Layer.OSM(this.name,this.url,this.getOptions()));return a=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},wrapDateLine:true,CLASS_NAME:"OpenLayers.Layer.OSM"}); -OpenLayers.Layer.Bing=OpenLayers.Class(OpenLayers.Layer.XYZ,{serverResolutions:[156543.03390625,78271.516953125,39135.7584765625,19567.87923828125,9783.939619140625,4891.9698095703125,2445.9849047851562,1222.9924523925781,611.4962261962891,305.74811309814453,152.87405654907226,76.43702827453613,38.218514137268066,19.109257068634033,9.554628534317017,4.777314267158508,2.388657133579254,1.194328566789627,0.5971642833948135,0.29858214169740677,0.14929107084870338,0.07464553542435169],attributionTemplate:'
    ${copyrights}Terms of Use
    ', -metadata:null,type:"Road",metadataParams:null,initialize:function(a){a=OpenLayers.Util.applyDefaults({sphericalMercator:true},a);OpenLayers.Layer.XYZ.prototype.initialize.apply(this,[a.name||"Bing "+(a.type||this.type),null,a]);this.loadMetadata()},loadMetadata:function(){this._callbackId="_callback_"+this.id.replace(/\./g,"_");window[this._callbackId]=OpenLayers.Function.bind(OpenLayers.Layer.Bing.processMetadata,this);var a=OpenLayers.Util.applyDefaults({key:this.key,jsonp:this._callbackId,include:"ImageryProviders"}, -this.metadataParams),a="http://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+this.type+"?"+OpenLayers.Util.getParameterString(a),b=document.createElement("script");b.type="text/javascript";b.src=a;b.id=this._callbackId;document.getElementsByTagName("head")[0].appendChild(b)},initLayer:function(){var a=this.metadata.resourceSets[0].resources[0],b=a.imageUrl.replace("{quadkey}","${quadkey}");this.url=[];for(var c=0;c0;--e){var f="0",g=1<=l.zoomMin&&(e+=f.attribution+" ")}this.attribution=OpenLayers.String.format(this.attributionTemplate,{type:this.type.toLowerCase(), -logo:a.brandLogoUri,copyrights:e});this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"attribution"})}},setMap:function(){OpenLayers.Layer.XYZ.prototype.setMap.apply(this,arguments);this.updateAttribution();this.map.events.register("moveend",this,this.updateAttribution)},clone:function(a){a==null&&(a=new OpenLayers.Layer.Bing(this.options));return a=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},destroy:function(){this.map&&this.map.events.unregister("moveend",this,this.updateAttribution); -OpenLayers.Layer.XYZ.prototype.destroy.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.Bing"});OpenLayers.Layer.Bing.processMetadata=function(a){this.metadata=a;this.initLayer();a=document.getElementById(this._callbackId);a.parentNode.removeChild(a);window[this._callbackId]=void 0;delete this._callbackId}; -OpenLayers.Layer.PointGrid=OpenLayers.Class(OpenLayers.Layer.Vector,{dx:null,dy:null,ratio:1.5,maxFeatures:250,rotation:0,origin:null,gridBounds:null,initialize:function(a){a=a||{};OpenLayers.Layer.Vector.prototype.initialize.apply(this,[a.name,a])},setMap:function(a){OpenLayers.Layer.Vector.prototype.setMap.apply(this,arguments);a.events.register("moveend",this,this.onMoveEnd)},removeMap:function(a){a.events.unregister("moveend",this,this.onMoveEnd);OpenLayers.Layer.Vector.prototype.removeMap.apply(this, -arguments)},setRatio:function(a){this.ratio=a;this.updateGrid(true)},setMaxFeatures:function(a){this.maxFeatures=a;this.updateGrid(true)},setSpacing:function(a,b){this.dx=a;this.dy=b||a;this.updateGrid(true)},setOrigin:function(a){this.origin=a;this.updateGrid(true)},getOrigin:function(){if(!this.origin)this.origin=this.map.getExtent().getCenterLonLat();return this.origin},setRotation:function(a){this.rotation=a;this.updateGrid(true)},onMoveEnd:function(){this.updateGrid()},getViewBounds:function(){var a= -this.map.getExtent();if(this.rotation){var b=this.getOrigin(),b=new OpenLayers.Geometry.Point(b.lon,b.lat),a=a.toGeometry();a.rotate(-this.rotation,b);a=a.getBounds()}return a},updateGrid:function(a){if(a||this.invalidBounds()){var b=this.getViewBounds(),c=this.getOrigin(),a=new OpenLayers.Geometry.Point(c.lon,c.lat),d=b.getWidth(),e=b.getHeight(),f=d/e,g=Math.sqrt(this.dx*this.dy*this.maxFeatures/f),d=Math.min(d*this.ratio,g*f),e=Math.min(e*this.ratio,g),b=b.getCenterLonLat();this.gridBounds=new OpenLayers.Bounds(b.lon- -d/2,b.lat-e/2,b.lon+d/2,b.lat+e/2);for(var b=Math.floor(e/this.dy),d=Math.floor(d/this.dx),e=c.lon+this.dx*Math.ceil((this.gridBounds.left-c.lon)/this.dx),c=c.lat+this.dy*Math.ceil((this.gridBounds.bottom-c.lat)/this.dy),g=Array(b*d),h,i=0;i0)c.prefix=f[0];d.layers.push(c);if(c.formats=== -void 0)c.formats=g.getmap.formats;if(c.infoFormats===void 0&&e)c.infoFormats=e.formats}},Attribution:function(a,b){b.attribution={};this.readChildNodes(a,b.attribution)},LogoURL:function(a,b){b.logo={width:a.getAttribute("width"),height:a.getAttribute("height")};this.readChildNodes(a,b.logo)},Style:function(a,b){var c={};b.styles.push(c);this.readChildNodes(a,c)},LegendURL:function(a,b){var c={width:a.getAttribute("width"),height:a.getAttribute("height")};b.legend=c;this.readChildNodes(a,c)},MetadataURL:function(a, -b){var c={type:a.getAttribute("type")};b.metadataURLs.push(c);this.readChildNodes(a,c)},DataURL:function(a,b){b.dataURL={};this.readChildNodes(a,b.dataURL)},FeatureListURL:function(a,b){b.featureListURL={};this.readChildNodes(a,b.featureListURL)},AuthorityURL:function(a,b){var c=a.getAttribute("name"),d={};this.readChildNodes(a,d);b.authorityURLs[c]=d.href},Identifier:function(a,b){var c=a.getAttribute("authority");b.identifiers[c]=this.getChildValue(a)},KeywordList:function(a,b){this.readChildNodes(a, -b)},SRS:function(a,b){b.srs[this.getChildValue(a)]=true}}},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1"}); -OpenLayers.Format.WMSCapabilities.v1_3=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1,{readers:{wms:OpenLayers.Util.applyDefaults({WMS_Capabilities:function(a,b){this.readChildNodes(a,b)},LayerLimit:function(a,b){b.layerLimit=parseInt(this.getChildValue(a))},MaxWidth:function(a,b){b.maxWidth=parseInt(this.getChildValue(a))},MaxHeight:function(a,b){b.maxHeight=parseInt(this.getChildValue(a))},BoundingBox:function(a,b){var c=OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, -[a,b]);c.srs=a.getAttribute("CRS");b.bbox[c.srs]=c},CRS:function(a,b){this.readers.wms.SRS.apply(this,[a,b])},EX_GeographicBoundingBox:function(a,b){b.llbbox=[];this.readChildNodes(a,b.llbbox)},westBoundLongitude:function(a,b){b[0]=this.getChildValue(a)},eastBoundLongitude:function(a,b){b[2]=this.getChildValue(a)},southBoundLatitude:function(a,b){b[1]=this.getChildValue(a)},northBoundLatitude:function(a,b){b[3]=this.getChildValue(a)},MinScaleDenominator:function(a,b){b.maxScale=parseFloat(this.getChildValue(a)).toPrecision(16)}, -MaxScaleDenominator:function(a,b){b.minScale=parseFloat(this.getChildValue(a)).toPrecision(16)},Dimension:function(a,b){var c={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),unitsymbol:a.getAttribute("unitSymbol"),nearestVal:a.getAttribute("nearestValue")==="1",multipleVal:a.getAttribute("multipleValues")==="1","default":a.getAttribute("default")||"",current:a.getAttribute("current")==="1",values:this.getChildValue(a).split(",")};b.dimensions[c.name]=c},Keyword:function(a, -b){var c={value:this.getChildValue(a),vocabulary:a.getAttribute("vocabulary")};b.keywords&&b.keywords.push(c)}},OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms),sld:{UserDefinedSymbolization:function(a,b){this.readers.wms.UserDefinedSymbolization.apply(this,[a,b]);b.userSymbols.inlineFeature=parseInt(a.getAttribute("InlineFeature"))==1;b.userSymbols.remoteWCS=parseInt(a.getAttribute("RemoteWCS"))==1},DescribeLayer:function(a,b){this.readers.wms.DescribeLayer.apply(this,[a,b])},GetLegendGraphic:function(a, -b){this.readers.wms.GetLegendGraphic.apply(this,[a,b])}}},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_3"});OpenLayers.Format.WMSCapabilities.v1_3_0=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_3,{version:"1.3.0",CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_3_0"});OpenLayers.Symbolizer.Polygon=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(a){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments)},CLASS_NAME:"OpenLayers.Symbolizer.Polygon"}); -OpenLayers.Lang.nb={unhandledRequest:"Ubehandlet foresp\u00f8rsel returnerte ${statusText}",Permalink:"Kobling til denne siden",Overlays:"Kartlag","Base Layer":"Bakgrunnskart",noFID:"Kan ikke oppdatere et feature (et objekt) som ikke har FID.",browserNotSupported:"Din nettleser st\u00f8tter ikke vektortegning. Tegnemetodene som st\u00f8ttes er:\n${renderers}",minZoomLevelError:"Egenskapen minZoomLevel er kun ment til bruk p\u00e5 lag basert p\u00e5 FixedZoomLevels. At dette wfs-laget sjekker minZoomLevel er en etterlevning fra tidligere versjoner. Det kan dog ikke tas bort uten \u00e5 risikere at OL-baserte applikasjoner slutter \u00e5 virke, s\u00e5 det er merket som foreldet: minZoomLevel i sjekken nedenfor vil fjernes i 3.0. Vennligst bruk innstillingene for min/maks oppl\u00f8sning som er beskrevet her: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"WFS-transaksjon: LYKTES ${response}",commitFailed:"WFS-transaksjon: MISLYKTES ${response}",googleWarning:"Google-laget kunne ikke lastes.

    Bytt til et annet bakgrunnslag i lagvelgeren i \u00f8vre h\u00f8yre hj\u00f8rne for \u00e5 slippe denne meldingen.

    Sannsynligvis for\u00e5rsakes feilen av at Google Maps-biblioteket ikke er riktig inkludert p\u00e5 nettsiden, eller at det ikke er angitt riktig API-n\u00f8kkel for nettstedet.

    Utviklere: For hjelp til \u00e5 f\u00e5 dette til \u00e5 virke se her.", -getLayerWarning:"${layerType}-laget kunne ikke lastes.

    Bytt til et annet bakgrunnslag i lagvelgeren i \u00f8vre h\u00f8yre hj\u00f8rne for \u00e5 slippe denne meldingen.

    Sannsynligvis for\u00e5rsakes feilen av at ${layerLib}-biblioteket ikke var riktig inkludert p\u00e5 nettsiden.

    Utviklere: For hjelp til \u00e5 f\u00e5 dette til \u00e5 virke se her.","Scale = 1 : ${scaleDenom}":"Skala 1 : ${scaleDenom}", -reprojectDeprecated:"Du bruker innstillingen 'reproject' p\u00e5 laget ${layerName}. Denne innstillingen er foreldet, den var ment for \u00e5 st\u00f8tte visning av kartdata over kommersielle bakgrunnskart, men det b\u00f8r n\u00e5 gj\u00f8res med st\u00f8tten for Spherical Mercator. Mer informasjon finnes p\u00e5 http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Denne metoden er markert som foreldet og vil bli fjernet i 3.0. Vennligst bruk ${newMethod} i stedet.",end:""}; -OpenLayers.Lang.no=OpenLayers.Lang.nb; -OpenLayers.ElementsIndexer=OpenLayers.Class({maxZIndex:null,order:null,indices:null,compare:null,initialize:function(a){this.compare=a?OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_Y_ORDER:OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_DRAWING_ORDER;this.clear()},insert:function(a){this.exists(a)&&this.remove(a);var b=a.id;this.determineZIndex(a);for(var c=-1,d=this.order.length,e;d-c>1;)e=parseInt((c+d)/2),this.compare(this,a,OpenLayers.Util.getElement(this.order[e]))>0?c=e:d=e;this.order.splice(d, -0,b);this.indices[b]=this.getZIndex(a);return this.getNextElement(d)},remove:function(a){var a=a.id,b=OpenLayers.Util.indexOf(this.order,a);if(b>=0)this.order.splice(b,1),delete this.indices[a],this.maxZIndex=this.order.length>0?this.indices[this.order[this.order.length-1]]:0},clear:function(){this.order=[];this.indices={};this.maxZIndex=0},exists:function(a){return this.indices[a.id]!=null},getZIndex:function(a){return a._style.graphicZIndex},determineZIndex:function(a){var b=a._style.graphicZIndex; -if(b==null)b=this.maxZIndex,a._style.graphicZIndex=b;else if(b>this.maxZIndex)this.maxZIndex=b},getNextElement:function(a){a+=1;if(aa.left&&f.righta.left&&f.left0&&(a="?"+a.substring(c+1,a.length),OpenLayers.Util.extend(b,OpenLayers.Util.getParameters(a)));return b},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var b=0,c=this.map.controls.length;b
    F\u00f6r att slippa detta meddelande, v\u00e4lj en annan bakgrundskarta i lagerv\u00e4ljaren i \u00f6vre h\u00f6gra h\u00f6rnet.

    Sannolikt beror felet p\u00e5 att Google Maps-biblioteket inte \u00e4r inkluderat p\u00e5 webbsidan eller p\u00e5 att sidan inte anger korrekt API-nyckel f\u00f6r webbplatsen.

    Utvecklare: hj\u00e4lp f\u00f6r att \u00e5tg\u00e4rda detta, klicka h\u00e4r.", -getLayerWarning:"${layerType}-lagret kunde inte laddas korrekt.

    F\u00f6r att slippa detta meddelande, v\u00e4lj en annan bakgrundskarta i lagerv\u00e4ljaren i \u00f6vre h\u00f6gra h\u00f6rnet.

    Sannolikt beror felet p\u00e5 att ${layerLib}-biblioteket inte \u00e4r inkluderat p\u00e5 webbsidan.

    Utvecklare: hj\u00e4lp f\u00f6r att \u00e5tg\u00e4rda detta, klicka h\u00e4r.","Scale = 1 : ${scaleDenom}":"Skala 1 : ${scaleDenom}", -reprojectDeprecated:"Du anv\u00e4nder inst\u00e4llningen 'reproject' p\u00e5 lagret ${layerName}. Denna inst\u00e4llning markerad som deprecated: den var avsedd att anv\u00e4ndas f\u00f6r att st\u00f6dja visning av kartdata p\u00e5 kommersiella bakgrundskartor, men nu b\u00f6r man i st\u00e4llet anv\u00e4nda Spherical Mercator-st\u00f6d f\u00f6r den funktionaliteten. Mer information finns p\u00e5 http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Denna metod \u00e4r markerad som deprecated och kommer att tas bort i 3.0. Anv\u00e4nd ${newMethod} i st\u00e4llet."}); -OpenLayers.Strategy.Fixed=OpenLayers.Class(OpenLayers.Strategy,{preload:false,activate:function(){if(OpenLayers.Strategy.prototype.activate.apply(this,arguments)){this.layer.events.on({refresh:this.load,scope:this});if(this.layer.visibility==true||this.preload)this.load();else this.layer.events.on({visibilitychanged:this.load,scope:this});return true}return false},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.layer.events.un({refresh:this.load,visibilitychanged:this.load, -scope:this});return a},load:function(a){var b=this.layer;b.events.triggerEvent("loadstart");b.protocol.read(OpenLayers.Util.applyDefaults({callback:OpenLayers.Function.bind(this.merge,this,b.map.getProjectionObject()),filter:b.filter},a));b.events.un({visibilitychanged:this.load,scope:this})},merge:function(a,b){var c=this.layer;c.destroyFeatures();var d=b.features;if(d&&d.length>0){if(!a.equals(c.projection))for(var e,f=0,g=d.length;f0){d=this.dataFrom!=null?a[g+this.dataFrom].data||a[g+this.dataFrom].attributes:null;var i=this.styleFrom!=null?a[g+this.styleFrom].style:null;e=new OpenLayers.Geometry.LineString([e,f]);c[g-1]=new OpenLayers.Feature.Vector(e,d,i)}e=f}this.addFeatures(c,b)},CLASS_NAME:"OpenLayers.Layer.PointTrack"});OpenLayers.Layer.PointTrack.SOURCE_NODE=-1;OpenLayers.Layer.PointTrack.TARGET_NODE=0; -OpenLayers.Layer.PointTrack.dataFrom={SOURCE_NODE:-1,TARGET_NODE:0};OpenLayers.Protocol.WFS=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Protocol.WFS.DEFAULTS),b=OpenLayers.Protocol.WFS["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported WFS version: "+a.version;return new b(a)}; -OpenLayers.Protocol.WFS.fromWMSLayer=function(a,b){var c,d;c=a.params.LAYERS;c=(OpenLayers.Util.isArray(c)?c[0]:c).split(":");c.length>1&&(d=c[0]);c=c.pop();d={url:a.url,featureType:c,featurePrefix:d,srsName:a.projection&&a.projection.getCode()||a.map&&a.map.getProjectionObject().getCode(),version:"1.1.0"};return new OpenLayers.Protocol.WFS(OpenLayers.Util.applyDefaults(b,d))};OpenLayers.Protocol.WFS.DEFAULTS={version:"1.0.0"}; -OpenLayers.Layer.Markers=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:false,markers:null,drawn:false,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);this.markers=[]},destroy:function(){this.clearMarkers();this.markers=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},setOpacity:function(a){if(a!=this.opacity){this.opacity=a;for(var a=0,b=this.markers.length;a0;)this.removeMarker(this.markers[0])}, -drawMarker:function(a){var b=this.map.getLayerPxFromLonLat(a.lonlat);b==null?a.display(false):a.isDrawn()?a.icon&&a.icon.moveTo(b):this.div.appendChild(a.draw(b))},getDataExtent:function(){var a=null;if(this.markers&&this.markers.length>0)for(var a=new OpenLayers.Bounds,b=0,c=this.markers.length;b
    Go die M\u00e4ldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im r\u00e4chte obere Ecke.

    D\u00e4\u00e4 F\u00e4hler git s seli hyfig, wel s Skript vu dr Google-Maps-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.

    Entwickler: Fir Hilf zum korr\u00e4kte Yybinde vum Google-Layer doo drucke", -getLayerWarning:"Dr ${layerType}-Layer het nit korr\u00e4kt chenne glade w\u00e4re.

    Go die M\u00e4ldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im r\u00e4chte obere Ecke.

    D\u00e4\u00e4 F\u00e4hler git s seli hyfig, wel s Skript vu dr '${layerLib}'-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.

    Entwickler: Fir Hilf zum korr\u00e4kte Yybinde vu Layer doo drucke", -"Scale = 1 : ${scaleDenom}":"Ma\u00dfstab = 1 : ${scaleDenom}",W:"W",E:"O",N:"N",S:"S",reprojectDeprecated:"Du bruchsch d 'reproject'-Option bim ${layerName}-Layer. Die Option isch nimi giltig: si isch aagleit wore go Date iber kommerzi\u00e4lli Grundcharte lege, aber des sott mer jetz mache mit dr Unterstitzig vu Spherical Mercator. Meh Informatione git s uf http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Die Methode isch veraltet un wird us dr Version 3.0 usegnuu. Bitte verw\u00e4bnd statt d\u00e4m ${newMethod}."}); -OpenLayers.Control.Snapping=OpenLayers.Class(OpenLayers.Control,{DEFAULTS:{tolerance:10,node:true,edge:true,vertex:true},greedy:true,precedence:["node","vertex","edge"],resolution:null,geoToleranceCache:null,layer:null,feature:null,point:null,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,[a]);this.options=a||{};this.options.layer&&this.setLayer(this.options.layer);a=OpenLayers.Util.extend({},this.options.defaults);this.defaults=OpenLayers.Util.applyDefaults(a,this.DEFAULTS); -this.setTargets(this.options.targets);this.targets.length===0&&this.layer&&this.addTargetLayer(this.layer);this.geoToleranceCache={}},setLayer:function(a){this.active?(this.deactivate(),this.layer=a,this.activate()):this.layer=a},setTargets:function(a){this.targets=[];if(a&&a.length)for(var b,c=0,d=a.length;c=0;--c)b=this.targets[c],b.layer===a&&this.removeTarget(b)},removeTarget:function(a){return OpenLayers.Util.removeItem(this.targets,a)},activate:function(){var a=OpenLayers.Control.prototype.activate.call(this);if(a&&this.layer&&this.layer.events)this.layer.events.on({sketchstarted:this.onSketchModified, -sketchmodified:this.onSketchModified,vertexmodified:this.onVertexModified,scope:this});return a},deactivate:function(){var a=OpenLayers.Control.prototype.deactivate.call(this);a&&this.layer&&this.layer.events&&this.layer.events.un({sketchstarted:this.onSketchModified,sketchmodified:this.onSketchModified,vertexmodified:this.onVertexModified,scope:this});this.point=this.feature=null;return a},onSketchModified:function(a){this.feature=a.feature;this.considerSnapping(a.vertex,a.vertex)},onVertexModified:function(a){this.feature= -a.feature;var b=this.layer.map.getLonLatFromViewPortPx(a.pixel);this.considerSnapping(a.vertex,new OpenLayers.Geometry.Point(b.lon,b.lat))},considerSnapping:function(a,b){for(var c={rank:Number.POSITIVE_INFINITY,dist:Number.POSITIVE_INFINITY,x:null,y:null},d=false,e,f,g=0,h=this.targets.length;g=a.maxResolution)return null; -for(var c={node:this.getGeoTolerance(a.nodeTolerance,c),vertex:this.getGeoTolerance(a.vertexTolerance,c),edge:this.getGeoTolerance(a.edgeTolerance,c)},d=Math.max(c.node,c.vertex,c.edge),e={rank:Number.POSITIVE_INFINITY,dist:Number.POSITIVE_INFINITY},f=false,g=a.layer.features,h,i,j,k,l,m,n=this.precedence.length,o=new OpenLayers.LonLat(b.x,b.y),q=0,r=g.length;q4?this._object.open(a,f,i,m,n):arguments.length>3?this._object.open(a,f,i,m):this._object.open(a,f,i);this.readyState=b.OPENED;c(this);this._object.onreadystatechange=function(){if(!g||i)o.readyState=o._object.readyState,d(o),o._aborted?o.readyState=b.UNSENT:(o.readyState==b.DONE&&(delete o._data,e(o),h&&i&&window.detachEvent("onunload", -r)),q!=o.readyState&&c(o),q=o.readyState)}};b.prototype.send=function(a){b.onsend&&b.onsend.apply(this,arguments);arguments.length||(a=null);a&&a.nodeType&&(a=window.XMLSerializer?(new window.XMLSerializer).serializeToString(a):a.xml,oRequest._headers["Content-Type"]||oRequest._object.setRequestHeader("Content-Type","application/xml"));this._data=a;this._object.send(this._data);if(g&&!this._async){this.readyState=b.OPENED;for(d(this);this.readyStateb.UNSENT)this._aborted=true;this._object.abort();e(this);this.readyState=b.UNSENT;delete this._data};b.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders()};b.prototype.getResponseHeader=function(a){return this._object.getResponseHeader(a)};b.prototype.setRequestHeader=function(a,b){if(!this._headers)this._headers={};this._headers[a]=b;return this._object.setRequestHeader(a, -b)};b.prototype.addEventListener=function(a,b,c){for(var d=0,e;e=this._listeners[d];d++)if(e[0]==a&&e[1]==b&&e[2]==c)return;this._listeners.push([a,b,c])};b.prototype.removeEventListener=function(a,b,c){for(var d=0,e;e=this._listeners[d];d++)if(e[0]==a&&e[1]==b&&e[2]==c)break;e&&this._listeners.splice(d,1)};b.prototype.dispatchEvent=function(a){a={type:a.type,target:this,currentTarget:this,eventPhase:2,bubbles:a.bubbles,cancelable:a.cancelable,timeStamp:a.timeStamp,stopPropagation:function(){},preventDefault:function(){}, -initEvent:function(){}};a.type=="readystatechange"&&this.onreadystatechange&&(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[a]);for(var b=0,c;c=this._listeners[b];b++)c[0]==a.type&&!c[2]&&(c[1].handleEvent||c[1]).apply(this,[a])};b.prototype.toString=function(){return"[object XMLHttpRequest]"};b.toString=function(){return"[XMLHttpRequest]"};if(!window.Function.prototype.apply)window.Function.prototype.apply=function(a,b){b||(b=[]);a.__func=this;a.__func(b[0],b[1],b[2], -b[3],b[4]);delete a.__func};OpenLayers.Request.XMLHttpRequest=b})(); -OpenLayers.Format.KML=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{kml:"http://www.opengis.net/kml/2.2",gx:"http://www.google.com/kml/ext/2.2"},kmlns:"http://earth.google.com/kml/2.0",placemarksDesc:"No description available",foldersName:"OpenLayers export",foldersDesc:"Exported on "+new Date,extractAttributes:true,extractStyles:false,extractTracks:false,trackAttributes:null,internalns:null,features:null,styles:null,styleBaseUrl:"",fetched:null,maxDepth:0,initialize:function(a){this.regExes= -{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g,kmlColor:/(\w{2})(\w{2})(\w{2})(\w{2})/,kmlIconPalette:/root:\/\/icons\/palette-(\d+)(\.\w+)/,straightBracket:/\$\[(.*?)\]/g};this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){this.features=[];this.styles={};this.fetched={};return this.parseData(a,{depth:0,styleBaseUrl:this.styleBaseUrl})},parseData:function(a,b){typeof a=="string"&& -(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var c=["Link","NetworkLink","Style","StyleMap","Placemark"],d=0,e=c.length;d=this.maxDepth)return false;var c=OpenLayers.Util.extend({},b);c.depth++;for(var d=0,e=a.length;d0)g={features:[],feature:g}, -this.readNode(f[0],g),g.features.length>0&&c.push.apply(c,g.features)}else c.push(g)}else throw"Bad Placemark: "+d;}this.features=this.features.concat(c)},readers:{kml:{when:function(a,b){b.whens.push(OpenLayers.Date.parse(this.getChildValue(a)))},_trackPointAttribute:function(a,b){var c=a.nodeName.split(":").pop();b.attributes[c].push(this.getChildValue(a))}},gx:{Track:function(a,b){var c={whens:[],points:[],angles:[]};if(this.trackAttributes){var d;c.attributes={};for(var e=0,f=this.trackAttributes.length;e< -f;++e)if(d=this.trackAttributes[e],c.attributes[d]=[],!(d in this.readers.kml))this.readers.kml[d]=this.readers.kml._trackPointAttribute}this.readChildNodes(a,c);if(c.whens.length!==c.points.length)throw Error("gx:Track with unequal number of when ("+c.whens.length+") and gx:coord ("+c.points.length+") elements.");var g=c.angles.length>0;if(g&&c.whens.length!==c.angles.length)throw Error("gx:Track with unequal number of when ("+c.whens.length+") and gx:angles ("+c.angles.length+") elements.");for(var h, -i,e=0,f=c.whens.length;e2)d.z=parseFloat(c[2]);b.points.push(d)},angles:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(/\s+/);b.angles.push(c)}}},parseFeature:function(a){for(var b=["MultiGeometry","Polygon","LineString","Point"], -c,d,e,f=0,g=b.length;f0){if(b=this.parseGeometry[c.toLowerCase()])e=b.apply(this,[d[0]]),this.internalProjection&&this.externalProjection&&e.transform(this.externalProjection,this.internalProjection);else throw new TypeError("Unsupported geometry type: "+c);break}var h;this.extractAttributes&&(h=this.parseAttributes(a));c=new OpenLayers.Feature.Vector(e,h);a=a.getAttribute("id")|| -a.getAttribute("name");if(a!=null)c.fid=a;return c},getStyle:function(a,b){var c=OpenLayers.Util.removeTail(a),d=OpenLayers.Util.extend({},b);d.depth++;d.styleBaseUrl=c;!this.styles[a]&&!OpenLayers.String.startsWith(a,"#")&&d.depth<=this.maxDepth&&!this.fetched[c]&&(c=this.fetchLink(c))&&this.parseData(c,d);return OpenLayers.Util.extend({},this.styles[a])},parseGeometry:{point:function(a){var b=this.getElementsByTagNameNS(a,this.internalns,"coordinates"),a=[];if(b.length>0)var c=b[0].firstChild.nodeValue, -c=c.replace(this.regExes.removeSpace,""),a=c.split(",");b=null;if(a.length>1)a.length==2&&(a[2]=null),b=new OpenLayers.Geometry.Point(a[0],a[1],a[2]);else throw"Bad coordinate string: "+c;return b},linestring:function(a,b){var c=this.getElementsByTagNameNS(a,this.internalns,"coordinates"),d=null;if(c.length>0){for(var c=this.getChildValue(c[0]),c=c.replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),d=c.split(this.regExes.splitSpace),e=d.length,f=Array(e),g,h,i=0;i1)g.length==2&&(g[2]=null),f[i]=new OpenLayers.Geometry.Point(g[0],g[1],g[2]);else throw"Bad LineString point coordinates: "+d[i];if(e)d=b?new OpenLayers.Geometry.LinearRing(f):new OpenLayers.Geometry.LineString(f);else throw"Bad LineString coordinates: "+c;}return d},polygon:function(a){var a=this.getElementsByTagNameNS(a,this.internalns,"LinearRing"),b=a.length,c=Array(b);if(b>0)for(var d=0,e=a.length;d=1&&e.length<=3)){switch(e.length){case 1:f=e[0];break;case 2:f=e[0];e=e[1];f=f.nodeType==3||f.nodeType==4?f:e;break;default:f=e[1]}if(f.nodeType==3||f.nodeType==4)if(d=d.prefix?d.nodeName.split(":")[1]:d.nodeName,f=OpenLayers.Util.getXmlNodeValue(f))f=f.replace(this.regExes.trimSpace,""),b[d]=f}return b},parseExtendedData:function(a){var b={},c,d,e,f,g=a.getElementsByTagName("Data");for(c=0,d=g.length;c"+this.contentDiv.innerHTML+"",b=this.map?this.map.div: -document.body,c=OpenLayers.Util.getRenderedDimensions(a,null,{displayClass:this.displayClass,containerElement:b}),d=this.getSafeContentSize(c),e=null;d.equals(c)?e=c:(e=new OpenLayers.Size,e.w=d.wa.w- -this.map.paddingForPopups.right)c.x=a.w-this.map.paddingForPopups.right-this.size.w;if(b.ya.h-this.map.paddingForPopups.bottom)c.y=a.h-this.map.paddingForPopups.bottom-this.size.h;this.map.pan(b.x-c.x,b.y-c.y)},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,true);this.events.on({mousedown:this.onmousedown,mousemove:this.onmousemove,mouseup:this.onmouseup,click:this.onclick,mouseout:this.onmouseout, -dblclick:this.ondblclick,touchstart:function(a){OpenLayers.Event.stop(a,true)},scope:this})},onmousedown:function(a){this.mousedown=true;OpenLayers.Event.stop(a,true)},onmousemove:function(a){this.mousedown&&OpenLayers.Event.stop(a,true)},onmouseup:function(a){if(this.mousedown)this.mousedown=false,OpenLayers.Event.stop(a,true)},onclick:function(a){OpenLayers.Event.stop(a,true)},onmouseout:function(){this.mousedown=false},ondblclick:function(a){OpenLayers.Event.stop(a,true)},CLASS_NAME:"OpenLayers.Popup"}); -OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white";OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px"; -OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(a,b,c,d,e,f,g){OpenLayers.Popup.prototype.initialize.apply(this,[a,b,c,d,f,g]);this.anchor=e!=null?e:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.relativePosition=this.anchor=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)}, -moveTo:function(a){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(a);a=this.calculateNewPx(a);OpenLayers.Popup.prototype.moveTo.apply(this,Array(a));this.relativePosition!=b&&this.updateRelativePosition()},setSize:function(a){OpenLayers.Popup.prototype.setSize.apply(this,arguments);this.lonlat&&this.map&&this.moveTo(this.map.getLayerPxFromLonLat(this.lonlat))},calculateRelativePosition:function(a){a=this.map.getLonLatFromLayerPx(a);a=this.map.getExtent().determineQuadrant(a); -return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(a){var a=a.offset(this.anchor.offset),b=this.size||this.contentSize,c=this.relativePosition.charAt(0)=="t";a.y+=c?-b.h:this.anchor.size.h;c=this.relativePosition.charAt(1)=="l";a.x+=c?-b.w:this.anchor.size.w;return a},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Rico=OpenLayers.Rico||{}; -OpenLayers.Rico.Color=OpenLayers.Class({initialize:function(a,b,c){this.rgb={r:a,g:b,b:c}},setRed:function(a){this.rgb.r=a},setGreen:function(a){this.rgb.g=a},setBlue:function(a){this.rgb.b=a},setHue:function(a){var b=this.asHSB();b.h=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setSaturation:function(a){var b=this.asHSB();b.s=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setBrightness:function(a){var b=this.asHSB();b.b=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)}, -darken:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.max(b.b-a,0))},brighten:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.min(b.b+a,1))},blend:function(a){this.rgb.r=Math.floor((this.rgb.r+a.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+a.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+a.rgb.b)/2)},isBright:function(){this.asHSB();return this.asHSB().b>0.5},isDark:function(){return!this.isBright()},asRGB:function(){return"rgb("+ -this.rgb.r+","+this.rgb.g+","+this.rgb.b+")"},asHex:function(){return"#"+this.rgb.r.toColorPart()+this.rgb.g.toColorPart()+this.rgb.b.toColorPart()},asHSB:function(){return OpenLayers.Rico.Color.RGBtoHSB(this.rgb.r,this.rgb.g,this.rgb.b)},toString:function(){return this.asHex()}}); -OpenLayers.Rico.Color.createFromHex=function(a){if(a.length==4)for(var b=a,a="#",c=1;c<4;c++)a+=b.charAt(c)+b.charAt(c);a.indexOf("#")==0&&(a=a.substring(1));b=a.substring(0,2);c=a.substring(2,4);a=a.substring(4,6);return new OpenLayers.Rico.Color(parseInt(b,16),parseInt(c,16),parseInt(a,16))}; -OpenLayers.Rico.Color.createColorFromBackground=function(a){var b=OpenLayers.Element.getStyle(OpenLayers.Util.getElement(a),"backgroundColor");if(b=="transparent"&&a.parentNode)return OpenLayers.Rico.Color.createColorFromBackground(a.parentNode);return b==null?new OpenLayers.Rico.Color(255,255,255):b.indexOf("rgb(")==0?(a=b.substring(4,b.length-1).split(","),new OpenLayers.Rico.Color(parseInt(a[0]),parseInt(a[1]),parseInt(a[2]))):b.indexOf("#")==0?OpenLayers.Rico.Color.createFromHex(b):new OpenLayers.Rico.Color(255, -255,255)}; -OpenLayers.Rico.Color.HSBtoRGB=function(a,b,c){var d=0,e=0,f=0;if(b==0)f=e=d=parseInt(c*255+0.5);else{var a=(a-Math.floor(a))*6,g=a-Math.floor(a),h=c*(1-b),i=c*(1-b*g),b=c*(1-b*(1-g));switch(parseInt(a)){case 0:d=c*255+0.5;e=b*255+0.5;f=h*255+0.5;break;case 1:d=i*255+0.5;e=c*255+0.5;f=h*255+0.5;break;case 2:d=h*255+0.5;e=c*255+0.5;f=b*255+0.5;break;case 3:d=h*255+0.5;e=i*255+0.5;f=c*255+0.5;break;case 4:d=b*255+0.5;e=h*255+0.5;f=c*255+0.5;break;case 5:d=c*255+0.5,e=h*255+0.5,f=i*255+0.5}}return{r:parseInt(d),g:parseInt(e), -b:parseInt(f)}};OpenLayers.Rico.Color.RGBtoHSB=function(a,b,c){var d,e=a>b?a:b;c>e&&(e=c);var f=a"+a.innerHTML+""},_roundTopCorners:function(a,b,c){for(var d=this._createCorner(c),e=0;e=0;e--)d.appendChild(this._createCornerSlice(b, -c,e,"bottom"));a.style.paddingBottom=0;a.appendChild(d)},_createCorner:function(a){var b=document.createElement("div");b.style.backgroundColor=this._isTransparent()?"transparent":a;return b},_createCornerSlice:function(a,b,c,d){var e=document.createElement("span"),f=e.style;f.backgroundColor=a;f.display="block";f.height="1px";f.overflow="hidden";f.fontSize="1px";a=this._borderColor(a,b);if(this.options.border&&c==0)f.borderTopStyle="solid",f.borderTopWidth="1px",f.borderLeftWidth="0px",f.borderRightWidth= -"0px",f.borderBottomWidth="0px",f.height="0px",f.borderColor=a;else if(a)f.borderColor=a,f.borderStyle="solid",f.borderWidth="0px 1px";if(!this.options.compact&&c==this.options.numSlices-1)f.height="2px";this._setMargin(e,c,d);this._setBorder(e,c,d);return e},_setOptions:function(a){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false};OpenLayers.Util.extend(this.options,a||{});this.options.numSlices=this.options.compact?2:4;if(this._isTransparent())this.options.blend= -false},_whichSideTop:function(){if(this._hasString(this.options.corners,"all","top"))return"";if(this.options.corners.indexOf("tl")>=0&&this.options.corners.indexOf("tr")>=0)return"";if(this.options.corners.indexOf("tl")>=0)return"left";else if(this.options.corners.indexOf("tr")>=0)return"right";return""},_whichSideBottom:function(){if(this._hasString(this.options.corners,"all","bottom"))return"";if(this.options.corners.indexOf("bl")>=0&&this.options.corners.indexOf("br")>=0)return"";if(this.options.corners.indexOf("bl")>= -0)return"left";else if(this.options.corners.indexOf("br")>=0)return"right";return""},_borderColor:function(a,b){return a=="transparent"?b:this.options.border?this.options.border:this.options.blend?this._blend(b,a):""},_setMargin:function(a,b,c){b=this._marginSize(b);c=c=="top"?this._whichSideTop():this._whichSideBottom();c=="left"?(a.style.marginLeft=b+"px",a.style.marginRight="0px"):c=="right"?(a.style.marginRight=b+"px",a.style.marginLeft="0px"):(a.style.marginLeft=b+"px",a.style.marginRight=b+ -"px")},_setBorder:function(a,b,c){b=this._borderSize(b);c=c=="top"?this._whichSideTop():this._whichSideBottom();c=="left"?(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth="0px"):c=="right"?(a.style.borderRightWidth=b+"px",a.style.borderLeftWidth="0px"):(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth=b+"px");if(this.options.border!=false)a.style.borderLeftWidth=b+"px",a.style.borderRightWidth=b+"px"},_marginSize:function(a){if(this._isTransparent())return 0;var b=[5,3,2,1],c=[3,2, -1,0],d=[2,1],e=[1,0];return this.options.compact&&this.options.blend?e[a]:this.options.compact?d[a]:this.options.blend?c[a]:b[a]},_borderSize:function(a){var b=[5,3,2,1],c=[2,1,1,1],d=[1,0],e=[0,2,0,0];if(this.options.compact&&(this.options.blend||this._isTransparent()))return 1;else if(this.options.compact)return d[a];else if(this.options.blend)return c[a];else if(this.options.border)return e[a];else if(this._isTransparent())return b[a];return 0},_hasString:function(a){for(var b=1;b= -0)return true;return false},_blend:function(a,b){var c=OpenLayers.Rico.Color.createFromHex(a);c.blend(OpenLayers.Rico.Color.createFromHex(b));return c},_background:function(a){try{return OpenLayers.Rico.Color.createColorFromBackground(a).asHex()}catch(b){return"#ffffff"}},_isTransparent:function(){return this.options.color=="transparent"},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr")},_isBottomRounded:function(){return this._hasString(this.options.corners, -"all","bottom","bl","br")},_hasSingleTextChild:function(a){return a.childNodes.length==1&&a.childNodes[0].nodeType==3}}; -OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(a,b,c,d,e,f,g){this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments)},draw:function(a){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div},updateRelativePosition:function(){this.setRicoCorners()}, -setSize:function(a){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners()},setBackgroundColor:function(a){if(a!=void 0)this.backgroundColor=a;if(this.div!=null&&this.contentDiv!=null)this.div.style.background="transparent",OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor)},setOpacity:function(a){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,a);this.div!=null&&this.groupDiv!=null&&OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity)}, -setBorder:function(){this.border=0},setRicoCorners:function(){var a={corners:this.getCornersToRound(this.relativePosition),color:this.backgroundColor,bgColor:"transparent",blend:false};this.rounded?(OpenLayers.Rico.Corner.reRound(this.groupDiv,a),this.setBackgroundColor(),this.setOpacity()):(OpenLayers.Rico.Corner.round(this.div,a),this.rounded=true)},getCornersToRound:function(){var a=["tl","tr","bl","br"],b=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(a,b); -return a.join(" ")},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5; -OpenLayers.Protocol.WFS.v1=OpenLayers.Class(OpenLayers.Protocol,{version:null,srsName:"EPSG:4326",featureType:null,featureNS:null,geometryName:"the_geom",schema:null,featurePrefix:"feature",formatOptions:null,readFormat:null,readOptions:null,initialize:function(a){OpenLayers.Protocol.prototype.initialize.apply(this,[a]);if(!a.format)this.format=OpenLayers.Format.WFST(OpenLayers.Util.extend({version:this.version,featureType:this.featureType,featureNS:this.featureNS,featurePrefix:this.featurePrefix, -geometryName:this.geometryName,srsName:this.srsName,schema:this.schema},this.formatOptions));!a.geometryName&&parseFloat(this.format.version)>1&&this.setGeometryName(null)},destroy:function(){this.options&&!this.options.format&&this.format.destroy();this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,arguments);a=OpenLayers.Util.extend({},a);OpenLayers.Util.applyDefaults(a,this.options||{});var b=new OpenLayers.Protocol.Response({requestType:"read"}), -c=OpenLayers.Format.XML.prototype.write.apply(this.format,[this.format.writeNode("wfs:GetFeature",a)]);b.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,b,a),params:a.params,headers:a.headers,data:c});return b},setFeatureType:function(a){this.featureType=a;this.format.featureType=a},setGeometryName:function(a){this.geometryName=a;this.format.geometryName=a},handleRead:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);if(b.callback){var c= -a.priv;c.status>=200&&c.status<300?(c=this.parseResponse(c,b.readOptions))&&c.success!==false?(b.readOptions&&b.readOptions.output=="object"?OpenLayers.Util.extend(a,c):a.features=c,a.code=OpenLayers.Protocol.Response.SUCCESS):(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=c):a.code=OpenLayers.Protocol.Response.FAILURE;b.callback.call(b.scope,a)}},parseResponse:function(a,b){var c=a.responseXML;if(!c||!c.documentElement)c=a.responseText;if(!c||c.length<=0)return null;c=this.readFormat!==null? -this.readFormat.read(c):this.format.read(c,b);if(!this.featureNS){var d=this.readFormat||this.format;this.featureNS=d.featureNS;d.autoConfig=false;this.geometryName||this.setGeometryName(d.geometryName)}return c},commit:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);var c=new OpenLayers.Protocol.Response({requestType:"commit",reqFeatures:a});c.priv=OpenLayers.Request.POST({url:b.url,headers:b.headers,data:this.format.write(a,b),callback:this.createCallback(this.handleCommit, -c,b)});return c},handleCommit:function(a,b){if(b.callback){var c=a.priv,d=c.responseXML;if(!d||!d.documentElement)d=c.responseText;c=this.format.read(d)||{};a.insertIds=c.insertIds||[];c.success?a.code=OpenLayers.Protocol.Response.SUCCESS:(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=c);b.callback.call(b.scope,a)}},filterDelete:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);new OpenLayers.Protocol.Response({requestType:"commit"});var c=this.format.createElementNSPlus("wfs:Transaction", -{attributes:{service:"WFS",version:this.version}}),d=this.format.createElementNSPlus("wfs:Delete",{attributes:{typeName:(b.featureNS?this.featurePrefix+":":"")+b.featureType}});b.featureNS&&d.setAttribute("xmlns:"+this.featurePrefix,b.featureNS);var e=this.format.writeNode("ogc:Filter",a);d.appendChild(e);c.appendChild(d);c=OpenLayers.Format.XML.prototype.write.apply(this.format,[c]);return OpenLayers.Request.POST({url:this.url,callback:b.callback||function(){},data:c})},abort:function(a){a&&a.priv.abort()}, -CLASS_NAME:"OpenLayers.Protocol.WFS.v1"}); -OpenLayers.Handler.Point=OpenLayers.Class(OpenLayers.Handler,{point:null,layer:null,multi:false,citeCompliant:false,mouseDown:false,stoppedDown:null,lastDown:null,lastUp:null,persist:false,stopDown:false,stopUp:false,layerOptions:null,pixelTolerance:5,touch:false,lastTouchPx:null,initialize:function(a,b,c){if(!c||!c.layerOptions||!c.layerOptions.styleMap)this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style["default"],{});OpenLayers.Handler.prototype.initialize.apply(this,arguments)}, -activate:function(){if(!OpenLayers.Handler.prototype.activate.apply(this,arguments))return false;var a=OpenLayers.Util.extend({displayInLayerSwitcher:false,calculateInRange:OpenLayers.Function.True,wrapDateLine:this.citeCompliant},this.layerOptions);this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,a);this.map.addLayer(this.layer);return true},createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a); -this.callback("create",[this.point.geometry,this.point]);this.point.geometry.clearBounds();this.layer.addFeatures([this.point],{silent:true})},deactivate:function(){if(!OpenLayers.Handler.prototype.deactivate.apply(this,arguments))return false;this.cancel();this.layer.map!=null&&(this.destroyFeature(true),this.layer.destroy(false));this.layer=null;this.touch=false;return true},destroyFeature:function(a){this.layer&&(a||!this.persist)&&this.layer.destroyFeatures();this.point=null},destroyPersistedFeature:function(){var a= -this.layer;a&&a.features.length>1&&this.layer.features[0].destroy()},finalize:function(a){this.mouseDown=false;this.lastTouchPx=this.lastUp=this.lastDown=null;this.callback(a?"cancel":"done",[this.geometryClone()]);this.destroyFeature(a)},cancel:function(){this.finalize(true)},click:function(a){OpenLayers.Event.stop(a);return false},dblclick:function(a){OpenLayers.Event.stop(a);return false},modifyFeature:function(a){this.point||this.createFeature(a);a=this.layer.getLonLatFromViewPortPx(a);this.point.geometry.x= -a.lon;this.point.geometry.y=a.lat;this.callback("modify",[this.point.geometry,this.point,false]);this.point.geometry.clearBounds();this.drawFeature()},drawFeature:function(){this.layer.drawFeature(this.point,this.style)},getGeometry:function(){var a=this.point&&this.point.geometry;a&&this.multi&&(a=new OpenLayers.Geometry.MultiPoint([a]));return a},geometryClone:function(){var a=this.getGeometry();return a&&a.clone()},mousedown:function(a){return this.down(a)},touchstart:function(a){if(!this.touch)this.touch= -true,this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,dblclick:this.dblclick,scope:this});this.lastTouchPx=a.xy;return this.down(a)},mousemove:function(a){return this.move(a)},touchmove:function(a){this.lastTouchPx=a.xy;return this.move(a)},mouseup:function(a){return this.up(a)},touchend:function(a){a.xy=this.lastTouchPx;return this.up(a)},down:function(a){this.mouseDown=true;this.lastDown=a.xy;this.touch||this.modifyFeature(a.xy);this.stoppedDown= -this.stopDown;return!this.stopDown},move:function(a){!this.touch&&(!this.mouseDown||this.stoppedDown)&&this.modifyFeature(a.xy);return true},up:function(a){this.mouseDown=false;this.stoppedDown=this.stopDown;if(!this.checkModifiers(a))return true;return this.lastUp&&this.lastUp.equals(a.xy)?true:this.lastDown&&this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance)?(this.touch&&this.modifyFeature(a.xy),this.persist&&this.destroyPersistedFeature(),this.lastUp=a.xy,this.finalize(),!this.stopUp): -true},mouseout:function(a){if(OpenLayers.Util.mouseLeft(a,this.map.eventsDiv))this.stoppedDown=this.stopDown,this.mouseDown=false},passesTolerance:function(a,b,c){var d=true;c!=null&&a&&b&&a.distanceTo(b)>c&&(d=false);return d},CLASS_NAME:"OpenLayers.Handler.Point"}); -OpenLayers.Handler.Path=OpenLayers.Class(OpenLayers.Handler.Point,{line:null,maxVertices:null,doubleTouchTolerance:20,freehand:false,freehandToggle:"shiftKey",timerId:null,redoStack:null,createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a);this.line=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString([this.point.geometry]));this.callback("create",[this.point.geometry,this.getSketch()]); -this.point.geometry.clearBounds();this.layer.addFeatures([this.line,this.point],{silent:true})},destroyFeature:function(a){OpenLayers.Handler.Point.prototype.destroyFeature.call(this,a);this.line=null},destroyPersistedFeature:function(){var a=this.layer;a&&a.features.length>2&&this.layer.features[0].destroy()},removePoint:function(){this.point&&this.layer.removeFeatures([this.point])},addPoint:function(a){this.layer.removeFeatures([this.point]);a=this.layer.getLonLatFromViewPortPx(a);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a.lon, -a.lat));this.line.geometry.addComponent(this.point.geometry,this.line.geometry.components.length);this.layer.addFeatures([this.point]);this.callback("point",[this.point.geometry,this.getGeometry()]);this.callback("modify",[this.point.geometry,this.getSketch()]);this.drawFeature();delete this.redoStack},insertXY:function(a,b){this.line.geometry.addComponent(new OpenLayers.Geometry.Point(a,b),this.getCurrentPointIndex());this.drawFeature();delete this.redoStack},insertDeltaXY:function(a,b){var c=this.line.geometry.components[this.getCurrentPointIndex()- -1];c&&!isNaN(c.x)&&!isNaN(c.y)&&this.insertXY(c.x+a,c.y+b)},insertDirectionLength:function(a,b){a*=Math.PI/180;var c=b*Math.cos(a),d=b*Math.sin(a);this.insertDeltaXY(c,d)},insertDeflectionLength:function(a,b){var c=this.getCurrentPointIndex()-1;if(c>0){var d=this.line.geometry.components[c],c=this.line.geometry.components[c-1];this.insertDirectionLength(Math.atan2(d.y-c.y,d.x-c.x)*180/Math.PI+a,b)}},getCurrentPointIndex:function(){return this.line.geometry.components.length-1},undo:function(){var a= -this.line.geometry,b=a.components,c=this.getCurrentPointIndex()-1,b=b[c];if(a=a.removeComponent(b)){if(!this.redoStack)this.redoStack=[];this.redoStack.push(b);this.drawFeature()}return a},redo:function(){var a=this.redoStack&&this.redoStack.pop();a&&(this.line.geometry.addComponent(a,this.getCurrentPointIndex()),this.drawFeature());return!!a},freehandMode:function(a){return this.freehandToggle&&a[this.freehandToggle]?!this.freehand:this.freehand},modifyFeature:function(a,b){this.line||this.createFeature(a); -var c=this.layer.getLonLatFromViewPortPx(a);this.point.geometry.x=c.lon;this.point.geometry.y=c.lat;this.callback("modify",[this.point.geometry,this.getSketch(),b]);this.point.geometry.clearBounds();this.drawFeature()},drawFeature:function(){this.layer.drawFeature(this.line,this.style);this.layer.drawFeature(this.point,this.style)},getSketch:function(){return this.line},getGeometry:function(){var a=this.line&&this.line.geometry;a&&this.multi&&(a=new OpenLayers.Geometry.MultiLineString([a]));return a}, -touchstart:function(a){if(this.timerId&&this.passesTolerance(this.lastTouchPx,a.xy,this.doubleTouchTolerance))return this.finishGeometry(),window.clearTimeout(this.timerId),this.timerId=null,false;else{if(this.timerId)window.clearTimeout(this.timerId),this.timerId=null;this.timerId=window.setTimeout(OpenLayers.Function.bind(function(){this.timerId=null},this),300);return OpenLayers.Handler.Point.prototype.touchstart.call(this,a)}},down:function(a){var b=this.stopDown;this.freehandMode(a)&&(b=true, -this.touch&&(this.modifyFeature(a.xy,!!this.lastUp),OpenLayers.Event.stop(a)));!this.touch&&(!this.lastDown||!this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance))&&this.modifyFeature(a.xy,!!this.lastUp);this.mouseDown=true;this.lastDown=a.xy;this.stoppedDown=b;return!b},move:function(a){if(this.stoppedDown&&this.freehandMode(a))return this.persist&&this.destroyPersistedFeature(),this.addPoint(a.xy),false;!this.touch&&(!this.mouseDown||this.stoppedDown)&&this.modifyFeature(a.xy,!!this.lastUp); -return true},up:function(a){if(this.mouseDown&&(!this.lastUp||!this.lastUp.equals(a.xy)))if(this.stoppedDown&&this.freehandMode(a))this.persist&&this.destroyPersistedFeature(),this.removePoint(),this.finalize();else if(this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance))this.touch&&this.modifyFeature(a.xy),this.lastUp==null&&this.persist&&this.destroyPersistedFeature(),this.addPoint(a.xy),this.lastUp=a.xy,this.line.geometry.components.length===this.maxVertices+1&&this.finishGeometry();this.stoppedDown= -this.stopDown;this.mouseDown=false;return!this.stopUp},finishGeometry:function(){this.line.geometry.removeComponent(this.line.geometry.components[this.line.geometry.components.length-1]);this.removePoint();this.finalize()},dblclick:function(a){this.freehandMode(a)||this.finishGeometry();return false},CLASS_NAME:"OpenLayers.Handler.Path"}); -OpenLayers.Filter.Spatial=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,distance:null,distanceUnits:null,evaluate:function(a){var b=false;switch(this.type){case OpenLayers.Filter.Spatial.BBOX:case OpenLayers.Filter.Spatial.INTERSECTS:if(a.geometry){var c=this.value;this.value.CLASS_NAME=="OpenLayers.Bounds"&&(c=this.value.toGeometry());a.geometry.intersects(c)&&(b=true)}break;default:throw Error("evaluate is not implemented for this filter type.");}return b},clone:function(){var a= -OpenLayers.Util.applyDefaults({value:this.value&&this.value.clone&&this.value.clone()},this);return new OpenLayers.Filter.Spatial(a)},CLASS_NAME:"OpenLayers.Filter.Spatial"});OpenLayers.Filter.Spatial.BBOX="BBOX";OpenLayers.Filter.Spatial.INTERSECTS="INTERSECTS";OpenLayers.Filter.Spatial.DWITHIN="DWITHIN";OpenLayers.Filter.Spatial.WITHIN="WITHIN";OpenLayers.Filter.Spatial.CONTAINS="CONTAINS"; -OpenLayers.Layer.GML=OpenLayers.Class(OpenLayers.Layer.Vector,{loaded:false,format:null,formatOptions:null,initialize:function(a,b,c){var d=[];d.push(a,c);OpenLayers.Layer.Vector.prototype.initialize.apply(this,d);this.url=b},setVisibility:function(a,b){OpenLayers.Layer.Vector.prototype.setVisibility.apply(this,arguments);this.visibility&&!this.loaded&&this.loadGML()},moveTo:function(a,b,c){OpenLayers.Layer.Vector.prototype.moveTo.apply(this,arguments);this.visibility&&!this.loaded&&this.loadGML()}, -loadGML:function(){if(!this.loaded)this.events.triggerEvent("loadstart"),OpenLayers.Request.GET({url:this.url,success:this.requestSuccess,failure:this.requestFailure,scope:this}),this.loaded=true},setUrl:function(a){this.url=a;this.destroyFeatures();this.loaded=false;this.loadGML()},requestSuccess:function(a){var b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;a={};OpenLayers.Util.extend(a,this.formatOptions);if(this.map&&!this.projection.equals(this.map.getProjectionObject()))a.externalProjection= -this.projection,a.internalProjection=this.map.getProjectionObject();this.addFeatures((this.format?new this.format(a):new OpenLayers.Format.GML(a)).read(b));this.events.triggerEvent("loadend")},requestFailure:function(){OpenLayers.Console.userError("Error in loading GML file "+this.url);this.events.triggerEvent("loadend")},CLASS_NAME:"OpenLayers.Layer.GML"}); -OpenLayers.Tile.WFS=OpenLayers.Class(OpenLayers.Tile,{features:null,url:null,request:null,initialize:function(a,b,c,d,e){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=d;this.features=[]},destroy:function(){OpenLayers.Tile.prototype.destroy.apply(this,arguments);this.destroyAllFeatures();this.url=this.features=null;if(this.request)this.request.abort(),this.request=null},clear:function(){this.destroyAllFeatures()},draw:function(){if(OpenLayers.Tile.prototype.draw.apply(this,arguments))this.isLoading? -this.events.triggerEvent("reload"):(this.isLoading=true,this.events.triggerEvent("loadstart")),this.loadFeaturesForRegion(this.requestSuccess)},loadFeaturesForRegion:function(a,b){this.request&&this.request.abort();this.request=OpenLayers.Request.GET({url:this.url,success:a,failure:b,scope:this})},requestSuccess:function(a){if(this.features){var b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;this.layer.vectorMode?this.layer.addFeatures(this.layer.formatObject.read(b)):(a=new OpenLayers.Format.XML, -typeof b=="string"&&(b=a.read(b)),this.addResults(a.getElementsByTagNameNS(b,"http://www.opengis.net/gml","featureMember")))}this.events&&this.events.triggerEvent("loadend");this.request=null},addResults:function(a){for(var b=0;b0;)this.features.shift().destroy()},CLASS_NAME:"OpenLayers.Tile.WFS"}); -OpenLayers.Format.Context=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{layerOptions:null,layerParams:null,read:function(a,b){var c=OpenLayers.Format.XML.VersionedOGC.prototype.read.apply(this,arguments);if(b&&b.map)if(this.context=c,b.map instanceof OpenLayers.Map)c=this.mergeContextToMap(c,b.map);else{var d=b.map;if(OpenLayers.Util.isElement(d)||typeof d=="string")d={div:d};c=this.contextToMap(c,d)}return c},getLayerFromContext:function(a){var b,c,d={queryable:a.queryable,visibility:a.visibility, -maxExtent:a.maxExtent,metadata:OpenLayers.Util.applyDefaults(a.metadata,{styles:a.styles,formats:a.formats,"abstract":a["abstract"],dataURL:a.dataURL}),numZoomLevels:a.numZoomLevels,units:a.units,isBaseLayer:a.isBaseLayer,opacity:a.opacity,displayInLayerSwitcher:a.displayInLayerSwitcher,singleTile:a.singleTile,tileSize:a.tileSize?new OpenLayers.Size(a.tileSize.width,a.tileSize.height):void 0,minScale:a.minScale||a.maxScaleDenominator,maxScale:a.maxScale||a.minScaleDenominator,srs:a.srs,dimensions:a.dimensions, -metadataURL:a.metadataURL};this.layerOptions&&OpenLayers.Util.applyDefaults(d,this.layerOptions);var e={layers:a.name,transparent:a.transparent,version:a.version};if(a.formats&&a.formats.length>0){e.format=a.formats[0].value;for(b=0,c=a.formats.length;b0)for(b=0,c=a.styles.length;b0)for(var d=0,e=a.metadata.formats.length;d0){d=0;for(e=a.metadata.styles.length;d0&&this.read_wmc_OnlineResource(b,a[0]);return b.href},CLASS_NAME:"OpenLayers.Format.WMC.v1"}); -OpenLayers.Popup.Framed=OpenLayers.Class(OpenLayers.Popup.Anchored,{imageSrc:null,imageSize:null,isAlphaImage:false,positionBlocks:null,blocks:null,fixedRelativePosition:false,initialize:function(a,b,c,d,e,f,g){OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);if(this.fixedRelativePosition)this.updateRelativePosition(),this.calculateRelativePosition=function(){return this.relativePosition};this.contentDiv.style.position="absolute";this.contentDiv.style.zIndex=1;if(f)this.closeDiv.style.zIndex= -1;this.groupDiv.style.position="absolute";this.groupDiv.style.top="0px";this.groupDiv.style.left="0px";this.groupDiv.style.height="100%";this.groupDiv.style.width="100%"},destroy:function(){this.isAlphaImage=this.imageSize=this.imageSrc=null;this.fixedRelativePosition=false;this.positionBlocks=null;for(var a=0;ai;)e.removeChild(e.lastChild);for(var j=0;jthis.nbPoints&&this.points.pop()},end:function(a){for(var b,c=(new Date).getTime(),d=0,e=this.points.length,f;dthis.delay)break;b=f}if(b&&(d=(new Date).getTime()-b.tick,c=Math.sqrt(Math.pow(a.x-b.xy.x,2)+Math.pow(a.y-b.xy.y,2)),d=c/d,!(d==0||d');j+=g;i&&(j+="");j+="";j+='
    ';j+=h;j+="
    ";e.popupContentHTML=j}f=new OpenLayers.Feature(this,f,e);this.features.push(f); -e=f.createMarker();e.events.register("click",f,this.markerClick);this.addMarker(e)}}this.events.triggerEvent("loadend")},markerClick:function(a){var b=this==this.layer.selectedFeature;this.layer.selectedFeature=!b?this:null;for(var c=0,d=this.layer.map.popups.length;c0;){var a=this.features[0];OpenLayers.Util.removeItem(this.features,a);a.destroy()}},CLASS_NAME:"OpenLayers.Layer.GeoRSS"}); -OpenLayers.Lang.br=OpenLayers.Util.applyDefaults({unhandledRequest:"Distro evel reked anveret ${statusText}",Permalink:"Peurliamm",Overlays:"Gwiskado\u00f9","Base Layer":"Gwiskad diazez",noFID:"N'haller ket hizivaat un elfenn ma n'eus ket a niverenn-anaout (FID) eviti.",browserNotSupported:"N'eo ket skoret an daskor vektorel gant ho merdeer. Setu aze an daskorerio\u00f9 skoret evit ar poent :\n${renderers}",minZoomLevelError:"Ne zleer implijout ar perzh minZoomLevel nemet evit gwiskado\u00f9 FixedZoomLevels-descendent. Ar fed ma wiria ar gwiskad WHS-se hag-e\u00f1 ez eus eus minZoomLevel zo un aspadenn gozh. Koulskoude n'omp ket evit e ziverka\u00f1 kuit da derri\u00f1 arloado\u00f9 diazezet war OL a c'hallfe beza\u00f1 stag outa\u00f1. Setu perak eo dispredet -- Lamet kuit e vo ar gwiria\u00f1 minZoomLevel a-is er stumm 3.0. Ober gant an arventenno\u00f9 bihana\u00f1/brasa\u00f1 evel deskrivet ama\u00f1 e plas : http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Treuzgread WFS : MAT EO ${response}",commitFailed:"Treuzgread WFS Transaction: C'HWITET ${response}",googleWarning:"N'eus ket bet gallet karga\u00f1 ar gwiskad Google ent reizh.

    Evit en em zizober eus ar c'hemenn-ma\u00f1, dibabit ur BaseLayer nevez en diuzer gwiskado\u00f9 er c'horn deho\u00f9 el laez.

    Sur a-walc'h eo peogwir n'eo ket bet ensoc'het levraoueg Google Maps pe neuze ne glot ket an alc'hwez API gant ho lec'hienn.

    Diorroerien : Evit reizha\u00f1 an dra-se, click here", -getLayerWarning:"N'haller ket karga\u00f1 ar gwiskad ${layerType} ent reizh.

    Evit en em zizober eus ar c'hemenn-ma\u00f1, dibabit ur BaseLayer nevez en diuzer gwiskado\u00f9 er c'horn deho\u00f9 el laez.

    Sur a-walc'h eo peogwir n'eo ket bet ensoc'het mat al levraoueg ${layerLib}.

    Diorroerien : Evit gouzout penaos reizha\u00f1 an dra-se, click here","Scale = 1 : ${scaleDenom}":"Skeul = 1 : ${scaleDenom}", -W:"K",E:"R",N:"N",S:"S",reprojectDeprecated:"Emaoc'h oc'h implijout an dibarzh 'reproject' war ar gwiskad ${layerName}. Dispredet eo an dibarzh-ma\u00f1 : bet eo hag e talveze da ziskwel roadenno\u00f9 war-c'horre kartenno\u00f9 diazez kenwerzhel, un dra hag a c'haller ober brema\u00f1 gant an arc'hwel dre skor banndres boullek Mercator. Muioc'h a ditouro\u00f9 a c'haller da gaout war http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Dispredet eo an daore-se ha tennet e vo kuit eus ar stumm 3.0. Grit gant ${newMethod} e plas."}); -OpenLayers.Format.GML.v2=OpenLayers.Class(OpenLayers.Format.GML.Base,{schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd",initialize:function(a){OpenLayers.Format.GML.Base.prototype.initialize.apply(this,[a])},readers:{gml:OpenLayers.Util.applyDefaults({outerBoundaryIs:function(a,b){var c={};this.readChildNodes(a,c);b.outer=c.components[0]},innerBoundaryIs:function(a,b){var c={};this.readChildNodes(a,c);b.inner.push(c.components[0])},Box:function(a,b){var c= -{};this.readChildNodes(a,c);if(!b.components)b.components=[];var d=c.points[0],c=c.points[1];b.components.push(new OpenLayers.Bounds(d.x,d.y,c.x,c.y))}},OpenLayers.Format.GML.Base.prototype.readers.gml),feature:OpenLayers.Format.GML.Base.prototype.readers.feature,wfs:OpenLayers.Format.GML.Base.prototype.readers.wfs},write:function(a){a=this.writeNode(OpenLayers.Util.isArray(a)?"wfs:FeatureCollection":"gml:featureMember",a);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation); -return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{gml:OpenLayers.Util.applyDefaults({Point:function(a){var b=this.createElementNSPlus("gml:Point");this.writeNode("coordinates",[a],b);return b},coordinates:function(a){for(var b=a.length,c=Array(b),d,e=0;e=f||d!==0)d=Math.round(a._angle/f)*f-d,a._angle=0,a.box.geometry.rotate(d,g),a.transformFeature({rotation:d})}},h=Array(8), -i=Array(4),j,k,l,m=0;m<8;++m){j=b.geometry.components[m];k=new OpenLayers.Feature.Vector(j.clone(),null,typeof this.renderIntent=="string"?null:this.renderIntent);if(m%2==0)l=new OpenLayers.Feature.Vector(j.clone(),null,typeof this.rotationHandleSymbolizer=="string"?null:this.rotationHandleSymbolizer),l.geometry.move=g,j._rotationHandle=l,i[m/2]=l;j.move=c;j.resize=d;j.rotate=e;k.geometry.move=f;j._handle=k;h[m]=k}this.box=b;this.rotationHandles=i;this.handles=h},createControl:function(){var a=this; -this.dragControl=new OpenLayers.Control.DragFeature(this.layer,{documentDrag:true,moveFeature:function(b){if(this.feature===a.feature)this.feature=a.box;OpenLayers.Control.DragFeature.prototype.moveFeature.apply(this,arguments)},onDrag:function(b){b===a.box&&(a.transformFeature({center:a.center}),a.drawHandles())},onStart:function(b){var c=!a.geometryTypes||OpenLayers.Util.indexOf(a.geometryTypes,b.geometry.CLASS_NAME)!==-1,d=OpenLayers.Util.indexOf(a.handles,b);d+=OpenLayers.Util.indexOf(a.rotationHandles, -b);b!==a.feature&&b!==a.box&&d==-2&&c&&a.setFeature(b)},onComplete:function(){a.events.triggerEvent("transformcomplete",{feature:a.feature})}})},drawHandles:function(){for(var a=this.layer,b=0;b<8;++b)this.rotate&&b%2===0&&a.drawFeature(this.rotationHandles[b/2],this.rotationHandleSymbolizer),a.drawFeature(this.handles[b],this.renderIntent)},transformFeature:function(a){if(!this._setfeature){this.scale*=a.scale||1;this.ratio*=a.ratio||1;var b=this.rotation;this.rotation=(this.rotation+(a.rotation|| -0))%360;if(this.events.triggerEvent("beforetransform",a)!==false){var c=this.feature,d=c.geometry,e=this.center;d.rotate(-b,e);a.scale||a.ratio?d.resize(a.scale,e,a.ratio):a.center&&c.move(a.center.getBounds().getCenterLonLat());d.rotate(this.rotation,e);this.layer.drawFeature(c);c.toState(OpenLayers.State.UPDATE);this.events.triggerEvent("transform",a)}}this.layer.drawFeature(this.box,this.renderIntent);this.drawHandles()},destroy:function(){for(var a,b=0;b<8;++b)a=this.box.geometry.components[b], -a._handle.destroy(),a._handle=null,a._rotationHandle&&a._rotationHandle.destroy(),a._rotationHandle=null;this.box.destroy();this.layer=this.box=null;this.dragControl.destroy();OpenLayers.Control.prototype.destroy.apply(this,arguments)},CLASS_NAME:"OpenLayers.Control.TransformFeature"}); -OpenLayers.Lang.ia=OpenLayers.Util.applyDefaults({unhandledRequest:"Le responsa a un requesta non esseva maneate: ${statusText}",Permalink:"Permaligamine",Overlays:"Superpositiones","Base Layer":"Strato de base",noFID:"Non pote actualisar un elemento sin FID.",browserNotSupported:"Tu navigator non supporta le rendition de vectores. Le renditores actualmente supportate es:\n${renderers}",minZoomLevelError:"Le proprietate minZoomLevel es solmente pro uso con le stratos descendente de FixedZoomLevels. Le facto que iste strato WFS verifica minZoomLevel es un reliquia del passato. Nonobstante, si nos lo remove immediatemente, nos pote rumper applicationes a base de OL que depende de illo. Ergo nos lo declara obsolete; le verification de minZoomLevel in basso essera removite in version 3.0. Per favor usa in su loco le configuration de resolutiones min/max como describite a: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Transaction WFS: SUCCESSO ${response}",commitFailed:"Transaction WFS: FALLEVA ${response}",googleWarning:"Le strato Google non poteva esser cargate correctemente.

    Pro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.

    Multo probabilemente, isto es proque le script del libreria de Google Maps non esseva includite o non contine le clave API correcte pro tu sito.

    Disveloppatores: Pro adjuta de corriger isto, clicca hic
    Pro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.

    Multo probabilemente, isto es proque le script del libreria de ${layerLib} non esseva correctemente includite.

    Disveloppatores: Pro adjuta de corriger isto,
    clicca hic","Scale = 1 : ${scaleDenom}":"Scala = 1 : ${scaleDenom}", -W:"W",E:"E",N:"N",S:"S",reprojectDeprecated:"Tu usa le option 'reproject' in le strato ${layerName} layer. Iste option es obsolescente: illo esseva pro poter monstrar datos super cartas de base commercial, ma iste functionalitate pote ora esser attingite con le uso de Spherical Mercator. Ulterior information es disponibile a http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Iste methodo ha essite declarate obsolescente e essera removite in version 3.0. Per favor usa ${newMethod} in su loco."}); -OpenLayers.Layer.WMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"},reproject:false,isBaseLayer:true,encodeBBOX:false,noMagic:false,yx:{"EPSG:4326":true},initialize:function(a,b,c,d){var e=[],c=OpenLayers.Util.upperCaseObject(c);if(parseFloat(c.VERSION)>=1.3&&!c.EXCEPTIONS)c.EXCEPTIONS="INIMAGE";e.push(a,b,c,d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,e);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)); -if(!this.noMagic&&this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if(d==null||!d.isBaseLayer)this.isBaseLayer=false;if(this.params.FORMAT=="image/jpeg")this.params.FORMAT=OpenLayers.Util.alphaHack()?"image/gif":"image/png"}},clone:function(a){a==null&&(a=new OpenLayers.Layer.WMS(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},reverseAxisOrder:function(){return parseFloat(this.params.VERSION)>=1.3&& -!!this.yx[this.map.getProjectionObject().getCode()]},getURL:function(a){var a=this.adjustBounds(a),b=this.getImageSize(),c={},d=this.reverseAxisOrder();c.BBOX=this.encodeBBOX?a.toBBOX(null,d):a.toArray(d);c.WIDTH=b.w;c.HEIGHT=b.h;return this.getFullRequestString(c)},mergeNewParams:function(a){a=[OpenLayers.Util.upperCaseObject(a)];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,a)},getFullRequestString:function(a,b){var c=this.map.getProjectionObject(),c=this.projection&&this.projection.equals(c)? -this.projection.getCode():c.getCode(),c=c=="none"?null:c;parseFloat(this.params.VERSION)>=1.3?this.params.CRS=c:this.params.SRS=c;if(typeof this.params.TRANSPARENT=="boolean")a.TRANSPARENT=this.params.TRANSPARENT?"TRUE":"FALSE";return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.WMS"}); -OpenLayers.Format.WMC.v1_1_0=OpenLayers.Class(OpenLayers.Format.WMC.v1,{VERSION:"1.1.0",schemaLocation:"http://www.opengis.net/context http://schemas.opengis.net/context/1.1.0/context.xsd",initialize:function(a){OpenLayers.Format.WMC.v1.prototype.initialize.apply(this,[a])},read_sld_MinScaleDenominator:function(a,b){var c=parseFloat(this.getChildValue(b));if(c>0)a.maxScale=c},read_sld_MaxScaleDenominator:function(a,b){a.minScale=parseFloat(this.getChildValue(b))},read_wmc_SRS:function(a,b){if(!("srs"in -a))a.srs={};a.srs[this.getChildValue(b)]=true},write_wmc_Layer:function(a){var b=OpenLayers.Format.WMC.v1.prototype.write_wmc_Layer.apply(this,[a]);if(a.maxScale){var c=this.createElementNS(this.namespaces.sld,"sld:MinScaleDenominator");c.appendChild(this.createTextNode(a.maxScale.toPrecision(16)));b.appendChild(c)}a.minScale&&(c=this.createElementNS(this.namespaces.sld,"sld:MaxScaleDenominator"),c.appendChild(this.createTextNode(a.minScale.toPrecision(16))),b.appendChild(c));if(a.srs)for(var d in a.srs)b.appendChild(this.createElementDefaultNS("SRS", -d));b.appendChild(this.write_wmc_FormatList(a));b.appendChild(this.write_wmc_StyleList(a));a.dimensions&&b.appendChild(this.write_wmc_DimensionList(a));b.appendChild(this.write_wmc_LayerExtension(a));return b},CLASS_NAME:"OpenLayers.Format.WMC.v1_1_0"});OpenLayers.Format.XLS=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.1.0",stringifyOutput:true,CLASS_NAME:"OpenLayers.Format.XLS"}); -OpenLayers.Format.XLS.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{xls:"http://www.opengis.net/xls",gml:"http://www.opengis.net/gml",xsi:"http://www.w3.org/2001/XMLSchema-instance"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},xy:true,defaultPrefix:"xls",schemaLocation:null,initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a,b){OpenLayers.Util.applyDefaults(b,this.options);var c={};this.readChildNodes(a, -c);return c},readers:{xls:{XLS:function(a,b){b.version=a.getAttribute("version");this.readChildNodes(a,b)},Response:function(a,b){this.readChildNodes(a,b)},GeocodeResponse:function(a,b){b.responseLists=[];this.readChildNodes(a,b)},GeocodeResponseList:function(a,b){var c={features:[],numberOfGeocodedAddresses:parseInt(a.getAttribute("numberOfGeocodedAddresses"))};b.responseLists.push(c);this.readChildNodes(a,c)},GeocodedAddress:function(a,b){var c=new OpenLayers.Feature.Vector;b.features.push(c);this.readChildNodes(a, -c);c.geometry=c.components[0]},GeocodeMatchCode:function(a,b){b.attributes.matchCode={accuracy:parseFloat(a.getAttribute("accuracy")),matchType:a.getAttribute("matchType")}},Address:function(a,b){var c={countryCode:a.getAttribute("countryCode"),addressee:a.getAttribute("addressee"),street:[],place:[]};b.attributes.address=c;this.readChildNodes(a,c)},freeFormAddress:function(a,b){b.freeFormAddress=this.getChildValue(a)},StreetAddress:function(a,b){this.readChildNodes(a,b)},Building:function(a,b){b.building= -{number:a.getAttribute("number"),subdivision:a.getAttribute("subdivision"),buildingName:a.getAttribute("buildingName")}},Street:function(a,b){b.street.push(this.getChildValue(a))},Place:function(a,b){b.place[a.getAttribute("type")]=this.getChildValue(a)},PostalCode:function(a,b){b.postalCode=this.getChildValue(a)}},gml:OpenLayers.Format.GML.v3.prototype.readers.gml},write:function(a){return this.writers.xls.XLS.apply(this,[a])},writers:{xls:{XLS:function(a){var b=this.createElementNSPlus("xls:XLS", -{attributes:{version:this.VERSION,"xsi:schemaLocation":this.schemaLocation}});this.writeNode("RequestHeader",a.header,b);this.writeNode("Request",a,b);return b},RequestHeader:function(){return this.createElementNSPlus("xls:RequestHeader")},Request:function(a){var b=this.createElementNSPlus("xls:Request",{attributes:{methodName:"GeocodeRequest",requestID:a.requestID||"",version:this.VERSION}});this.writeNode("GeocodeRequest",a.addresses,b);return b},GeocodeRequest:function(a){for(var b=this.createElementNSPlus("xls:GeocodeRequest"), -c=0,d=a.length;c
    Aby ste sa tejto spr\u00e1vy zbavili vyberte nov\u00fa BaseLayer v prep\u00edna\u010di vrstiev v pravom hornom rohu.

    Toto sa stalo pravdepodobne preto, \u017ee skript kni\u017enice Google Maps bu\u010f nebol na\u010d\u00edtan\u00fd alebo neobsahuje spr\u00e1vny k\u013e\u00fa\u010d API pre va\u0161u lokalitu.

    V\u00fdvoj\u00e1ri: Tu m\u00f4\u017eete z\u00edska\u0165 pomoc so sfunk\u010dnen\u00edm", -getLayerWarning:"Vrstvu ${layerType} nebolo mo\u017en\u00e9 spr\u00e1vne na\u010d\u00edta\u0165.

    Aby ste sa tejto spr\u00e1vy zbavili vyberte nov\u00fa BaseLayer v prep\u00edna\u010di vrstiev v pravom hornom rohu.

    Toto sa stalo pravdepodobne preto, \u017ee skript kni\u017enice ${layerType} bu\u010f nebol na\u010d\u00edtan\u00fd alebo neobsahuje spr\u00e1vny k\u013e\u00fa\u010d API pre va\u0161u lokalitu.

    V\u00fdvoj\u00e1ri: Tu m\u00f4\u017eete z\u00edska\u0165 pomoc so sfunk\u010dnen\u00edm", -"Scale = 1 : ${scaleDenom}":"Mierka = 1 : ${scaleDenom}",reprojectDeprecated:"Pou\u017e\u00edvate vo\u013eby \u201ereproject\u201c vrstvy ${layerType}. T\u00e1to vo\u013eba je zzavrhovan\u00e1: jej pou\u017eitie bolo navrhnut\u00e9 na podporu zobrazovania \u00fadajov nad komer\u010dn\u00fdmi z\u00e1kladov\u00fdmi mapami, ale t\u00fato funkcionalitu je teraz mo\u017en\u00e9 dosiahnu\u0165 pomocou Spherical Mercator. \u010eal\u0161ie inform\u00e1cie z\u00edskate na str\u00e1nke http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"T\u00e1to met\u00f3da je zavrhovan\u00e1 a bude odstr\u00e1nen\u00e1 vo verzii 3.0. Pou\u017eite pros\u00edm namiesto nej met\u00f3du ${newMethod}."}); -OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15E3,translationParameters:null,symbolMetrics:null,initialize:function(a){if(this.supported())OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments),this.translationParameters={x:0,y:0},this.symbolMetrics={}},supported:function(){return document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVG", -"1.1")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"))},inValidRange:function(a,b,c){a+=c?0:this.translationParameters.x;b+=c?0:this.translationParameters.y;return a>=-this.MAX_PIXEL&&a<=this.MAX_PIXEL&&b>=-this.MAX_PIXEL&&b<=this.MAX_PIXEL},setExtent:function(a,b){var c=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),d=this.getResolution(),e=-a.left/d,d=a.top/d;return b?(this.left=e,this.top=d,this.rendererRoot.setAttributeNS(null, -"viewBox","0 0 "+this.size.w+" "+this.size.h),this.translate(this.xOffset,0),true):((e=this.translate(e-this.left+this.xOffset,d-this.top))||this.setExtent(a,true),c&&e)},translate:function(a,b){if(this.inValidRange(a,b,true)){var c="";if(a||b)c="translate("+a+","+b+")";this.root.setAttributeNS(null,"transform",c);this.translationParameters={x:a,y:b};return true}else return false},setSize:function(a){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);this.rendererRoot.setAttributeNS(null, -"width",this.size.w);this.rendererRoot.setAttributeNS(null,"height",this.size.h)},getNodeType:function(a,b){var c=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":c=b.externalGraphic?"image":this.isComplexSymbol(b.graphicName)?"svg":"circle";break;case "OpenLayers.Geometry.Rectangle":c="rect";break;case "OpenLayers.Geometry.LineString":c="polyline";break;case "OpenLayers.Geometry.LinearRing":c="polygon";break;case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":case "OpenLayers.Geometry.Surface":c= -"path"}return c},setStyle:function(a,b,c){var b=b||a._style,c=c||a._options,d=parseFloat(a.getAttributeNS(null,"r")),e=1,f;if(a._geometryClass=="OpenLayers.Geometry.Point"&&d){a.style.visibility="";if(b.graphic===false)a.style.visibility="hidden";else if(b.externalGraphic){f=this.getPosition(a);if(b.graphicTitle)a.setAttributeNS(null,"title",b.graphicTitle),d=this.nodeFactory(null,"title"),d.textContent=b.graphicTitle,a.appendChild(d);b.graphicWidth&&b.graphicHeight&&a.setAttributeNS(null,"preserveAspectRatio", -"none");var d=b.graphicWidth||b.graphicHeight,g=b.graphicHeight||b.graphicWidth,d=d?d:b.pointRadius*2,g=g?g:b.pointRadius*2,h=b.graphicYOffset!=void 0?b.graphicYOffset:-(0.5*g),i=b.graphicOpacity||b.fillOpacity;a.setAttributeNS(null,"x",(f.x+(b.graphicXOffset!=void 0?b.graphicXOffset:-(0.5*d))).toFixed());a.setAttributeNS(null,"y",(f.y+h).toFixed());a.setAttributeNS(null,"width",d);a.setAttributeNS(null,"height",g);a.setAttributeNS(this.xlinkns,"href",b.externalGraphic);a.setAttributeNS(null,"style", -"opacity: "+i);a.onclick=OpenLayers.Renderer.SVG.preventDefault}else if(this.isComplexSymbol(b.graphicName)){var d=b.pointRadius*3,g=d*2,j=this.importSymbol(b.graphicName);f=this.getPosition(a);e=this.symbolMetrics[j.id][0]*3/g;h=a.parentNode;i=a.nextSibling;h&&h.removeChild(a);a.firstChild&&a.removeChild(a.firstChild);a.appendChild(j.firstChild.cloneNode(true));a.setAttributeNS(null,"viewBox",j.getAttributeNS(null,"viewBox"));a.setAttributeNS(null,"width",g);a.setAttributeNS(null,"height",g);a.setAttributeNS(null, -"x",f.x-d);a.setAttributeNS(null,"y",f.y-d);i?h.insertBefore(a,i):h&&h.appendChild(a)}else a.setAttributeNS(null,"r",b.pointRadius);d=b.rotation;if((d!==void 0||a._rotation!==void 0)&&f)a._rotation=d,d|=0,a.nodeName!=="svg"?a.setAttributeNS(null,"transform","rotate("+d+" "+f.x+" "+f.y+")"):(f=this.symbolMetrics[j.id],a.firstChild.setAttributeNS(null,"transform","rotate("+d+" "+f[1]+" "+f[2]+")"))}c.isFilled?(a.setAttributeNS(null,"fill",b.fillColor),a.setAttributeNS(null,"fill-opacity",b.fillOpacity)): -a.setAttributeNS(null,"fill","none");c.isStroked?(a.setAttributeNS(null,"stroke",b.strokeColor),a.setAttributeNS(null,"stroke-opacity",b.strokeOpacity),a.setAttributeNS(null,"stroke-width",b.strokeWidth*e),a.setAttributeNS(null,"stroke-linecap",b.strokeLinecap||"round"),a.setAttributeNS(null,"stroke-linejoin","round"),b.strokeDashstyle&&a.setAttributeNS(null,"stroke-dasharray",this.dashStyle(b,e))):a.setAttributeNS(null,"stroke","none");b.pointerEvents&&a.setAttributeNS(null,"pointer-events",b.pointerEvents); -b.cursor!=null&&a.setAttributeNS(null,"cursor",b.cursor);return a},dashStyle:function(a,b){var c=a.strokeWidth*b,d=a.strokeDashstyle;switch(d){case "solid":return"none";case "dot":return[1,4*c].join();case "dash":return[4*c,4*c].join();case "dashdot":return[4*c,4*c,1,4*c].join();case "longdash":return[8*c,4*c].join();case "longdashdot":return[8*c,4*c,1,4*c].join();default:return OpenLayers.String.trim(d).replace(/\s+/g,",")}},createNode:function(a,b){var c=document.createElementNS(this.xmlns,a);b&& -c.setAttributeNS(null,"id",b);return c},nodeTypeCompare:function(a,b){return b==a.nodeName},createRenderRoot:function(){return this.nodeFactory(this.container.id+"_svgRoot","svg")},createRoot:function(a){return this.nodeFactory(this.container.id+a,"g")},createDefs:function(){var a=this.nodeFactory(this.container.id+"_defs","defs");this.rendererRoot.appendChild(a);return a},drawPoint:function(a,b){return this.drawCircle(a,b,1)},drawCircle:function(a,b,c){var d=this.getResolution(),e=(b.x-this.featureDx)/ -d+this.left,b=this.top-b.y/d;return this.inValidRange(e,b)?(a.setAttributeNS(null,"cx",e),a.setAttributeNS(null,"cy",b),a.setAttributeNS(null,"r",c),a):false},drawLineString:function(a,b){var c=this.getComponentsString(b.components);return c.path?(a.setAttributeNS(null,"points",c.path),c.complete?a:null):false},drawLinearRing:function(a,b){var c=this.getComponentsString(b.components);return c.path?(a.setAttributeNS(null,"points",c.path),c.complete?a:null):false},drawPolygon:function(a,b){for(var c= -"",d=true,e=true,f,g,h=0,i=b.components.length;hh;)d.removeChild(d.lastChild);for(var i=0;i0&&this.getShortString(a[h-1])&&f.push(this.clipLine(a[h],a[h-1])),hd)i=(c-g)/(h-f),h=h<0?-d:d,c=g+(h-f)*i;if(c<-e||c>e)i=(h-f)/(c-g),c=c<0?-e:e,h=f+(c-g)*i;return h+","+c},getShortString:function(a){var b=this.getResolution(),c=(a.x-this.featureDx)/b+this.left,a=this.top-a.y/b;return this.inValidRange(c,a)?c+","+a:false},getPosition:function(a){return{x:parseFloat(a.getAttributeNS(null,"cx")),y:parseFloat(a.getAttributeNS(null,"cy"))}},importSymbol:function(a){if(!this.defs)this.defs= -this.createDefs();var b=this.container.id+"-"+a,c=document.getElementById(b);if(c!=null)return c;var d=OpenLayers.Renderer.symbol[a];if(!d)throw Error(a+" is not a valid symbol name");var a=this.nodeFactory(b,"symbol"),e=this.nodeFactory(null,"polygon");a.appendChild(e);for(var c=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0),f=[],g,h,i=0;i=OpenLayers.Style.createLiteral(this.minScaleDenominator,b));c&&this.maxScaleDenominator&&(c=d0?(this.writeNode("ogc:PropertyName",{property:e.substring(0,f)},c),c.appendChild(this.createTextNode(e.substring(++f)))):c.appendChild(this.createTextNode("${"+e));return c},StyledLayerDescriptor:function(a){var b=this.createElementNSPlus("sld:StyledLayerDescriptor",{attributes:{version:this.VERSION,"xsi:schemaLocation":this.schemaLocation}});b.setAttribute("xmlns:ogc",this.namespaces.ogc);b.setAttribute("xmlns:gml", -this.namespaces.gml);a.name&&this.writeNode("Name",a.name,b);a.title&&this.writeNode("Title",a.title,b);a.description&&this.writeNode("Abstract",a.description,b);if(OpenLayers.Util.isArray(a.namedLayers))for(var c=0,d=a.namedLayers.length;c0)i=a.clone(),i.rules=c[d[j]],this.writeNode("FeatureTypeStyle",i,b)}else this.writeNode("FeatureTypeStyle",a,b);return b},IsDefault:function(a){return this.createElementNSPlus("sld:IsDefault",{value:a?"1":"0"})},FeatureTypeStyle:function(a){for(var b=this.createElementNSPlus("sld:FeatureTypeStyle"), -c=0,d=a.rules.length;c0;)b.push(a.slice()),a.pop();b.reverse()}return b},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));if(a&&a.nodeType==9)a=a.documentElement;var b={};this.readNode(a, -b);this.setNestingPath({layersContext:b.layersContext});a=[];this.processLayer(a,b);delete b.layersContext;b.layersContext=a;return b},processLayer:function(a,b){if(b.layersContext)for(var c=0,d=b.layersContext.length;c=1&&(d=c[0]);if(d&&d.firstChild)c=d.firstChild.nextSibling?d.firstChild.nextSibling:d.firstChild,this.setNamespace("feature", -c.namespaceURI),this.featureType=c.localName||c.nodeName.split(":").pop(),this.readChildNodes(a,b)},Server:function(a,b){if(!b.service&&!b.version||b.service!=OpenLayers.Format.Context.serviceTypes.WMS)b.service=a.getAttribute("service"),b.version=a.getAttribute("version"),this.readChildNodes(a,b)},Name:function(a,b){b.name=this.getChildValue(a);this.readChildNodes(a,b)},Title:function(a,b){b.title=this.getChildValue(a);this.readChildNodes(a,b)},StyleList:function(a,b){this.readChildNodes(a,b.styles)}, -Style:function(a,b){var c={};b.push(c);this.readChildNodes(a,c)},LegendURL:function(a,b){var c={};b.legend=c;this.readChildNodes(a,c)},OnlineResource:function(a,b){b.url=this.getAttributeNS(a,this.namespaces.xlink,"href");this.readChildNodes(a,b)}},ows:OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers.ows,gml:OpenLayers.Format.GML.v2.prototype.readers.gml,sld:OpenLayers.Format.SLD.v1_0_0.prototype.readers.sld,feature:OpenLayers.Format.GML.v2.prototype.readers.feature},writers:{owc:{OWSContext:function(a){var b= -this.createElementNSPlus("OWSContext",{attributes:{version:this.VERSION,id:a.id||OpenLayers.Util.createUniqueID("OpenLayers_OWSContext_")}});this.writeNode("General",a,b);this.writeNode("ResourceList",a,b);return b},General:function(a){var b=this.createElementNSPlus("General");this.writeNode("ows:BoundingBox",a,b);this.writeNode("ows:Title",a.title||"OpenLayers OWSContext",b);return b},ResourceList:function(a){for(var b=this.createElementNSPlus("ResourceList"),c=0,d=a.layers.length;c0&&this.writeNode("StyleList",a.metadata.styles,b);return b},_Layer:function(a){var b,c,d;b=a.layer;c=a.subPaths;d=null;if(c.length>0)b=c[0].join("/"),c=b.lastIndexOf("/"),d=this.nestingLayerLookup[b],c=c>0?b.substring(c+1,b.length):b,d||(d=this.createElementNSPlus("Layer"),this.writeNode("ows:Title",c,d),this.nestingLayerLookup[b]=d),a.subPaths.shift(),this.writeNode("_Layer",a,d);else{if(b instanceof OpenLayers.Layer.WMS)d= -this.writeNode("_WMS",b);else if(b instanceof OpenLayers.Layer.Vector)if(b.protocol instanceof OpenLayers.Protocol.WFS.v1)d=this.writeNode("_WFS",b);else if(b.protocol instanceof OpenLayers.Protocol.HTTP)if(b.protocol.format instanceof OpenLayers.Format.GML)b.protocol.format.version="2.1.2",d=this.writeNode("_GML",b);else{if(b.protocol.format instanceof OpenLayers.Format.KML)b.protocol.format.version="2.2",d=this.writeNode("_KML",b)}else this.setNamespace("feature",this.featureNS),d=this.writeNode("_InlineGeometry", -b);b.options.maxScale&&this.writeNode("sld:MinScaleDenominator",b.options.maxScale,d);b.options.minScale&&this.writeNode("sld:MaxScaleDenominator",b.options.minScale,d);this.nestingLayerLookup[b.name]=d}return d},_WFS:function(a){var b=this.createElementNSPlus("Layer",{attributes:{name:a.protocol.featurePrefix+":"+a.protocol.featureType,hidden:a.visibility?"0":"1"}});this.writeNode("ows:Title",a.name,b);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.WFS,version:a.protocol.version, -url:a.protocol.url},b);return b},_InlineGeometry:function(a){var b=this.createElementNSPlus("Layer",{attributes:{name:this.featureType,hidden:a.visibility?"0":"1"}});this.writeNode("ows:Title",a.name,b);this.writeNode("InlineGeometry",a,b);return b},_GML:function(a){var b=this.createElementNSPlus("Layer");this.writeNode("ows:Title",a.name,b);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.GML,url:a.protocol.url,version:a.protocol.format.version},b);return b},_KML:function(a){var b= -this.createElementNSPlus("Layer");this.writeNode("ows:Title",a.name,b);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.KML,version:a.protocol.format.version,url:a.protocol.url},b);return b}},gml:OpenLayers.Util.applyDefaults({boundedBy:function(a){var b=this.createElementNSPlus("gml:boundedBy");this.writeNode("gml:Box",a,b);return b}},OpenLayers.Format.GML.v2.prototype.writers.gml),ows:OpenLayers.Format.OWSCommon.v1_0_0.prototype.writers.ows,sld:OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld, -feature:OpenLayers.Format.GML.v2.prototype.writers.feature},CLASS_NAME:"OpenLayers.Format.OWSContext.v0_3_1"}); -OpenLayers.Control.ScaleLine=OpenLayers.Class(OpenLayers.Control,{maxWidth:100,topOutUnits:"km",topInUnits:"m",bottomOutUnits:"mi",bottomInUnits:"ft",eTop:null,eBottom:null,geodesic:false,draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.eTop)this.eTop=document.createElement("div"),this.eTop.className=this.displayClass+"Top",this.div.appendChild(this.eTop),this.eTop.style.visibility=this.topOutUnits==""||this.topInUnits==""?"hidden":"visible",this.eBottom=document.createElement("div"), -this.eBottom.className=this.displayClass+"Bottom",this.div.appendChild(this.eBottom),this.eBottom.style.visibility=this.bottomOutUnits==""||this.bottomInUnits==""?"hidden":"visible";this.map.events.register("moveend",this,this.update);this.update();return this.div},getBarLen:function(a){var b=parseInt(Math.log(a)/Math.log(10)),b=Math.pow(10,b),a=parseInt(a/b);return(a>5?5:a>2?2:1)*b},update:function(){var a=this.map.getResolution();if(a){var b=this.map.getUnits(),c=OpenLayers.INCHES_PER_UNIT,d=this.maxWidth* -a*c[b],e=1;this.geodesic===true&&(e=(this.map.getGeodesicPixelSize().w||1.0E-6)*this.maxWidth/(d/c.km),d*=e);var f,g;d>1E5?(f=this.topOutUnits,g=this.bottomOutUnits):(f=this.topInUnits,g=this.bottomInUnits);var h=d/c[f],i=d/c[g],d=this.getBarLen(h),j=this.getBarLen(i),h=d/c[b]*c[f],i=j/c[b]*c[g],b=h/a/e,a=i/a/e;if(this.eBottom.style.visibility=="visible")this.eBottom.style.width=Math.round(a)+"px",this.eBottom.innerHTML=j+" "+g;if(this.eTop.style.visibility=="visible")this.eTop.style.width=Math.round(b)+ -"px",this.eTop.innerHTML=d+" "+f}},CLASS_NAME:"OpenLayers.Control.ScaleLine"}); -OpenLayers.Icon=OpenLayers.Class({url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(a,b,c,d){this.url=a;this.size=b?b:new OpenLayers.Size(20,20);this.offset=c?c:new OpenLayers.Pixel(-(this.size.w/2),-(this.size.h/2));this.calculateOffset=d;a=OpenLayers.Util.createUniqueID("OL_Icon_");this.imageDiv=OpenLayers.Util.createAlphaImageDiv(a)},destroy:function(){this.erase();OpenLayers.Event.stopObservingElement(this.imageDiv.firstChild);this.imageDiv.innerHTML= -"";this.imageDiv=null},clone:function(){return new OpenLayers.Icon(this.url,this.size,this.offset,this.calculateOffset)},setSize:function(a){if(a!=null)this.size=a;this.draw()},setUrl:function(a){if(a!=null)this.url=a;this.draw()},draw:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,this.size,this.url,"absolute");this.moveTo(a);return this.imageDiv},erase:function(){this.imageDiv!=null&&this.imageDiv.parentNode!=null&&OpenLayers.Element.remove(this.imageDiv)},setOpacity:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv, -null,null,null,null,null,null,null,a)},moveTo:function(a){if(a!=null)this.px=a;if(this.imageDiv!=null)if(this.px==null)this.display(false);else{if(this.calculateOffset)this.offset=this.calculateOffset(this.size);a=this.px.offset(this.offset);OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,a)}},display:function(a){this.imageDiv.style.display=a?"":"none"},isDrawn:function(){return this.imageDiv&&this.imageDiv.parentNode&&this.imageDiv.parentNode.nodeType!=11},CLASS_NAME:"OpenLayers.Icon"}); -OpenLayers.Marker=OpenLayers.Class({icon:null,lonlat:null,events:null,map:null,initialize:function(a,b){this.lonlat=a;var c=b?b:OpenLayers.Marker.defaultIcon();this.icon==null?this.icon=c:(this.icon.url=c.url,this.icon.size=c.size,this.icon.offset=c.offset,this.icon.calculateOffset=c.calculateOffset);this.events=new OpenLayers.Events(this,this.icon.imageDiv)},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;if(this.icon!=null)this.icon.destroy(),this.icon=null}, -draw:function(a){return this.icon.draw(a)},erase:function(){this.icon!=null&&this.icon.erase()},moveTo:function(a){a!=null&&this.icon!=null&&this.icon.moveTo(a);this.lonlat=this.map.getLonLatFromLayerPx(a)},isDrawn:function(){return this.icon&&this.icon.isDrawn()},onScreen:function(){var a=false;this.map&&(a=this.map.getExtent().containsLonLat(this.lonlat));return a},inflate:function(a){this.icon&&this.icon.setSize(new OpenLayers.Size(this.icon.size.w*a,this.icon.size.h*a))},setOpacity:function(a){this.icon.setOpacity(a)}, -setUrl:function(a){this.icon.setUrl(a)},display:function(a){this.icon.display(a)},CLASS_NAME:"OpenLayers.Marker"});OpenLayers.Marker.defaultIcon=function(){var a=OpenLayers.Util.getImagesLocation()+"marker.png",b=new OpenLayers.Size(21,25);return new OpenLayers.Icon(a,b,null,function(a){return new OpenLayers.Pixel(-(a.w/2),-a.h)})}; -OpenLayers.Layer.TileCache=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,format:"image/png",serverResolutions:null,initialize:function(a,b,c,d){this.layername=c;OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a,b,{},d]);this.extension=this.format.split("/")[1].toLowerCase();this.extension=this.extension=="jpg"?"jpeg":this.extension},clone:function(a){a==null&&(a=new OpenLayers.Layer.TileCache(this.name,this.url,this.layername,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this, -[a])},getURL:function(a){function b(a,b){for(var a=String(a),c=[],d=0;d0)this.length=a;return this.length},pageNext:function(a){var b=false;if(this.features){if(this.num===null)this.num=-1;b=this.page((this.num+1)*this.length,a)}return b}, -pagePrevious:function(){var a=false;if(this.features){if(this.num===null)this.num=this.pageCount();a=this.page((this.num-1)*this.length)}return a},page:function(a,b){var c=false;if(this.features&&a>=0&&a5||Math.abs(this.dragHandler.start.y-a.y)>5){var c=this.dragHandler.start;b=Math.min(c.y,a.y);var d=Math.max(c.y,a.y),e=Math.min(c.x,a.x),a=Math.max(c.x, -a.x);b=new OpenLayers.Bounds(e,d,a,b)}else b=this.dragHandler.start.clone();this.removeBox();this.callback("done",[b])},removeBox:function(){this.map.eventsDiv.removeChild(this.zoomBox);this.boxOffsets=this.zoomBox=null;OpenLayers.Element.removeClass(this.map.eventsDiv,"olDrawBox")},activate:function(){return OpenLayers.Handler.prototype.activate.apply(this,arguments)?(this.dragHandler.activate(),true):false},deactivate:function(){return OpenLayers.Handler.prototype.deactivate.apply(this,arguments)? -(this.dragHandler.deactivate()&&this.zoomBox&&this.removeBox(),true):false},getBoxOffsets:function(){if(!this.boxOffsets){var a=document.createElement("div");a.style.position="absolute";a.style.border="1px solid black";a.style.width="3px";document.body.appendChild(a);var b=a.clientWidth==3;document.body.removeChild(a);var a=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width")),c=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width")),d=parseInt(OpenLayers.Element.getStyle(this.zoomBox, -"border-top-width")),e=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"));this.boxOffsets={left:a,right:c,top:d,bottom:e,width:b===false?a+c:0,height:b===false?d+e:0}}return this.boxOffsets},CLASS_NAME:"OpenLayers.Handler.Box"}); -OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:false,alwaysZoom:false,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask})},zoomBox:function(a){if(a instanceof OpenLayers.Bounds){var b;if(this.out){b=Math.abs(a.right-a.left);var c=Math.abs(a.top-a.bottom);b=Math.min(this.map.size.h/c,this.map.size.w/b);var c=this.map.getExtent(),d=this.map.getLonLatFromPixel(a.getCenterPixel()),a=d.lon-c.getWidth()/ -2*b,e=d.lon+c.getWidth()/2*b,f=d.lat-c.getHeight()/2*b;b=d.lat+c.getHeight()/2*b;b=new OpenLayers.Bounds(a,f,e,b)}else b=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.left,a.bottom)),c=this.map.getLonLatFromPixel(new OpenLayers.Pixel(a.right,a.top)),b=new OpenLayers.Bounds(b.lon,b.lat,c.lon,c.lat);c=this.map.getZoom();this.map.zoomToExtent(b);c==this.map.getZoom()&&this.alwaysZoom==true&&this.map.zoomTo(c+(this.out?-1:1))}else this.out?this.map.setCenter(this.map.getLonLatFromPixel(a),this.map.getZoom()- -1):this.map.setCenter(this.map.getLonLatFromPixel(a),this.map.getZoom()+1)},CLASS_NAME:"OpenLayers.Control.ZoomBox"}); -OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:false,interval:1,documentDrag:false,kinetic:null,enableKinetic:false,kineticInterval:10,draw:function(){if(this.enableKinetic){var a={interval:this.kineticInterval};typeof this.enableKinetic==="object"&&(a=OpenLayers.Util.extend(a,this.enableKinetic));this.kinetic=new OpenLayers.Kinetic(a)}this.handler=new OpenLayers.Handler.Drag(this,{move:this.panMap,done:this.panMapDone,down:this.panMapStart}, -{interval:this.interval,documentDrag:this.documentDrag})},panMapStart:function(){this.kinetic&&this.kinetic.begin()},panMap:function(a){this.kinetic&&this.kinetic.update(a);this.panned=true;this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:true,animate:false})},panMapDone:function(a){if(this.panned){var b=null;this.kinetic&&(b=this.kinetic.end(a));this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:!!b,animate:false});if(b){var c=this;this.kinetic.move(b,function(a, -b,f){c.map.pan(a,b,{dragging:!f,animate:false})})}this.panned=false}},CLASS_NAME:"OpenLayers.Control.DragPan"}); -OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:true,"double":false,pixelTolerance:0,dblclickTolerance:13,stopSingle:false,stopDouble:false,timerId:null,touch:false,down:null,last:null,first:null,rightclickTimerId:null,touchstart:function(a){if(!this.touch)this.unregisterMouseListeners(),this.touch=true;this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return true},touchmove:function(a){this.last=this.getEventInfo(a);return true},touchend:function(a){if(this.down)a.xy= -this.last.xy,a.lastTouches=this.last.touches,this.handleSingle(a),this.down=null;return true},unregisterMouseListeners:function(){this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,click:this.click,dblclick:this.dblclick,scope:this})},mousedown:function(a){this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return true},mouseup:function(a){var b=true;this.checkModifiers(a)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(a)&&(b=this.rightclick(a));return b}, -rightclick:function(a){if(this.passesTolerance(a))if(this.rightclickTimerId!=null)return this.clearTimer(),this.callback("dblrightclick",[a]),!this.stopDouble;else a=this["double"]?OpenLayers.Util.extend({},a):this.callback("rightclick",[a]),a=OpenLayers.Function.bind(this.delayedRightCall,this,a),this.rightclickTimerId=window.setTimeout(a,this.delay);return!this.stopSingle},delayedRightCall:function(a){this.rightclickTimerId=null;a&&this.callback("rightclick",[a])},click:function(a){if(!this.last)this.last= -this.getEventInfo(a);this.handleSingle(a);return!this.stopSingle},dblclick:function(a){this.handleDouble(a);return!this.stopDouble},handleDouble:function(a){this["double"]&&this.passesDblclickTolerance(a)&&this.callback("dblclick",[a])},handleSingle:function(a){if(this.passesTolerance(a))this.timerId!=null?(this.last.touches&&this.last.touches.length===1&&(this["double"]&&OpenLayers.Event.stop(a),this.handleDouble(a)),(!this.last.touches||this.last.touches.length!==2)&&this.clearTimer()):(this.first= -this.getEventInfo(a),this.queuePotentialClick(this.single?OpenLayers.Util.extend({},a):null))},queuePotentialClick:function(a){this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,a),this.delay)},passesTolerance:function(a){var b=true;if(this.pixelTolerance!=null&&this.down&&this.down.xy&&(b=this.pixelTolerance>=this.down.xy.distanceTo(a.xy))&&this.touch&&this.down.touches.length===this.last.touches.length)for(var a=0,c=this.down.touches.length;athis.pixelTolerance){b=false;break}return b},getTouchDistance:function(a,b){return Math.sqrt(Math.pow(a.clientX-b.clientX,2)+Math.pow(a.clientY-b.clientY,2))},passesDblclickTolerance:function(){var a=true;this.down&&this.first&&(a=this.down.xy.distanceTo(this.first.xy)<=this.dblclickTolerance);return a},clearTimer:function(){if(this.timerId!=null)window.clearTimeout(this.timerId),this.timerId=null;if(this.rightclickTimerId!=null)window.clearTimeout(this.rightclickTimerId),this.rightclickTimerId= -null},delayedCall:function(a){this.timerId=null;a&&this.callback("click",[a])},getEventInfo:function(a){var b;if(a.touches){var c=a.touches.length;b=Array(c);for(var d,e=0;e=0;--e)if(d=c[e].geometry,(d instanceof OpenLayers.Geometry.Polygon||d instanceof OpenLayers.Geometry.MultiPolygon)&&d.intersects(b)){b=c[e];this.control.layer.removeFeatures([b],{silent:true});this.control.layer.events.registerPriority("sketchcomplete", -this,this.finalizeInteriorRing);this.control.layer.events.registerPriority("sketchmodified",this,this.enforceTopology);b.geometry.addComponent(this.line.geometry);this.polygon=b;this.drawingHole=true;break}OpenLayers.Handler.Path.prototype.addPoint.apply(this,arguments)},getCurrentPointIndex:function(){return this.line.geometry.components.length-2},enforceTopology:function(a){var a=a.vertex,b=this.line.geometry.components;if(!this.polygon.geometry.intersects(a))b=b[b.length-3],a.x=b.x,a.y=b.y},finishGeometry:function(){this.line.geometry.removeComponent(this.line.geometry.components[this.line.geometry.components.length- -2]);this.removePoint();this.finalize()},finalizeInteriorRing:function(){var a=this.line.geometry,b=a.getArea()!==0;if(b){for(var c=this.polygon.geometry.components,d=c.length-2;d>=0;--d)if(a.intersects(c[d])){b=false;break}if(b){d=c.length-2;a:for(;d>0;--d)for(var e=c[d].components,f=0,g=e.length;f=this.resFactor||a<=1/this.resFactor);return a},calculateBounds:function(a){a||(a=this.getMapBounds());var b=a.getCenterLonLat(),c=a.getWidth()*this.ratio,a=a.getHeight()*this.ratio;this.bounds=new OpenLayers.Bounds(b.lon-c/2,b.lat-a/2,b.lon+c/2,b.lat+a/2)},triggerRead:function(a){this.response&& -(this.layer.protocol.abort(this.response),this.layer.events.triggerEvent("loadend"));this.layer.events.triggerEvent("loadstart");this.response=this.layer.protocol.read(OpenLayers.Util.applyDefaults({filter:this.createFilter(),callback:this.merge,scope:this},a))},createFilter:function(){var a=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,value:this.bounds,projection:this.layer.projection});this.layer.filter&&(a=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND, -filters:[this.layer.filter,a]}));return a},merge:function(a){this.layer.destroyFeatures();if((a=a.features)&&a.length>0){var b=this.layer.projection,c=this.layer.map.getProjectionObject();if(!c.equals(b))for(var d,e=0,f=a.length;e
    Para evitar este mensaje, seleccione una nueva Capa Base en el selector de capas en la esquina superior derecha.

    Probablemente, esto se debe a que el script de la biblioteca de Google Maps no fue correctamente incluido en su p\u00e1gina, o no contiene la clave del API correcta para su sitio.

    Desarrolladores: Para ayudar a hacer funcionar esto correctamente, haga clic aqu\u00ed", -getLayerWarning:"La capa ${layerType} no pudo ser cargada correctamente.

    Para evitar este mensaje, seleccione una nueva Capa Base en el selector de capas en la esquina superior derecha.

    Probablemente, esto se debe a que el script de la biblioteca ${layerLib} no fue correctamente incluido en su p\u00e1gina.

    Desarrolladores: Para ayudar a hacer funcionar esto correctamente, haga clic aqu\u00ed","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}", -W:"O",E:"E",N:"N",S:"S",Graticule:"Ret\u00edcula",reprojectDeprecated:"Est\u00e1 usando la opci\u00f3n 'reproject' en la capa ${layerName}. Esta opci\u00f3n es obsoleta: su uso fue dise\u00f1ado para soportar la visualizaci\u00f3n de datos sobre mapas base comerciales, pero ahora esa funcionalidad deber\u00eda conseguirse mediante el soporte de la proyecci\u00f3n Spherical Mercator. M\u00e1s informaci\u00f3n disponible en http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Este m\u00e9todo es obsoleto y se eliminar\u00e1 en la versi\u00f3n 3.0. Por favor utilice el m\u00e9todo ${newMethod} en su lugar.", -end:""}; -OpenLayers.Layer.Google.v3={DEFAULTS:{maxExtent:new OpenLayers.Bounds(-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7),sphericalMercator:true,maxResolution:156543.03390625,units:"m",projection:"EPSG:900913"},animationEnabled:true,loadMapObject:function(){if(!this.type)this.type=google.maps.MapTypeId.ROADMAP;var a,b=OpenLayers.Layer.Google.cache[this.map.id];b?(a=b.mapObject,++b.count):(b=this.map.viewPortDiv,a=document.createElement("div"),a.id=this.map.id+"_GMapContainer",a.style.position="absolute", -a.style.width="100%",a.style.height="100%",b.appendChild(a),b=this.map.getCenter(),a=new google.maps.Map(a,{center:b?new google.maps.LatLng(b.lat,b.lon):new google.maps.LatLng(0,0),zoom:this.map.getZoom()||0,mapTypeId:this.type,disableDefaultUI:true,keyboardShortcuts:false,draggable:false,disableDoubleClickZoom:true,scrollwheel:false,streetViewControl:false}),b={mapObject:a,count:1},OpenLayers.Layer.Google.cache[this.map.id]=b,this.repositionListener=google.maps.event.addListenerOnce(a,"center_changed", -OpenLayers.Function.bind(this.repositionMapElements,this)));this.mapObject=a;this.setGMapVisibility(this.visibility)},repositionMapElements:function(){google.maps.event.trigger(this.mapObject,"resize");var a=this.mapObject.getDiv().firstChild;if(!a||a.childNodes.length<3)return this.repositionTimer=window.setTimeout(OpenLayers.Function.bind(this.repositionMapElements,this),250),false;for(var b=OpenLayers.Layer.Google.cache[this.map.id],c=this.map.viewPortDiv;a.lastChild.style.display=="none";)c.appendChild(a.lastChild); -var d=a.lastChild;c.appendChild(d);d.style.zIndex="1100";d.style.bottom="";d.className="olLayerGoogleCopyright olLayerGoogleV3";d.style.display="";b.termsOfUse=d;a=a.lastChild;c.appendChild(a);a.style.zIndex="1100";a.style.bottom="";a.className="olLayerGooglePoweredBy olLayerGoogleV3 gmnoprint";a.style.display="";b.poweredBy=a;this.setGMapVisibility(this.visibility)},onMapResize:function(){if(this.visibility)google.maps.event.trigger(this.mapObject,"resize");else{var a=OpenLayers.Layer.Google.cache[this.map.id]; -if(!a.resized){var b=this;google.maps.event.addListenerOnce(this.mapObject,"tilesloaded",function(){google.maps.event.trigger(b.mapObject,"resize");b.moveTo(b.map.getCenter(),b.map.getZoom());delete a.resized})}a.resized=true}},setGMapVisibility:function(a){var b=OpenLayers.Layer.Google.cache[this.map.id];if(b){for(var c=this.type,d=this.map.layers,e,f=d.length-1;f>=0;--f)if(e=d[f],e instanceof OpenLayers.Layer.Google&&e.visibility===true&&e.inRange===true){c=e.type;a=true;break}d=this.mapObject.getDiv(); -if(a===true){this.mapObject.setMapTypeId(c);d.style.left="";if(b.termsOfUse&&b.termsOfUse.style)b.termsOfUse.style.left="",b.termsOfUse.style.display="",b.poweredBy.style.display="";b.displayed=this.id}else if(delete b.displayed,d.style.left="-9999px",b.termsOfUse&&b.termsOfUse.style)b.termsOfUse.style.display="none",b.termsOfUse.style.left="-9999px",b.poweredBy.style.display="none"}},getMapContainer:function(){return this.mapObject.getDiv()},getMapObjectBoundsFromOLBounds:function(a){var b=null; -a!=null&&(b=this.sphericalMercator?this.inverseMercator(a.bottom,a.left):new OpenLayers.LonLat(a.bottom,a.left),a=this.sphericalMercator?this.inverseMercator(a.top,a.right):new OpenLayers.LonLat(a.top,a.right),b=new google.maps.LatLngBounds(new google.maps.LatLng(b.lat,b.lon),new google.maps.LatLng(a.lat,a.lon)));return b},getMapObjectLonLatFromMapObjectPixel:function(a){var b=this.map.getSize(),c=this.getLongitudeFromMapObjectLonLat(this.mapObject.center),d=this.getLatitudeFromMapObjectLonLat(this.mapObject.center), -e=this.map.getResolution(),a=new OpenLayers.LonLat(c+(a.x-b.w/2)*e,d-(a.y-b.h/2)*e);this.wrapDateLine&&(a=a.wrapDateLine(this.maxExtent));return this.getMapObjectLonLatFromLonLat(a.lon,a.lat)},getMapObjectPixelFromMapObjectLonLat:function(a){var b=this.getLongitudeFromMapObjectLonLat(a),a=this.getLatitudeFromMapObjectLonLat(a),c=this.map.getResolution(),d=this.map.getExtent(),b=new OpenLayers.Pixel(1/c*(b-d.left),1/c*(d.top-a));return this.getMapObjectPixelFromXY(b.x,b.y)},setMapObjectCenter:function(a, -b){if(this.animationEnabled===false&&b!=this.mapObject.zoom){var c=this.getMapContainer();google.maps.event.addListenerOnce(this.mapObject,"idle",function(){c.style.visibility=""});c.style.visibility="hidden"}this.mapObject.setOptions({center:a,zoom:b})},getMapObjectZoomFromMapObjectBounds:function(a){return this.mapObject.getBoundsZoomLevel(a)},getMapObjectLonLatFromLonLat:function(a,b){var c;this.sphericalMercator?(c=this.inverseMercator(a,b),c=new google.maps.LatLng(c.lat,c.lon)):c=new google.maps.LatLng(b, -a);return c},getMapObjectPixelFromXY:function(a,b){return new google.maps.Point(a,b)},destroy:function(){this.repositionListener&&google.maps.event.removeListener(this.repositionListener);this.repositionTimer&&window.clearTimeout(this.repositionTimer);OpenLayers.Layer.Google.prototype.destroy.apply(this,arguments)}}; -OpenLayers.Format.WPSDescribeProcess=OpenLayers.Class(OpenLayers.Format.XML,{VERSION:"1.0.0",namespaces:{wps:"http://www.opengis.net/wps/1.0.0",ows:"http://www.opengis.net/ows/1.1",xsi:"http://www.w3.org/2001/XMLSchema-instance"},schemaLocation:"http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd",defaultPrefix:"wps",regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this, -[a]));if(a&&a.nodeType==9)a=a.documentElement;var b={};this.readNode(a,b);return b},readers:{wps:{ProcessDescriptions:function(a,b){b.processDescriptions={};this.readChildNodes(a,b.processDescriptions)},ProcessDescription:function(a,b){var c={processVersion:this.getAttributeNS(a,this.namespaces.wps,"processVersion"),statusSupported:a.getAttribute("statusSupported")==="true",storeSupported:a.getAttribute("storeSupported")==="true"};this.readChildNodes(a,c);b[c.identifier]=c},DataInputs:function(a, -b){b.dataInputs=[];this.readChildNodes(a,b.dataInputs)},ProcessOutputs:function(a,b){b.processOutputs=[];this.readChildNodes(a,b.processOutputs)},Output:function(a,b){var c={};this.readChildNodes(a,c);b.push(c)},ComplexOutput:function(a,b){b.complexOutput={};this.readChildNodes(a,b.complexOutput)},Input:function(a,b){var c={maxOccurs:parseInt(a.getAttribute("maxOccurs")),minOccurs:parseInt(a.getAttribute("minOccurs"))};this.readChildNodes(a,c);b.push(c)},BoundingBoxData:function(a,b){b.boundingBoxData= -{};this.readChildNodes(a,b.boundingBoxData)},CRS:function(a,b){if(!b.CRSs)b.CRSs={};b.CRSs[this.getChildValue(a)]=true},LiteralData:function(a,b){b.literalData={};this.readChildNodes(a,b.literalData)},ComplexData:function(a,b){b.complexData={};this.readChildNodes(a,b.complexData)},Default:function(a,b){b["default"]={};this.readChildNodes(a,b["default"])},Supported:function(a,b){b.supported={};this.readChildNodes(a,b.supported)},Format:function(a,b){var c={};this.readChildNodes(a,c);if(!b.formats)b.formats= -{};b.formats[c.mimeType]=true},MimeType:function(a,b){b.mimeType=this.getChildValue(a)}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WPSDescribeProcess"}); -OpenLayers.Control.NavToolbar=OpenLayers.Class(OpenLayers.Control.Panel,{initialize:function(a){OpenLayers.Control.Panel.prototype.initialize.apply(this,[a]);this.addControls([new OpenLayers.Control.Navigation,new OpenLayers.Control.ZoomBox])},draw:function(){var a=OpenLayers.Control.Panel.prototype.draw.apply(this,arguments);if(this.defaultControl===null)this.defaultControl=this.controls[0];return a},CLASS_NAME:"OpenLayers.Control.NavToolbar"}); -OpenLayers.Lang.ru=OpenLayers.Util.applyDefaults({unhandledRequest:"\u041d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0443\u043b ${statusText}",Permalink:"\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430",Overlays:"\u0421\u043b\u043e\u0438","Base Layer":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043b\u043e\u0439",noFID:"\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 FID.", -browserNotSupported:"\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u0443\u044e \u0433\u0440\u0430\u0444\u0438\u043a\u0443. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f:\n${renderers}",minZoomLevelError:"\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e minZoomLevel \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e \u0441\u043b\u043e\u044f\u043c\u0438, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u043f\u043e\u0442\u043e\u043c\u043a\u0430\u043c\u0438 FixedZoomLevels. \u0422\u043e, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 WFS-\u0441\u043b\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430 minZoomLevel \u2014 \u0440\u0435\u043b\u0438\u043a\u0442 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0442\u0430\u043a \u043a\u0430\u043a, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u0442 \u043d\u0435\u0451 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 OpenLayers \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439 \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 minZoomLevel \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0432 3.0. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0451 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043c\u0438\u043d/\u043c\u0430\u043a\u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0437\u0434\u0435\u0441\u044c: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f WFS: \u0423\u0421\u041f\u0415\u0428\u041d\u041e ${response}",commitFailed:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f WFS: \u041e\u0428\u0418\u0411\u041a\u0410 ${response}",googleWarning:"\u0421\u043b\u043e\u0439 Google \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c.

    \u0427\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0432\u044b\u0431\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043b\u043e\u0439 \u0432 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443.

    \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Google Maps \u043d\u0435 \u0431\u044b\u043b\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e API-\u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430.

    \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c: \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0449\u0451\u043b\u043a\u043d\u0438\u0442\u0435 \u0442\u0443\u0442", -getLayerWarning:"\u0421\u043b\u043e\u0439 ${layerType} \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c.

    \u0427\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0432\u044b\u0431\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043b\u043e\u0439 \u0432 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443.

    \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 ${layerLib} \u043d\u0435 \u0431\u044b\u043b\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0438\u043b\u0438 \u0431\u044b\u043b\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.

    \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c: \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0449\u0451\u043b\u043a\u043d\u0438\u0442\u0435 \u0442\u0443\u0442", -"Scale = 1 : ${scaleDenom}":"\u041c\u0430\u0441\u0448\u0442\u0430\u0431 = 1 : ${scaleDenom}",W:"\u0417",E:"\u0412",N:"\u0421",S:"\u042e",reprojectDeprecated:"\u0412\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043e\u043f\u0446\u0438\u044e 'reproject' \u0434\u043b\u044f \u0441\u043b\u043e\u044f ${layerName}. \u042d\u0442\u0430 \u043e\u043f\u0446\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0439: \u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u043e\u0441\u044c \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u0430\u0440\u0442, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043d\u0435\u0441\u0451\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0444\u0435\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0438 \u041c\u0435\u0440\u043a\u0430\u0442\u043e\u0440\u0430. \u0411\u043e\u043b\u044c\u0448\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043d\u0430 http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c \u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0451\u043d \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 3.0. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c ${newMethod}."}); -OpenLayers.Format.CSWGetRecords.v2_0_2=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{csw:"http://www.opengis.net/cat/csw/2.0.2",dc:"http://purl.org/dc/elements/1.1/",dct:"http://purl.org/dc/terms/",geonet:"http://www.fao.org/geonetwork",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"csw",version:"2.0.2",schemaLocation:"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", -requestId:null,resultType:null,outputFormat:null,outputSchema:null,startPosition:null,maxRecords:null,DistributedSearch:null,ResponseHandler:null,Query:null,regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));if(a&&a.nodeType==9)a=a.documentElement;var b={};this.readNode(a,b);return b}, -readers:{csw:{GetRecordsResponse:function(a,b){b.records=[];this.readChildNodes(a,b);var c=this.getAttributeNS(a,"","version");if(c!="")b.version=c},RequestId:function(a,b){b.RequestId=this.getChildValue(a)},SearchStatus:function(a,b){b.SearchStatus={};var c=this.getAttributeNS(a,"","timestamp");if(c!="")b.SearchStatus.timestamp=c},SearchResults:function(a,b){this.readChildNodes(a,b);for(var c=a.attributes,d={},e=0,f=c.length;e0)for(var d=0,e=c.length;d0)for(var d=0,e=c.length;d
    Zo by tutu zd\u017a\u011blenku wotby\u0142, wubjer nowy BaseLayer z wub\u011bra wor\u0161tow horjeka naprawo.

    Najskerje so to stawa, dokel\u017e skript biblioteki Google Maps pak njebu zap\u0159ijaty pak njewobsahuje korektny klu\u010d API za twoje syd\u0142o.

    Wuwiwarjo: Za pomoc ke korektnemu fungowanju wor\u0161tow\ntu klikny\u0107", -getLayerWarning:"Wor\u0161ta ${layerType} njem\u00f3\u017ee\u0161e so korektnje za\u010dita\u0107.

    Zo by tutu zd\u017a\u011blenku wotby\u0142, wubjer nowy BaseLayer z wub\u011bra wor\u0161tow horjeka naprawo.

    Najskerje so to stawa, dokel\u017e skript biblioteki ${layerLib} njebu korektnje zap\u0159ijaty.

    Wuwiwarjo: Za pomoc ke korektnemu fungowanju wor\u0161tow\ntu klikny\u0107","Scale = 1 : ${scaleDenom}":"M\u011britko = 1 : ${scaleDenom}", -W:"Z",E:"W",N:"S",S:"J",reprojectDeprecated:'Wu\u017eiwa\u0161 opciju "reproject" wo\u0159\u0161ty ${layerName}. Tuta opcija je zestarjena: jeje wu\u017eiwanje b\u011b myslene, zo by zwobraznjenje datow nad komercielnymi bazowymi kartami podp\u011bra\u0142o, ale funkcionalnos\u0107 m\u011b\u0142a so n\u011btko z pomocu Sperical Mercator docp\u011b\u0107. Dal\u0161e informacije steja na http://trac.openlayers.org/wiki/SphericalMercator k dispoziciji.',methodDeprecated:"Tuta metoda je so njeschwali\u0142a a bud\u017ae so w 3.0 wotstronje\u0107. Pro\u0161u wu\u017eij ${newMethod} m\u011bsto toho."}); -OpenLayers.Lang.de=OpenLayers.Util.applyDefaults({unhandledRequest:"Unbehandelte Anfrager\u00fcckmeldung ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Grundkarte",noFID:"Ein Feature, f\u00fcr das keine FID existiert, kann nicht aktualisiert werden.",browserNotSupported:"Ihr Browser unterst\u00fctzt keine Vektordarstellung. Aktuell unterst\u00fctzte Renderer:\n${renderers}",minZoomLevelError:"Die minZoomLevel-Eigenschaft ist nur f\u00fcr die Verwendung mit FixedZoomLevels-untergeordneten Layers vorgesehen. Das dieser wfs-Layer die minZoomLevel-Eigenschaft \u00fcberpr\u00fcft ist ein Relikt der Vergangenheit. Wir k\u00f6nnen diese \u00dcberpr\u00fcfung nicht entfernen, ohne das OL basierende Applikationen nicht mehr funktionieren. Daher markieren wir es als veraltet - die minZoomLevel-\u00dcberpr\u00fcfung wird in Version 3.0 entfernt werden. Bitte verwenden Sie stattdessen die Min-/Max-L\u00f6sung, wie sie unter http://trac.openlayers.org/wiki/SettingZoomLevels beschrieben ist.", -commitSuccess:"WFS-Transaktion: Erfolgreich ${response}",commitFailed:"WFS-Transaktion: Fehlgeschlagen ${response}",googleWarning:"Der Google-Layer konnte nicht korrekt geladen werden.

    Um diese Meldung nicht mehr zu erhalten, w\u00e4hlen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.

    Sehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der Google-Maps-Bibliothek nicht eingebunden wurde oder keinen g\u00fcltigen API-Schl\u00fcssel f\u00fcr Ihre URL enth\u00e4lt.

    Entwickler: Besuche das Wiki f\u00fcr Hilfe zum korrekten Einbinden des Google-Layers", -getLayerWarning:"Der ${layerType}-Layer konnte nicht korrekt geladen werden.

    Um diese Meldung nicht mehr zu erhalten, w\u00e4hlen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.

    Sehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der '${layerLib}'-Bibliothek nicht eingebunden wurde.

    Entwickler: Besuche das Wiki f\u00fcr Hilfe zum korrekten Einbinden von Layern", -"Scale = 1 : ${scaleDenom}":"Ma\u00dfstab = 1 : ${scaleDenom}",W:"W",E:"O",N:"N",S:"S",reprojectDeprecated:"Sie verwenden die \u201eReproject\u201c-Option des Layers ${layerName}. Diese Option ist veraltet: Sie wurde entwickelt um die Anzeige von Daten auf kommerziellen Basiskarten zu unterst\u00fctzen, aber diese Funktion sollte jetzt durch Unterst\u00fctzung der \u201eSpherical Mercator\u201c erreicht werden. Weitere Informationen sind unter http://trac.openlayers.org/wiki/SphericalMercator verf\u00fcgbar.", -methodDeprecated:"Die Methode ist veraltet und wird in 3.0 entfernt. Bitte verwende stattdessen ${newMethod}."}); -OpenLayers.Marker.Box=OpenLayers.Class(OpenLayers.Marker,{bounds:null,div:null,initialize:function(a,b,c){this.bounds=a;this.div=OpenLayers.Util.createDiv();this.div.style.overflow="hidden";this.events=new OpenLayers.Events(this,this.div);this.setBorder(b,c)},destroy:function(){this.div=this.bounds=null;OpenLayers.Marker.prototype.destroy.apply(this,arguments)},setBorder:function(a,b){a||(a="red");b||(b=2);this.div.style.border=b+"px solid "+a},draw:function(a,b){OpenLayers.Util.modifyDOMElement(this.div, -null,a,b);return this.div},onScreen:function(){var a=false;this.map&&(a=this.map.getExtent().containsBounds(this.bounds,true,true));return a},display:function(a){this.div.style.display=a?"":"none"},CLASS_NAME:"OpenLayers.Marker.Box"}); -OpenLayers.Format.Text=OpenLayers.Class(OpenLayers.Format,{defaultStyle:null,extractStyles:true,initialize:function(a){a=a||{};if(a.extractStyles!==false)a.defaultStyle={externalGraphic:OpenLayers.Util.getImagesLocation()+"marker.png",graphicWidth:21,graphicHeight:25,graphicXOffset:-10.5,graphicYOffset:-12.5};OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(a){for(var a=a.split("\n"),b,c=[],d=0;d"+e.attributes.title+"

    "+e.attributes.description+"

    ");d.overflow=e.attributes.overflow||"auto";d=new OpenLayers.Feature(this,f,d);this.features.push(d);f=d.createMarker();e.attributes.title!=null&&e.attributes.description!=null&&f.events.register("click",d,this.markerClick);this.addMarker(f)}this.events.triggerEvent("loadend")},markerClick:function(a){var b=this==this.layer.selectedFeature; -this.layer.selectedFeature=!b?this:null;for(var c=0,d=this.layer.map.popups.length;c0;){var a=this.features[0];OpenLayers.Util.removeItem(this.features,a);a.destroy()}},CLASS_NAME:"OpenLayers.Layer.Text"}); -OpenLayers.Handler.RegularPolygon=OpenLayers.Class(OpenLayers.Handler.Drag,{sides:4,radius:null,snapAngle:null,snapToggle:"shiftKey",layerOptions:null,persist:false,irregular:false,citeCompliant:false,angle:null,fixedRadius:false,feature:null,layer:null,origin:null,initialize:function(a,b,c){if(!c||!c.layerOptions||!c.layerOptions.styleMap)this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style["default"],{});OpenLayers.Handler.Drag.prototype.initialize.apply(this,[a,b,c]);this.options= -c?c:{}},setOptions:function(a){OpenLayers.Util.extend(this.options,a);OpenLayers.Util.extend(this,a)},activate:function(){var a=false;if(OpenLayers.Handler.Drag.prototype.activate.apply(this,arguments))a=OpenLayers.Util.extend({displayInLayerSwitcher:false,calculateInRange:OpenLayers.Function.True,wrapDateLine:this.citeCompliant},this.layerOptions),this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,a),this.map.addLayer(this.layer),a=true;return a},deactivate:function(){var a=false;if(OpenLayers.Handler.Drag.prototype.deactivate.apply(this, -arguments))this.dragging&&this.cancel(),this.layer.map!=null&&(this.layer.destroy(false),this.feature&&this.feature.destroy()),this.feature=this.layer=null,a=true;return a},down:function(a){this.fixedRadius=!!this.radius;a=this.layer.getLonLatFromViewPortPx(a.xy);this.origin=new OpenLayers.Geometry.Point(a.lon,a.lat);if(!this.fixedRadius||this.irregular)this.radius=this.map.getResolution();this.persist&&this.clear();this.feature=new OpenLayers.Feature.Vector;this.createGeometry();this.callback("create", -[this.origin,this.feature]);this.layer.addFeatures([this.feature],{silent:true});this.layer.drawFeature(this.feature,this.style)},move:function(a){var b=this.layer.getLonLatFromViewPortPx(a.xy),b=new OpenLayers.Geometry.Point(b.lon,b.lat);this.irregular?(a=Math.sqrt(2)*Math.abs(b.y-this.origin.y)/2,this.radius=Math.max(this.map.getResolution()/2,a)):this.fixedRadius?this.origin=b:(this.calculateAngle(b,a),this.radius=Math.max(this.map.getResolution()/2,b.distanceTo(this.origin)));this.modifyGeometry(); -this.irregular&&(a=b.x-this.origin.x,b=b.y-this.origin.y,this.feature.geometry.resize(1,this.origin,b==0?a/(this.radius*Math.sqrt(2)):a/b),this.feature.geometry.move(a/2,b/2));this.layer.drawFeature(this.feature,this.style)},up:function(a){this.finalize();this.start==this.last&&this.callback("done",[a.xy])},out:function(){this.finalize()},createGeometry:function(){this.angle=Math.PI*(1/this.sides-0.5);this.snapAngle&&(this.angle+=this.snapAngle*(Math.PI/180));this.feature.geometry=OpenLayers.Geometry.Polygon.createRegularPolygon(this.origin, -this.radius,this.sides,this.snapAngle)},modifyGeometry:function(){var a,b,c=this.feature.geometry.components[0];c.components.length!=this.sides+1&&(this.createGeometry(),c=this.feature.geometry.components[0]);for(var d=0;d=0?i={Polygon:this.selectionSymbolizer.Polygon}:j.type.indexOf("LineString")>=0?i={Line:this.selectionSymbolizer.Line}:j.type.indexOf("Point")>=0&&(i={Point:this.selectionSymbolizer.Point});d.namedLayers[h].userStyles.push({name:"default", -rules:[new OpenLayers.Rule({symbolizer:i,filter:b[f],maxScaleDenominator:a.options.minScale})]})}return(new OpenLayers.Format.SLD({srsName:this.map.getProjection()})).write(d)},parseDescribeLayer:function(a){var b=new OpenLayers.Format.WMSDescribeLayer,c=a.responseXML;if(!c||!c.documentElement)c=a.responseText;for(var a=b.read(c),b=[],c=null,d=0,e=a.length;d=0||i.indexOf("GeometryAssociationType")>= -0||i.indexOf("GeometryPropertyType")>=0||i.indexOf("Point")>=0||i.indexOf("Polygon")>=0)&&b.push(h)}return b},activate:function(){var a=OpenLayers.Control.prototype.activate.call(this);if(a)for(var b=0,c=this.layers.length;b=0?new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.DWITHIN, -property:a.name,distance:this.map.getExtent().getWidth()*0.01,distanceUnits:this.map.getUnits(),value:b}):new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS,property:a.name,value:b}):this.handler instanceof OpenLayers.Handler.Click&&(c=a.type.indexOf("Polygon")>=0?new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS,property:a.name,value:b}):new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.DWITHIN,property:a.name,distance:this.map.getExtent().getWidth()* -0.01,distanceUnits:this.map.getUnits(),value:b}));return c},select:function(a){this._queue=function(){for(var b=0,c=this.layers.length;b=9500&&a<=95E4?Math.round(a/1E3)+"K":a>=95E4?Math.round(a/1E6)+"M":Math.round(a),this.element.innerHTML=OpenLayers.i18n("Scale = 1 : ${scaleDenom}",{scaleDenom:a})},CLASS_NAME:"OpenLayers.Control.Scale"}); -OpenLayers.Control.Button=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){},CLASS_NAME:"OpenLayers.Control.Button"}); -OpenLayers.Layer.MapGuide=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,useHttpTile:false,singleTile:false,useOverlay:false,useAsyncOverlay:true,TILE_PARAMS:{operation:"GETTILEIMAGE",version:"1.2.0"},SINGLE_TILE_PARAMS:{operation:"GETMAPIMAGE",format:"PNG",locale:"en",clip:"1",version:"1.0.0"},OVERLAY_PARAMS:{operation:"GETDYNAMICMAPOVERLAYIMAGE",format:"PNG",locale:"en",clip:"1",version:"2.0.0"},FOLDER_PARAMS:{tileColumnsPerFolder:30,tileRowsPerFolder:30,format:"png",querystring:null}, -defaultSize:new OpenLayers.Size(300,300),tileOriginCorner:"tl",initialize:function(a,b,c,d){OpenLayers.Layer.Grid.prototype.initialize.apply(this,arguments);if(d==null||d.isBaseLayer==null)this.isBaseLayer=this.transparent!="true"&&this.transparent!=true;if(d&&d.useOverlay!=null)this.useOverlay=d.useOverlay;if(this.singleTile)if(this.useOverlay){if(OpenLayers.Util.applyDefaults(this.params,this.OVERLAY_PARAMS),!this.useAsyncOverlay)this.params.version="1.0.0"}else OpenLayers.Util.applyDefaults(this.params, -this.SINGLE_TILE_PARAMS);else this.useHttpTile?OpenLayers.Util.applyDefaults(this.params,this.FOLDER_PARAMS):OpenLayers.Util.applyDefaults(this.params,this.TILE_PARAMS),this.setTileSize(this.defaultSize)},clone:function(a){a==null&&(a=new OpenLayers.Layer.MapGuide(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var b;b=a.getCenterLonLat();var c=this.map.getSize();if(this.singleTile){a={setdisplaydpi:OpenLayers.DOTS_PER_INCH, -setdisplayheight:c.h*this.ratio,setdisplaywidth:c.w*this.ratio,setviewcenterx:b.lon,setviewcentery:b.lat,setviewscale:this.map.getScale()};if(this.useOverlay&&!this.useAsyncOverlay)b={},b=OpenLayers.Util.extend(b,a),b.operation="GETVISIBLEMAPEXTENT",b.version="1.0.0",b.session=this.params.session,b.mapName=this.params.mapName,b.format="text/xml",b=this.getFullRequestString(b),OpenLayers.Request.GET({url:b,async:false});b=this.getFullRequestString(a)}else c=this.map.getResolution(),b=Math.floor((a.left- -this.maxExtent.left)/c),b=Math.round(b/this.tileSize.w),a=Math.floor((this.maxExtent.top-a.top)/c),a=Math.round(a/this.tileSize.h),b=this.useHttpTile?this.getImageFilePath({tilecol:b,tilerow:a,scaleindex:this.resolutions.length-this.map.zoom-1}):this.getFullRequestString({tilecol:b,tilerow:a,scaleindex:this.resolutions.length-this.map.zoom-1});return b},getFullRequestString:function(a,b){var c=b==null?this.url:b;typeof c=="object"&&(c=c[Math.floor(Math.random()*c.length)]);var d=c,e=OpenLayers.Util.extend({}, -this.params),e=OpenLayers.Util.extend(e,a),f=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(c)),g;for(g in e)g.toUpperCase()in f&&delete e[g];e=OpenLayers.Util.getParameterString(e);e=e.replace(/,/g,"+");e!=""&&(f=c.charAt(c.length-1),d+=f=="&"||f=="?"?e:c.indexOf("?")==-1?"?"+e:"&"+e);return d},getImageFilePath:function(a,b){var c=b==null?this.url:b;typeof c=="object"&&(c=c[Math.floor(Math.random()*c.length)]);var d="",e="";a.tilerow<0&&(d="-");d+=a.tilerow==0?"0":Math.floor(Math.abs(a.tilerow/ -this.params.tileRowsPerFolder))*this.params.tileRowsPerFolder;a.tilecol<0&&(e="-");e+=a.tilecol==0?"0":Math.floor(Math.abs(a.tilecol/this.params.tileColumnsPerFolder))*this.params.tileColumnsPerFolder;d="/S"+Math.floor(a.scaleindex)+"/"+this.params.basemaplayergroupname+"/R"+d+"/C"+e+"/"+a.tilerow%this.params.tileRowsPerFolder+"_"+a.tilecol%this.params.tileColumnsPerFolder+"."+this.params.format;this.params.querystring&&(d+="?"+this.params.querystring);c+=d;return c},calculateGridLayout:function(a, -b,c){var d=c*this.tileSize.w;c*=this.tileSize.h;var e=a.left-b.lon,f=Math.floor(e/d)-this.buffer,a=b.lat-a.top+c,g=Math.floor(a/c)-this.buffer;return{tilelon:d,tilelat:c,tileoffsetlon:b.lon+f*d,tileoffsetlat:b.lat-c*g,tileoffsetx:-(e/d-f)*this.tileSize.w,tileoffsety:(g-a/c)*this.tileSize.h}},CLASS_NAME:"OpenLayers.Layer.MapGuide"}); -OpenLayers.Control.Measure=OpenLayers.Class(OpenLayers.Control,{handlerOptions:null,callbacks:null,displaySystem:"metric",geodesic:false,displaySystemUnits:{geographic:["dd"],english:["mi","ft","in"],metric:["km","m"]},partialDelay:300,delayedTrigger:null,persist:false,immediate:false,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);var c={done:this.measureComplete,point:this.measurePartial};if(this.immediate)c.modify=this.measureImmediate;this.callbacks=OpenLayers.Util.extend(c, -this.callbacks);this.handlerOptions=OpenLayers.Util.extend({persist:this.persist},this.handlerOptions);this.handler=new a(this,this.callbacks,this.handlerOptions)},deactivate:function(){this.cancelDelay();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},cancel:function(){this.cancelDelay();this.handler.cancel()},setImmediate:function(a){(this.immediate=a)?this.callbacks.modify=this.measureImmediate:delete this.callbacks.modify},updateHandler:function(a,b){var c=this.active;c&& -this.deactivate();this.handler=new a(this,this.callbacks,b);c&&this.activate()},measureComplete:function(a){this.cancelDelay();this.measure(a,"measure")},measurePartial:function(a,b){this.cancelDelay();b=b.clone();this.handler.freehandMode(this.handler.evt)?this.measure(b,"measurepartial"):this.delayedTrigger=window.setTimeout(OpenLayers.Function.bind(function(){this.delayedTrigger=null;this.measure(b,"measurepartial")},this),this.partialDelay)},measureImmediate:function(a,b,c){c&&this.delayedTrigger=== -null&&!this.handler.freehandMode(this.handler.evt)&&this.measure(b.geometry,"measurepartial")},cancelDelay:function(){if(this.delayedTrigger!==null)window.clearTimeout(this.delayedTrigger),this.delayedTrigger=null},measure:function(a,b){var c,d;a.CLASS_NAME.indexOf("LineString")>-1?(c=this.getBestLength(a),d=1):(c=this.getBestArea(a),d=2);this.events.triggerEvent(b,{measure:c[0],units:c[1],order:d,geometry:a})},getBestArea:function(a){for(var b=this.displaySystemUnits[this.displaySystem],c,d,e=0, -f=b.length;e1)break;return[d,c]},getArea:function(a,b){var c,d;this.geodesic?(c=a.getGeodesicArea(this.map.getProjectionObject()),d="m"):(c=a.getArea(),d=this.map.getUnits());var e=OpenLayers.INCHES_PER_UNIT[b];e&&(c*=Math.pow(OpenLayers.INCHES_PER_UNIT[d]/e,2));return c},getBestLength:function(a){for(var b=this.displaySystemUnits[this.displaySystem],c,d,e=0,f=b.length;e1)break;return[d,c]},getLength:function(a,b){var c, -d;this.geodesic?(c=a.getGeodesicLength(this.map.getProjectionObject()),d="m"):(c=a.getLength(),d=this.map.getUnits());var e=OpenLayers.INCHES_PER_UNIT[b];e&&(c*=OpenLayers.INCHES_PER_UNIT[d]/e);return c},CLASS_NAME:"OpenLayers.Control.Measure"}); -OpenLayers.Layer.KaMap=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,units:null,resolution:OpenLayers.DOTS_PER_INCH,DEFAULT_PARAMS:{i:"jpeg",map:""},initialize:function(a,b,c,d){var e=[];e.push(a,b,c,d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,e);this.params=OpenLayers.Util.applyDefaults(this.params,this.DEFAULT_PARAMS)},getURL:function(a){var a=this.adjustBounds(a),b=this.map.getResolution(),c=Math.round(this.map.getScale()*1E4)/1E4,d=Math.round(a.left/b);return this.getFullRequestString({t:-Math.round(a.top/ -b),l:d,s:c})},calculateGridLayout:function(a,b,c){b=c*this.tileSize.w;c*=this.tileSize.h;var d=a.left,e=Math.floor(d/b)-this.buffer,d=-(d/b-e)*this.tileSize.w;e*=b;var a=a.top,f=Math.ceil(a/c)+this.buffer;return{tilelon:b,tilelat:c,tileoffsetlon:e,tileoffsetlat:f*c,tileoffsetx:d,tileoffsety:-(f-a/c+1)*this.tileSize.h}},clone:function(a){a==null&&(a=new OpenLayers.Layer.KaMap(this.name,this.url,this.params,this.getOptions()));a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a]);if(this.tileSize!= -null)a.tileSize=this.tileSize.clone();a.grid=[];return a},getTileBounds:function(a){var b=this.getResolution(),c=b*this.tileSize.w;b*=this.tileSize.h;var d=this.getLonLatFromViewPortPx(a),a=c*Math.floor(d.lon/c),d=b*Math.floor(d.lat/b);return new OpenLayers.Bounds(a,d,a+c,d+b)},CLASS_NAME:"OpenLayers.Layer.KaMap"}); -OpenLayers.Lang["da-DK"]={unhandledRequest:"En ikke h\u00e5ndteret foresp\u00f8rgsel returnerede ${statusText}",Permalink:"Permalink",Overlays:"Kortlag","Base Layer":"Baggrundslag",noFID:"Kan ikke opdateret en feature (et objekt) der ikke har et FID.",browserNotSupported:"Din browser underst\u00f8tter ikke vektor visning. F\u00f8lgende vektor visninger underst\u00f8ttes:\n${renderers}",minZoomLevelError:"Egenskaben minZoomLevel er kun beregnet til brug med FixedZoomLevels. At dette WFS lag kontrollerer minZoomLevel egenskaben, er et levn fra en tidligere version. Vi kan desv\u00e6rre ikke fjerne dette uden at risikere at \u00f8del\u00e6gge eksisterende OL baserede programmer der benytter denne funktionalitet. Egenskaben b\u00f8r derfor ikke anvendes, og minZoomLevel kontrollen herunder vil blive fjernet i version 3.0. Benyt istedet min/max opl\u00f8snings indstillingerne, som er beskrevet her: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"WFS transaktion: LYKKEDES ${response}",commitFailed:"WFS transaktion: MISLYKKEDES ${response}",googleWarning:"Google laget kunne ikke indl\u00e6ses.

    For at fjerne denne besked, v\u00e6lg et nyt bagrundskort i lagskifteren i \u00f8verste h\u00f8jre hj\u00f8rne.

    Fejlen skyldes formentlig at Google Maps bibliotekts scriptet ikke er inkluderet, eller ikke indeholder den korrkte API n\u00f8gle for dit site.

    Udviklere: For hj\u00e6lp til at f\u00e5 dette til at fungere, klik her", -getLayerWarning:"${layerType}-laget kunne ikke indl\u00e6ses.

    For at fjerne denne besked, v\u00e6lg et nyt bagrundskort i lagskifteren i \u00f8verste h\u00f8jre hj\u00f8rne.

    Fejlen skyldes formentlig at ${layerLib} bibliotekts scriptet ikke er inkluderet.

    Udviklere: For hj\u00e6lp til at f\u00e5 dette til at fungere, klik her","Scale = 1 : ${scaleDenom}":"M\u00e5lforhold = 1 : ${scaleDenom}",reprojectDeprecated:"Du anvender indstillingen 'reproject' p\u00e5 laget ${layerName}.Denne indstilling b\u00f8r ikke l\u00e6ngere anvendes. Den var beregnet til at vise data ovenp\u00e5 kommercielle grundkort, men den funktionalitet b\u00f8r nu opn\u00e5s ved at anvende Spherical Mercator underst\u00f8ttelsen. Mere information er tilg\u00e6ngelig her: http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"Denne funktion b\u00f8r ikke l\u00e6ngere anvendes, og vil blive fjernet i version 3.0. Anvend venligst funktionen ${newMethod} istedet."}; -OpenLayers.Lang.en={unhandledRequest:"Unhandled request return ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Base Layer",noFID:"Can't update a feature for which there is no FID.",browserNotSupported:"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",minZoomLevelError:"The minZoomLevel property is only intended for use with the FixedZoomLevels-descendent layers. That this wfs layer checks for minZoomLevel is a relic of thepast. We cannot, however, remove it without possibly breaking OL based applications that may depend on it. Therefore we are deprecating it -- the minZoomLevel check below will be removed at 3.0. Please instead use min/max resolution setting as described here: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS Transaction: SUCCESS ${response}", -commitFailed:"WFS Transaction: FAILED ${response}",googleWarning:"The Google Layer was unable to load correctly.

    To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.

    Most likely, this is because the Google Maps library script was either not included, or does not contain the correct API key for your site.

    Developers: For help getting this working correctly, click here", -getLayerWarning:"The ${layerType} Layer was unable to load correctly.

    To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.

    Most likely, this is because the ${layerLib} library script was not correctly included.

    Developers: For help getting this working correctly, click here","Scale = 1 : ${scaleDenom}":"Scale = 1 : ${scaleDenom}",W:"W",E:"E",N:"N",S:"S",Graticule:"Graticule", -reprojectDeprecated:"You are using the 'reproject' option on the ${layerName} layer. This option is deprecated: its use was designed to support displaying data over commercial basemaps, but that functionality should now be achieved by using Spherical Mercator support. More information is available from http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"This method has been deprecated and will be removed in 3.0. Please use ${newMethod} instead.",proxyNeeded:"You probably need to set OpenLayers.ProxyHost to access ${url}.See http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost", -end:""}; -OpenLayers.Lang.hu=OpenLayers.Util.applyDefaults({unhandledRequest:"Nem kezelt k\u00e9r\u00e9s visszat\u00e9r\u00e9se ${statusText}",Permalink:"Permalink",Overlays:"R\u00e1vet\u00edt\u00e9sek","Base Layer":"Alapr\u00e9teg",noFID:"Nem friss\u00edthet\u0151 olyan jellemz\u0151, amely nem rendelkezik FID-del.",browserNotSupported:"A b\u00f6ng\u00e9sz\u0151je nem t\u00e1mogatja a vektoros renderel\u00e9st. A jelenleg t\u00e1mogatott renderel\u0151k:\n${renderers}",minZoomLevelError:"A minZoomLevel tulajdons\u00e1got csak a k\u00f6vetkez\u0151vel val\u00f3 haszn\u00e1latra sz\u00e1nt\u00e1k: FixedZoomLevels-lesz\u00e1rmazott f\u00f3li\u00e1k. Ez azt jelenti, hogy a minZoomLevel wfs f\u00f3lia jel\u00f6l\u0151n\u00e9gyzetei m\u00e1r a m\u00falt\u00e9. Mi azonban nem t\u00e1vol\u00edthatjuk el annak a vesz\u00e9lye n\u00e9lk\u00fcl, hogy az esetlegesen ett\u0151l f\u00fcgg\u0151 OL alap\u00fa alkalmaz\u00e1sokat t\u00f6nkretenn\u00e9nk. Ez\u00e9rt ezt \u00e9rv\u00e9nytelen\u00edtj\u00fck -- a minZoomLevel az alul lev\u0151 jel\u00f6l\u0151n\u00e9gyzet a 3.0-s verzi\u00f3b\u00f3l el lesz t\u00e1vol\u00edtva. K\u00e9rj\u00fck, helyette haszn\u00e1lja a min/max felbont\u00e1s be\u00e1ll\u00edt\u00e1st, amelyr\u0151l az al\u00e1bbi helyen tal\u00e1l le\u00edr\u00e1st: http://trac.openlayers.org/wiki/SettingZoomLevels",commitSuccess:"WFS tranzakci\u00f3: SIKERES ${response}", -commitFailed:"WFS tranzakci\u00f3: SIKERTELEN ${response}",googleWarning:"A Google f\u00f3lia bet\u00f6lt\u00e9se sikertelen.

    Ahhoz, hogy ez az \u00fczenet elt\u0171nj\u00f6n, v\u00e1lasszon egy \u00faj BaseLayer f\u00f3li\u00e1t a jobb fels\u0151 sarokban tal\u00e1lhat\u00f3 f\u00f3liakapcsol\u00f3 seg\u00edts\u00e9g\u00e9vel.

    Nagy val\u00f3sz\u00edn\u0171s\u00e9ggel ez az\u00e9rt van, mert a Google Maps k\u00f6nyvt\u00e1r parancsf\u00e1jlja nem tal\u00e1lhat\u00f3, vagy nem tartalmazza az \u00d6n oldal\u00e1hoz tartoz\u00f3 megfelel\u0151 API-kulcsot.

    Fejleszt\u0151knek: A helyes m\u0171k\u00f6dtet\u00e9sre vonatkoz\u00f3 seg\u00edts\u00e9g az al\u00e1bbi helyen \u00e9rhet\u0151 el, kattintson ide", -getLayerWarning:"A(z) ${layerType} f\u00f3lia nem t\u00f6lt\u0151d\u00f6tt be helyesen.

    Ahhoz, hogy ez az \u00fczenet elt\u0171nj\u00f6n, v\u00e1lasszon egy \u00faj BaseLayer f\u00f3li\u00e1t a jobb fels\u0151 sarokban tal\u00e1lhat\u00f3 f\u00f3liakapcsol\u00f3 seg\u00edts\u00e9g\u00e9vel.

    Nagy val\u00f3sz\u00edn\u0171s\u00e9ggel ez az\u00e9rt van, mert a(z) ${layerLib} k\u00f6nyvt\u00e1r parancsf\u00e1jlja helytelen.

    Fejleszt\u0151knek: A helyes m\u0171k\u00f6dtet\u00e9sre vonatkoz\u00f3 seg\u00edts\u00e9g az al\u00e1bbi helyen \u00e9rhet\u0151 el, kattintson ide", -"Scale = 1 : ${scaleDenom}":"L\u00e9pt\u00e9k = 1 : ${scaleDenom}",W:"Ny",E:"K",N:"\u00c9",S:"D",reprojectDeprecated:"\u00d6n a 'reproject' be\u00e1ll\u00edt\u00e1st haszn\u00e1lja a(z) ${layerName} f\u00f3li\u00e1n. Ez a be\u00e1ll\u00edt\u00e1s \u00e9rv\u00e9nytelen: haszn\u00e1lata az \u00fczleti alapt\u00e9rk\u00e9pek f\u00f6l\u00f6tti adatok megjelen\u00edt\u00e9s\u00e9nek t\u00e1mogat\u00e1s\u00e1ra szolg\u00e1lt, de ezt a funkci\u00f3 ezent\u00fal a G\u00f6mbi Mercator haszn\u00e1lat\u00e1val \u00e9rhet\u0151 el. Tov\u00e1bbi inform\u00e1ci\u00f3 az al\u00e1bbi helyen \u00e9rhet\u0151 el: http://trac.openlayers.org/wiki/SphericalMercator", -methodDeprecated:"Ez a m\u00f3dszer \u00e9rv\u00e9nytelen\u00edtve lett \u00e9s a 3.0-s verzi\u00f3b\u00f3l el lesz t\u00e1vol\u00edtva. Haszn\u00e1lja a(z) ${newMethod} m\u00f3dszert helyette."}); -OpenLayers.Lang["zh-TW"]={unhandledRequest:"\u672a\u8655\u7406\u7684\u8acb\u6c42\uff0c\u50b3\u56de\u503c\u70ba ${statusText}\u3002",Permalink:"\u6c38\u4e45\u9023\u7d50",Overlays:"\u984d\u5916\u5716\u5c64","Base Layer":"\u57fa\u790e\u5716\u5c64",noFID:"\u56e0\u70ba\u6c92\u6709 FID \u6240\u4ee5\u7121\u6cd5\u66f4\u65b0 feature\u3002",browserNotSupported:"\u60a8\u7684\u700f\u89bd\u5668\u672a\u652f\u63f4\u5411\u91cf\u6e32\u67d3. \u76ee\u524d\u652f\u63f4\u7684\u6e32\u67d3\u65b9\u5f0f\u662f:\n${renderers}", -minZoomLevelError:"minZoomLevel \u5c6c\u6027\u50c5\u9069\u5408\u7528\u5728 FixedZoomLevels-descendent \u985e\u578b\u7684\u5716\u5c64. \u9019\u500bwfs layer \u7684 minZoomLevel \u662f\u904e\u53bb\u6240\u907a\u7559\u4e0b\u4f86\u7684\uff0c\u7136\u800c\u6211\u5011\u4e0d\u80fd\u79fb\u9664\u5b83\u800c\u4e0d\u8b93\u5b83\u5c07\u904e\u53bb\u7684\u7a0b\u5f0f\u76f8\u5bb9\u6027\u7d66\u7834\u58de\u6389\u3002\u56e0\u6b64\u6211\u5011\u5c07\u6703\u8ff4\u907f\u4f7f\u7528\u5b83 -- minZoomLevel \u6703\u57283.0\u88ab\u79fb\u9664\uff0c\u8acb\u6539\u7528\u5728\u9019\u908a\u63cf\u8ff0\u7684 min/max resolution \u8a2d\u5b9a: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"WFS Transaction: \u6210\u529f ${response}",commitFailed:"WFS Transaction: \u5931\u6557 ${response}",googleWarning:"The Google Layer \u5716\u5c64\u7121\u6cd5\u88ab\u6b63\u78ba\u7684\u8f09\u5165\u3002

    \u8981\u8ff4\u907f\u9019\u500b\u8a0a\u606f, \u8acb\u5728\u53f3\u4e0a\u89d2\u7684\u5716\u5c64\u6539\u8b8a\u5668\u88e1\uff0c\u9078\u4e00\u500b\u65b0\u7684\u57fa\u790e\u5716\u5c64\u3002

    \u5f88\u6709\u53ef\u80fd\u662f\u56e0\u70ba Google Maps \u7684\u51fd\u5f0f\u5eab\u8173\u672c\u6c92\u6709\u88ab\u6b63\u78ba\u7684\u7f6e\u5165\uff0c\u6216\u6c92\u6709\u5305\u542b \u60a8\u7db2\u7ad9\u4e0a\u6b63\u78ba\u7684 API key

    \u958b\u767c\u8005: \u8981\u5e6b\u52a9\u9019\u500b\u884c\u70ba\u6b63\u78ba\u5b8c\u6210\uff0c\u8acb\u6309\u9019\u88e1", -getLayerWarning:"${layerType} \u5716\u5c64\u7121\u6cd5\u88ab\u6b63\u78ba\u7684\u8f09\u5165\u3002

    \u8981\u8ff4\u907f\u9019\u500b\u8a0a\u606f, \u8acb\u5728\u53f3\u4e0a\u89d2\u7684\u5716\u5c64\u6539\u8b8a\u5668\u88e1\uff0c\u9078\u4e00\u500b\u65b0\u7684\u57fa\u790e\u5716\u5c64\u3002

    \u5f88\u6709\u53ef\u80fd\u662f\u56e0\u70ba ${layerLib} \u7684\u51fd\u5f0f\u5eab\u8173\u672c\u6c92\u6709\u88ab\u6b63\u78ba\u7684\u7f6e\u5165\u3002

    \u958b\u767c\u8005: \u8981\u5e6b\u52a9\u9019\u500b\u884c\u70ba\u6b63\u78ba\u5b8c\u6210\uff0c\u8acb\u6309\u9019\u88e1", -"Scale = 1 : ${scaleDenom}":"Scale = 1 : ${scaleDenom}",reprojectDeprecated:"\u4f60\u6b63\u4f7f\u7528 'reproject' \u9019\u500b\u9078\u9805 \u5728 ${layerName} \u5c64\u3002\u9019\u500b\u9078\u9805\u5df2\u7d93\u4e0d\u518d\u4f7f\u7528:\u5b83\u7684\u4f7f\u7528\u539f\u672c\u662f\u8a2d\u8a08\u7528\u4f86\u652f\u63f4\u5728\u5546\u696d\u5730\u5716\u4e0a\u79c0\u51fa\u8cc7\u6599\uff0c\u4f46\u9019\u500b\u529f\u80fd\u5df2\u7d93\u88abSpherical Mercator\u6240\u53d6\u4ee3\u3002\u66f4\u591a\u7684\u8cc7\u8a0a\u53ef\u4ee5\u5728 http://trac.openlayers.org/wiki/SphericalMercator \u627e\u5230\u3002", -methodDeprecated:"\u9019\u500b\u65b9\u6cd5\u5df2\u7d93\u4e0d\u518d\u4f7f\u7528\u4e14\u57283.0\u5c07\u6703\u88ab\u79fb\u9664\uff0c\u8acb\u4f7f\u7528 ${newMethod} \u4f86\u4ee3\u66ff\u3002",end:""}; -OpenLayers.Lang["pt-br"]=OpenLayers.Util.applyDefaults({unhandledRequest:"A requisi\u00e7\u00e3o retornou um erro n\u00e3o tratado: ${statusText}",Permalink:"Link para essa p\u00e1gina",Overlays:"Camadas de Sobreposi\u00e7\u00e3o","Base Layer":"Camada Base",noFID:"N\u00e3o \u00e9 poss\u00edvel atualizar uma fei\u00e7\u00e3o que n\u00e3o tenha um FID.",browserNotSupported:"Seu navegador n\u00e3o suporta renderiza\u00e7\u00e3o de vetores. Os renderizadores suportados atualmente s\u00e3o:\n${renderers}", -minZoomLevelError:"A propriedade minZoomLevel \u00e9 de uso restrito das camadas descendentes de FixedZoomLevels. A verifica\u00e7\u00e3o dessa propriedade pelas camadas wfs \u00e9 um res\u00edduo do passado. N\u00e3o podemos, entretanto n\u00e3o \u00e9 poss\u00edvel remov\u00ea-la sem poss\u00edvelmente quebrar o funcionamento de aplica\u00e7\u00f5es OL que possuem dep\u00eancia com ela. Portanto estamos tornando seu uso obsoleto -- a verifica\u00e7\u00e3o desse atributo ser\u00e1 removida na vers\u00e3o 3.0. Ao inv\u00e9s, use as op\u00e7\u00f5es de resolu\u00e7\u00e3o min/max como descrito em: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Transa\u00e7\u00e3o WFS : SUCESSO ${response}",commitFailed:"Transa\u00e7\u00e3o WFS : ERRO ${response}",googleWarning:"N\u00e3o foi poss\u00edvel carregar a camada Google corretamente.

    Para se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alterna\u00e7\u00e3o de camadas localiza\u00e7\u00e3o do canto superior direito.

    Muito provavelmente, isso foi causado porque o script da biblioteca do Google Maps n\u00e3o foi inclu\u00eddo, ou porque ele n\u00e3o cont\u00e9m a chave correta da API para o seu site.

    Desenvolvedores: Para obter ajuda em solucionar esse problema cliquem aqui", -getLayerWarning:"N\u00e3o foi poss\u00edvel carregar a camada ${layerType} corretamente.

    Para se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alterna\u00e7\u00e3o de camadas localiza\u00e7\u00e3o do canto superior direito.

    Muito provavelmente, isso foi causado porque o script da biblioteca ${layerLib} n\u00e3o foi inclu\u00eddo corretamente.

    Desenvolvedores: Para obter ajuda em solucionar esse problema cliquem aqui", -"Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}",W:"O",E:"L",N:"N",S:"S",reprojectDeprecated:"Voc\u00ea est\u00e1 usando a op\u00e7\u00e3o 'reproject' na camada ${layerName}. Essa op\u00e7\u00e3o est\u00e1 obsoleta: seu uso foi projetado para suportar a visualiza\u00e7\u00e3o de dados sobre bases de mapas comerciais, entretanto essa funcionalidade deve agora ser alcan\u00e7ada usando o suporte \u00e0 proje\u00e7\u00e3o Mercator. Mais informa\u00e7\u00e3o est\u00e1 dispon\u00edvel em: http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"Esse m\u00e9todo est\u00e1 obsoleto e ser\u00e1 removido na vers\u00e3o 3.0. Ao inv\u00e9s, por favor use ${newMethod}."}); -OpenLayers.Lang["zh-CN"]={unhandledRequest:"\u672a\u5904\u7406\u7684\u8bf7\u6c42\uff0c\u8fd4\u56de\u503c\u4e3a ${statusText}",Permalink:"\u6c38\u4e45\u94fe\u63a5",Overlays:"\u53e0\u52a0\u5c42","Base Layer":"\u57fa\u7840\u56fe\u5c42",noFID:"\u65e0\u6cd5\u66f4\u65b0feature\uff0c\u7f3a\u5c11FID\u3002",browserNotSupported:"\u4f60\u4f7f\u7528\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u77e2\u91cf\u6e32\u67d3\u3002\u5f53\u524d\u652f\u6301\u7684\u6e32\u67d3\u65b9\u5f0f\u5305\u62ec\uff1a\n${renderers}",minZoomLevelError:"minZoomLevel\u5c5e\u6027\u4ec5\u9002\u5408\u7528\u4e8e\u4f7f\u7528\u4e86\u56fa\u5b9a\u7f29\u653e\u7ea7\u522b\u7684\u56fe\u5c42\u3002\u8fd9\u4e2a wfs \u56fe\u5c42\u68c0\u67e5 minZoomLevel \u662f\u8fc7\u53bb\u9057\u7559\u4e0b\u6765\u7684\u3002\u7136\u800c\uff0c\u6211\u4eec\u4e0d\u80fd\u79fb\u9664\u5b83\uff0c\u800c\u7834\u574f\u4f9d\u8d56\u4e8e\u5b83\u7684\u57fa\u4e8eOL\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u56e0\u6b64\uff0c\u6211\u4eec\u5e9f\u9664\u4e86\u5b83 -- minZoomLevel \u5c06\u4f1a\u57283.0\u4e2d\u88ab\u79fb\u9664\u3002\u8bf7\u6539\u7528 min/max resolution \u8bbe\u7f6e\uff0c\u53c2\u8003\uff1ahttp://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"WFS Transaction: \u6210\u529f\u3002 ${response}",commitFailed:"WFS Transaction: \u5931\u8d25\u3002 ${response}",googleWarning:"Google\u56fe\u5c42\u4e0d\u80fd\u6b63\u786e\u52a0\u8f7d\u3002

    \u8981\u6d88\u9664\u8fd9\u4e2a\u4fe1\u606f\uff0c\u8bf7\u5728\u53f3\u4e0a\u89d2\u7684\u56fe\u5c42\u63a7\u5236\u9762\u677f\u4e2d\u9009\u62e9\u5176\u4ed6\u7684\u57fa\u7840\u56fe\u5c42\u3002

    \u8fd9\u79cd\u60c5\u51b5\u5f88\u53ef\u80fd\u662f\u6ca1\u6709\u6b63\u786e\u7684\u5305\u542bGoogle\u5730\u56fe\u811a\u672c\u5e93\uff0c\u6216\u8005\u662f\u6ca1\u6709\u5305\u542b\u5728\u4f60\u7684\u7ad9\u70b9\u4e0a\u4f7f\u7528\u7684\u6b63\u786e\u7684Google Maps API\u5bc6\u5319\u3002

    \u5f00\u53d1\u8005\uff1a\u83b7\u53d6\u4f7f\u5176\u6b63\u786e\u5de5\u4f5c\u7684\u5e2e\u52a9\u4fe1\u606f\uff0c\u70b9\u51fb\u8fd9\u91cc", -getLayerWarning:"${layerType} \u56fe\u5c42\u4e0d\u80fd\u6b63\u786e\u52a0\u8f7d\u3002

    \u8981\u6d88\u9664\u8fd9\u4e2a\u4fe1\u606f\uff0c\u8bf7\u5728\u53f3\u4e0a\u89d2\u7684\u56fe\u5c42\u63a7\u5236\u9762\u677f\u4e2d\u9009\u62e9\u5176\u4ed6\u7684\u57fa\u7840\u56fe\u5c42\u3002

    \u8fd9\u79cd\u60c5\u51b5\u5f88\u53ef\u80fd\u662f\u6ca1\u6709\u6b63\u786e\u7684\u5305\u542b${layerLib} \u811a\u672c\u5e93\u3002

    \u5f00\u53d1\u8005\uff1a\u83b7\u53d6\u4f7f\u5176\u6b63\u786e\u5de5\u4f5c\u7684\u5e2e\u52a9\u4fe1\u606f\uff0c\u70b9\u51fb\u8fd9\u91cc", -"Scale = 1 : ${scaleDenom}":"\u6bd4\u4f8b\u5c3a = 1 : ${scaleDenom}",reprojectDeprecated:"\u4f60\u6b63\u5728\u4f7f\u7528 ${layerName} \u56fe\u5c42\u4e0a\u7684'reproject'\u9009\u9879\u3002\u8fd9\u4e2a\u9009\u9879\u5df2\u7ecf\u4e0d\u518d\u4f7f\u7528\uff1a\u5b83\u662f\u88ab\u8bbe\u8ba1\u7528\u6765\u652f\u6301\u663e\u793a\u5546\u4e1a\u7684\u5730\u56fe\u6570\u636e\uff0c\u4e0d\u8fc7\u73b0\u5728\u8be5\u529f\u80fd\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528Spherical Mercator\u6765\u5b9e\u73b0\u3002\u66f4\u591a\u4fe1\u606f\u53ef\u4ee5\u53c2\u9605http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"\u8be5\u65b9\u6cd5\u5df2\u7ecf\u4e0d\u518d\u88ab\u652f\u6301\uff0c\u5e76\u4e14\u5c06\u57283.0\u4e2d\u88ab\u79fb\u9664\u3002\u8bf7\u4f7f\u7528 ${newMethod} \u65b9\u6cd5\u6765\u66ff\u4ee3\u3002",end:""}; -OpenLayers.Lang.pt=OpenLayers.Util.applyDefaults({unhandledRequest:"Servidor devolveu erro n\u00e3o contemplado ${statusText}",Permalink:"Liga\u00e7\u00e3o permanente",Overlays:"Sobreposi\u00e7\u00f5es","Base Layer":"Camada Base",noFID:"N\u00e3o \u00e9 poss\u00edvel atualizar um elemento para a qual n\u00e3o h\u00e1 FID.",browserNotSupported:"O seu navegador n\u00e3o suporta renderiza\u00e7\u00e3o vetorial. Actualmente os renderizadores suportados s\u00e3o:\n${renderers}",minZoomLevelError:"A propriedade minZoomLevel s\u00f3 deve ser usada com as camadas descendentes da FixedZoomLevels. A verifica\u00e7\u00e3o da propriedade por esta camada wfs \u00e9 uma rel\u00edquia do passado. No entanto, n\u00e3o podemos remov\u00ea-la sem correr o risco de afectar aplica\u00e7\u00f5es OL que dependam dela. Portanto, estamos a torn\u00e1-la obsoleta -- a verifica\u00e7\u00e3o minZoomLevel ser\u00e1 removida na vers\u00e3o 3.0. Em vez dela, por favor, use as op\u00e7\u00f5es de resolu\u00e7\u00e3o min/max descritas aqui: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Transac\u00e7\u00e3o WFS: SUCESSO ${response}",commitFailed:"Transac\u00e7\u00e3o WFS: FALHOU ${response}",googleWarning:"A Camada Google n\u00e3o foi correctamente carregada.

    Para deixar de receber esta mensagem, seleccione uma nova Camada-Base no ''switcher'' de camadas no canto superior direito.

    Provavelmente, isto acontece porque o ''script'' da biblioteca do Google Maps n\u00e3o foi inclu\u00eddo ou n\u00e3o cont\u00e9m a chave API correcta para o seu s\u00edtio.

    Programadores: Para ajuda sobre como solucionar o problema clique aqui .", -getLayerWarning:"A camada ${layerType} n\u00e3o foi correctamente carregada.

    Para desactivar esta mensagem, seleccione uma nova Camada-Base no ''switcher'' de camadas no canto superior direito.

    Provavelmente, isto acontece porque o ''script'' da biblioteca ${layerLib} n\u00e3o foi inclu\u00eddo correctamente.

    Programadores: Para ajuda sobre como solucionar o problema clique aqui .","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}", -W:"O",E:"E",N:"N",S:"S",reprojectDeprecated:"Est\u00e1 usando a op\u00e7\u00e3o 'reproject' na camada ${layerName}. Esta op\u00e7\u00e3o \u00e9 obsoleta: foi concebida para permitir a apresenta\u00e7\u00e3o de dados sobre mapas-base comerciais, mas esta funcionalidade \u00e9 agora suportada pelo Mercator Esf\u00e9rico. Mais informa\u00e7\u00e3o est\u00e1 dispon\u00edvel em http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Este m\u00e9todo foi declarado obsoleto e ser\u00e1 removido na vers\u00e3o 3.0. Por favor, use ${newMethod} em vez disso."}); -OpenLayers.Layer.MultiMap=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:1,MAX_ZOOM_LEVEL:17,RESOLUTIONS:[9,1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,6.866455078125E-4,3.4332275390625E-4,1.71661376953125E-4,8.58306884765625E-5,4.291534423828125E-5],type:null,initialize:function(a,b){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments); -OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);this.sphericalMercator&&(OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator),this.initMercatorParameters(),this.RESOLUTIONS.unshift(10))},loadMapObject:function(){try{this.mapObject=new MultimapViewer(this.div)}catch(a){}},getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{layerType:"MM",layerLib:"MultiMap"})},setMapObjectCenter:function(a,b){this.mapObject.goToPosition(a,b)},getMapObjectCenter:function(){return this.mapObject.getCurrentPosition()}, -getMapObjectZoom:function(){return this.mapObject.getZoomFactor()},getMapObjectLonLatFromMapObjectPixel:function(a){a.x-=this.map.getSize().w/2;a.y-=this.map.getSize().h/2;return this.mapObject.getMapPositionAt(a)},getMapObjectPixelFromMapObjectLonLat:function(a){return this.mapObject.geoPosToContainerPixels(a)},getLongitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.lon,a.lat).lon:a.lon},getLatitudeFromMapObjectLonLat:function(a){return this.sphericalMercator? -this.forwardMercator(a.lon,a.lat).lat:a.lat},getMapObjectLonLatFromLonLat:function(a,b){var c;this.sphericalMercator?(c=this.inverseMercator(a,b),c=new MMLatLon(c.lat,c.lon)):c=new MMLatLon(b,a);return c},getXFromMapObjectPixel:function(a){return a.x},getYFromMapObjectPixel:function(a){return a.y},getMapObjectPixelFromXY:function(a,b){return new MMPoint(a,b)},CLASS_NAME:"OpenLayers.Layer.MultiMap"}); -OpenLayers.Lang.gl=OpenLayers.Util.applyDefaults({unhandledRequest:"Solicitude non xerada; a resposta foi: ${statusText}",Permalink:"Ligaz\u00f3n permanente",Overlays:"Capas superpostas","Base Layer":"Capa base",noFID:"Non se pode actualizar a funcionalidade para a que non hai FID.",browserNotSupported:"O seu navegador non soporta a renderizaci\u00f3n de vectores. Os renderizadores soportados actualmente son:\n${renderers}",minZoomLevelError:"A propiedade minZoomLevel \u00e9 s\u00f3 para uso conxuntamente coas capas FixedZoomLevels-descendent. O feito de que esa capa wfs verifique o minZoomLevel \u00e9 unha reliquia do pasado. Non podemos, con todo, eliminala sen a posibilidade de non romper as aplicaci\u00f3ns baseadas en OL que poidan depender dela. Por iso a estamos deixando obsoleta (a comprobaci\u00f3n minZoomLevel de embaixo ser\u00e1 eliminada na versi\u00f3n 3.0). Por favor, no canto diso use o axuste de resoluci\u00f3n m\u00edn/m\u00e1x tal e como est\u00e1 descrito aqu\u00ed: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Transacci\u00f3n WFS: \u00c9XITO ${response}",commitFailed:"Transacci\u00f3n WFS: FALLIDA ${response}",googleWarning:"A capa do Google non puido cargarse correctamente.

    Para evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.

    Probablemente, isto acontece porque a escritura da librar\u00eda do Google Maps ou ben non foi inclu\u00edda ou ben non cont\u00e9n a clave API correcta para o seu sitio.

    Desenvolvedores: para axudar a facer funcionar isto correctamente, premede aqu\u00ed", -getLayerWarning:"A capa ${layerType} foi incapaz de cargarse correctamente.

    Para evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.

    Probablemente, isto acontece porque a escritura da librar\u00eda ${layerLib} non foi ben inclu\u00edda.

    Desenvolvedores: para axudar a facer funcionar isto correctamente, premede aqu\u00ed","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}", -W:"O",E:"L",N:"N",S:"S",reprojectDeprecated:'Est\u00e1 usando a opci\u00f3n "reproject" na capa ${layerName}. Esta opci\u00f3n est\u00e1 obsoleta: o seu uso foi dese\u00f1ado para a visualizaci\u00f3n de datos sobre mapas base comerciais, pero esta funcionalidade debera agora ser obtida utilizando a proxecci\u00f3n Spherical Mercator. Hai dispo\u00f1ible m\u00e1is informaci\u00f3n en http://trac.openlayers.org/wiki/SphericalMercator.',methodDeprecated:"Este m\u00e9todo est\u00e1 obsoleto e ser\u00e1 eliminado na versi\u00f3n 3.0. Por favor, no canto deste use ${newMethod}."}); -OpenLayers.Geometry.Rectangle=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,width:null,height:null,initialize:function(a,b,c,d){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=a;this.y=b;this.width=c;this.height=d},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x+this.width,this.y+this.height)},getLength:function(){return 2*this.width+2*this.height},getArea:function(){return this.width*this.height},CLASS_NAME:"OpenLayers.Geometry.Rectangle"}); -OpenLayers.Lang.id=OpenLayers.Util.applyDefaults({unhandledRequest:"Permintaan yang tak tertangani menghasilkan ${statusText}",Permalink:"Pranala permanen",Overlays:"Hamparan","Base Layer":"Lapisan Dasar",noFID:"Tidak dapat memperbarui fitur yang tidak memiliki FID.",browserNotSupported:"Peramban Anda tidak mendukung penggambaran vektor. Penggambar yang didukung saat ini adalah:\n${renderers}",minZoomLevelError:"Properti minZoomLevel hanya ditujukan bekerja dengan lapisan FixedZoomLevels-descendent. Pengecekan minZoomLevel oleh lapisan wfs adalah peninggalan masa lalu. Kami tidak dapat menghapusnya tanpa kemungkinan merusak aplikasi berbasis OL yang mungkin bergantung padanya. Karenanya, kami menganggapnya tidak berlaku -- Cek minZoomLevel di bawah ini akan dihapus pada 3.0. Silakan gunakan penyetelan resolusi min/maks seperti dijabarkan di sini: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"WFS Transaksi: BERHASIL ${respon}",commitFailed:"WFS Transaksi: GAGAL ${respon}",googleWarning:"Lapisan Google tidak dapat dimuat dengan benar.

    Untuk menghilangkan pesan ini, pilih suatu BaseLayer baru melalui penukar lapisan (layer switcher) di ujung kanan atas.

    Kemungkinan besar ini karena pustaka skrip Google Maps tidak disertakan atau tidak mengandung kunci API yang tepat untuk situs Anda.

    Pengembang: Untuk bantuan mengatasi masalah ini, klik di sini", -getLayerWarning:"Lapisan ${layerType} tidak dapat dimuat dengan benar.

    Untuk menghilangkan pesan ini, pilih suatu BaseLayer baru melalui penukar lapisan (layer switcher) di ujung kanan atas.

    Kemungkinan besar ini karena pustaka skrip Google Maps tidak disertakan dengan benar.

    Pengembang: Untuk bantuan mengatasi masalah ini, klik di sini","Scale = 1 : ${scaleDenom}":"Sekala = 1 : ${scaleDenom}",W:"B",E:"T", -N:"U",S:"S",reprojectDeprecated:"Anda menggunakan opsi 'reproject' pada lapisan ${layerName}. Opsi ini telah ditinggalkan: penggunaannya dirancang untuk mendukung tampilan data melalui peta dasar komersial, tapi fungsionalitas tersebut saat ini harus dilakukan dengan menggunakan dukungan Spherical Mercator. Informasi lebih lanjut tersedia di http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Metode ini telah usang dan akan dihapus di 3.0. Sebaliknya, harap gunakan ${newMethod}."}); -OpenLayers.Format.SOSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",CLASS_NAME:"OpenLayers.Format.SOSCapabilities"}); -OpenLayers.Format.SOSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.SOSCapabilities,{namespaces:{ows:"http://www.opengis.net/ows/1.1",sos:"http://www.opengis.net/sos/1.0",gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);this.options=a},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this, -[a]));if(a&&a.nodeType==9)a=a.documentElement;var b={};this.readNode(a,b);return b},readers:{gml:OpenLayers.Util.applyDefaults({name:function(a,b){b.name=this.getChildValue(a)},TimePeriod:function(a,b){b.timePeriod={};this.readChildNodes(a,b.timePeriod)},beginPosition:function(a,b){b.beginPosition=this.getChildValue(a)},endPosition:function(a,b){b.endPosition=this.getChildValue(a)}},OpenLayers.Format.GML.v3.prototype.readers.gml),sos:{Capabilities:function(a,b){this.readChildNodes(a,b)},Contents:function(a, -b){b.contents={};this.readChildNodes(a,b.contents)},ObservationOfferingList:function(a,b){b.offeringList={};this.readChildNodes(a,b.offeringList)},ObservationOffering:function(a,b){var c=this.getAttributeNS(a,this.namespaces.gml,"id");b[c]={procedures:[],observedProperties:[],featureOfInterestIds:[],responseFormats:[],resultModels:[],responseModes:[]};this.readChildNodes(a,b[c])},time:function(a,b){b.time={};this.readChildNodes(a,b.time)},procedure:function(a,b){b.procedures.push(this.getAttributeNS(a, -this.namespaces.xlink,"href"))},observedProperty:function(a,b){b.observedProperties.push(this.getAttributeNS(a,this.namespaces.xlink,"href"))},featureOfInterest:function(a,b){b.featureOfInterestIds.push(this.getAttributeNS(a,this.namespaces.xlink,"href"))},responseFormat:function(a,b){b.responseFormats.push(this.getChildValue(a))},resultModel:function(a,b){b.resultModels.push(this.getChildValue(a))},responseMode:function(a,b){b.responseModes.push(this.getChildValue(a))}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows}, -CLASS_NAME:"OpenLayers.Format.SOSCapabilities.v1_0_0"});OpenLayers.Lang.ar=OpenLayers.Util.applyDefaults({Permalink:"\u0648\u0635\u0644\u0629 \u062f\u0627\u0626\u0645\u0629","Base Layer":"\u0627\u0644\u0637\u0628\u0642\u0629 \u0627\u0644\u0627\u0633\u0627\u0633\u064a\u0629","Scale = 1 : ${scaleDenom}":"\u0627\u0644\u0646\u0633\u0628\u0629 = 1 : ${scaleDenom}",W:"\u063a",E:"\u0634\u0631",N:"\u0634\u0645",S:"\u062c"}); -OpenLayers.Handler.Pinch=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:false,pinching:false,last:null,start:null,touchstart:function(a){var b=true;this.pinching=false;OpenLayers.Event.isMultiTouch(a)?(this.started=true,this.last=this.start={distance:this.getDistance(a.touches),delta:0,scale:1},this.callback("start",[a,this.start]),b=!this.stopDown):(this.started=false,this.last=this.start=null);OpenLayers.Event.stop(a);return b},touchmove:function(a){if(this.started&&OpenLayers.Event.isMultiTouch(a)){this.pinching= -true;var b=this.getPinchData(a);this.callback("move",[a,b]);this.last=b;OpenLayers.Event.stop(a)}return true},touchend:function(a){if(this.started)this.pinching=this.started=false,this.callback("done",[a,this.start,this.last]),this.last=this.start=null;return true},activate:function(){var a=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments))this.pinching=false,a=true;return a},deactivate:function(){var a=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments))this.pinching= -this.started=false,this.last=this.start=null,a=true;return a},getDistance:function(a){var b=a[0],a=a[1];return Math.sqrt(Math.pow(b.clientX-a.clientX,2)+Math.pow(b.clientY-a.clientY,2))},getPinchData:function(a){a=this.getDistance(a.touches);return{distance:a,delta:this.last.distance-a,scale:a/this.start.distance}},CLASS_NAME:"OpenLayers.Handler.Pinch"}); -OpenLayers.Lang.lt=OpenLayers.Util.applyDefaults({unhandledRequest:"Neapdorota u\u017eklausa gra\u017eino ${statusText}",Permalink:"Pastovi nuoroda",Overlays:"Papildomi sluoksniai","Base Layer":"Pagrindinis sluoksnis",noFID:"Negaliu atnaujinti objekto, kuris neturi FID.",browserNotSupported:"J\u016bs\u0173 nar\u0161ykl\u0117 nemoka parodyti vektori\u0173. \u0160iuo metu galima naudotis tokiais rodymo varikliais:\n{renderers}",commitSuccess:"WFS Tranzakcija: PAVYKO ${response}",commitFailed:"WFS Tranzakcija: \u017dLUGO ${response}", -"Scale = 1 : ${scaleDenom}":"Mastelis = 1 : ${scaleDenom}",W:"V",E:"R",N:"\u0160",S:"P",Graticule:"Tinklelis",methodDeprecated:"\u0160is metodas yra pasen\u0119s ir 3.0 versijoje bus pa\u0161alintas. Pra\u0161ome naudoti ${newMethod}.",end:""}); -OpenLayers.Lang.ca={unhandledRequest:"Resposta a petici\u00f3 no gestionada ${statusText}",Permalink:"Enlla\u00e7 permanent",Overlays:"Capes addicionals","Base Layer":"Capa Base",noFID:"No es pot actualitzar un element per al que no existeix FID.",browserNotSupported:"El seu navegador no suporta renderitzaci\u00f3 vectorial. Els renderitzadors suportats actualment s\u00f3n:\n${renderers}",minZoomLevelError:"La propietat minZoomLevel s'ha d'utilitzar nom\u00e9s amb les capes que tenen FixedZoomLevels. El fet que una capa wfs comprovi minZoomLevel \u00e9s una rel\u00edquia del passat. No podem, per\u00f2, eliminar-la sense trencar les aplicacions d'OpenLayers que en puguin dependre. Aix\u00ed doncs estem fent-la obsoleta -- la comprovaci\u00f3 minZoomLevel s'eliminar\u00e0 a la versi\u00f3 3.0. Feu servir els par\u00e0metres min/max resolution en substituci\u00f3, tal com es descriu aqu\u00ed: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Transacci\u00f3 WFS: CORRECTA ${response}",commitFailed:"Transacci\u00f3 WFS: HA FALLAT ${response}",googleWarning:"La capa Google no s'ha pogut carregar correctament.

    Per evitar aquest missatge, seleccioneu una nova Capa Base al gestor de capes de la cantonada superior dreta.

    Probablement aix\u00f2 \u00e9s degut a que l'script de la biblioteca de Google Maps no ha estat incl\u00f2s a la vostra p\u00e0gina, o no cont\u00e9 la clau de l'API correcta per a la vostra adre\u00e7a.

    Desenvolupadors: Per obtenir consells sobre com fer anar aix\u00f2, f\u00e9u clic aqu\u00ed", -getLayerWarning:"Per evitar aquest missatge, seleccioneu una nova Capa Base al gestor de capes de la cantonada superior dreta.

    Probablement aix\u00f2 \u00e9s degut a que l'script de la biblioteca ${layerLib} no ha estat incl\u00f2s a la vostra p\u00e0gina.

    Desenvolupadors: Per obtenir consells sobre com fer anar aix\u00f2, f\u00e9u clic aqu\u00ed","Scale = 1 : ${scaleDenom}":"Escala = 1 : ${scaleDenom}",W:"O", -E:"E",N:"N",S:"S",Graticule:"Ret\u00edcula",reprojectDeprecated:"Esteu fent servir l'opci\u00f3 'reproject' a la capa ${layerName}. Aquesta opci\u00f3 \u00e9s obsoleta: el seu \u00fas fou concebut per suportar la visualitzaci\u00f3 de dades sobre mapes base comercials, per\u00f2 ara aquesta funcionalitat s'hauria d'assolir mitjan\u00e7ant el suport de la projecci\u00f3 Spherical Mercator. M\u00e9s informaci\u00f3 disponible a http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Aquest m\u00e8tode \u00e9s obsolet i s'eliminar\u00e0 a la versi\u00f3 3.0. Si us plau feu servir em m\u00e8tode alternatiu ${newMethod}.", -end:""}; -OpenLayers.Strategy.Refresh=OpenLayers.Class(OpenLayers.Strategy,{force:false,interval:0,timer:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);a&&(this.layer.visibility===true&&this.start(),this.layer.events.on({visibilitychanged:this.reset,scope:this}));return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.stop();return a},reset:function(){this.layer.visibility===true?this.start():this.stop()},start:function(){if(this.interval&&typeof this.interval=== -"number"&&this.interval>0)this.timer=window.setInterval(OpenLayers.Function.bind(this.refresh,this),this.interval)},refresh:function(){this.layer&&this.layer.refresh&&typeof this.layer.refresh=="function"&&this.layer.refresh({force:this.force})},stop:function(){if(this.timer!==null)window.clearInterval(this.timer),this.timer=null},CLASS_NAME:"OpenLayers.Strategy.Refresh"}); -OpenLayers.Layer.ArcGIS93Rest=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{format:"png"},isBaseLayer:true,initialize:function(a,b,c,d){var e=[],c=OpenLayers.Util.upperCaseObject(c);e.push(a,b,c,d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,e);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if(d==null||!d.isBaseLayer)this.isBaseLayer=false;if(this.params.FORMAT== -"jpg")this.params.FORMAT=OpenLayers.Util.alphaHack()?"gif":"png"}},clone:function(a){a==null&&(a=new OpenLayers.Layer.ArcGIS93Rest(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var a=this.adjustBounds(a),b=this.projection.getCode().split(":"),b=b[b.length-1],c=this.getImageSize(),a={BBOX:a.toBBOX(),SIZE:c.w+","+c.h,F:"image",BBOXSR:b,IMAGESR:b};if(this.layerDefs){var b=[],d;for(d in this.layerDefs)this.layerDefs.hasOwnProperty(d)&& -this.layerDefs[d]&&(b.push(d),b.push(":"),b.push(this.layerDefs[d]),b.push(";"));b.length>0&&(a.LAYERDEFS=b.join(""))}return this.getFullRequestString(a)},setLayerFilter:function(a,b){if(!this.layerDefs)this.layerDefs={};b?this.layerDefs[a]=b:delete this.layerDefs[a]},clearLayerFilter:function(a){a?delete this.layerDefs[a]:delete this.layerDefs},mergeNewParams:function(a){a=[OpenLayers.Util.upperCaseObject(a)];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,a)},CLASS_NAME:"OpenLayers.Layer.ArcGIS93Rest"}); -OpenLayers.Handler.Hover=OpenLayers.Class(OpenLayers.Handler,{delay:500,pixelTolerance:null,stopMove:false,px:null,timerId:null,mousemove:function(a){if(this.passesTolerance(a.xy))this.clearTimer(),this.callback("move",[a]),this.px=a.xy,a=OpenLayers.Util.extend({},a),this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,a),this.delay);return!this.stopMove},mouseout:function(a){OpenLayers.Util.mouseLeft(a,this.map.eventsDiv)&&(this.clearTimer(),this.callback("move",[a]));return true}, -passesTolerance:function(a){var b=true;this.pixelTolerance&&this.px&&Math.sqrt(Math.pow(this.px.x-a.x,2)+Math.pow(this.px.y-a.y,2))=v.scrollHeight;c||(c=i);c(a,b);if(d)v.scrollTop=v.scrollHeight-v.offsetHeight}function i(a, -b){var c=v.ownerDocument.createElement("div");c.className="logRow"+(b?" logRow-"+b:"");c.innerHTML=a.join("");(x.length?x[x.length-1]:v).appendChild(c)}function j(a,b){l(a,b);var c=v.ownerDocument.createElement("div");c.className="logGroup";var d=v.ownerDocument.createElement("div");d.className="logGroupBox";c.appendChild(d);(x.length?x[x.length-1]:v).appendChild(d);x.push(d)}function k(){x.pop()}function l(a,b){var c=[],d=a[0],e=0;typeof d!="string"&&(d="",e=-1);for(var f=d,d=[],h=/((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/, -i={s:n,d:q,i:q,f:r},j=h.exec(f);j;j=h.exec(f)){var k=j[8]?j[8]:j[5],k=k in i?i[k]:p,l=j[3]?parseInt(j[3]):j[4]=="."?-1:0;d.push(f.substr(0,j[0][0]=="%"?j.index:j.index+1));d.push({appender:k,precision:l});f=f.substr(j.index+j[0].length)}d.push(f);for(f=0;f&"']/g,function(a){switch(a){case "<":return"<"; -case ">":return">";case "&":return"&";case "'":return"'";case '"':return"""}return"?"})}function n(a,b){b.push(m(a+""))}function o(a,b){b.push('',m(a+""),"")}function q(a,b){b.push('',m(a+""),"")}function r(a,b){b.push('',m(a+""),"")}function p(a,b){try{if(a==void 0)o("undefined",b);else if(a==null)o("null",b);else if(typeof a=="string")b.push('"', -m(a+""),""");else if(typeof a=="number")q(a,b);else if(typeof a=="function"){var c=/function ?(.*?)\(/.exec(a+"");b.push('',m(c?c[1]:"function"),"()")}else if(a.nodeType==1)b.push(''),b.push('',m(a.nodeName.toLowerCase()),""),a.id&&b.push('#',m(a.id),""),a.className&&b.push('.',m(a.className),""),b.push(""); -else if(typeof a=="object"){var c=a+"",d=/\[object (.*?)\]/.exec(c);b.push('',d?d[1]:c,"")}else n(a,b)}catch(e){}}function s(a,b){if(a.nodeType==1){b.push('
    ','<',a.nodeName.toLowerCase(),"");for(var c=0;c',d.nodeName.toLowerCase(),'="',m(d.nodeValue),""")}if(a.firstChild){b.push('>
    '); -for(c=a.firstChild;c;c=c.nextSibling)s(c,b);b.push('
    </',a.nodeName.toLowerCase(),">
    ")}else b.push("/>")}else a.nodeType==3&&b.push('
    ',m(a.nodeValue),"
    ")}function t(a,b,c){document.all?a.attachEvent("on"+b,c):a.addEventListener(b,c,false)}function y(a,b,c){document.all?a.detachEvent("on"+b,c):a.removeEventListener(b,c,false)}function F(b){if(b.keyCode==123)a();else if((b.keyCode==108|| -b.keyCode==76)&&b.shiftKey&&(b.metaKey||b.ctrlKey))a(true),w&&w.focus();else return;document.all?b.cancelBubble=true:b.stopPropagation()}function H(){if(!D&&!K){t(document,"mousemove",A);t(document,"mouseup",B);for(var a=0;a");for(a=0;a",'',m(d),"",''); -p(f,b);b.push("")}b.push("");g(b,"dir")},dirxml:function(a){var b=[];s(a,b);g(b,"dirxml")},group:function(){g(arguments,"group",j)},groupEnd:function(){g(arguments,"",k)},time:function(a){C[a]=(new Date).getTime()},timeEnd:function(a){if(a in C){var b=(new Date).getTime()-C[a];l([a+":",b+"ms"]);delete C[a]}},count:function(){this.warn(["count() not supported."])},trace:function(){this.warn(["trace() not supported."])},profile:function(){this.warn(["profile() not supported."])}, -profileEnd:function(){},clear:function(){v.innerHTML=""},open:function(){a(true)},close:function(){z&&a()}};var u=null,v=null,w=null,z=false,E=[],x=[],C={},J=">>> ";navigator.userAgent.indexOf("Firefox");var G=navigator.userAgent.indexOf("MSIE")!=-1,K=navigator.userAgent.indexOf("Opera")!=-1,D=navigator.userAgent.indexOf("AppleWebKit")!=-1;window.onerror=function(a,b,c){var d=[],e=b.lastIndexOf("/"),b=e==-1?b:b.substr(e+1);d.push('',a,"",'");g(d,"error")};t(document,G||D?"keydown":"keypress",F);document.documentElement.getAttribute("debug")=="true"&&a(true)}(); -OpenLayers.Control.MousePosition=OpenLayers.Class(OpenLayers.Control,{autoActivate:true,element:null,prefix:"",separator:", ",suffix:"",numDigits:5,granularity:10,emptyString:null,lastXy:null,displayProjection:null,destroy:function(){this.deactivate();OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.map.events.register("mousemove",this,this.redraw),this.map.events.register("mouseout",this,this.reset), -this.redraw(),true):false},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this,arguments)?(this.map.events.unregister("mousemove",this,this.redraw),this.map.events.unregister("mouseout",this,this.reset),this.element.innerHTML="",true):false},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.element)this.div.left="",this.div.top="",this.element=this.div;return this.div},redraw:function(a){var b;if(a==null)this.reset();else if(this.lastXy== -null||Math.abs(a.xy.x-this.lastXy.x)>this.granularity||Math.abs(a.xy.y-this.lastXy.y)>this.granularity)this.lastXy=a.xy;else if(b=this.map.getLonLatFromPixel(a.xy))if(this.displayProjection&&b.transform(this.map.getProjectionObject(),this.displayProjection),this.lastXy=a.xy,a=this.formatOutput(b),a!=this.element.innerHTML)this.element.innerHTML=a},reset:function(){if(this.emptyString!=null)this.element.innerHTML=this.emptyString},formatOutput:function(a){var b=parseInt(this.numDigits);return this.prefix+ -a.lon.toFixed(b)+this.separator+a.lat.toFixed(b)+this.suffix},CLASS_NAME:"OpenLayers.Control.MousePosition"}); -OpenLayers.Control.Geolocate=OpenLayers.Class(OpenLayers.Control,{geolocation:navigator.geolocation,bind:true,watch:false,geolocationOptions:null,destroy:function(){this.deactivate();OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){if(!this.geolocation)return this.events.triggerEvent("locationuncapable"),false;return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.watch?this.watchId=this.geolocation.watchPosition(OpenLayers.Function.bind(this.geolocate, -this),OpenLayers.Function.bind(this.failure,this),this.geolocationOptions):this.getCurrentLocation(),true):false},deactivate:function(){this.active&&this.watchId!==null&&this.geolocation.clearWatch(this.watchId);return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},geolocate:function(a){var b=(new OpenLayers.LonLat(a.coords.longitude,a.coords.latitude)).transform(new OpenLayers.Projection("EPSG:4326"),this.map.getProjectionObject());this.bind&&this.map.setCenter(b);this.events.triggerEvent("locationupdated", -{position:a,point:new OpenLayers.Geometry.Point(b.lon,b.lat)})},getCurrentLocation:function(){if(!this.active||this.watch)return false;this.geolocation.getCurrentPosition(OpenLayers.Function.bind(this.geolocate,this),OpenLayers.Function.bind(this.failure,this),this.geolocationOptions);return true},failure:function(a){this.events.triggerEvent("locationfailed",{error:a})},CLASS_NAME:"OpenLayers.Control.Geolocate"}); -OpenLayers.Control.NavigationHistory=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOGGLE,previous:null,previousOptions:null,next:null,nextOptions:null,limit:50,autoActivate:true,clearOnDeactivate:false,registry:null,nextStack:null,previousStack:null,listeners:null,restoring:false,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,[a]);this.registry=OpenLayers.Util.extend({moveend:this.getState},this.registry);a={trigger:OpenLayers.Function.bind(this.previousTrigger, -this),displayClass:this.displayClass+" "+this.displayClass+"Previous"};OpenLayers.Util.extend(a,this.previousOptions);this.previous=new OpenLayers.Control.Button(a);a={trigger:OpenLayers.Function.bind(this.nextTrigger,this),displayClass:this.displayClass+" "+this.displayClass+"Next"};OpenLayers.Util.extend(a,this.nextOptions);this.next=new OpenLayers.Control.Button(a);this.clear()},onPreviousChange:function(a){a&&!this.previous.active?this.previous.activate():!a&&this.previous.active&&this.previous.deactivate()}, -onNextChange:function(a){a&&!this.next.active?this.next.activate():!a&&this.next.active&&this.next.deactivate()},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this);this.previous.destroy();this.next.destroy();this.deactivate();for(var a in this)this[a]=null},setMap:function(a){this.map=a;this.next.setMap(a);this.previous.setMap(a)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.next.draw();this.previous.draw()},previousTrigger:function(){var a=this.previousStack.shift(), -b=this.previousStack.shift();b!=void 0?(this.nextStack.unshift(a),this.previousStack.unshift(b),this.restoring=true,this.restore(b),this.restoring=false,this.onNextChange(this.nextStack[0],this.nextStack.length),this.onPreviousChange(this.previousStack[1],this.previousStack.length-1)):this.previousStack.unshift(a);return b},nextTrigger:function(){var a=this.nextStack.shift();if(a!=void 0)this.previousStack.unshift(a),this.restoring=true,this.restore(a),this.restoring=false,this.onNextChange(this.nextStack[0], -this.nextStack.length),this.onPreviousChange(this.previousStack[1],this.previousStack.length-1);return a},clear:function(){this.previousStack=[];this.previous.deactivate();this.nextStack=[];this.next.deactivate()},getState:function(){return{center:this.map.getCenter(),resolution:this.map.getResolution(),projection:this.map.getProjectionObject(),units:this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units}},restore:function(a){var b,c;if(this.map.getProjectionObject()== -a.projection)c=this.map.getZoomForResolution(a.resolution),b=a.center;else{b=a.center.clone();b.transform(a.projection,this.map.getProjectionObject());c=a.units;var d=this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units;c=this.map.getZoomForResolution((c&&d?OpenLayers.INCHES_PER_UNIT[c]/OpenLayers.INCHES_PER_UNIT[d]:1)*a.resolution)}this.map.setCenter(b,c)},setListeners:function(){this.listeners={};for(var a in this.registry)this.listeners[a]=OpenLayers.Function.bind(function(){if(!this.restoring){this.previousStack.unshift(this.registry[a].apply(this, -arguments));if(this.previousStack.length>1)this.onPreviousChange(this.previousStack[1],this.previousStack.length-1);this.previousStack.length>this.limit+1&&this.previousStack.pop();if(this.nextStack.length>0)this.nextStack=[],this.onNextChange(null,0)}return true},this)},activate:function(){var a=false;if(this.map&&OpenLayers.Control.prototype.activate.apply(this)){this.listeners==null&&this.setListeners();for(var b in this.listeners)this.map.events.register(b,this,this.listeners[b]);a=true;this.previousStack.length== -0&&this.initStack()}return a},initStack:function(){this.map.getCenter()&&this.listeners.moveend()},deactivate:function(){var a=false;if(this.map&&OpenLayers.Control.prototype.deactivate.apply(this)){for(var b in this.listeners)this.map.events.unregister(b,this,this.listeners[b]);this.clearOnDeactivate&&this.clear();a=true}return a},CLASS_NAME:"OpenLayers.Control.NavigationHistory"}); -OpenLayers.Format.QueryStringFilter=function(){function a(a){a=a.replace(/%/g,"\\%");a=a.replace(/\\\\\.(\*)?/g,function(a,b){return b?a:"\\\\_"});a=a.replace(/\\\\\.\*/g,"\\\\%");a=a.replace(/(\\)?\.(\*)?/g,function(a,b,c){return b||c?a:"_"});a=a.replace(/(\\)?\.\*/g,function(a,b){return b?a:"%"});a=a.replace(/\\\./g,".");return a=a.replace(/(\\)?\\\*/g,function(a,b){return b?a:"*"})}var b={};b[OpenLayers.Filter.Comparison.EQUAL_TO]="eq";b[OpenLayers.Filter.Comparison.NOT_EQUAL_TO]="ne";b[OpenLayers.Filter.Comparison.LESS_THAN]= -"lt";b[OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO]="lte";b[OpenLayers.Filter.Comparison.GREATER_THAN]="gt";b[OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO]="gte";b[OpenLayers.Filter.Comparison.LIKE]="ilike";return OpenLayers.Class(OpenLayers.Format,{wildcarded:false,srsInBBOX:false,write:function(c,d){var d=d||{},e=c.CLASS_NAME,e=e.substring(e.lastIndexOf(".")+1);switch(e){case "Spatial":switch(c.type){case OpenLayers.Filter.Spatial.BBOX:d.bbox=c.value.toArray();this.srsInBBOX&&c.projection&& -d.bbox.push(c.projection.getCode());break;case OpenLayers.Filter.Spatial.DWITHIN:d.tolerance=c.distance;case OpenLayers.Filter.Spatial.WITHIN:d.lon=c.value.x;d.lat=c.value.y;break;default:OpenLayers.Console.warn("Unknown spatial filter type "+c.type)}break;case "Comparison":e=b[c.type];if(e!==void 0){var f=c.value;c.type==OpenLayers.Filter.Comparison.LIKE&&(f=a(f),this.wildcarded&&(f="%"+f+"%"));d[c.property+"__"+e]=f;d.queryable=d.queryable||[];d.queryable.push(c.property)}else OpenLayers.Console.warn("Unknown comparison filter type "+ -c.type);break;case "Logical":if(c.type===OpenLayers.Filter.Logical.AND){e=0;for(f=c.filters.length;e=200&&c.status<300){if(a.requestType!="delete")a.features=this.parseFeatures(c);a.code=OpenLayers.Protocol.Response.SUCCESS}else a.code=OpenLayers.Protocol.Response.FAILURE;b.callback.call(b.scope,a)}},parseFeatures:function(a){var b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;return!b||b.length<=0?null:this.format.read(b)},commit:function(a,b){function c(a){for(var b=a.features?a.features.length:0,c=Array(b),e=0;e=m&&b.callback)o.code=n?OpenLayers.Protocol.Response.SUCCESS:OpenLayers.Protocol.Response.FAILURE,b.callback.apply(b.scope,[o])}var b=OpenLayers.Util.applyDefaults(b,this.options),e=[],f=0,g={};g[OpenLayers.State.INSERT]=[];g[OpenLayers.State.UPDATE]=[];g[OpenLayers.State.DELETE]=[];for(var h,i,j=[],k=0,l=a.length;k -0?1:0)+g[OpenLayers.State.UPDATE].length+g[OpenLayers.State.DELETE].length,n=true,o=new OpenLayers.Protocol.Response({reqFeatures:j});h=g[OpenLayers.State.INSERT];h.length>0&&e.push(this.create(h,OpenLayers.Util.applyDefaults({callback:c,scope:this},b.create)));h=g[OpenLayers.State.UPDATE];for(k=h.length-1;k>=0;--k)e.push(this.update(h[k],OpenLayers.Util.applyDefaults({callback:d,scope:this},b.update)));h=g[OpenLayers.State.DELETE];for(k=h.length-1;k>=0;--k)e.push(this["delete"](h[k],OpenLayers.Util.applyDefaults({callback:d, -scope:this},b["delete"])));return e},abort:function(a){a&&a.priv.abort()},callUserCallback:function(a,b){var c=b[a.requestType];c&&c.callback&&c.callback.call(c.scope,a)},CLASS_NAME:"OpenLayers.Protocol.HTTP"}); -OpenLayers.Lang.nl=OpenLayers.Util.applyDefaults({unhandledRequest:"Het verzoek is niet afgehandeld met de volgende melding: ${statusText}",Permalink:"Permanente verwijzing",Overlays:"Overlays","Base Layer":"Achtergrondkaart",noFID:"Een optie die geen FID heeft kan niet bijgewerkt worden.",browserNotSupported:"Uw browser ondersteunt het weergeven van vectoren niet.\nMomenteel ondersteunde weergavemogelijkheden:\n${renderers}",minZoomLevelError:"De eigenschap minZoomLevel is alleen bedoeld voor gebruik lagen met die afstammen van FixedZoomLevels-lagen.\nDat deze WFS-laag minZoomLevel controleert, is een overblijfsel uit het verleden.\nWe kunnen deze controle echter niet verwijderen zonder op OL gebaseerde applicaties die hervan afhankelijk zijn stuk te maken.\nDaarom heeft deze functionaliteit de eigenschap 'deprecated' gekregen - de minZoomLevel wordt verwijderd in versie 3.0.\nGebruik in plaats van deze functie de mogelijkheid om min/max voor resolutie in te stellen zoals op de volgende pagina wordt beschreven:\nhttp://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"WFS-transactie: succesvol ${response}",commitFailed:"WFS-transactie: mislukt ${response}",googleWarning:"De Google-Layer kon niet correct geladen worden.

    \nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.

    \nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct ingevoegd is.

    \nOntwikkelaars: klik hier om dit werkend te krijgen.", -getLayerWarning:"De laag ${layerType} kon niet goed geladen worden.

    \nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.

    \nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct is ingevoegd.

    \nOntwikkelaars: klik hier om dit werkend te krijgen.","Scale = 1 : ${scaleDenom}":"Schaal = 1 : ${scaleDenom}", -W:"W",E:"O",N:"N",S:"Z",reprojectDeprecated:"U gebruikt de optie 'reproject' op de laag ${layerName}.\nDeze optie is vervallen: deze optie was ontwikkeld om gegevens over commerci\u00eble basiskaarten weer te geven, maar deze functionaliteit wordt nu bereikt door ondersteuning van Spherical Mercator.\nMeer informatie is beschikbaar op http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Deze methode is verouderd en wordt verwijderd in versie 3.0.\nGebruik ${newMethod}."}); -OpenLayers.Strategy.Cluster=OpenLayers.Class(OpenLayers.Strategy,{distance:20,threshold:null,features:null,clusters:null,clustering:false,resolution:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a)this.layer.events.on({beforefeaturesadded:this.cacheFeatures,moveend:this.cluster,scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&(this.clearCache(),this.layer.events.un({beforefeaturesadded:this.cacheFeatures, -moveend:this.cluster,scope:this}));return a},cacheFeatures:function(a){var b=true;if(!this.clustering)this.clearCache(),this.features=a.features,this.cluster(),b=false;return b},clearCache:function(){this.features=null},cluster:function(a){if((!a||a.zoomChanged)&&this.features)if(a=this.layer.map.getResolution(),a!=this.resolution||!this.clustersExist()){this.resolution=a;for(var a=[],b,c,d,e=0;e=0;--f)if(d= -a[f],this.shouldCluster(d,b)){this.addToCluster(d,b);c=true;break}c||a.push(this.createCluster(this.features[e]))}this.layer.removeAllFeatures();if(a.length>0){if(this.threshold>1){b=a.slice();a=[];e=0;for(d=b.length;e0&&this.clusters.length== -this.layer.features.length)for(var a=true,b=0;b0)this.caching=true,this.layer.removeFeatures(this.cache.slice()), -this.caching=false;if(a.length>0&&(a={features:a},this.handleAdd(a),a.features.length>0))this.caching=true,this.layer.addFeatures(a.features),this.caching=false},CLASS_NAME:"OpenLayers.Strategy.Filter"});OpenLayers.Protocol.SOS=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Protocol.SOS.DEFAULTS),b=OpenLayers.Protocol.SOS["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported SOS version: "+a.version;return new b(a)};OpenLayers.Protocol.SOS.DEFAULTS={version:"1.0.0"}; -OpenLayers.Format.WFSDescribeFeatureType=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{xsd:"http://www.w3.org/2001/XMLSchema"},readers:{xsd:{schema:function(a,b){var c=[],d={};this.readChildNodes(a,{complexTypes:c,customTypes:d});for(var e=a.attributes,f,g,h=0,i=e.length;h
    Pour supprimer ce message, choisissez une nouvelle BaseLayer dans le s\u00e9lecteur de couche en haut \u00e0 droite.

    Cela est possiblement caus\u00e9 par la non-inclusion de la librairie Google Maps, ou alors parce que la cl\u00e9 de l'API ne correspond pas \u00e0 votre site.

    D\u00e9veloppeurs : pour savoir comment corriger ceci, cliquez ici", -getLayerWarning:"La couche ${layerType} n'est pas en mesure de se charger correctement.

    Pour supprimer ce message, choisissez une nouvelle BaseLayer dans le s\u00e9lecteur de couche en haut \u00e0 droite.

    Cela est possiblement caus\u00e9 par la non-inclusion de la librairie ${layerLib}.

    D\u00e9veloppeurs : pour savoir comment corriger ceci, cliquez ici","Scale = 1 : ${scaleDenom}":"Echelle ~ 1 : ${scaleDenom}", -W:"O",E:"E",N:"N",S:"S",reprojectDeprecated:"Vous utilisez l'option 'reproject' sur la couche ${layerName}. Cette option est d\u00e9pr\u00e9ci\u00e9e : Son usage permettait d'afficher des donn\u00e9es au dessus de couches raster commerciales.Cette fonctionalit\u00e9 est maintenant support\u00e9e en utilisant le support de la projection Mercator Sph\u00e9rique. Plus d'information est disponible sur http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Cette m\u00e9thode est d\u00e9pr\u00e9ci\u00e9e, et sera supprim\u00e9e \u00e0 la version 3.0. Merci d'utiliser ${newMethod} \u00e0 la place.", -proxyNeeded:"Vous avez tr\u00e8s probablement besoin de renseigner OpenLayers.ProxyHost pour acc\u00e9der \u00e0 ${url}. Voir http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost"}); -OpenLayers.Lang.ksh=OpenLayers.Util.applyDefaults({unhandledRequest:"Met d\u00e4 Antwoot op en Aanfrooch ham_mer nix aanjefange: ${statusText}",Permalink:"Lengk op Duuer",Overlays:"Dr\u00f6vver jelaat","Base Layer":"Jrund-Nivoh",noFID:'En Saach, woh kein FID f\u00f6r doh es, l\u00f6ht sesch nit \u00e4ndere.',browserNotSupported:"Dinge Brauser kann kein V\u00e4ktore u\u00dfj\u00e4vve. De Zoote U\u00dfjaabe, di em Momang jon, sen:\n${renderers}",minZoomLevelError:'De Eijeschaff \u201eminZoomLevel\u201c es blo\u00df dof\u00f6r jedaach, dat mer se met d\u00e4 Nivvoh\u00df bruch, di vun FixedZoomLevels affhange don. Dat dat WFS-Nivvoh \u00f6vverhoup de Eijeschaff \u201eminZoomLevel\u201c pr\u00f6hfe deiht, es noch \u00f6vveresch vun fr\u00f6hjer. Mer k\u00fcnne dat \u00e4vver jez nit fott loh\u00dfe, oohne dat mer Jevaa loufe, dat Aanwendunge vun OpenLayers nit mieh loufe, di sesch doh velleijsch noch drop am verloh\u00dfe sin. Dr\u00f6m sare mer, dat mer et nit mieh han welle, un de \u201eminZoomLevel\u201c-Eijeschaff weed hee vun de Version 3.0 af nit mieh jepr\u00f6\u00f6f w\u00e4de. Nemm dof\u00f6r de Enstellung f\u00f6r de h\u00fch\u00dfte un de klein\u00dfte Opl\u00f6hsung, esu wi et en http://trac.openlayers.org/wiki/SettingZoomLevels opjeschrevve es.', -commitSuccess:'D\u00e4 WFS-V\u00f6rjang es joot jeloufe: ${response}',commitFailed:'D\u00e4 WFS-V\u00f6rjang es scheif jejange: ${response}',googleWarning:'Dat Nivvoh Google kunnt nit reschtesch jelaade w\u00e4\u00e4de.

    \u00d6m hee di Nohreesch lo\u00df ze krijje, donn en ander Jrund-Nivvoh u\u00dfs\u00f6hke, r\u00e4h\u00df bovve en de \u00c4k.

    Wascheinlesch es dat wiel dat Google-Maps-Skrepp entweeder nit reschtesch enjebonge wood, udder nit d\u00e4 reschtejje API-Schl\u00f6\u00dfel f\u00f6r Ding Web-\u00dfait scheke deiht.

    F\u00f6r Projrammierer jidd_et H\u00f6lp do_dr\u00f6vver, wi mer dat aan et Loufe brengk.', -getLayerWarning:'Dat Nivvoh ${layerType} kunnt nit reschtesch jelaade w\u00e4\u00e4de.

    \u00d6m hee di Nohreesch lo\u00df ze krijje, donn en ander Jrund-Nivvoh u\u00dfs\u00f6hkre, r\u00e4h\u00df bovve en de \u00c4k.

    Wascheinlesch es dat, wiel dat Skrepp ${layerLib} nit reschtesch enjebonge wood.

    F\u00f6r Projrammierer jidd_Et H\u00f6lp do_dr\u00f6vver, wi mer dat aan et Loufe brengk.', -"Scale = 1 : ${scaleDenom}":"Moh\u00dfshtaab = 1 : ${scaleDenom}",W:"W",E:"O",N:"N",S:"S",reprojectDeprecated:"Do bruchs de U\u00dfwahl reproject op d\u00e4m Nivvoh ${layerName}. Di U\u00dfwahl es nit mieh j\u00e4hn jesinn. Se wohr dof\u00f6r jedaach, \u00f6m Date op jesch\u00e4\u00e4fsm\u00e4\u00dfesch eru\u00df jejovve Kaate bovve drop ze moole, wat \u00e4vver enzwesche besser met d\u00e4 \u00d6ngersht\u00f6zung f\u00f6r de \u00dff\u00e4\u00e4resche M\u00e4kaator Beldscher jeiht. Doh kanns De mieh dr\u00f6vver fenge op d\u00e4 Sigg: http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"Hee di Metood es nim_mih akto\u00e4ll un et weed se en d\u00e4 Version 3.0 nit mieh j\u00e4vve. Nemm ${newMethod} dof\u00f6\u00f6r."}); -OpenLayers.Lang.it={unhandledRequest:"Codice di ritorno della richiesta ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Livello base",noFID:"Impossibile aggiornare un elemento grafico che non abbia il FID.",browserNotSupported:"Il tuo browser non supporta il rendering vettoriale. I renderizzatore attualemnte supportati sono:\n${renderers}",minZoomLevelError:"La propriet\u00e0 minZoomLevel \u00e8 da utilizzare solamente con livelli che abbiano FixedZoomLevels. Il fatto che questo livello wfs controlli la propriet\u00e0 minZoomLevel \u00e8 un retaggio del passato. Non possiamo comunque rimuoverla senza rompere le vecchie applicazioni che dipendono su di essa.Quindi siamo costretti a deprecarla -- minZoomLevel e sar\u00e0 rimossa dalla vesione 3.0. Si prega di utilizzare i settaggi di risoluzione min/max come descritto qui: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Transazione WFS: SUCCESS ${response}",commitFailed:"Transazione WFS: FAILED ${response}",googleWarning:"Il livello Google non \u00e8 riuscito a caricare correttamente.

    Per evitare questo messaggio, seleziona un nuovo BaseLayer nel selettore di livelli nell'angolo in alto a destra.

    Pi\u00f9 precisamente, ci\u00f2 accade perch\u00e8 la libreria Google Maps non \u00e8 stata inclusa nella pagina, oppure non contiene la corretta API key per il tuo sito.

    Sviluppatori: Per aiuto su come farlo funzionare correttamente, clicca qui", -getLayerWarning:"Il livello ${layerType} non \u00e8 riuscito a caricare correttamente.

    Per evitare questo messaggio, seleziona un nuovo BaseLayer nel selettore di livelli nell'angolo in alto a destra.

    Pi\u00f9 precisamente, ci\u00f2 accade perch\u00e8 la libreria ${layerLib} non \u00e8 stata inclusa nella pagina.

    Sviluppatori: Per aiuto su come farlo funzionare correttamente, clicca qui","Scale = 1 : ${scaleDenom}":"Scala = 1 : ${scaleDenom}", -reprojectDeprecated:"Stai utilizzando l'opzione 'reproject' sul livello ${layerName}. Questa opzione \u00e8 deprecata: il suo utilizzo \u00e8 stato introdotto persupportare il disegno dei dati sopra mappe commerciali, ma tale funzionalit\u00e0 dovrebbe essere ottenuta tramite l'utilizzo della proiezione Spherical Mercator. Per maggiori informazioni consultare qui http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Questo metodo \u00e8 stato deprecato e sar\u00e0 rimosso dalla versione 3.0. Si prega di utilizzare il metodo ${newMethod} in alternativa.", -end:""}; -OpenLayers.Format.WPSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ows:"http://www.opengis.net/ows/1.1",wps:"http://www.opengis.net/wps/1.0.0",xlink:"http://www.w3.org/1999/xlink"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));if(a&&a.nodeType==9)a=a.documentElement; -var b={};this.readNode(a,b);return b},readers:{wps:{Capabilities:function(a,b){this.readChildNodes(a,b)},ProcessOfferings:function(a,b){b.processOfferings={};this.readChildNodes(a,b.processOfferings)},Process:function(a,b){var c={processVersion:this.getAttributeNS(a,this.namespaces.wps,"processVersion")};this.readChildNodes(a,c);b[c.identifier]=c},Languages:function(a,b){b.languages=[];this.readChildNodes(a,b.languages)},Default:function(a,b){var c={isDefault:true};this.readChildNodes(a,c);b.push(c)}, -Supported:function(a,b){var c={};this.readChildNodes(a,c);b.push(c)}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WPSCapabilities.v1_0_0"}); -OpenLayers.Control.PinchZoom=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,containerCenter:null,pinchOrigin:null,currentCenter:null,autoActivate:true,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Pinch(this,{start:this.pinchStart,move:this.pinchMove,done:this.pinchDone},this.handlerOptions)},activate:function(){var a=OpenLayers.Control.prototype.activate.apply(this,arguments);a&&(this.map.events.on({moveend:this.updateContainerCenter, -scope:this}),this.updateContainerCenter());return a},deactivate:function(){var a=OpenLayers.Control.prototype.deactivate.apply(this,arguments);this.map&&this.map.events&&this.map.events.un({moveend:this.updateContainerCenter,scope:this});return a},updateContainerCenter:function(){var a=this.map.layerContainerDiv;this.containerCenter={x:parseInt(a.style.left,10)+50,y:parseInt(a.style.top,10)+50}},pinchStart:function(a){this.currentCenter=this.pinchOrigin=a.xy},pinchMove:function(a,b){var c=b.scale, -d=this.containerCenter,e=this.pinchOrigin,f=a.xy,g=Math.round(f.x-e.x+(c-1)*(d.x-e.x)),d=Math.round(f.y-e.y+(c-1)*(d.y-e.y));this.applyTransform("translate("+g+"px, "+d+"px) scale("+c+")");this.currentCenter=f},applyTransform:function(a){var b=this.map.layerContainerDiv.style;b["-webkit-transform"]=a;b["-moz-transform"]=a},pinchDone:function(a,b,c){this.applyTransform("");a=this.map.getZoomForResolution(this.map.getResolution()/c.scale,true);if(a!==this.map.getZoom()||!this.currentCenter.equals(this.pinchOrigin)){var b= -this.map.getResolutionForZoom(a),c=this.map.getLonLatFromPixel(this.pinchOrigin),d=this.currentCenter,e=this.map.getSize();c.lon+=b*(e.w/2-d.x);c.lat-=b*(e.h/2-d.y);this.map.setCenter(c,a)}},CLASS_NAME:"OpenLayers.Control.PinchZoom"}); -OpenLayers.Control.TouchNavigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,pinchZoom:null,pinchZoomOptions:null,clickHandlerOptions:null,documentDrag:false,autoActivate:true,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();this.dragPan&&this.dragPan.destroy();this.dragPan=null;this.pinchZoom&&(this.pinchZoom.destroy(),delete this.pinchZoom);OpenLayers.Control.prototype.destroy.apply(this, -arguments)},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.dragPan.activate(),this.handlers.click.activate(),this.pinchZoom.activate(),true):false},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this,arguments)?(this.dragPan.deactivate(),this.handlers.click.deactivate(),this.pinchZoom.deactivate(),true):false},draw:function(){var a={click:this.defaultClick,dblclick:this.defaultDblClick},b=OpenLayers.Util.extend({"double":true, -stopDouble:true,pixelTolerance:2},this.clickHandlerOptions);this.handlers.click=new OpenLayers.Handler.Click(this,a,b);this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,documentDrag:this.documentDrag},this.dragPanOptions));this.dragPan.draw();this.pinchZoom=new OpenLayers.Control.PinchZoom(OpenLayers.Util.extend({map:this.map},this.pinchZoomOptions))},defaultClick:function(a){a.lastTouches&&a.lastTouches.length==2&&this.map.zoomOut()},defaultDblClick:function(a){this.map.setCenter(this.map.getLonLatFromViewPortPx(a.xy), -this.map.zoom+1)},CLASS_NAME:"OpenLayers.Control.TouchNavigation"}); -OpenLayers.Style2=OpenLayers.Class({id:null,name:null,title:null,description:null,layerName:null,isDefault:false,rules:null,initialize:function(a){OpenLayers.Util.extend(this,a);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a=0,b=this.rules.length;a
    \u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u6d88\u3059\u306b\u306f\u3001\u53f3\u4e0a\u306e\u9685\u306b\u3042\u308b\u30ec\u30a4\u30e4\u30fc\u5207\u308a\u66ff\u3048\u90e8\u5206\u3067\u65b0\u3057\u3044\u57fa\u5e95\u30ec\u30a4\u30e4\u30fc\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044\u3002

    \u304a\u305d\u3089\u304f\u3001\u3053\u308c\u306f Google \u30de\u30c3\u30d7\u7528\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u7d44\u307f\u8fbc\u307e\u308c\u3066\u3044\u306a\u3044\u304b\u3001\u3042\u306a\u305f\u306e\u30b5\u30a4\u30c8\u306b\u5bfe\u5fdc\u3059\u308b\u6b63\u3057\u3044 API \u30ad\u30fc\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u305f\u3081\u3067\u3059\u3002

    \u958b\u767a\u8005\u306e\u65b9\u3078: \u6b63\u3057\u3044\u52d5\u4f5c\u3092\u3055\u305b\u308b\u305f\u3081\u306b\u3053\u3061\u3089\u306e\u30a6\u30a3\u30ad\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002", -getLayerWarning:"${layerType} \u30ec\u30a4\u30e4\u30fc\u304c\u6b63\u3057\u304f\u8aad\u307f\u8fbc\u307f\u3092\u884c\u3048\u307e\u305b\u3093\u3067\u3057\u305f\u3002

    \u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u6d88\u3059\u306b\u306f\u3001\u53f3\u4e0a\u306e\u9685\u306b\u3042\u308b\u30ec\u30a4\u30e4\u30fc\u5207\u308a\u66ff\u3048\u90e8\u5206\u3067\u65b0\u3057\u3044\u57fa\u5e95\u30ec\u30a4\u30e4\u30fc\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044\u3002

    \u304a\u305d\u3089\u304f\u3001\u3053\u308c\u306f ${layerLib} \u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u6b63\u3057\u304f\u7d44\u307f\u8fbc\u307e\u308c\u3066\u3044\u306a\u3044\u305f\u3081\u3067\u3059\u3002

    \u958b\u767a\u8005\u306e\u65b9\u3078: \u6b63\u3057\u3044\u52d5\u4f5c\u3092\u3055\u305b\u308b\u305f\u3081\u306b\u3053\u3061\u3089\u306e\u30a6\u30a3\u30ad\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002", -"Scale = 1 : ${scaleDenom}":"\u7e2e\u5c3a = 1 : ${scaleDenom}",W:"\u897f",E:"\u6771",N:"\u5317",S:"\u5357",reprojectDeprecated:"\u3042\u306a\u305f\u306f\u300c${layerName}\u300d\u30ec\u30a4\u30e4\u30fc\u3067 reproject \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u5546\u7528\u306e\u57fa\u5e95\u5730\u56f3\u4e0a\u306b\u60c5\u5831\u3092\u8868\u793a\u3059\u308b\u76ee\u7684\u3067\u8a2d\u8a08\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u73fe\u5728\u3067\u306f\u305d\u306e\u6a5f\u80fd\u306f Spherical Mercator \u30b5\u30dd\u30fc\u30c8\u3092\u5229\u7528\u3057\u3066\u5b9f\u73fe\u3055\u308c\u3066\u304a\u308a\u3001\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u306f\u975e\u63a8\u5968\u3067\u3059\u3002\u8ffd\u52a0\u306e\u60c5\u5831\u306f http://trac.openlayers.org/wiki/SphericalMercator \u3067\u5165\u624b\u3067\u304d\u307e\u3059\u3002", -methodDeprecated:"\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u5ec3\u6b62\u304c\u4e88\u5b9a\u3055\u308c\u3066\u304a\u308a\u3001\u30d0\u30fc\u30b8\u30e7\u30f33.0\u3067\u9664\u53bb\u3055\u308c\u307e\u3059\u3002\u4ee3\u308f\u308a\u306b ${newMethod} \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"}); -OpenLayers.Layer.Yahoo=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:0,MAX_ZOOM_LEVEL:17,RESOLUTIONS:[1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,6.866455078125E-4,3.4332275390625E-4,1.71661376953125E-4,8.58306884765625E-5,4.291534423828125E-5,2.145767211914062E-5,1.072883605957031E-5],type:null,wrapDateLine:true,sphericalMercator:false,initialize:function(a, -b){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);this.sphericalMercator&&(OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator),this.initMercatorParameters())},loadMapObject:function(){try{var a=this.getMapObjectSizeFromOLSize(this.map.getSize());this.mapObject=new YMap(this.div,this.type,a);this.mapObject.disableKeyControls();this.mapObject.disableDragMap();if(!this.mapObject.moveByXY||typeof this.mapObject.moveByXY!= -"function")this.dragPanMapObject=null}catch(b){}},onMapResize:function(){try{this.mapObject.resizeTo(this.getMapObjectSizeFromOLSize(this.map.getSize()))}catch(a){}},setMap:function(a){OpenLayers.Layer.EventPane.prototype.setMap.apply(this,arguments);this.map.events.register("moveend",this,this.fixYahooEventPane)},fixYahooEventPane:function(){var a=OpenLayers.Util.getElement("ygddfdiv");a!=null&&(a.parentNode!=null&&a.parentNode.removeChild(a),this.map.events.unregister("moveend",this,this.fixYahooEventPane))}, -getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{layerType:"Yahoo",layerLib:"Yahoo"})},getOLZoomFromMapObjectZoom:function(a){var b=null;a!=null&&(b=OpenLayers.Layer.FixedZoomLevels.prototype.getOLZoomFromMapObjectZoom.apply(this,[a]),b=18-b);return b},getMapObjectZoomFromOLZoom:function(a){var b=null;a!=null&&(b=OpenLayers.Layer.FixedZoomLevels.prototype.getMapObjectZoomFromOLZoom.apply(this,[a]),b=18-b);return b},setMapObjectCenter:function(a,b){this.mapObject.drawZoomAndCenter(a, -b)},getMapObjectCenter:function(){return this.mapObject.getCenterLatLon()},dragPanMapObject:function(a,b){this.mapObject.moveByXY({x:-a,y:b})},getMapObjectZoom:function(){return this.mapObject.getZoomLevel()},getMapObjectLonLatFromMapObjectPixel:function(a){return this.mapObject.convertXYLatLon(a)},getMapObjectPixelFromMapObjectLonLat:function(a){return this.mapObject.convertLatLonXY(a)},getLongitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.Lon,a.Lat).lon: -a.Lon},getLatitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.Lon,a.Lat).lat:a.Lat},getMapObjectLonLatFromLonLat:function(a,b){var c;this.sphericalMercator?(c=this.inverseMercator(a,b),c=new YGeoPoint(c.lat,c.lon)):c=new YGeoPoint(b,a);return c},getXFromMapObjectPixel:function(a){return a.x},getYFromMapObjectPixel:function(a){return a.y},getMapObjectPixelFromXY:function(a,b){return new YCoordPoint(a,b)},getMapObjectSizeFromOLSize:function(a){return new YSize(a.w, -a.h)},CLASS_NAME:"OpenLayers.Layer.Yahoo"}); -OpenLayers.Lang.nds=OpenLayers.Util.applyDefaults({unhandledRequest:"Unbehannelt Tr\u00fcchmellels f\u00f6r de Anfraag ${statusText}",Permalink:"Permalink",Overlays:"Overlays","Base Layer":"Achtergrundkoort",noFID:"En Feature, dat keen FID hett, kann nich aktuell maakt warrn.",browserNotSupported:"Dien Browser \u00fcnnerst\u00fctt keen Vektorbiller. \u00dcnnerst\u00fctt Renderers:\n${renderers}",commitSuccess:"WFS-Transakschoon: hett klappt ${response}",commitFailed:"WFS-Transakschoon: hett nich klappt ${response}", -"Scale = 1 : ${scaleDenom}":"Skaal = 1 : ${scaleDenom}",methodDeprecated:"Disse Methood is oold un schall dat in 3.0 nich mehr geven. Bruuk dor man beter ${newMethod} f\u00f6r."}); -OpenLayers.Layer.Zoomify=OpenLayers.Class(OpenLayers.Layer.Grid,{url:null,size:null,isBaseLayer:true,standardTileSize:256,tileOriginCorner:"tl",numberOfTiers:0,tileCountUpToTier:[],tierSizeInTiles:[],tierImageSize:[],initialize:function(a,b,c,d){this.initializeZoomify(c);var e=[];e.push(a,b,c,{},d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,e)},initializeZoomify:function(a){var a=a.clone(),b=new OpenLayers.Size(Math.ceil(a.w/this.standardTileSize),Math.ceil(a.h/this.standardTileSize)); -this.tierSizeInTiles.push(b);for(this.tierImageSize.push(a);a.w>this.standardTileSize||a.h>this.standardTileSize;)a=new OpenLayers.Size(Math.floor(a.w/2),Math.floor(a.h/2)),b=new OpenLayers.Size(Math.ceil(a.w/this.standardTileSize),Math.ceil(a.h/this.standardTileSize)),this.tierSizeInTiles.push(b),this.tierImageSize.push(a);this.tierSizeInTiles.reverse();this.tierImageSize.reverse();this.numberOfTiers=this.tierSizeInTiles.length;this.tileCountUpToTier[0]=0;for(a=1;a0){var a=this.adjustBounds(arguments[0]),b=this.map.getResolution(),c=Math.round((a.left-this.tileOrigin.lon)/(b*this.tileSize.w)),a=Math.round((this.tileOrigin.lat- -a.top)/(b*this.tileSize.h)),b=this.map.getZoom(),d=this.standardTileSize,e=this.standardTileSize;c==this.tierSizeInTiles[b].w-1&&(d=this.tierImageSize[b].w%this.standardTileSize);a==this.tierSizeInTiles[b].h-1&&(e=this.tierImageSize[b].h%this.standardTileSize);return new OpenLayers.Size(d,e)}else return this.tileSize},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);this.tileOrigin=new OpenLayers.LonLat(this.map.maxExtent.left,this.map.maxExtent.top)},calculateGridLayout:function(a, -b,c){var d=c*this.tileSize.w;c*=this.tileSize.h;var e=a.left-b.lon,f=Math.floor(e/d)-this.buffer,a=b.lat-a.top+c,g=Math.floor(a/c)-this.buffer;return{tilelon:d,tilelat:c,tileoffsetlon:b.lon+f*d,tileoffsetlat:b.lat-c*g,tileoffsetx:-(e/d-f)*this.tileSize.w,tileoffsety:(g-a/c)*this.tileSize.h}},CLASS_NAME:"OpenLayers.Layer.Zoomify"}); -OpenLayers.Layer.MapServer=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{mode:"map",map_imagetype:"png"},initialize:function(a,b,c,d){var e=[];e.push(a,b,c,d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,e);this.params=OpenLayers.Util.applyDefaults(this.params,this.DEFAULT_PARAMS);if(d==null||d.isBaseLayer==null)this.isBaseLayer=this.params.transparent!="true"&&this.params.transparent!=true},clone:function(a){a==null&&(a=new OpenLayers.Layer.MapServer(this.name,this.url,this.params, -this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var a=this.adjustBounds(a),a=[a.left,a.bottom,a.right,a.top],b=this.getImageSize();return this.getFullRequestString({mapext:a,imgext:a,map_size:[b.w,b.h],imgx:b.w/2,imgy:b.h/2,imgxy:[b.w,b.h]})},getFullRequestString:function(a,b){var c=b==null?this.url:b,d=OpenLayers.Util.extend({},this.params),d=OpenLayers.Util.extend(d,a),e=OpenLayers.Util.getParameterString(d);OpenLayers.Util.isArray(c)&&(c=this.selectUrl(e, -c));var e=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(c)),f;for(f in d)f.toUpperCase()in e&&delete d[f];e=OpenLayers.Util.getParameterString(d);d=c;e=e.replace(/,/g,"+");e!=""&&(f=c.charAt(c.length-1),d+=f=="&"||f=="?"?e:c.indexOf("?")==-1?"?"+e:"&"+e);return d},CLASS_NAME:"OpenLayers.Layer.MapServer"}); -OpenLayers.Renderer.VML=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"urn:schemas-microsoft-com:vml",symbolCache:{},offset:null,initialize:function(a){if(this.supported()){if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns);for(var b=document.createStyleSheet(),c="shape,rect,oval,fill,stroke,imagedata,group,textbox".split(","),d=0,e=c.length;d=2*a[1]?"longdash":a[0]==1||a[1]==1?"dot":"dash";else if(a.length==4)return 1*a[0]>=2*a[1]?"longdashdot":"dashdot";return"solid"}},createNode:function(a,b){var c=document.createElement(a);if(b)c.id=b;c.unselectable="on";c.onselectstart=OpenLayers.Function.False; -return c},nodeTypeCompare:function(a,b){var c=b,d=c.indexOf(":");d!=-1&&(c=c.substr(d+1));var e=a.nodeName,d=e.indexOf(":");d!=-1&&(e=e.substr(d+1));return c==e},createRenderRoot:function(){return this.nodeFactory(this.container.id+"_vmlRoot","div")},createRoot:function(a){return this.nodeFactory(this.container.id+a,"olv:group")},drawPoint:function(a,b){return this.drawCircle(a,b,1)},drawCircle:function(a,b,c){if(!isNaN(b.x)&&!isNaN(b.y)){var d=this.getResolution();a.style.left=((b.x-this.featureDx)/ -d-this.offset.x|0)-c+"px";a.style.top=(b.y/d-this.offset.y|0)-c+"px";b=c*2;a.style.width=b+"px";a.style.height=b+"px";return a}return false},drawLineString:function(a,b){return this.drawLine(a,b,false)},drawLinearRing:function(a,b){return this.drawLine(a,b,true)},drawLine:function(a,b,c){this.setNodeDimension(a,b);for(var d=this.getResolution(),e=b.components.length,f=Array(e),g,h,i=0;i0?(a.bottom-=d,a.top+=d):(a.left+=d,a.right-=d);c={path:c,size:a.getWidth(),left:a.left,bottom:a.bottom};return this.symbolCache[b]= -c},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={l:0,c:0.5,r:1,t:0,m:0.5,b:1}; -OpenLayers.Lang.vi=OpenLayers.Util.applyDefaults({unhandledRequest:"Kh\u00f4ng x\u1eed l\u00fd \u0111\u01b0\u1ee3c ph\u1ea3n h\u1ed3i ${statusText} cho y\u00eau c\u1ea7u",Permalink:"Li\u00ean k\u1ebft th\u01b0\u1eddng tr\u1ef1c",Overlays:"L\u1ea5p b\u1ea3n \u0111\u1ed3","Base Layer":"L\u1edbp n\u1ec1n",noFID:"Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt t\u00ednh n\u0103ng thi\u1ebfu FID.",browserNotSupported:"Tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n kh\u00f4ng h\u1ed7 tr\u1ee3 ch\u1ee9c n\u0103ng v\u1ebd b\u1eb1ng vect\u01a1. Hi\u1ec7n h\u1ed7 tr\u1ee3 c\u00e1c b\u1ed9 k\u1ebft xu\u1ea5t:\n${renderers}",minZoomLevelError:"Ch\u1ec9 n\u00ean s\u1eed d\u1ee5ng thu\u1ed9c t\u00ednh minZoomLevel v\u1edbi c\u00e1c l\u1edbp FixedZoomLevels-descendent. Vi\u1ec7c l\u1edbp wfs n\u00e0y t\u00ecm cho minZoomLevel l\u00e0 di t\u00edch c\u00f2n l\u1ea1i t\u1eeb x\u01b0a. Tuy nhi\u00ean, n\u1ebfu ch\u00fang t\u00f4i d\u1eddi n\u00f3 th\u00ec s\u1ebd v\u1ee1 c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh OpenLayers m\u00e0 d\u1ef1a tr\u00ean n\u00f3. B\u1edfi v\u1eady ch\u00fang t\u00f4i ph\u1ea3n \u0111\u1ed1i s\u1eed d\u1ee5ng n\u00f3 \u2013 b\u01b0\u1edbc t\u00ecm cho minZoomLevel s\u1ebd \u0111\u01b0\u1ee3c d\u1eddi v\u00e0o phi\u00ean b\u1ea3n 3.0. Xin s\u1eed d\u1ee5ng thi\u1ebft l\u1eadp \u0111\u1ed9 ph\u00e2n t\u00edch t\u1ed1i thi\u1ec3u / t\u1ed1i \u0111a thay th\u1ebf, theo h\u01b0\u1edbng d\u1eabn n\u00e0y: http://trac.openlayers.org/wiki/SettingZoomLevels", -commitSuccess:"Giao d\u1ecbch WFS: TH\u00c0NH C\u00d4NG ${response}",commitFailed:"Giao d\u1ecbch WFS: TH\u1ea4T B\u1ea0I ${response}",googleWarning:"Kh\u00f4ng th\u1ec3 t\u1ea3i l\u1edbp Google \u0111\u00fang \u0111\u1eafn.

    \u0110\u1ec3 tr\u00e1nh th\u00f4ng b\u00e1o n\u00e0y l\u1ea7n sau, h\u00e3y ch\u1ecdn BaseLayer m\u1edbi d\u00f9ng \u0111i\u1ec1u khi\u1ec3n ch\u1ecdn l\u1edbp \u1edf g\u00f3c tr\u00ean ph\u1ea3i.

    Ch\u1eafc script th\u01b0 vi\u1ec7n Google Maps ho\u1eb7c kh\u00f4ng \u0111\u01b0\u1ee3c bao g\u1ed3m ho\u1eb7c kh\u00f4ng ch\u1ee9a kh\u00f3a API h\u1ee3p v\u1edbi website c\u1ee7a b\u1ea1n.

    Tr\u1ee3 gi\u00fap v\u1ec1 t\u00ednh n\u0103ng n\u00e0y cho ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n.", -getLayerWarning:"Kh\u00f4ng th\u1ec3 t\u1ea3i l\u1edbp ${layerType} \u0111\u00fang \u0111\u1eafn.

    \u0110\u1ec3 tr\u00e1nh th\u00f4ng b\u00e1o n\u00e0y l\u1ea7n sau, h\u00e3y ch\u1ecdn BaseLayer m\u1edbi d\u00f9ng \u0111i\u1ec1u khi\u1ec3n ch\u1ecdn l\u1edbp \u1edf g\u00f3c tr\u00ean ph\u1ea3i.

    Ch\u1eafc script th\u01b0 vi\u1ec7n ${layerLib} kh\u00f4ng \u0111\u01b0\u1ee3c bao g\u1ed3m \u0111\u00fang ki\u1ec3u.

    Tr\u1ee3 gi\u00fap v\u1ec1 t\u00ednh n\u0103ng n\u00e0y cho ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n.", -"Scale = 1 : ${scaleDenom}":"T\u1ef7 l\u1ec7 = 1 : ${scaleDenom}",W:"T",E:"\u0110",N:"B",S:"N",reprojectDeprecated:"B\u1ea1n \u0111ang \u00e1p d\u1ee5ng ch\u1ebf \u0111\u1ed9 \u201creproject\u201d v\u00e0o l\u1edbp ${layerName}. Ch\u1ebf \u0111\u1ed9 n\u00e0y \u0111\u00e3 b\u1ecb ph\u1ea3n \u0111\u1ed1i: n\u00f3 c\u00f3 m\u1ee5c \u0111\u00edch h\u1ed7 tr\u1ee3 l\u1ea5p d\u1eef li\u1ec7u tr\u00ean c\u00e1c n\u1ec1n b\u1ea3n \u0111\u1ed3 th\u01b0\u01a1ng m\u1ea1i; n\u00ean th\u1ef1c hi\u1ec7n hi\u1ec7u \u1ee9ng \u0111\u00f3 d\u00f9ng t\u00ednh n\u0103ng Mercator H\u00ecnh c\u1ea7u. C\u00f3 s\u1eb5n th\u00eam chi ti\u1ebft t\u1ea1i http://trac.openlayers.org/wiki/SphericalMercator .", -methodDeprecated:"Ph\u01b0\u01a1ng th\u1ee9c n\u00e0y \u0111\u00e3 b\u1ecb ph\u1ea3n \u0111\u1ed1i v\u00e0 s\u1ebd b\u1ecb d\u1eddi v\u00e0o phi\u00ean b\u1ea3n 3.0. Xin h\u00e3y s\u1eed d\u1ee5ng ${newMethod} thay th\u1ebf."});OpenLayers.Lang.km=OpenLayers.Util.applyDefaults({Permalink:"\u178f\u17c6\u178e\u1797\u17d2\u1787\u17b6\u1794\u17cb\u17a2\u1785\u17b7\u1793\u17d2\u178f\u17d2\u179a\u17c3\u1799\u17cd","Base Layer":"\u179f\u17d2\u179a\u1791\u17b6\u1794\u17cb\u1794\u17b6\u178f\u200b","Scale = 1 : ${scaleDenom}":"\u1798\u17b6\u178f\u17d2\u179a\u178a\u17d2\u178b\u17b6\u1793 = \u17e1 \u17d6 ${scaleDenom}"}); -OpenLayers.Format.WFST.v1_0_0=OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0,OpenLayers.Format.WFST.v1,{version:"1.0.0",srsNameInQuery:false,schemaLocations:{wfs:"http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"},initialize:function(a){OpenLayers.Format.Filter.v1_0_0.prototype.initialize.apply(this,[a]);OpenLayers.Format.WFST.v1.prototype.initialize.apply(this,[a])},readNode:function(a,b){return OpenLayers.Format.GML.v2.prototype.readNode.apply(this,[a,b])},readers:{wfs:OpenLayers.Util.applyDefaults({WFS_TransactionResponse:function(a, -b){b.insertIds=[];b.success=false;this.readChildNodes(a,b)},InsertResult:function(a,b){var c={fids:[]};this.readChildNodes(a,c);b.insertIds.push(c.fids[0])},TransactionResult:function(a,b){this.readChildNodes(a,b)},Status:function(a,b){this.readChildNodes(a,b)},SUCCESS:function(a,b){b.success=true}},OpenLayers.Format.WFST.v1.prototype.readers.wfs),gml:OpenLayers.Format.GML.v2.prototype.readers.gml,feature:OpenLayers.Format.GML.v2.prototype.readers.feature,ogc:OpenLayers.Format.Filter.v1_0_0.prototype.readers.ogc}, -writers:{wfs:OpenLayers.Util.applyDefaults({Query:function(a){var a=OpenLayers.Util.extend({featureNS:this.featureNS,featurePrefix:this.featurePrefix,featureType:this.featureType,srsName:this.srsName,srsNameInQuery:this.srsNameInQuery},a),b=a.featurePrefix,c=this.createElementNSPlus("wfs:Query",{attributes:{typeName:(b?b+":":"")+a.featureType}});a.srsNameInQuery&&a.srsName&&c.setAttribute("srsName",a.srsName);a.featureNS&&c.setAttribute("xmlns:"+b,a.featureNS);if(a.propertyNames)for(var b=0,d=a.propertyNames.length;b< -d;b++)this.writeNode("ogc:PropertyName",{property:a.propertyNames[b]},c);a.filter&&(this.setFilterProperty(a.filter),this.writeNode("ogc:Filter",a.filter,c));return c}},OpenLayers.Format.WFST.v1.prototype.writers.wfs),gml:OpenLayers.Format.GML.v2.prototype.writers.gml,feature:OpenLayers.Format.GML.v2.prototype.writers.feature,ogc:OpenLayers.Format.Filter.v1_0_0.prototype.writers.ogc},CLASS_NAME:"OpenLayers.Format.WFST.v1_0_0"}); -OpenLayers.Protocol.WFS.v1_0_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"1.0.0",CLASS_NAME:"OpenLayers.Protocol.WFS.v1_0_0"}); -OpenLayers.Format.WMSGetFeatureInfo=OpenLayers.Class(OpenLayers.Format.XML,{layerIdentifier:"_layer",featureIdentifier:"_feature",regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},gmlFormat:null,read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=a.documentElement;if(b)var c=this["read_"+b.nodeName],a=c?c.call(this,b):(new OpenLayers.Format.GML(this.options?this.options:{})).read(a);return a},read_msGMLOutput:function(a){var b= -[];if(a=this.getSiblingNodesByTagCriteria(a,this.layerIdentifier))for(var c=0,d=a.length;c0)for(g=0;g0&&e.indexOf(b)>-1?c.push(g):(e=this.getSiblingNodesByTagCriteria(g,b),e.length>0&&(c.length==0?c=e:c.push(e)))}}return c},parseAttributes:function(a){var b={};if(a.nodeType==1)for(var a=a.childNodes,c=a.length,d=0;d=0;--d)if(c=a[d],c instanceof OpenLayers.Layer.WMTS&&c.requestEncoding===this.requestEncoding&&(!this.queryVisible||c.getVisibility()))if(b.push(c),!this.drillDown||this.hover)break;return b},buildRequestOptions:function(a,b){var c=this.map.getLonLatFromPixel(b),d= -a.getURL(new OpenLayers.Bounds(c.lon,c.lat,c.lon,c.lat)),d=OpenLayers.Util.getParameters(d),c=a.getTileInfo(c);OpenLayers.Util.extend(d,{service:"WMTS",version:a.version,request:"GetFeatureInfo",infoFormat:this.infoFormat,i:c.i,j:c.j});OpenLayers.Util.applyDefaults(d,this.vendorParams);return{url:OpenLayers.Util.isArray(a.url)?a.url[0]:a.url,params:OpenLayers.Util.upperCaseObject(d),callback:function(c){this.handleResponse(b,c,a)},scope:this}},request:function(a,b){var b=b||{},c=this.findLayers(); -if(c.length>0){for(var d,e,f=0,g=c.length;f0&&OpenLayers.Element.addClass(this.map.viewPortDiv,"olCursorWait")}},handleResponse:function(a,b,c){--this.pending;if(this.pending<=0)OpenLayers.Element.removeClass(this.map.viewPortDiv,"olCursorWait"),this.pending=0;if(b.status&&(b.status< -200||b.status>=300))this.events.triggerEvent("exception",{xy:a,request:b,layer:c});else{var d=b.responseXML;if(!d||!d.documentElement)d=b.responseText;var e,f;try{e=this.format.read(d)}catch(g){f=true,this.events.triggerEvent("exception",{xy:a,request:b,error:g,layer:c})}f||this.events.triggerEvent("getfeatureinfo",{text:b.responseText,features:e,request:b,xy:a,layer:c})}},CLASS_NAME:"OpenLayers.Control.WMTSGetFeatureInfo"}); -OpenLayers.Lang.bg=OpenLayers.Util.applyDefaults({Permalink:"\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430 \u043f\u0440\u0435\u043f\u0440\u0430\u0442\u043a\u0430","Base Layer":"\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0441\u043b\u043e\u0439","Scale = 1 : ${scaleDenom}":"\u041c\u0430\u0449\u0430\u0431 = 1 : ${scaleDenom}",methodDeprecated:"\u0422\u043e\u0437\u0438 \u043c\u0435\u0442\u043e\u0434 \u0435 \u043e\u0441\u0442\u0430\u0440\u044f\u043b \u0438 \u0449\u0435 \u0431\u044a\u0434\u0435 \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u0442 \u0432 3.0. \u0412\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 ${newMethod}."}); -OpenLayers.Format.WMSCapabilities.v1_1=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1,{readers:{wms:OpenLayers.Util.applyDefaults({WMT_MS_Capabilities:function(a,b){this.readChildNodes(a,b)},Keyword:function(a,b){b.keywords&&b.keywords.push(this.getChildValue(a))},DescribeLayer:function(a,b){b.describelayer={formats:[]};this.readChildNodes(a,b.describelayer)},GetLegendGraphic:function(a,b){b.getlegendgraphic={formats:[]};this.readChildNodes(a,b.getlegendgraphic)},GetStyles:function(a,b){b.getstyles= -{formats:[]};this.readChildNodes(a,b.getstyles)},PutStyles:function(a,b){b.putstyles={formats:[]};this.readChildNodes(a,b.putstyles)},UserDefinedSymbolization:function(a,b){var c={supportSLD:parseInt(a.getAttribute("SupportSLD"))==1,userLayer:parseInt(a.getAttribute("UserLayer"))==1,userStyle:parseInt(a.getAttribute("UserStyle"))==1,remoteWFS:parseInt(a.getAttribute("RemoteWFS"))==1};b.userSymbols=c},LatLonBoundingBox:function(a,b){b.llbbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")), -parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))]},BoundingBox:function(a,b){var c=OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this,[a,b]);c.srs=a.getAttribute("SRS");b.bbox[c.srs]=c},ScaleHint:function(a,b){var c=a.getAttribute("min"),d=a.getAttribute("max"),e=Math.pow(2,0.5),f=OpenLayers.INCHES_PER_UNIT.m;b.maxScale=parseFloat((c/e*f*OpenLayers.DOTS_PER_INCH).toPrecision(13));b.minScale=parseFloat((d/e*f*OpenLayers.DOTS_PER_INCH).toPrecision(13))}, -Dimension:function(a,b){var c={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),unitsymbol:a.getAttribute("unitSymbol")};b.dimensions[c.name]=c},Extent:function(a,b){var c=a.getAttribute("name").toLowerCase();if(c in b.dimensions){c=b.dimensions[c];c.nearestVal=a.getAttribute("nearestValue")==="1";c.multipleVal=a.getAttribute("multipleValues")==="1";c.current=a.getAttribute("current")==="1";c["default"]=a.getAttribute("default")||"";var d=this.getChildValue(a);c.values=d.split(",")}}}, -OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms)},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1"}); -OpenLayers.Control.Graticule=OpenLayers.Class(OpenLayers.Control,{autoActivate:true,intervals:[45,30,20,10,5,2,1,0.5,0.2,0.1,0.05,0.01,0.005,0.002,0.001],displayInLayerSwitcher:true,visible:true,numPoints:50,targetSize:200,layerName:null,labelled:true,labelFormat:"dm",lineSymbolizer:{strokeColor:"#333",strokeWidth:1,strokeOpacity:0.5},labelSymbolizer:{},gratLayer:null,initialize:function(a){a=a||{};a.layerName=a.layerName||OpenLayers.i18n("Graticule");OpenLayers.Control.prototype.initialize.apply(this, -[a]);this.labelSymbolizer.stroke=false;this.labelSymbolizer.fill=false;this.labelSymbolizer.label="${label}";this.labelSymbolizer.labelAlign="${labelAlign}";this.labelSymbolizer.labelXOffset="${xOffset}";this.labelSymbolizer.labelYOffset="${yOffset}"},destroy:function(){this.deactivate();OpenLayers.Control.prototype.destroy.apply(this,arguments);if(this.gratLayer)this.gratLayer.destroy(),this.gratLayer=null},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.gratLayer){var a= -new OpenLayers.Style({},{rules:[new OpenLayers.Rule({symbolizer:{Point:this.labelSymbolizer,Line:this.lineSymbolizer}})]});this.gratLayer=new OpenLayers.Layer.Vector(this.layerName,{styleMap:new OpenLayers.StyleMap({"default":a}),visibility:this.visible,displayInLayerSwitcher:this.displayInLayerSwitcher})}return this.div},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.map.addLayer(this.gratLayer),this.map.events.register("moveend",this,this.update),this.update(), -true):false},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this,arguments)?(this.map.events.unregister("moveend",this,this.update),this.map.removeLayer(this.gratLayer),true):false},update:function(){var a=this.map.getExtent();if(a){this.gratLayer.destroyFeatures();var b=new OpenLayers.Projection("EPSG:4326"),c=this.map.getProjectionObject(),d=this.map.getResolution();if(c.proj&&c.proj.projName=="longlat")this.numPoints=1;var e=this.map.getCenter(),f=new OpenLayers.Pixel(e.lon, -e.lat);OpenLayers.Projection.transform(f,c,b);e=this.targetSize*d;e*=e;for(var g,d=0;d=a.bottom&&!k&&(k=n)}this.labelled&&(k=new OpenLayers.Geometry.Point(k.x,a.bottom),j={value:j,label:this.labelled?OpenLayers.Util.getFormattedLonLat(j,"lon",this.labelFormat):"",labelAlign:"cb",xOffset:0,yOffset:2},this.gratLayer.addFeatures(new OpenLayers.Feature.Vector(k, -j)));f=new OpenLayers.Geometry.LineString(f);g.push(new OpenLayers.Feature.Vector(f))}for(h=0;h90)){f=[];d=i[0].x;m=(i[i.length-1].x-d)/this.numPoints;j=d;k=null;for(d=0;d<=this.numPoints;++d)n=new OpenLayers.Geometry.Point(j,l),n.transform(b,c),f.push(n),j+=m,n.x
    Per suprimir aqueste messatge, causiss\u00e8tz una BaseLayer nov\u00e8la dins lo selector de ja\u00e7 en naut a drecha.

    Aqu\u00f2 es possiblament causat par la non-inclusion de la librari\u00e1 Google Maps, o alara perque que la clau de l'API correspond pas a v\u00f2stre site.

    Desvolopaires : per saber coss\u00ed corregir aqu\u00f2, clicatz aic\u00ed", -getLayerWarning:"Lo ja\u00e7 ${layerType} es pas en mesura de se cargar corr\u00e8ctament.

    Per suprimir aqueste messatge, causiss\u00e8tz una BaseLayer nov\u00e8la dins lo selector de ja\u00e7 en naut a drecha.

    Aqu\u00f2 es possiblament causat per la non-inclusion de la librari\u00e1 ${layerLib}.

    Desvolopaires : per saber coss\u00ed corregir aqu\u00ed, clicatz aic\u00ed","Scale = 1 : ${scaleDenom}":"Escala ~ 1 : ${scaleDenom}", -W:"O",E:"\u00c8",N:"N",S:"S",reprojectDeprecated:"Utilizatz l'opcion 'reproject' sul ja\u00e7 ${layerName}. Aquesta opcion es despreciada : Son usatge permeti\u00e1 d'afichar de donadas al dess\u00fas de jaces raster comercials. Aquesta foncionalitat ara es suportada en utilizant lo sup\u00f2rt de la projeccion Mercator Esferica. Mai d'informacion es disponibla sus http://trac.openlayers.org/wiki/SphericalMercator.",methodDeprecated:"Aqueste met\u00f2de es despreciada, e ser\u00e0 suprimida a la version 3.0. Merc\u00e9s d'utilizar ${newMethod} a la pla\u00e7a."}); -OpenLayers.Layer.ArcGISCache=OpenLayers.Class(OpenLayers.Layer.XYZ,{url:null,tileOrigin:null,tileSize:new OpenLayers.Size(256,256),useArcGISServer:true,type:"png",useScales:false,overrideDPI:false,initialize:function(a,b,c){OpenLayers.Layer.XYZ.prototype.initialize.apply(this,arguments);if(this.resolutions)this.serverResolutions=this.resolutions,this.maxExtent=this.getMaxExtentForResolution(this.resolutions[0]);if(this.layerInfo){var d=this.layerInfo,e=new OpenLayers.Bounds(d.fullExtent.xmin,d.fullExtent.ymin, -d.fullExtent.xmax,d.fullExtent.ymax);this.projection="EPSG:"+d.spatialReference.wkid;this.sphericalMercator=d.spatialReference.wkid==102100;this.units=d.units=="esriFeet"?"ft":"m";if(d.tileInfo){this.tileSize=new OpenLayers.Size(d.tileInfo.width||d.tileInfo.cols,d.tileInfo.height||d.tileInfo.rows);this.tileOrigin=new OpenLayers.LonLat(d.tileInfo.origin.x,d.tileInfo.origin.y);var f=new OpenLayers.Geometry.Point(e.left,e.top),e=new OpenLayers.Geometry.Point(e.right,e.bottom);this.useScales?this.scales= -[]:this.resolutions=[];this.lods=[];for(var g in d.tileInfo.lods)if(d.tileInfo.lods.hasOwnProperty(g)){var h=d.tileInfo.lods[g];this.useScales?this.scales.push(h.scale):this.resolutions.push(h.resolution);var i=this.getContainingTileCoords(f,h.resolution);h.startTileCol=i.x;h.startTileRow=i.y;i=this.getContainingTileCoords(e,h.resolution);h.endTileCol=i.x;h.endTileRow=i.y;this.lods.push(h)}this.maxExtent=this.calculateMaxExtentWithLOD(this.lods[0]);this.serverResolutions=this.resolutions;if(this.overrideDPI&& -d.tileInfo.dpi)OpenLayers.DOTS_PER_INCH=d.tileInfo.dpi}}},getContainingTileCoords:function(a,b){return new OpenLayers.Pixel(Math.max(Math.floor((a.x-this.tileOrigin.lon)/(this.tileSize.w*b)),0),Math.max(Math.floor((this.tileOrigin.lat-a.y)/(this.tileSize.h*b)),0))},calculateMaxExtentWithLOD:function(a){var b=this.tileOrigin.lon+a.startTileCol*this.tileSize.w*a.resolution,c=this.tileOrigin.lat-a.startTileRow*this.tileSize.h*a.resolution;return new OpenLayers.Bounds(b,c-(a.endTileRow-a.startTileRow+ -1)*this.tileSize.h*a.resolution,b+(a.endTileCol-a.startTileCol+1)*this.tileSize.w*a.resolution,c)},calculateMaxExtentWithExtent:function(a,b){var c=new OpenLayers.Geometry.Point(a.left,a.top),d=new OpenLayers.Geometry.Point(a.right,a.bottom),c=this.getContainingTileCoords(c,b),d=this.getContainingTileCoords(d,b);return this.calculateMaxExtentWithLOD({resolution:b,startTileCol:c.x,startTileRow:c.y,endTileCol:d.x,endTileRow:d.y})},getUpperLeftTileCoord:function(a){return this.getContainingTileCoords(new OpenLayers.Geometry.Point(this.maxExtent.left, -this.maxExtent.top),a)},getLowerRightTileCoord:function(a){return this.getContainingTileCoords(new OpenLayers.Geometry.Point(this.maxExtent.right,this.maxExtent.bottom),a)},getMaxExtentForResolution:function(a){var b=this.getUpperLeftTileCoord(a),c=this.getLowerRightTileCoord(a),d=this.tileOrigin.lon+b.x*this.tileSize.w*a,e=this.tileOrigin.lat-b.y*this.tileSize.h*a;return new OpenLayers.Bounds(d,e-(c.y-b.y+1)*this.tileSize.h*a,d+(c.x-b.x+1)*this.tileSize.w*a,e)},clone:function(a){a==null&&(a=new OpenLayers.Layer.ArcGISCache(this.name, -this.url,this.options));return OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},getMaxExtent:function(){return this.maxExtent=this.getMaxExtentForResolution(this.map.getResolution())},getTileOrigin:function(){var a=this.getMaxExtent();return new OpenLayers.LonLat(a.left,a.bottom)},getURL:function(a){var b=this.getResolution(),c=this.tileOrigin.lon+b*this.tileSize.w/2,d=this.tileOrigin.lat-b*this.tileSize.h/2,a=a.getCenterLonLat(),c=Math.round(Math.abs((a.lon-c)/(b*this.tileSize.w))),d=Math.round(Math.abs((d- -a.lat)/(b*this.tileSize.h))),a=this.map.getZoom();if(this.lods){if(b=this.lods[this.map.getZoom()],cb.endTileCol||db.endTileRow)return null}else{var e=this.getUpperLeftTileCoord(b),b=this.getLowerRightTileCoord(b);if(c=b.x||d=b.y)return null}b=this.url;e=""+c+d+a;OpenLayers.Util.isArray(b)&&(b=this.selectUrl(e,b));this.useArcGISServer?b+="/tile/${z}/${y}/${x}":(c="C"+this.zeroPad(c,8,16),d="R"+this.zeroPad(d,8,16),a="L"+this.zeroPad(a,2,16),b= -b+"/${z}/${y}/${x}."+this.type);return b=OpenLayers.String.format(b,{x:c,y:d,z:a})},zeroPad:function(a,b,c){for(a=a.toString(c||10);a.length
    \u041a\u0430\u0431 \u043f\u0430\u0437\u0431\u0430\u0432\u0456\u0446\u0446\u0430 \u0433\u044d\u0442\u0430\u0433\u0430 \u043f\u0430\u0432\u0435\u0434\u0430\u043c\u043b\u0435\u043d\u044c\u043d\u044f, \u0432\u044b\u0431\u0435\u0440\u044b\u0446\u0435 \u043d\u043e\u0432\u044b \u0431\u0430\u0437\u0430\u0432\u044b \u0441\u043b\u043e\u0439 \u0443 \u0441\u044c\u043f\u0456\u0441\u0435 \u045e \u0432\u0435\u0440\u0445\u043d\u0456\u043c \u043f\u0440\u0430\u0432\u044b\u043c \u043a\u0443\u0446\u0435.

    \u0425\u0443\u0442\u0447\u044d\u0439 \u0437\u0430 \u045e\u0441\u0451, \u043f\u0440\u044b\u0447\u044b\u043d\u0430 \u045e \u0442\u044b\u043c, \u0448\u0442\u043e \u0441\u043a\u0440\u044b\u043f\u0442 \u0431\u0456\u0431\u043b\u0456\u044f\u0442\u044d\u043a\u0456 Google Maps \u043d\u044f \u0431\u044b\u045e \u0443\u043a\u043b\u044e\u0447\u0430\u043d\u044b\u044f \u0430\u043b\u044c\u0431\u043e \u043d\u0435 \u045e\u0442\u0440\u044b\u043c\u043b\u0456\u0432\u0430\u0435 \u0441\u043b\u0443\u0448\u043d\u044b API-\u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0412\u0430\u0448\u0430\u0433\u0430 \u0441\u0430\u0439\u0442\u0430.

    \u0420\u0430\u0441\u043f\u0440\u0430\u0446\u043e\u045e\u0448\u0447\u044b\u043a\u0430\u043c: \u0414\u043b\u044f \u0442\u0430\u0433\u043e, \u043a\u0430\u0431 \u0434\u0430\u0432\u0435\u0434\u0430\u0446\u0446\u0430 \u044f\u043a \u0437\u0440\u0430\u0431\u0456\u0446\u044c \u0442\u0430\u043a, \u043a\u0430\u0431 \u0443\u0441\u0451 \u043f\u0440\u0430\u0446\u0430\u0432\u0430\u043b\u0430, \u043d\u0430\u0446\u0456\u0441\u044c\u043d\u0456\u0446\u0435 \u0442\u0443\u0442", -getLayerWarning:"\u041d\u0435\u043c\u0430\u0433\u0447\u044b\u043c\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0456\u0446\u044c \u0441\u043b\u043e\u0439 ${layerType}.

    \u041a\u0430\u0431 \u043f\u0430\u0437\u0431\u0430\u0432\u0456\u0446\u0446\u0430 \u0433\u044d\u0442\u0430\u0433\u0430 \u043f\u0430\u0432\u0435\u0434\u0430\u043c\u043b\u0435\u043d\u044c\u043d\u044f, \u0432\u044b\u0431\u0435\u0440\u044b\u0446\u0435 \u043d\u043e\u0432\u044b \u0431\u0430\u0437\u0430\u0432\u044b \u0441\u043b\u043e\u0439 \u0443 \u0441\u044c\u043f\u0456\u0441\u0435 \u045e \u0432\u0435\u0440\u0445\u043d\u0456\u043c \u043f\u0440\u0430\u0432\u044b\u043c \u043a\u0443\u0446\u0435.

    \u0425\u0443\u0442\u0447\u044d\u0439 \u0437\u0430 \u045e\u0441\u0451, \u043f\u0440\u044b\u0447\u044b\u043d\u0430 \u045e \u0442\u044b\u043c, \u0448\u0442\u043e \u0441\u043a\u0440\u044b\u043f\u0442 \u0431\u0456\u0431\u043b\u0456\u044f\u0442\u044d\u043a\u0456 ${layerLib} \u043d\u044f \u0431\u044b\u045e \u0441\u043b\u0443\u0448\u043d\u0430 \u045e\u043a\u043b\u044e\u0447\u0430\u043d\u044b.

    \u0420\u0430\u0441\u043f\u0440\u0430\u0446\u043e\u045e\u0448\u0447\u044b\u043a\u0430\u043c: \u0414\u043b\u044f \u0442\u0430\u0433\u043e, \u043a\u0430\u0431 \u0434\u0430\u0432\u0435\u0434\u0430\u0446\u0446\u0430 \u044f\u043a \u0437\u0440\u0430\u0431\u0456\u0446\u044c \u0442\u0430\u043a, \u043a\u0430\u0431 \u0443\u0441\u0451 \u043f\u0440\u0430\u0446\u0430\u0432\u0430\u043b\u0430, \u043d\u0430\u0446\u0456\u0441\u044c\u043d\u0456\u0446\u0435 \u0442\u0443\u0442", -"Scale = 1 : ${scaleDenom}":"\u041c\u0430\u0448\u0442\u0430\u0431 = 1 : ${scaleDenom}",W:"\u0417",E:"\u0423",N:"\u041f\u043d",S:"\u041f\u0434",reprojectDeprecated:"\u0412\u044b \u0432\u044b\u043a\u0430\u0440\u044b\u0441\u0442\u043e\u045e\u0432\u0430\u0435\u0446\u0435 \u045e\u0441\u0442\u0430\u043d\u043e\u045e\u043a\u0443 'reproject' \u0434\u043b\u044f \u0441\u043b\u043e\u044f ${layerName}. \u0413\u044d\u0442\u0430\u044f \u045e\u0441\u0442\u0430\u043d\u043e\u045e\u043a\u0430 \u0437\u044c\u044f\u045e\u043b\u044f\u0435\u0446\u0446\u0430 \u0441\u0430\u0441\u0442\u0430\u0440\u044d\u043b\u0430\u0439: \u044f\u043d\u0430 \u0432\u044b\u043a\u0430\u0440\u044b\u0441\u0442\u043e\u045e\u0432\u0430\u043b\u0430\u0441\u044f \u0434\u043b\u044f \u043f\u0430\u0434\u0442\u0440\u044b\u043c\u043a\u0456 \u043f\u0430\u043a\u0430\u0437\u0443 \u0437\u044c\u0432\u0435\u0441\u0442\u0430\u043a \u043d\u0430 \u043a\u0430\u043c\u044d\u0440\u0446\u044b\u0439\u043d\u044b\u0445 \u0431\u0430\u0437\u0430\u0432\u044b\u0445 \u043c\u0430\u043f\u0430\u0445, \u0430\u043b\u0435 \u0433\u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u044b\u044f \u0446\u044f\u043f\u0435\u0440 \u0440\u044d\u0430\u043b\u0456\u0437\u0430\u0432\u0430\u043d\u0430\u044f \u045e \u0443\u0431\u0443\u0434\u0430\u0432\u0430\u043d\u0430\u0439 \u043f\u0430\u0434\u0442\u0440\u044b\u043c\u0446\u044b \u0441\u0444\u044d\u0440\u044b\u0447\u043d\u0430\u0439 \u043f\u0440\u0430\u0435\u043a\u0446\u044b\u0456 \u041c\u044d\u0440\u043a\u0430\u0442\u0430\u0440\u0430. \u0414\u0430\u0434\u0430\u0442\u043a\u043e\u0432\u0430\u044f \u0456\u043d\u0444\u0430\u0440\u043c\u0430\u0446\u044b\u044f \u0451\u0441\u044c\u0446\u044c \u043d\u0430 http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"\u0413\u044d\u0442\u044b \u043c\u044d\u0442\u0430\u0434 \u0441\u0430\u0441\u0442\u0430\u0440\u044d\u043b\u044b \u0456 \u0431\u0443\u0434\u0437\u0435 \u0432\u044b\u0434\u0430\u043b\u0435\u043d\u044b \u045e \u0432\u044d\u0440\u0441\u0456\u0456 3.0. \u041a\u0430\u043b\u0456 \u043b\u0430\u0441\u043a\u0430, \u0437\u0430\u043c\u0435\u0441\u0442 \u044f\u0433\u043e \u0432\u044b\u043a\u0430\u0440\u044b\u0441\u0442\u043e\u045e\u0432\u0430\u0439\u0446\u0435 ${newMethod}."}); -OpenLayers.Control.WMSGetFeatureInfo=OpenLayers.Class(OpenLayers.Control,{hover:false,drillDown:false,maxFeatures:10,clickCallback:"click",output:"features",layers:null,queryVisible:false,url:null,layerUrls:null,infoFormat:"text/html",vendorParams:{},format:null,formatOptions:null,handlerOptions:null,handler:null,hoverRequest:null,initialize:function(a){a=a||{};a.handlerOptions=a.handlerOptions||{};OpenLayers.Control.prototype.initialize.apply(this,[a]);if(!this.format)this.format=new OpenLayers.Format.WMSGetFeatureInfo(a.formatOptions); -if(this.drillDown===true)this.hover=false;this.hover?this.handler=new OpenLayers.Handler.Hover(this,{move:this.cancelHover,pause:this.getInfoForHover},OpenLayers.Util.extend(this.handlerOptions.hover||{},{delay:250})):(a={},a[this.clickCallback]=this.getInfoForClick,this.handler=new OpenLayers.Handler.Click(this,a,this.handlerOptions.click||{}))},getInfoForClick:function(a){this.events.triggerEvent("beforegetfeatureinfo",{xy:a.xy});OpenLayers.Element.addClass(this.map.viewPortDiv,"olCursorWait"); -this.request(a.xy,{})},getInfoForHover:function(a){this.events.triggerEvent("beforegetfeatureinfo",{xy:a.xy});this.request(a.xy,{hover:true})},cancelHover:function(){if(this.hoverRequest)this.hoverRequest.abort(),this.hoverRequest=null},findLayers:function(){for(var a=this.layers||this.map.layers,b=[],c,d,e=a.length-1;e>=0;--e)if(c=a[e],c instanceof OpenLayers.Layer.WMS&&(!this.queryVisible||c.getVisibility())){d=OpenLayers.Util.isArray(c.url)?c.url[0]:c.url;if(this.drillDown===false&&!this.url)this.url= -d;(this.drillDown===true||this.urlMatches(d))&&b.push(c)}return b},urlMatches:function(a){var b=OpenLayers.Util.isEquivalentUrl(this.url,a);if(!b&&this.layerUrls)for(var c=0,d=this.layerUrls.length;c=1.3?{crs:g,i:parseInt(c.x),j:parseInt(c.y)}:{srs:g,x:parseInt(c.x),y:parseInt(c.y)});OpenLayers.Util.applyDefaults(d,this.vendorParams); -return{url:a,params:OpenLayers.Util.upperCaseObject(d),callback:function(b){this.handleResponse(c,b,a)},scope:this}},getStyleNames:function(a){return a.params.STYLES?a.params.STYLES:OpenLayers.Util.isArray(a.params.LAYERS)?Array(a.params.LAYERS.length):a.params.LAYERS.replace(/[^,]/g,"")},request:function(a,b){var c=this.findLayers();if(c.length==0)this.events.triggerEvent("nogetfeatureinfo"),OpenLayers.Element.removeClass(this.map.viewPortDiv,"olCursorWait");else if(b=b||{},this.drillDown===false){var c= -this.buildWMSOptions(this.url,c,a,c[0].params.FORMAT),d=OpenLayers.Request.GET(c);if(b.hover===true)this.hoverRequest=d}else{this._numRequests=this._requestCount=0;this.features=[];for(var d={},e,f=0,g=c.length;f
    Abyste se zbavili t\u00e9to zpr\u00e1vy, zvolte jinou z\u00e1kladn\u00ed vrstvu v p\u0159ep\u00edna\u010di vrstev.

    To se v\u011bt\u0161inou st\u00e1v\u00e1, pokud nebyl na\u010dten skript, nebo neobsahuje spr\u00e1vn\u00fd kl\u00ed\u010d pro API pro tuto str\u00e1nku.

    V\u00fdvoj\u00e1\u0159i: Pro pomoc, aby tohle fungovalo , klikn\u011bte sem", -getLayerWarning:"The ${layerType} Layer was unable to load correctly.

    To get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.

    Most likely, this is because the ${layerLib} library script was either not correctly included.

    Developers: For help getting this working correctly, click here","Scale = 1 : ${scaleDenom}":"M\u011b\u0159\u00edtko = 1 : ${scaleDenom}",reprojectDeprecated:"Pou\u017eil jste volbu 'reproject' ve vrstv\u011b ${layerName}. Tato volba nen\u00ed doporu\u010den\u00e1: byla zde proto, aby bylo mo\u017eno zobrazovat data z okomer\u010dn\u00edch server\u016f, ale tato funkce je nyn\u00ed zaji\u0161t\u011bna pomoc\u00ed podpory Spherical Mercator. V\u00edce informac\u00ed naleznete na http://trac.openlayers.org/wiki/SphericalMercator.", -methodDeprecated:"Tato metoda je zavr\u017een\u00e1 a bude ve verzi 3.0 odstran\u011bna. Pros\u00edm, pou\u017eijte rad\u011bji ${newMethod}."}); -OpenLayers.Format.CQL=function(){function a(a){function b(){var a=e.pop();switch(a.type){case "LOGICAL":var c=b(),g=b();return new OpenLayers.Filter.Logical({filters:[g,c],type:f[a.text.toUpperCase()]});case "NOT":return c=b(),new OpenLayers.Filter.Logical({filters:[c],type:OpenLayers.Filter.Logical.NOT});case "BETWEEN":return e.pop(),g=b(),a=b(),c=b(),new OpenLayers.Filter.Comparison({property:c,lowerBoundary:a,upperBoundary:g,type:OpenLayers.Filter.Comparison.BETWEEN});case "COMPARISON":return g= -b(),c=b(),new OpenLayers.Filter.Comparison({property:c,value:g,type:d[a.text.toUpperCase()]});case "VALUE":return/^'.*'$/.test(a.text)?a.text.substr(1,a.text.length-2):Number(a.text);case "SPATIAL":switch(a.text.toUpperCase()){case "BBOX":var c=b(),a=b(),g=b(),h=b(),i=b();return new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,property:i,value:OpenLayers.Bounds.fromArray([h,g,a,c])});case "INTERSECTS":return g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS, -property:c,value:g});case "WITHIN":return g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.WITHIN,property:c,value:g});case "CONTAINS":return g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.CONTAINS,property:c,value:g});case "DWITHIN":return a=b(),g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.DWITHIN,value:g,property:c,distance:Number(a)})}case "GEOMETRY":return OpenLayers.Geometry.fromWKT(a.text);default:return a.text}} -for(var c=[],e=[];a.length;){var g=a.shift();switch(g.type){case "PROPERTY":case "GEOMETRY":case "VALUE":e.push(g);break;case "COMPARISON":case "BETWEEN":case "LOGICAL":for(var i=h[g.type];c.length>0&&h[c[c.length-1].type]<=i;)e.push(c.pop());c.push(g);break;case "SPATIAL":case "NOT":case "LPAREN":c.push(g);break;case "RPAREN":for(;c.length>0&&c[c.length-1].type!="LPAREN";)e.push(c.pop());c.pop();c.length>0&&c[c.length-1].type=="SPATIAL"&&e.push(c.pop());case "COMMA":case "END":break;default:throw Error("Unknown token type "+ -g.type);}}for(;c.length>0;)e.push(c.pop());a=b();if(e.length>0){a="Remaining tokens after building AST: \n";for(c=e.length-1;c>=0;c--)a+=e[c].type+": "+e[c].text+"\n";throw Error(a);}return a}var b={PROPERTY:/^[_a-zA-Z]\w*/,COMPARISON:/^(=|<>|<=|<|>=|>|LIKE)/i,COMMA:/^,/,LOGICAL:/^(AND|OR)/i,VALUE:/^('\w+'|\d+(\.\d*)?|\.\d+)/,LPAREN:/^\(/,RPAREN:/^\)/,SPATIAL:/^(BBOX|INTERSECTS|DWITHIN|WITHIN|CONTAINS)/i,NOT:/^NOT/i,BETWEEN:/^BETWEEN/i,GEOMETRY:function(a){var b=/^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)/.exec(a); -if(b){var c=a.length,b=a.indexOf("(",b[0].length);if(b>-1)for(var d=1;b0;)switch(b++,a.charAt(b)){case "(":d++;break;case ")":d--}return[a.substr(0,b+1)]}},END:/^$/},c={LPAREN:["GEOMETRY","SPATIAL","PROPERTY","VALUE","LPAREN"],RPAREN:["NOT","LOGICAL","END","RPAREN"],PROPERTY:["COMPARISON","BETWEEN","COMMA"],BETWEEN:["VALUE"],COMPARISON:["VALUE"],COMMA:["GEOMETRY","VALUE","PROPERTY"],VALUE:["LOGICAL","COMMA","RPAREN","END"],SPATIAL:["LPAREN"],LOGICAL:["NOT","VALUE","SPATIAL","PROPERTY","LPAREN"], -NOT:["PROPERTY","LPAREN"],GEOMETRY:["COMMA","RPAREN"]},d={"=":OpenLayers.Filter.Comparison.EQUAL_TO,"<>":OpenLayers.Filter.Comparison.NOT_EQUAL_TO,"<":OpenLayers.Filter.Comparison.LESS_THAN,"<=":OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,">":OpenLayers.Filter.Comparison.GREATER_THAN,">=":OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,LIKE:OpenLayers.Filter.Comparison.LIKE,BETWEEN:OpenLayers.Filter.Comparison.BETWEEN},e={},f={AND:OpenLayers.Filter.Logical.AND,OR:OpenLayers.Filter.Logical.OR}, -g={},h={RPAREN:3,LOGICAL:2,COMPARISON:1},i;for(i in d)d.hasOwnProperty(i)&&(e[d[i]]=i);for(i in f)f.hasOwnProperty(i)&&(g[f[i]]=i);return OpenLayers.Class(OpenLayers.Format,{read:function(d){var e=d,d=[],f,g=["NOT","GEOMETRY","SPATIAL","PROPERTY","LPAREN"];do{a:{f=g;for(var h=void 0,g=void 0,i=f.length,h=0;h0&&(a=a.substring(b));return OpenLayers.Util.Try(function(){var b=new ActiveXObject("Microsoft.XMLDOM");b.loadXML(a);return b},function(){return(new DOMParser).parseFromString(a,"text/xml")},function(){var b=new XMLHttpRequest;b.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(a),false);b.overrideMimeType&&b.overrideMimeType("text/xml");b.send(null);return b.responseXML})}; -OpenLayers.Ajax={emptyFunction:function(){},getTransport:function(){return OpenLayers.Util.Try(function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0}; -OpenLayers.Ajax.Responders={responders:[],register:function(a){for(var b=0;b-1?"&":"?")+a:/Konqueror|Safari|KHTML/.test(navigator.userAgent)&&(a+="&_=");try{var b=new OpenLayers.Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(b);OpenLayers.Ajax.Responders.dispatch("onCreate",this,b);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);this.options.asynchronous&&window.setTimeout(OpenLayers.Function.bind(this.respondToReadyState, -this,1),10);this.transport.onreadystatechange=OpenLayers.Function.bind(this.onStateChange,this);this.setRequestHeaders();this.body=this.method=="post"?this.options.postBody||a:null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)this.onStateChange()}catch(c){this.dispatchException(c)}},onStateChange:function(){var a=this.transport.readyState;a>1&&!(a==4&&this._complete)&&this.respondToReadyState(this.transport.readyState)},setRequestHeaders:function(){var a= -{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*",OpenLayers:true};if(this.method=="post"&&(a["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:""),this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005))a.Connection="close";if(typeof this.options.requestHeaders=="object"){var b=this.options.requestHeaders;if(typeof b.push=="function")for(var c=0,d=b.length;c< -d;c+=2)a[b[c]]=b[c+1];else for(c in b)a[c]=b[c]}for(var e in a)this.transport.setRequestHeader(e,a[e])},success:function(){var a=this.getStatus();return!a||a>=200&&a<300},getStatus:function(){try{return this.transport.status||0}catch(a){return 0}},respondToReadyState:function(a){var a=OpenLayers.Ajax.Request.Events[a],b=new OpenLayers.Ajax.Response(this);if(a=="Complete"){try{this._complete=true,(this.options["on"+b.status]||this.options["on"+(this.success()?"Success":"Failure")]||OpenLayers.Ajax.emptyFunction)(b)}catch(c){this.dispatchException(c)}b.getHeader("Content-type")}try{(this.options["on"+ -a]||OpenLayers.Ajax.emptyFunction)(b),OpenLayers.Ajax.Responders.dispatch("on"+a,this,b)}catch(d){this.dispatchException(d)}if(a=="Complete")this.transport.onreadystatechange=OpenLayers.Ajax.emptyFunction},getHeader:function(a){try{return this.transport.getResponseHeader(a)}catch(b){return null}},dispatchException:function(a){var b=this.options.onException;if(b)b(this,a),OpenLayers.Ajax.Responders.dispatch("onException",this,a);else{for(var b=false,c=OpenLayers.Ajax.Responders.responders,d=0;d2&&(!window.attachEvent||window.opera)||b==4)this.status=this.getStatus(),this.statusText=this.getStatusText(),this.responseText=a.responseText==null?"":String(a.responseText);if(b==4)a=a.responseXML,this.responseXML=a===void 0?null:a},getStatus:OpenLayers.Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText|| -""}catch(a){return""}},getHeader:OpenLayers.Ajax.Request.prototype.getHeader,getResponseHeader:function(a){return this.transport.getResponseHeader(a)}});OpenLayers.Ajax.getElementsByTagNameNS=function(a,b,c,d){var e=null;return e=a.getElementsByTagNameNS?a.getElementsByTagNameNS(b,d):a.getElementsByTagName(c+":"+d)};OpenLayers.Ajax.serializeXMLToString=function(a){return(new XMLSerializer).serializeToString(a)}; -OpenLayers.Util.extend(OpenLayers.Element,{hide:function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"element.style.display = 'none';"}));for(var a=0,b=arguments.length;a0&&this.map.setCenter(this.map.getLonLatFromPixel(a.xy), -this.map.getZoom()-1)},zoomBoxEnd:function(a){if(this.mouseDragStart!=null){if(Math.abs(this.mouseDragStart.x-a.xy.x)>5||Math.abs(this.mouseDragStart.y-a.xy.y)>5){var b=this.map.getLonLatFromViewPortPx(this.mouseDragStart),c=this.map.getLonLatFromViewPortPx(a.xy),a=Math.max(b.lat,c.lat),d=Math.min(b.lat,c.lat),e=Math.min(b.lon,c.lon),b=Math.max(b.lon,c.lon);this.map.zoomToExtent(new OpenLayers.Bounds(e,d,b,a))}else c=this.map.getLonLatFromViewPortPx(a.xy),this.map.setCenter(new OpenLayers.LonLat(c.lon, -c.lat),this.map.getZoom()+1);this.removeZoomBox()}},removeZoomBox:function(){this.map.eventsDiv.removeChild(this.zoomBox);this.zoomBox=null},onWheelEvent:function(a){for(var b=false,c=OpenLayers.Event.element(a);c!=null;){if(this.map&&c==this.map.div){b=true;break}c=c.parentNode}if(b){b=0;if(!a)a=window.event;a.wheelDelta?(b=a.wheelDelta/120,window.opera&&window.opera.version()<9.2&&(b=-b)):a.detail&&(b=-a.detail/3);if(b)a.xy=this.mousePosition,b<0?this.defaultWheelDown(a):this.defaultWheelUp(a); -OpenLayers.Event.stop(a)}},CLASS_NAME:"OpenLayers.Control.MouseDefaults"}); -OpenLayers.Control.MouseToolbar=OpenLayers.Class(OpenLayers.Control.MouseDefaults,{mode:null,buttons:null,direction:"vertical",buttonClicked:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.position=new OpenLayers.Pixel(OpenLayers.Control.MouseToolbar.X,OpenLayers.Control.MouseToolbar.Y);if(a)this.position=a;if(b)this.direction=b;this.measureDivs=[]},destroy:function(){for(var a in this.buttons){var b=this.buttons[a];b.map=null;b.events.destroy()}OpenLayers.Control.MouseDefaults.prototype.destroy.apply(this, -arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);OpenLayers.Control.MouseDefaults.prototype.draw.apply(this,arguments);this.buttons={};var a=new OpenLayers.Size(28,28),b=new OpenLayers.Pixel(OpenLayers.Control.MouseToolbar.X,0);this._addButton("zoombox","drag-rectangle-off.png","drag-rectangle-on.png",b,a,"Shift->Drag to zoom to area");b=b.add(this.direction=="vertical"?0:a.w,this.direction=="vertical"?a.h:0);this._addButton("pan","panning-hand-off.png","panning-hand-on.png", -b,a,"Drag the map to pan.");b.add(this.direction=="vertical"?0:a.w,this.direction=="vertical"?a.h:0);this.switchModeTo("pan");return this.div},_addButton:function(a,b,c,d,e,f){b=OpenLayers.Util.getImagesLocation()+b;c=OpenLayers.Util.getImagesLocation()+c;d=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MouseToolbar_"+a,d,e,b,"absolute");this.div.appendChild(d);d.imgLocation=b;d.activeImgLocation=c;d.events=new OpenLayers.Events(this,d,null,true);d.events.on({mousedown:this.buttonDown,mouseup:this.buttonUp, -dblclick:OpenLayers.Event.stop,scope:this});d.action=a;d.title=f;d.alt=f;d.map=this.map;return this.buttons[a]=d},buttonDown:function(a){if(OpenLayers.Event.isLeftClick(a))this.buttonClicked=a.element.action,OpenLayers.Event.stop(a)},buttonUp:function(a){if(OpenLayers.Event.isLeftClick(a)&&this.buttonClicked!=null)this.buttonClicked==a.element.action&&this.switchModeTo(a.element.action),OpenLayers.Event.stop(a),this.buttonClicked=null},defaultDblClick:function(a){this.switchModeTo("pan");this.performedDrag= -false;this.map.setCenter(this.map.getLonLatFromViewPortPx(a.xy),this.map.zoom+1);OpenLayers.Event.stop(a);return false},defaultMouseDown:function(a){if(OpenLayers.Event.isLeftClick(a)){this.mouseDragStart=a.xy.clone();this.startViaKeyboard=this.performedDrag=false;a.shiftKey&&this.mode!="zoombox"?(this.switchModeTo("zoombox"),this.startViaKeyboard=true):a.altKey&&this.mode!="measure"?this.switchModeTo("measure"):this.mode||this.switchModeTo("pan");switch(this.mode){case "zoombox":this.map.div.style.cursor= -"crosshair";this.zoomBox=OpenLayers.Util.createDiv("zoomBox",this.mouseDragStart,null,null,"absolute","2px solid red");this.zoomBox.style.backgroundColor="white";this.zoomBox.style.filter="alpha(opacity=50)";this.zoomBox.style.opacity="0.50";this.zoomBox.style.fontSize="1px";this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.eventsDiv.appendChild(this.zoomBox);this.performedDrag=true;break;case "measure":var b="";if(this.measureStart)b=this.map.getLonLatFromViewPortPx(this.mouseDragStart), -b=OpenLayers.Util.distVincenty(this.measureStart,b),b=Math.round(b*100)/100,b+="km",this.measureStartBox=this.measureBox;this.measureStart=this.map.getLonLatFromViewPortPx(this.mouseDragStart);this.measureBox=OpenLayers.Util.createDiv(null,this.mouseDragStart.add(-2-parseInt(this.map.layerContainerDiv.style.left),-2-parseInt(this.map.layerContainerDiv.style.top)),null,null,"absolute");this.measureBox.style.width="4px";this.measureBox.style.height="4px";this.measureBox.style.fontSize="1px";this.measureBox.style.backgroundColor= -"red";this.measureBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.layerContainerDiv.appendChild(this.measureBox);if(b)this.measureBoxDistance=OpenLayers.Util.createDiv(null,this.mouseDragStart.add(-2-parseInt(this.map.layerContainerDiv.style.left),2-parseInt(this.map.layerContainerDiv.style.top)),null,null,"absolute"),this.measureBoxDistance.innerHTML=b,this.measureBoxDistance.style.zIndex=this.map.Z_INDEX_BASE.Popup-1,this.map.layerContainerDiv.appendChild(this.measureBoxDistance),this.measureDivs.push(this.measureBoxDistance); -this.measureBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.layerContainerDiv.appendChild(this.measureBox);this.measureDivs.push(this.measureBox);break;default:this.map.div.style.cursor="move"}document.onselectstart=OpenLayers.Function.False;OpenLayers.Event.stop(a)}},switchModeTo:function(a){if(a!=this.mode){this.mode&&this.buttons[this.mode]&&OpenLayers.Util.modifyAlphaImageDiv(this.buttons[this.mode],null,null,null,this.buttons[this.mode].imgLocation);if(this.mode=="measure"&&a!="measure"){for(var b= -0,c=this.measureDivs.length;b1&&(f.unshift(r,1),Array.prototype.splice.apply(k, -f),r+=f.length-3),e=e[1]),e.length>1&&(e.unshift(p,1),Array.prototype.splice.apply(m,e),p+=e.length-3))}m&&m.length>1&&(this.geomsToFeatures(l,m),this.events.triggerEvent("split",{original:l,features:m}),Array.prototype.push.apply(g,m),h.push(l),c=true)}k&&k.length>1&&(this.geomsToFeatures(a,k),this.events.triggerEvent("split",{original:a,features:k}),Array.prototype.push.apply(g,k),h.push(a),b=true);if(b||c){if(this.deferDelete){d=[];o=0;for(q=h.length;o=0;--f)e=a[f],c[e]=b[e.toUpperCase()]}b=OpenLayers.String.format(d,c)}else{d=this.version+"/"+this.layer+"/"+this.style+"/";if(a)for(f=0;f=200&&c.status<300?(a.features=this.parseFeatures(c),a.code=OpenLayers.Protocol.Response.SUCCESS):a.code=OpenLayers.Protocol.Response.FAILURE; -b.callback.call(b.scope,a)}},parseFeatures:function(a){var b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;return!b||b.length<=0?null:this.format.read(b)},CLASS_NAME:"OpenLayers.Protocol.SOS.v1_0_0"}); -OpenLayers.Layer.KaMapCache=OpenLayers.Class(OpenLayers.Layer.KaMap,{IMAGE_EXTENSIONS:{jpeg:"jpg",gif:"gif",png:"png",png8:"png",png24:"png",dithered:"png"},DEFAULT_FORMAT:"jpeg",initialize:function(a,b,c,d){OpenLayers.Layer.KaMap.prototype.initialize.apply(this,arguments);this.extension=this.IMAGE_EXTENSIONS[this.params.i.toLowerCase()||DEFAULT_FORMAT]},getURL:function(a){var a=this.adjustBounds(a),b=this.map.getResolution(),c=Math.round(this.map.getScale()*1E4)/1E4,d=Math.round(a.left/b),a=-Math.round(a.top/ -b),b=Math.floor(d/this.tileSize.w/this.params.metaTileSize.w)*this.tileSize.w*this.params.metaTileSize.w,e=Math.floor(a/this.tileSize.h/this.params.metaTileSize.h)*this.tileSize.h*this.params.metaTileSize.h,f=this.url;OpenLayers.Util.isArray(f)&&(f=this.selectUrl(paramsString,f));return[f,"/",this.params.map,"/",c,"/",this.params.g.replace(/\s/g,"_"),"/def/t",e,"/l",b,"/t",a,"l",d,".",this.extension].join("")},CLASS_NAME:"OpenLayers.Layer.KaMapCache"}); -OpenLayers.Protocol.WFS.v1_1_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"1.1.0",initialize:function(a){OpenLayers.Protocol.WFS.v1.prototype.initialize.apply(this,arguments);if(this.outputFormat&&!this.readFormat)if(this.outputFormat.toLowerCase()=="gml2")this.readFormat=new OpenLayers.Format.GML.v2({featureType:this.featureType,featureNS:this.featureNS,geometryName:this.geometryName});else if(this.outputFormat.toLowerCase()=="json")this.readFormat=new OpenLayers.Format.GeoJSON},CLASS_NAME:"OpenLayers.Protocol.WFS.v1_1_0"}); -OpenLayers.Format.WMSCapabilities.v1_1_1=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1,{version:"1.1.1",initialize:function(a){OpenLayers.Format.WMSCapabilities.v1_1.prototype.initialize.apply(this,[a])},readers:{wms:OpenLayers.Util.applyDefaults({SRS:function(a,b){b.srs[this.getChildValue(a)]=true}},OpenLayers.Format.WMSCapabilities.v1_1.prototype.readers.wms)},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1_1"}); -OpenLayers.Format.WMSCapabilities.v1_1_1_WMSC=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1_1,{version:"1.1.1",profile:"WMSC",initialize:function(a){OpenLayers.Format.WMSCapabilities.v1_1_1.prototype.initialize.apply(this,[a])},readers:{wms:OpenLayers.Util.applyDefaults({VendorSpecificCapabilities:function(a,b){b.vendorSpecific={tileSets:[]};this.readChildNodes(a,b.vendorSpecific)},TileSet:function(a,b){var c={srs:{},bbox:{},resolutions:[]};this.readChildNodes(a,c);b.tileSets.push(c)},Resolutions:function(a, -b){for(var c=this.getChildValue(a).split(" "),d=0,e=c.length;d0?this.getChildValue(a[0],d):d},parseFeature:function(a){var b={},c=null,d=null,e=null,f=this.namespaces.atom;this.parsePersonConstructs(a,"author",b);d=this.getElementsByTagNameNS(a,f,"category");if(d.length>0)b.categories=[];for(var g=0,h=d.length;g0){c={};if(e=d[0].getAttribute("type"))c.type=e;(e=d[0].getAttribute("src"))?c.src=e:(c.value=c.type=="text"||c.type=="html"||c.type==null?this.getFirstChildValue(a,f,"content",null):c.type=="xhtml"||c.type.match(/(\+|\/)xml$/)?this.getChildEl(d[0]):this.getFirstChildValue(a,f,"content",null),b.content=c)}this.parsePersonConstructs(a,"contributor",b);b.id=this.getFirstChildValue(a,f,"id",null);d=this.getElementsByTagNameNS(a,f,"link");if(d.length>0)b.links=Array(d.length);for(var i=["rel", -"type","hreflang","title","length"],g=0,h=d.length;g0){this.gmlParser||this.initGmlParser();for(var e=0,f=d.length;e0){e=0;for(f=d.length;e0)for(var i,e=0,f=h.length;e0){e=0;for(f=a.length;e0&&(c[b+"s"]=d)},CLASS_NAME:"OpenLayers.Format.Atom"}); -OpenLayers.Control.KeyboardDefaults=OpenLayers.Class(OpenLayers.Control,{autoActivate:true,slideFactor:75,draw:function(){this.handler=new OpenLayers.Handler.Keyboard(this,{keydown:this.defaultKeyPress})},defaultKeyPress:function(a){switch(a.keyCode){case OpenLayers.Event.KEY_LEFT:this.map.pan(-this.slideFactor,0);break;case OpenLayers.Event.KEY_RIGHT:this.map.pan(this.slideFactor,0);break;case OpenLayers.Event.KEY_UP:this.map.pan(0,-this.slideFactor);break;case OpenLayers.Event.KEY_DOWN:this.map.pan(0, -this.slideFactor);break;case 33:a=this.map.getSize();this.map.pan(0,-0.75*a.h);break;case 34:a=this.map.getSize();this.map.pan(0,0.75*a.h);break;case 35:a=this.map.getSize();this.map.pan(0.75*a.w,0);break;case 36:a=this.map.getSize();this.map.pan(-0.75*a.w,0);break;case 43:case 61:case 187:case 107:this.map.zoomIn();break;case 45:case 109:case 189:case 95:this.map.zoomOut()}},CLASS_NAME:"OpenLayers.Control.KeyboardDefaults"}); -OpenLayers.Format.WMC.v1_0_0=OpenLayers.Class(OpenLayers.Format.WMC.v1,{VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd",initialize:function(a){OpenLayers.Format.WMC.v1.prototype.initialize.apply(this,[a])},read_wmc_SRS:function(a,b){var c=this.getChildValue(b);if(typeof a.projections!="object")a.projections={};for(var c=c.split(/ +/),d=0,e=c.length;dthis.maxGetUrlLength;a=b&&!this.useIFrame;b=!b&&this.useIFrame;if(a||b)this.imgDiv&&this.imgDiv.parentNode===this.frame&&this.frame.removeChild(this.imgDiv),this.imgDiv=null,a&&this.frame.removeChild(this.frame.firstChild)}return OpenLayers.Tile.Image.prototype.draw.apply(this, -arguments)},createImage:function(){if(this.useIFrame===true){if(!this.frame.childNodes.length){var a=document.createElement("div"),b=a.style;b.position="absolute";b.width="100%";b.height="100%";b.zIndex=1;b.backgroundImage="url("+this.blankImageUrl+")";this.frame.appendChild(a)}a=this.id+"_iFrame";parseFloat(navigator.appVersion.split("MSIE")[1])<9?(b=document.createElement('').appendTo(content); - } - - wrap.show(); - - busy = false; - - $.fancybox.center(); - - currentOpts.onComplete(currentArray, currentIndex, currentOpts); - - _preload_images(); - }, - - _preload_images = function() { - var href, - objNext; - - if ((currentArray.length -1) > currentIndex) { - href = currentArray[ currentIndex + 1 ].href; - - if (typeof href !== 'undefined' && href.match(imgRegExp)) { - objNext = new Image(); - objNext.src = href; - } - } - - if (currentIndex > 0) { - href = currentArray[ currentIndex - 1 ].href; - - if (typeof href !== 'undefined' && href.match(imgRegExp)) { - objNext = new Image(); - objNext.src = href; - } - } - }, - - _draw = function(pos) { - var dim = { - width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), - height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), - - top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), - left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) - }; - - if (typeof final_pos.opacity !== 'undefined') { - dim.opacity = pos < 0.5 ? 0.5 : pos; - } - - wrap.css(dim); - - content.css({ - 'width' : dim.width - currentOpts.padding * 2, - 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 - }); - }, - - _get_viewport = function() { - return [ - $(window).width() - (currentOpts.margin * 2), - $(window).height() - (currentOpts.margin * 2), - $(document).scrollLeft() + currentOpts.margin, - $(document).scrollTop() + currentOpts.margin - ]; - }, - - _get_zoom_to = function () { - var view = _get_viewport(), - to = {}, - resize = currentOpts.autoScale, - double_padding = currentOpts.padding * 2, - ratio; - - if (currentOpts.width.toString().indexOf('%') > -1) { - to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); - } else { - to.width = currentOpts.width + double_padding; - } - - if (currentOpts.height.toString().indexOf('%') > -1) { - to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); - } else { - to.height = currentOpts.height + double_padding; - } - - if (resize && (to.width > view[0] || to.height > view[1])) { - if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { - ratio = (currentOpts.width ) / (currentOpts.height ); - - if ((to.width ) > view[0]) { - to.width = view[0]; - to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); - } - - if ((to.height) > view[1]) { - to.height = view[1]; - to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); - } - - } else { - to.width = Math.min(to.width, view[0]); - to.height = Math.min(to.height, view[1]); - } - } - - to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); - to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); - - return to; - }, - - _get_obj_pos = function(obj) { - var pos = obj.offset(); - - pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; - pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; - - pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; - pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; - - pos.width = obj.width(); - pos.height = obj.height(); - - return pos; - }, - - _get_zoom_from = function() { - var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, - from = {}, - pos, - view; - - if (orig && orig.length) { - pos = _get_obj_pos(orig); - - from = { - width : pos.width + (currentOpts.padding * 2), - height : pos.height + (currentOpts.padding * 2), - top : pos.top - currentOpts.padding - 20, - left : pos.left - currentOpts.padding - 20 - }; - - } else { - view = _get_viewport(); - - from = { - width : currentOpts.padding * 2, - height : currentOpts.padding * 2, - top : parseInt(view[3] + view[1] * 0.5, 10), - left : parseInt(view[2] + view[0] * 0.5, 10) - }; - } - - return from; - }, - - _animate_loading = function() { - if (!loading.is(':visible')){ - clearInterval(loadingTimer); - return; - } - - $('div', loading).css('top', (loadingFrame * -40) + 'px'); - - loadingFrame = (loadingFrame + 1) % 12; - }; - - /** - * Public methods - */ - - $.fn.fancybox = function(options) { - if (!$(this).length) { - return this; - } - - $(this) - .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) - .unbind('click.fb') - .bind('click.fb', function(e) { - e.preventDefault(); - - if (busy) { - return; - } - - busy = true; - - $(this).blur(); - - selectedArray = []; - selectedIndex = 0; - - var rel = $(this).attr('rel') || ''; - - if (!rel || rel == '' || rel === 'nofollow') { - selectedArray.push(this); - - } else { - selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); - selectedIndex = selectedArray.index( this ); - } - - _start(); - - return; - }); - - return this; - }; - - $.fancybox = function(obj) { - var opts; - - if (busy) { - return; - } - - busy = true; - opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; - - selectedArray = []; - selectedIndex = parseInt(opts.index, 10) || 0; - - if ($.isArray(obj)) { - for (var i = 0, j = obj.length; i < j; i++) { - if (typeof obj[i] == 'object') { - $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); - } else { - obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); - } - } - - selectedArray = jQuery.merge(selectedArray, obj); - - } else { - if (typeof obj == 'object') { - $(obj).data('fancybox', $.extend({}, opts, obj)); - } else { - obj = $({}).data('fancybox', $.extend({content : obj}, opts)); - } - - selectedArray.push(obj); - } - - if (selectedIndex > selectedArray.length || selectedIndex < 0) { - selectedIndex = 0; - } - - _start(); - }; - - $.fancybox.showActivity = function() { - clearInterval(loadingTimer); - - loading.show(); - loadingTimer = setInterval(_animate_loading, 66); - }; - - $.fancybox.hideActivity = function() { - loading.hide(); - }; - - $.fancybox.next = function() { - return $.fancybox.pos( currentIndex + 1); - }; - - $.fancybox.prev = function() { - return $.fancybox.pos( currentIndex - 1); - }; - - $.fancybox.pos = function(pos) { - if (busy) { - return; - } - - pos = parseInt(pos); - - selectedArray = currentArray; - - if (pos > -1 && pos < currentArray.length) { - selectedIndex = pos; - _start(); - - } else if (currentOpts.cyclic && currentArray.length > 1) { - selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; - _start(); - } - - return; - }; - - $.fancybox.cancel = function() { - if (busy) { - return; - } - - busy = true; - - $.event.trigger('fancybox-cancel'); - - _abort(); - - selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); - - busy = false; - }; - - // Note: within an iframe use - parent.$.fancybox.close(); - $.fancybox.close = function() { - if (busy || wrap.is(':hidden')) { - return; - } - - busy = true; - - if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { - busy = false; - return; - } - - _abort(); - - $(close.add( nav_left ).add( nav_right )).hide(); - - $(content.add( overlay )).unbind(); - - $(window).unbind("resize.fb scroll.fb"); - $(document).unbind('keydown.fb'); - - content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); - - if (currentOpts.titlePosition !== 'inside') { - title.empty(); - } - - wrap.stop(); - - function _cleanup() { - overlay.fadeOut('fast'); - - title.empty().hide(); - wrap.hide(); - - $.event.trigger('fancybox-cleanup'); - - content.empty(); - - currentOpts.onClosed(currentArray, currentIndex, currentOpts); - - currentArray = selectedOpts = []; - currentIndex = selectedIndex = 0; - currentOpts = selectedOpts = {}; - - busy = false; - } - - if (currentOpts.transitionOut == 'elastic') { - start_pos = _get_zoom_from(); - - var pos = wrap.position(); - - final_pos = { - top : pos.top , - left : pos.left, - width : wrap.width(), - height : wrap.height() - }; - - if (currentOpts.opacity) { - final_pos.opacity = 1; - } - - title.empty().hide(); - - fx.prop = 1; - - $(fx).animate({ prop: 0 }, { - duration : currentOpts.speedOut, - easing : currentOpts.easingOut, - step : _draw, - complete : _cleanup - }); - - } else { - wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); - } - }; - - $.fancybox.resize = function() { - if (overlay.is(':visible')) { - overlay.css('height', $(document).height()); - } - - $.fancybox.center(true); - }; - - $.fancybox.center = function() { - var view, align; - - if (busy) { - return; - } - - align = arguments[0] === true ? 1 : 0; - view = _get_viewport(); - - if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { - return; - } - - wrap - .stop() - .animate({ - 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), - 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) - }, typeof arguments[0] == 'number' ? arguments[0] : 200); - }; - - $.fancybox.init = function() { - if ($("#fancybox-wrap").length) { - return; - } - - $('body').append( - tmp = $('
    '), - loading = $('
    '), - overlay = $('
    '), - wrap = $('
    ') - ); - - outer = $('
    ') - .append('
    ') - .appendTo( wrap ); - - outer.append( - content = $('
    '), - close = $(''), - title = $('
    '), - - nav_left = $(''), - nav_right = $('') - ); - - close.click($.fancybox.close); - loading.click($.fancybox.cancel); - - nav_left.click(function(e) { - e.preventDefault(); - $.fancybox.prev(); - }); - - nav_right.click(function(e) { - e.preventDefault(); - $.fancybox.next(); - }); - - if ($.fn.mousewheel) { - wrap.bind('mousewheel.fb', function(e, delta) { - if (busy) { - e.preventDefault(); - - } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { - e.preventDefault(); - $.fancybox[ delta > 0 ? 'prev' : 'next'](); - } - }); - } - - if (!$.support.opacity) { - wrap.addClass('fancybox-ie'); - } - - if (isIE6) { - loading.addClass('fancybox-ie6'); - wrap.addClass('fancybox-ie6'); - - $('').prependTo(outer); - } - }; - - $.fn.fancybox.defaults = { - padding : 10, - margin : 40, - opacity : false, - modal : false, - cyclic : false, - scrolling : 'auto', // 'auto', 'yes' or 'no' - - width : 560, - height : 340, - - autoScale : true, - autoDimensions : true, - centerOnScroll : false, - - ajax : {}, - swf : { wmode: 'transparent' }, - - hideOnOverlayClick : true, - hideOnContentClick : false, - - overlayShow : true, - overlayOpacity : 0.7, - overlayColor : '#777', - - titleShow : true, - titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' - titleFormat : null, - titleFromAlt : false, - - transitionIn : 'fade', // 'elastic', 'fade' or 'none' - transitionOut : 'fade', // 'elastic', 'fade' or 'none' - - speedIn : 300, - speedOut : 300, - - changeSpeed : 300, - changeFade : 'fast', - - easingIn : 'swing', - easingOut : 'swing', - - showCloseButton : true, - showNavArrows : true, - enableEscapeButton : true, - enableKeyboardNav : true, - - onStart : function(){}, - onCancel : function(){}, - onComplete : function(){}, - onCleanup : function(){}, - onClosed : function(){}, - onError : function(){} - }; - - $(document).ready(function() { - $.fancybox.init(); - }); - -})(jQuery); diff --git a/documentacion/extensions/SemanticForms/skins/MW-Icon-AlertMark.png b/documentacion/extensions/SemanticForms/skins/MW-Icon-AlertMark.png deleted file mode 100644 index b989d94c8a156137d0d1046f3668b90bd3b6f88e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1187 zcmV;U1YG-xP)-DLT&0`F;vXm#i!KymX`o0030e_aDu_@J?V@0@ z3lXhGv}hJusvyOPf}vm+L9i0Y7!&ABk|xc+nfWI7`|dffn^|1uI$sC~ZhYW!&gCxN z=e*~f_uP}*o-}MFeFy{$+v%j+e^Vi$Lfv~$n}Qc)l-~PoMd~SH2{oGMx%V3!dWz?s zK;OoF8D}W4v0}T>uc04;(t=gJ1lDKG#paY5DcvtD{pz zkp%2I$g#ij*l8|L*(n+TRA|1!(>42wK9rPnC3Ib<&$uwEwwo*KW{g!4V3xhlaO4m# zAfuol>(TT_|2VrAIMNxCCF5L7CKG+y%v!xbbVR3C0PN=RhdF+NGswsY6a+N=(I4QE z!uxF@F!@gc<4#-6noYG@vWfXe`RoZ^MvDo$VFoq?cJf$f2xP2XxM(~c>vLo2l1`_kfCBr((me*U|`no2v90fyxbNmej1u-ne1OoXr z-Z;v074rs!qB!@>ZyPsvo74+Pn$n7xD8n)@)Bct}W3uUFjLiZC`E9PA=O=qOywx<^ z|H~h#7PbReJo+v9>=ikR(1+9fVUbIliclF&0T~mFU*Xu-_~bnI4+MlRcdD)fP-IyF z1puoo|BPQ_9k;VXzIrx;Wd7n}*pi-5QS^}{#@?Y@MY5s|uSQ-2i^r-r4 z0As9UZv?-N8(76U#=}KO4M>K> z8k4v9`x*W;!__9GnIxJfy6q{(#-+W!R@$Yr(f#E&%1{3o`Q$CG;`&ws)9Qd;761ym z^R(xAw~qMTT(W&u*)|(_maL21wJ}+5qZ=hg!75g;It(rlrjSr$4m+_6d+-4EVLu+i zC-5nJdZT{;`>_uXU=QxWPRyZ3GDKrYLAQB#V1(J>sn%aV#%O!}2{Ou^-i%WJM+J2+ zaD%EZ&=c)Hxu5p`_SLM?hthlUom|cS=a p:first-child { - display:inline; -} - -.autoedit-result-wait { - color: #555; - cursor: progress; -} - -.autoedit-result-error { - color: #a00; -} - -.autoedit-result-ok { - color: #0a0; -} - -.autoedit-data { - display: none; -} diff --git a/documentacion/extensions/SemanticForms/skins/SF_collapsible.css b/documentacion/extensions/SemanticForms/skins/SF_collapsible.css deleted file mode 100644 index 39c12b4..0000000 --- a/documentacion/extensions/SemanticForms/skins/SF_collapsible.css +++ /dev/null @@ -1,12 +0,0 @@ -.sfCollapsibleFieldset legend { - cursor: pointer; - padding-left: 20px; -} - -.sfCollapsedFieldset legend { - background: transparent url(collapse-plus.png) no-repeat center left; -} - -.sfExpandedFieldset legend { - background: transparent url(collapse-minus.png) no-repeat center left; -} diff --git a/documentacion/extensions/SemanticForms/skins/SF_jquery_ui_overrides.css b/documentacion/extensions/SemanticForms/skins/SF_jquery_ui_overrides.css deleted file mode 100644 index f178cf3..0000000 --- a/documentacion/extensions/SemanticForms/skins/SF_jquery_ui_overrides.css +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Overrides of the CSS for the jQuery UI libraries, for use by Semantic Forms - */ -.ui-widget input, .ui-widget { - font-family: sans-serif; - font-size: 10pt; -} - -.ui-widget input.ui-widget-content { - padding-left: 0.2em; - margin: 0 0 0 .1em; -} - -.ui-menu-item .ui-state-hover { - background: #222288; - color: white; - border: none; -} -ul.ui-menu { - padding: 0 0 5px 0; - max-height: 200px; - overflow: auto; -} -.ui-menu .ui-menu-item a.ui-state-hover { - margin: auto; -} - -.ui-corner-left, .ui-corner-right, .ui-corner-all { - border-radius: 0; - -moz-border-radius: 0; - -webkit-border-radius: 0; -} - -/* -button.ui-button-icon-only { - vertical-align: auto; -} -*/ - diff --git a/documentacion/extensions/SemanticForms/skins/SF_popupform.css b/documentacion/extensions/SemanticForms/skins/SF_popupform.css deleted file mode 100644 index 176ecc3..0000000 --- a/documentacion/extensions/SemanticForms/skins/SF_popupform.css +++ /dev/null @@ -1,89 +0,0 @@ -/** - * Styles for popup forms - */ - -.popupformlink, .popupforminput { - display: inline; -} - -div.popupform-wrapper { - position: fixed; - left: 0px; - top: 0px; - height: 100%; - width: 100%; -} - -div.popupform-background { - left: 0px; - top: 0px; - height: 100%; - width: 100%; - background: black; - -} - -div.popupform-anchor { - position: fixed; - left: 50%; - top: 50%; - width: 0; - height: 0; -} - -div.popupform-container { - position: absolute; - background-color: white; - border: 2px solid #00a; -} - -div.popupform-innercontainer { - width: 100%; - height: 100%; - border: none; - background: transparent; -} - -iframe.popupform-innerdocument { - width: 100%; - height: 100%; - border: none; - background: transparent; - overflow: hidden; -} - -div.popupform-close { - position: absolute; - right: -25px; - top: -25px; - width: 30px; - height: 30px; - cursor: pointer; - background-image: url('../skins/fancy_close.png'); -} - -div.popupform-loading { - position: fixed; - left: 50%; - top: 50%; -} - -div.popupform-loadingbg { - position: absolute; - left: -64px; - top: -64px; - width: 128px; - height: 128px; - background-color: transparent; - background-image: url('../skins/loadingbg.png'); -} - -div.popupform-loadingfg { - position: absolute; - left: -16px; - top: -16px; - width: 32px; - height: 32px; - background-color: transparent; - background-image: url('../skins/loading.gif'); -} diff --git a/documentacion/extensions/SemanticForms/skins/SF_submit.css b/documentacion/extensions/SemanticForms/skins/SF_submit.css deleted file mode 100644 index 5d4f3af..0000000 --- a/documentacion/extensions/SemanticForms/skins/SF_submit.css +++ /dev/null @@ -1,26 +0,0 @@ -/** -* Style sheet for the save-and-continue button -* -* The order of the rules is actually important! -* There might be several classes set at the same time. -*/ - -.sf-save_and_continue { - background-color: inherit; -} - -.sf-save_and_continue-ok { - background-color: #afa; -} - -.sf-save_and_continue-error { - background-color: #f35; -} - -.sf-save_and_continue-wait { - background-color: transparent; -} - -.sf-save_and_continue-changed { - background-color: #ff0; -} diff --git a/documentacion/extensions/SemanticForms/skins/SF_wikieditor.css b/documentacion/extensions/SemanticForms/skins/SF_wikieditor.css deleted file mode 100644 index 2854ba3..0000000 --- a/documentacion/extensions/SemanticForms/skins/SF_wikieditor.css +++ /dev/null @@ -1,9 +0,0 @@ -/** -* Style sheet for the wikieditor -*/ - -textarea.wikieditor { - border: none; - padding: 0; - line-height: 1.5em; -} \ No newline at end of file diff --git a/documentacion/extensions/SemanticForms/skins/SemanticForms.css b/documentacion/extensions/SemanticForms/skins/SemanticForms.css deleted file mode 100644 index 8297171..0000000 --- a/documentacion/extensions/SemanticForms/skins/SemanticForms.css +++ /dev/null @@ -1,152 +0,0 @@ -/** - * The main CSS file for the Semantic Forms extension. - */ - -/* Override "width: 100%" setting in standard MediaWiki skins */ -textarea.createboxInput { -/* width: auto;*/ -} -textarea.mandatoryField { - width: auto; -} - -/* Used in 'create template' page */ -.fieldBox { - border: 1px black solid; - background: #dddddd; - padding: 10px 20px 10px 20px; - margin: 0px 20px 20px 20px; -} - -/* Used in 'create form' page */ -.templateForm { - border: 1px black solid; - background: #dddddd; - padding: 0px 20px 10px 20px; - margin-bottom: 20px; -} - -/* Used in form pages */ -table.formtable { - /* width: 100%; */ -} - -table.formtable th { - text-align: left; - vertical-align: top; - /* max-width: 150px; */ -} -/* another possible layout */ -table.formtable2 { - width: 100%; - margin: 5px 0 0; - padding: 0.3em 0.2em 0.2em 0.2em; - background: transparent; - border-collapse: collapse; -} -table.formtable2 th, table.formtable2 td { - vertical-align: top; -} -/* this makes sure that in long lists with checkboxes the checkbox and the -corresponding label are not torn apart by a line break */ -span.checkboxSpan { - /* 'nowrap' doesn't work in IE, unfortunately */ - /* white-space: nowrap; */ - float: left; - padding-right: 9px; -} -/* the "remove" and "add another" buttons used for multiple templates */ -input.remove, input.addanother { -} -/* this selects text and dropdown list inputs that have been set to -mandatory */ -input.mandatoryField, select.mandatoryField { - /* (suggested formatting) */ - /* border: 1px #d72227 solid; */ -} -/* a span around radiobuttons and checkboxes that are set to mandatory, -since some browsers don't support formatting of these elements, and a -span around a set of them looks nicer anyway */ -span.mandatoryFieldsSpan { - /* (suggested formatting) */ - /* border: 1px #d72227 solid; - padding: 4px; */ -} - -div.infoMessage { - border: 1px solid #777777; - padding: 12px; - margin: 25px; - width: auto; - background: #eeeeee; -} -/** - * errorbox and warningbox CSS classes were added in MediaWiki 1.19 - - * the CSS here exists for backwards compatibility, and to provide - * some improvements for SF's specific usage. - */ -.errorbox, .warningbox { - margin: 20px 0 0 0; - width: auto; - float: none; -} -.errorbox { - border: 2px solid red; - background-color: #fff2f2; - padding: 5px 10px 5px 10px; -} -.warningbox { - border: 2px solid #ff8c00; - background-color: #ffffc0; - padding: 12px; -} -span.errorMessage { - color: red; -} -.multipleTemplateInstance { - background-color: #dddddd; - border: 1px solid #cccccc; - padding: 5px; - margin: 10px 0px 10px 0px; -} - -.multipleTemplateInstance table { - width: 100%; - padding: 0; - margin: 0; - color: inherit; - background-color: inherit; -} - -td.removeButton { - text-align: right; - padding-right: 10px; -} - -td.instanceRearranger { - max-width: 15px; -} - -img.rearrangerImage { - cursor: move; -} - -.autoGrow { - overflow: hidden; - height: auto; -/* width: 326px;*/ -} - -/* Override some jQuery UI settings */ -.ui-button { margin-left: -1px; } -.ui-button-icon-only .ui-button-text { padding: 0.35em; } -button.ui-button-icon-only { - width: 1.7em; - height: 1.5em; - vertical-align: bottom; - margin-top: 0.2em; -} /* button elements seem to need a little more width */ -/* Override CSS from Header Tabs extension, if tabs are used in the form */ -input.sfComboBoxActual { - border: 1px #a6a6a6 solid; -} diff --git a/documentacion/extensions/SemanticForms/skins/close.png b/documentacion/extensions/SemanticForms/skins/close.png deleted file mode 100644 index 2ef53b32c09876e24fdb750c21ce168c909979db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476 zcmV<20VDp2P)Mn+LlQ9?pOb8~YwH8pp4cV=d0S65fr+1bRz#6dwp($dm-d3oF0+iYxX za&mIKyu8A~!ok78XJ=H0 z!HA(q`h<3GSeFj^i2Ee6BGiw6P)C+C+J+dHw0000+3!?<78$d?J}=VK(!2> Lu6{1-oD!M9LGP;Ip@B%-RoX-!?w9hbK116P>eAh37Q+2FHCT0h>8*^)G*7m$u#f}jp~mq zDYgiL3Nmc?#{$97G+)A(7MUnbwE5O%?cUwpbMAT0)8X99yb0aU5%ql966juhzepB@Y^Bxnv zzePgehCCrpo#?9%w@jK{HG5%nfp0z@_NCbQi#;D-ITtgn2Pq^Hl`m^C7E@-x_t? z)l0|MJXaMhB8-7}R1HOnmrVP1g))`uwWq|1<)>!kf~{P7U#_Wk^-x+DfQ~_MPVw3q z?T7WMFH)OK$yjvu`rq-xrz`he7#JprjU&8$1ErDGQ{Q{LsO3l5JSrKFLxER)@iT>+ z7$S~|)DY+q|E%b|=|wFGXJaz0KC3n8WSAs2`oaLbZVuQ5&;Qg~QHUQMp#i!bEGt>q z1YPpB0;tt~4W9~i`T?eD7sH2`nl z{^{Du&}0F_3Xkt>NlDX$2?R0Fz@Vh8_N6wZhGp(_TM`N7qJ|yiawMf^E0;~B-r81J zLn%QGQJ|NGCYHioMV4c-b<_k31$=L}CM6lT2~<}&flSYiE_^ZwDIVp9iYq+&97zrd zIDruz9ZiFTxX<-bC?`jab|O?FKmzZ&y_03K1O2g(fdCEQp}d_)Jt)>I1RhawB2?ym z@QTs&(QWnNp;Kc(?|==YWrY*AZ(W5|1|BoDvP`c%venZU=y)vBBgVbHEB~e>DlJP= zspQdXuu~5M@Qd7HZZp%zbWAQx?6ulWJa#KM-;arn#1R-onG|?pV(r;Alj{yzZ(5AY zdZRlSzf=9u;AL*|fVhUjCMjcy!9C|-yMMjGI5g;=`Qgj6gZCLpUyO`w$Nn4Y`RkJ- z&>igXGZxkv#{-6T`uuBW7$TOI4M1WNmxKS@+4YC~Ve7I^f1BE)dh7%lSgdz4KM1EU zHuQ3rhs3?Em4QNH5obt-h6B5e-`PEL#`Lc-oj>gh3g+;Xd%`d@(0y(DS#EL9yO0(V z1)vikN+tC)>zl*-==$)~^{eU;Zr7p zvgqWlzFmFIKR7cgl7o$f>BYi! z3VtQ&&YGO)d;mK5xq9#ul#}JL+t>+!NnhgY6AByO1 zeBpFtM(FNL@o5gN*Tifb-#@CYvhbh$%Rk`&vqg8mILAzJ;bfCz*5wSImNKH=S__+` ztUeU9Y2Q&iz@RUY*u=l*At(RdJCpMYF1kktE!Or|Ss9pNpE+ykqff1+Iu?C~8_#Vr lpPg&J?d*rv30#41`SsqK9=WH(DF$>6gQu&X%Q~loCIIq;VL1Q* diff --git a/documentacion/extensions/SemanticForms/skins/fancybox-y.png b/documentacion/extensions/SemanticForms/skins/fancybox-y.png deleted file mode 100644 index 23ec870046fb77b3cf262de3ad674a4f81599b8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^8bHj*!3HGP#J-sf;uHtDJ29*~C-V}>VM%xNb!1@J z*w6hZkrl{SNcITwWnidMV_;}#VPNB+TKLJ@3dt<;-c@Qqn$ri|S4hdGVoDaI&rCny^o2>r2w#>jv?aeeCeQ!}j0# lc}csR@hLgG{%bQHvl@Cx{NIu;;|?^N!PC{xWt~$(696ARPd)$u diff --git a/documentacion/extensions/SemanticForms/skins/fancybox.png b/documentacion/extensions/SemanticForms/skins/fancybox.png deleted file mode 100644 index 9997162990b845082281c62746825022b5695d29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17318 zcmZ^KWmH>Hw=M4O?oiwvio3hJ26s=3yA&->aV=V0f=h7^?poZTh4Rwx-S^|(@$R1_ zBO@m#V`tB~=3Z;gSPeCKbQBU4C@3g&MFklx$g><26!Z=f0^}7D8R;Mtl(dVYjHHgg z*+o8bGo5V4let~3n|UBS308}yBmyy3zodl3DxM+2Dmn491V3?#tRxxvF%@GHzc30q zGgV1q!fYRB97{Y>TpVf4NsRN<{6x^En`t$7?|Z$P%(rvFH#1#5-KQW!QxCQKn(^`R zy6%Aek;Itop4}E_17DqwT0VYDwK{`er?f?v2z7(YI!zv`h_*{w&wJnh{@vLr6yWDS zO8oLA$i5)JuCumw>d$RvuW0}A3sCI*{2cA7>k8Bd6v(^$JD&oUuQ99al<<+sKy{v; zujz~q;MA|#GLxeMRaJp|E`74Wy?-BSf3Gw2m+F5vz%JLS+VU38Pj%PpzDaa*Uj6*% zV({NhUT;PzDNQ>(Z6&u^su9YgNYexl@s?P0z|?qNKn4_&weq#H-0r3|yy1WR_$82dKT1|KneKjjG+I#kTjqdgdvUVH?4f!icl-6IP8vhVrt1mx z)I<5}Y2luO1X(g8K99($nNkuZoT?3BetIR`S$#3G@3mwG78xNy@56%DDn!qrP z0j@s1zdcd1bS)9jk<5HyNj70W4&KB4wxZ-y)HyugxV*gF+&Rtr&86pInK-D)bws~D zIi>nH9|~g`yFjl+f0)ppi?;2*WY240klw$Alnx35;=k+n{?=Vr5B|Ndtp52n%`oV7 zss3|Iy=&)16shajr@wdKW>)ucadFv%>*<#A{k8&vO;Hnf@4R)xPS4Kn-Y>8IvU6+~ zorS<+NQ{Rr=D0Sr2R{4?dks&%Th#XVI+|3Z#zUU0nPX8qqdtg^juxTIGZlI^e}6EK zJW;&W9+;b(BN!hQ|9itaVA$>7Sie=Fi#fq#`hbw5f*Cb(>UX(a5|(QLxBrJLH;DsP z>@(QZuU0nWi_lS)tAn!KJf`x8sud0eMx>$R?xLciLb?9gsa8e7PxI5J^btEL@)WCm z4Hm#9E}} z;J01OU?Tme%;1@ztp&Dzyi#H&;?aaS`4q$)DK*bR7#6{#y8x5^F%0($Jw9*;ng3~7 zCcoq0Wyf&=%|Oa>tA=;US!D6PW)L1e09CeUvzQ9Wv(b6d&_18Dcro3Q%j{$vDL zb?{uytFohr{~59p41OCPqZ{(#zvm)9=Ba}LX8F8IM@a`+nAJ?7zvG5UbC8xfZ z=@&Jv&j&Ynd4F`b;KsM$|Eeeom~e{VO5;4Rgv z6E*{m^VL6{NK*#pHuKZ76{Hs$Gu~_cG90m8H@bG5GjU2j{F4A^$Ub^Kkv&Y0di``i zC;wh9ZgBo^$E)!Cd5OX~hb6tXb&WZ^H;j^|DjKgv`u$7r>;B3=gi>E(hpK)s>_B9C zC1ycF;~(fhHvC~X<-HcZhIwt_z$Do4n_Q&Q5Oi}a{{Dj8gznb)`&Z2e_Rf>yYJ}da z;P*cZB#FmmQykUO2F2TV#==ZX8P(E%z1O5NSp-DiA>6?KCkNaem9xNV=n6rbi>{*X z_2OxwXqD5?IqkNy8lh+ZA+j%X3I3_xZQ=9DOYgty-+!ZuwO?j8~ktU}1q{P!@QHJylOHsttJ# zSLHETsIRDMjaeVW9}wq2cScWi&Z=FoYmSga52=C&^8FD2HGX>o|Jne$8ic6x2*k z)>slm5adO`P9)kJtx;?lryu+2Uw$}mEwf$705Tw#j!*bRMU8*p{*}GX!!+I`LF;NT zXtf1@zNumnEx4|2rV8W?$Bmai%u>UJx0;>TT$)iaQ+Zz>{B{<>kS_1Pheqg6xy0<8 zmQYu3#yWeJy1awDp#9ybrFzk2LEFO>e#B3FKhe`VfJbwB)`G=hnuhqmrHpzVxQlAO zqWN*gWVIjca&9#v_UGIjvb!kjmsPg+fA@Y9klN*#;IGjEXS8tD;g$*|^E)W&@!P)& z^uA23;Hr!E!*>V2js~CaMJ;`g!_kNz;c*D4z|CnMA8VZW`y1R#k*3XGR6)A)cH2Sr zBOyXN-6D)A%|=qk={o_TE*+k$oyO)9$yDS0sibI8w4l0bc_xSBxMeMG&=M*~cf%S0 zA?lHy*A~SEx!t!j%tI+&u8I~A3CBH+d)%<*D3U|1?h7NWaz!6%W2=mUPTQ50LDx5S%Np5QF`#OVkpYylUV z{96~Cv%g{!J}Xoj$OiShZJ6pk$WYVsXm|-4F{M+P$$eSmaP*V z$@2K3_U>`>j7jwUiZmj~)RiRjoX z^1GX+7{O`hSf^lehUv+e299VG?TtOh7QMoiSb3R!R6aq9#TiUvH_y8ie#E@{UT)#V zIYJ_zXdUE;9kOmZ19zcuao$r?x3!=y{;}vX0I!IuQq`n8#w{(w3(US&r0yiMUg_$0 zQWVXex)~JS>~D{3AG(nUfA#sPi*W4l1RrVEPV}@neTo-MUfry&(lOZ{49CIa#Mk5(NF%h&EZf`^+s!< zp14pUr|_Lq(YamEqGWfZ)B0}+h!b-dhYeDtvKii()>N7e9s${}(FVo(R(Mo-h7wLOpk8QrOKyX&U zYV=TUi2uKz@h$P(DLx)4Cimr+dG13SoWYxUje@?*^^KDh2?t>4grNkygOD5G^wUCo2*TaT^$0K}fZOsWE% zIELuQXVejQ(;{vZ7Rf?-QXeg}7t6}ewGpVX$DSSMHpp)xwM8yM+#|M=_`r6 zp2&-jXOxgzd4X6pbdEzc1Yxt6 zg7`ggslZTCM2D4#Q*RbiGi4C-YUivF$%@KJR`S|7 z56Q($R_Xl{rQ@MOy?gKi0{1hMx!y#8MzCPjrz0_88-p8T{z7t{iZb%zDaL6f8wFXX zMVYm&-^*>SlAHig3uUN^tj-*dWV&_bX`{r6P)|;Vg5S#!Qsq*@op9AxUyYV#SbB^L ztRcfL_Rz^@sE-$6XcvWxUOHy#LLWz*zU1H%ZCymxDji&XdETry=odSM|esWb2 zfcvY-bsTROl2b&l0~dajK}%yN);7osFO}AiTiNW9zH{L{=&-VO3c`d=x`N3=62yzX zE1T4DjgA}iR7tz0Mm;d{L#hGjHp_z&7Gb+>&++g+yrP`|4_=KT27Hh-rcR%{9aIB@ z*v_x0;SRq4+iKghjPD#ML;gC`8?;T4GtA#l>M%cFhf{)&gB)Z&$`=HXZs%jbSH+-Z zf^*Y8WDmy75B8lJO`^pqjr}TBj-Z9>wh%OLMxeF~L55$n@nxO%ivmR7E;2MON=$n9 zkbF-h-C30m;vBkXM~Z30Ip)+4`zoP-il~NDKhz9|-LA10aYodi&c-7tqBFVE|0HEe zgO$LPYI~pphphgMBECFKf^%{OZ`Nn(R~a@*zj1dawwxDda$^L9l>*R}eT@>_)}bW+Ehl(VZic03hyfDn_9{Q(|^ z)p>ja!&MWU7wYLAfgA6;^KC^I!H=7nH42TFsoN6D;SV&w0$;g?V+A=ch&0kyLa@or zrMnIF5BmkxjG(;(;>Q!o&%Oy87>5_IJp>NuSZZ&A+t1Cg@YGajSXlORYy=k?XQouF z)pwoj!|~E0?E@+Ad{c2Y5cURS=ffA_L6+AQyOzSjCcs6X&UzLD!8*U?AGuo!H=+Cr z1p|`gc1k<|(dJ)^`0P`+UVYHkidbbL5QYoMar$1q7Lo6z=^i>n!?}ZQ9HMWfnAAn+ zLhcgPMI;1XXWn1c`>~Z+*ZN&5)+;IM9I?;z(LHZ)qv3~w{JM^Js_I1;$0Err~KM_R<+Rm>b0UYr;9 zZ=xHobw=6@_*?7-hT_=qSyeghM3a}pEzb1gZH#$sx`tbb@2u9f75NuskyrdJnRDv2~tufz`1w%KQ}Ne$z4Mf56xasEm~1JlmF{W>VRA*N zK|h@dOb0^Bc7calCw9B$h6K@Y%vLAesuqPGqk#=lMZc3wixFCv=}+OO5P!{AvoX;t z_D3+pjGh$=#fsmA#_gOBZMI1H!w~d?B|L8j7Z)u;d0N)^CrBD4_IEYR~19}A} zVuO;$osw>dj|CY?mTH()QF;1n18 z4}Xi+-F`~|bd$JbL^%@6{Obos5z(DP)Bt}0VMW-~O^rg@o~$O;*?kpLu$kIc?1G{; z=C9mhGBG@lBi0YNTGkE;^o3*DOpaBs*38W`^`xY@VPZ62Jj3oFceu-*`CeL;(x5!z zYw$A}amTS)t-EEc`~vWKo=B@#x0Wf1aD$oR+GRdY1RJGS_bM9ncH!1rIW#$=6)?pm zwof*FD3U_In%?8en%Fptwew@FlsP+@O%s z(6E-+tU{;x;sEoOt@(3@VIK@-JlfrOeTN{z08Wp8Ccj0w7y4t!=5#O)4w}d|K ze*aspNQTr-l*EPvw zB8UCr1p|e1j698I2zM~$+1I4*7Zni1; zNYEZHOz39cCE0!v`ynE$Dxq}`xpXZn4qjS-4X?*0Bs3Gbj_MZ9Cc}9)B#xIDhI_20 zYHt_Ls_--*r0_6Cbv_*+oV>T}u5W40oy&byzz52(v!~zZX$R-8r(eBIIM zNcxb72bDA!m$m@ucV)<@inHDTyU*x(ZbVf>)S?aq^TLixL_z3vr;~F->Xsq9HUyYt zcvN$H-|_r{Fwe30E54F<$_5%IX)Pio*dc#|7MvFp%|CA0J^PxQKBJ~m2R zmalz$BT!S9Tmw;!LUZKI{`HQUsYdWT4uA;DfZ8@Q&!6;N3Qoe2F^NnWQr~Ygds9BLaViB2u(3p&=bJ1@)P%#y3r6cnM}+ zT^Ib@uMWqy-)j}6#LT-a!^_A6b^H0-G7?49*#~lKvMX^Wo+`U@V>#lGcYw59 z%jHbj$lo(M8_#$@1(xJIqPQBYSGrWx%D3XEZC7dJie`Yx_IajvO+bTw5P*7mjT$6c zBAoFlu9gZ6%uH(LV`79MI8Z$KcVN5a9R&(j2Pa#1P6Ec_qksl39aN(ubYXWsEp}rX zs2rpths2xLV7#OsGNp^Kjts$P0+Ijk%lGNJiM(hZ7ozSys`0t?7p)GxsAaQ9?jb2p z2*OsY%U2@Cm66THebz=ycq8#$D3OUB%Q%{d&cS4`hjx^+zh)};p19Z1(`aR(NkP1?o5tigT*jTpz4 zh<)0+?Y%8G7{Tqh+?QkH@ofxv87hbrJ0+>9Nl3h$kY3Gbt4Mh2ENg6gmNO%uRc`73@%a6g+=|E3%yzgw z?Ct>z2H$mLAU+vw@@x$sx-0YGgV;@MB1`_+fI~&V>JyV0SeMiFH@~KW zgX`B)LnNrB2(yp}U1TAIL#EP}c%Aff`L5VUE~MI!yrX^j2pqX)M7p}VFyty%x^Pa2dG#7~lGIcR7;*^HZC{_^!AW?uQ5mUm_iB2| zrotOjikdwZcv0&ZXEn{V0j^1lABy?q0aB%(Y3DG=(1~LVoN#iMq4CvTLo|2<37|rj z|4n*~W4~|s-s}wrB+jU^^3CnaN(zzKB|?$R5(?KmD=cggwT2+z%NkJ*uFOTu{zW-0%$R|sL4U_o?U6ryr+E%cy``Cs z(j&r`Of!YD??qS^XcC)jNp?Nx)-^gg<#0S2YMe;^yRR>LSas1(==JzH$3#}zn-X!i zMm%iC6Q7r4vN+Lp9PZ$A@yLsGuAARTUE3`avG{_}d6Rmnlgv#-_65CPr`j+^6->5g zAN5cqC$sdZ3{dqcy+M;h+*0>|I2^iTSoU%naj~x&WSHP=s~8>o^MfI6!ZT)~EYmW9 z@%@Rut^Uisc!Otm>pTupq1gi>;n~-iCj8@E1jp}Tb+`GpSYNEQkw&M;+#+%An9`pD ze`04sf67dgbK{kykqBs`sufydMPm7ku26&Gp(=*WK;)*Nnp2|aw;o1?++1lXm>h>P zHirNPXL~QFGB~wxx#E00nWRamLm%zWAIa%uLN1F0 z>mrT#eFMFn0hCdo+fm(?36^v@Z9J0JU_BeL9K)k)vJ~b`2A^Qqzw)9%<&2xD@G^ON z?V-`gEIA5oQx&r@+0Tzt{GfMd7#<9q+3Aq>N@$3#?IT*q1JLlt(T%@^flCxusB;X- z38sK7A&l8Oyx)qY*;Ta2yM8FzUAtc@jb!AGHms3%RL2jUk9{`d1eR0^tc_n42u;27#hudko0AP^UWz|y zyL0a1O|*ozu&JRx8#CdgMgT#r5tmM*baD}~b~mYXW=D8{>IRQQ+`T?3SqYiXL_+6< z7HeA}vo_|{PqZ4ujpygxTC-<3Q%n=OMjeqgnP3^TtTP??+oX{$)^4iFMTZ9BziSW9HrQC{<{fVQr_~u7P>r7~ z&GJ0Qm0a>58;$m~$5*o^WKMYmf3M;(eby4L=(+Te$8olJo}sEo^VQ#J&QYHw@93b8 zHsFDCy6VJ$IJ?|ePa!iz18ZvzX>3ll={y1`&W7vGBXiCmJAM$Bu? zGoT=~mIDeWrbvh%f$D69lqFe3hN`X?S4X+Hf@RYazZsS~xlUEp0S%xKl%OIZ><*Jd zO`YsqQApC@#f7X)J@OM;CCQ_an|Qg|x=y9M5`z~{4O=zW_b4#GuMToZm*VHyB_no5 zkb!-Kg~~~o_4P7~D-JxNhA@gXGC`xywN`IM*`IRP4W~ipPLcH zDt-f@!ow%IcpTaNasx_Fyu|r1rRFMS2g>ywng;eC0-;GQfxY)-9JQ$$Q9fwjK9EP> z`6N_2`Coi&H|`^JTH!1fJyynq;fhp+(m9~24~k}_O1ab|@RARl11XZf$NkPeL z=sC<;z>5o7J46DW&N#UuV?Hu>qI&Aq;-n*wTH2#byufe{z7&5f&3I&9{hJ@c!SB*H zvSPi$#5bi0hbvt}D;2Xsez&D)k+RpbQ2L93=nJol_rwl4Qlw*yTVbIRQknZ|lP#>H z*5C?>1uc*!Pr}nzuXqasBzziik57XqJr44fps65UioJ`picuny|8h;z;D;#brL2$) zhK$8QVymS^U6-9seZC!BLfhUlR1OuHOl$kt6eEX#Vx54uXgE=qVJW+xBaZX772_K^ z9uPZ@E103<&IZ_K+Ub4z7`Tm}-}431$gwn+`fwGm>=DQnq19udAgz3!VtFN+hV22f zpU|^n08GnK(_0Th19-oQ8c(wPYW)M5qHd}g6S}Hi%O&uOV>eP3&?fgKE`DSFU3wYT zKbu-;kW3A5L?SCC&F`C5@R|oAK&wsC8AYH&TOSI>WJ|s2RqF?;k($+&%BLYreb{1( zvWUZww};@dLBV*+JW72}ca7Qe#cLaCag&GfeOdNB{uvgNP1#l^c1q zYYQG^m_}yqdJfsO7opKy=$wt(}1L;k(*f0Cg>WfZEg29DuJDP5Aq`&^eImoZ51R5F zb0hCs>ObP2CzjK*9vins7-NJIcZMr&i70$(VN`w-GS@@k$3H&1?qW+iDkXFCt7es! zbnd64`c{7oh$roqRqbHxp-pb5$Ij!BViHsx>2UavOe4pm#C>e+ejasfN8*{J?bt7a zGx$QVnM^8R8)qHPX!enJ#1pis=VcdKeousPchOsw!ljP-$yhBPka8Zn;o8ssGD((m&7_v8h)>01+Lk{1YNoXL6*53&g+ zr{%N}SbKy}0aMT=Jt9-dCaK?M{3Z^8_La{*$G|h=K&RKglU^XY0Vt{OBF7@q!}a=g zrd)ot=gyPW66A03?niLAKcJXFhiq;RB_z`V5qI!R+SJrhy4fL-Eotgv9f%b5M%47O zoYX`}EQ#OEf1HeP{XnMgAeWGJ{>+@*%s;QuG?WWvxH$6CLKC4@Bo1k5!kUIW* z=oj8N3yT0RCBt=QF##tbb1kJnW=CdXI2d_a%M3yD>9XwDb28jz;V6y!%?*e%Q2fb3 zeMG4AbM8e>S{+nKxs{G_`a660ry{1%um*XyQdrd(yw-*usD#-&Y!y?>P4&jiy{a5Z+8 z;@NzDyD87uL2P@Kfv7E_@WvU19lFdQ0L~#lDh@?P!-vdgQFGH#YoBH`TGEo1cR&TT z+;vxq$v`jA&MW!^_O9J!~ne?u-6{ROuz_tQ^<7F zX>tTuE!~LyP_W`aO$UNuDqhvLw@WSzLvYmx5o)dX?W?Wnm7^0Qo@ z)R1cl<|bw*hkEhK_kp2U|FM(N^HIF~ed-k-qn~gG{UpT+X@nu=Mx$cD8S?3*Q1rnu zF$=<(#2)C>=t6WWW0P#)D;j)Z(C6H_L>ekBqqp__`E12f$YZLSQnB%<{(i51m*E>M z6T7J2F#HN>O{`Sqd$pz>i+sD98ZcuLJ4WqQF1E_!m3p=K)W`!d!=ew|3~KBz6+lde zpVk6^h;rbtLVeTEFNe-$8|s-Hp$}Zm3a`l_FilE=lrhAYVxvStuoRwT(keTQ$O*`3 z!@(&~AEqHjjt)UznDQHYl(jc2vOjcDGelbv7|3MPuCVV>?J%7#RLn8D!^5nDnBzVm5YD-yb1Ol-yL*9$GEvTHbvAI)t)Eze!X z%J-aC{P5t=mXCo5otp?*%}jQY`HY~En#5bbzi&_5;*6AbAxsFkBFUAhbu_yG#`?Ac z1mhrUA@fe}xM6Vb>mf(|{9h&7^B)HQd#wucJ;DJmg(>xJ8=JE)4U>St<+UvD9{zTE zc|oHgr(Ed`e1&=5Bj_d960RRrHfV1RR|!PhkSPOS#>gSii4lG3WxCYjE9t>NtacuK zo*Q~uqtG^qvb86OFLUG=xc~3L-i*^7^k0MezeS-h;xh*VS=(B+4xS*@>9(IQ{6gCd z$Lj|`c!DyhaGKGay!wh_-O)TP#nyEh5o5Yz7H3ut$!4SJ%-&?|S9tP9DNXMFJZ^NK zfqg#FW7I|{l7ZiR?T);}2t(!cG+1~};P2v%L+jUh9IFu_Q9GC33&aX6%B&|@@Cj0$ zM#w<59~`YywW~3C9IC?wXN|uVl0toF7^63^igS#l z-9bcpoXccPb-P}Tv~={gmXxkwV}yPc~^lVLy090?)_okL_*8iZjhyB{J3P%2Vbo06+Tp<9FvAk(PDM= z9pTMiwKbYU?<8ZbXr|K2$5s!aj=)4d9`%c2A$htn_l9>rQ*R>DcF@ zuGz7)K`2x3{qEKqjEb-mrY5By^4uOjUInOkp|6Hk^|LpwsN0>$c!IopqcZQDRd9^@ zrhYyLW>D2y*xouI&F#VzsB*@5e6_$?WeG^u^6mgA(tYEga8)kLyZVnmu2>83`TP@k zY(S0*>v8$1CO>|ru}@e5}@OcOMkEz@h0}Y{1$XsckBHWRcG8f z_)U$m8h-wY<#*}vhSyBKUq3wIB&=7Wuy5=!@MorCoDp2urE^(ZR# zu9uDUNFC_+FMXTJ4>6sQH}tf;+fGQ+geYVuSYHU5@dvBG?JtlTqJaVNM6h z$UmC+Ea}E0)nPGFW4@H-Oi8Icg&O8^;6Ir$@Ps9=83VTH(K;NYoZ4qMGh2+UqDGsFsykT?$j5P~qp zP+taO)l$5`wUul9(d4cw(}cVf;v?RNf|d6J3QAPPdQ1XAIxrm^IC3BL`a3#JTJ z7JEmpZK!u*FzpG#NpKTrpiKKEbI|V$jQ&m6ElDGi(T>KI7TpS)YO>=3_oKw(`GF_4wi3gMtz!mo*fehbTL& zWNXx?5&KRLi%o3&!Y-B0z=v^+dI~i!Sx$W(*Gz8_EiNYTvkMpkkf0SbPs0#_Wki=v zf|Tq8gKS?bR23?@tmhV|16TpX0+h#o81XQw3(_3CO2)RUQpOmVJ{nXHDZLMK1kEmA zK0X2vg<#(cnLNK^6Kpt#u`4hOntSe*t+ZzfLbnS$U{yr=eo=UAlVb#AT_ZvHV^lkcN0RMWndnOsLo4p2>|fQcZ`RTtAP|Zg zX}^gTFf?KZ2zwv^kE0b)nyL*}y#C7XbfTN)=)yP+j(9G^j>!o>1b%p0wf~j`vHE`p zuM%Z?;K=wt{j<8>K-y+SltEHEm0HV>D0=67DXo@!(QrsIw7*ipacwMrIQ!+a$NM@@ zc)q<%E)yAC_{<~B$NANij*$P$E`;U#t}$_Fd2LP!Y;V-}(h^;SV+dDDe>82S-jU&j zyC(LYbS9LsvB!VF0 zRkvh6lI{E*2$IF#CWqK-H(R}rDWCfg3kbm?&#N<^eMuh$G(TTwjxh&s1sqSUL&6&C zSVK*=6TkDFa8frkUVzfCId?PS!Jr)JqacXuSvZ15O4N4Hw?Xn(BZ|~v^lY79_da>P z%!6^Z25HJ2x~&tp^MC~2#eA8vzSkr|bQH54?e8dw=DALsA_idhGzn^xul=|BhkR{(k45FF-berhe)yk=87Gk7@ihg8rAVP%1dh zY~l#(FPaZqQVHo;?kV(mSzS@bz|}F*uNXQ@8aqX*QId&AZ+tJ`=lM;wOT0kPhS3s2 zLn~!E{8`(Ff|1_JtY=M=Fp;(#v$J^|6D=CLtl3ahVezx+3R7@}3RXUx`bn_-p02!+ zzJuD5)s-XEFoqTa*#PS)|GsvR+=weCw)ftUa%P$Kmzh_qTP2DDc^mXwkdV=))6Kt66E8z4nXsWmQUOe*z^Cm9@N;4aPB;7@U* zz~2eCE5WP4z`tn&;6t;#NtHm`r4DGqre<|UHy)8z;Z+eckDKCDe?o=Ez!29JGtd1@ zX@R5?aXw4cptuWMz_+q1P!uCctwMWV^`2Sq1R*6cL|+sk8>%*KEAt+cB7c{Fy4P?A zd9T_YJ1f9{$W7N1{;8MCxGFWvdJhXvmwGqcn$?|!G!ob`gyz4JuH=f+FXbi`Acyng z4-RWY0QcRCm3)k9lXIQY$xf{;ymYm|A=)-?Yrcjl{(8;+Oq`g1OAz1!H!ZN3_<)48R&ZX!ob6QK<9k?^Y4*F=Vu&AJ z!+ZVC**32fuGExB--8F1?gRbp*Y4Z_!>+6@2S~3nIoqp)x~zm8^m;p?Z{oijIfENa zC*?)GHh2$%yfBB7%wv@<6ZW(_%2;;Lko-eZYn28q3LZ@icV@@Zeym@4GG$(_jxQ)1 z?w^$$hIbz#)rn+ilf?f%Q*3&RjOaDO?spS3u2TQuW|#Bdixz*i#Ln5kV8Zz}LntDF zvUWo4f;Fh>mpb|UFM9=L%4OC_)=R^+jB-V)O}-RR3ul-d&7%RG(CUGl81^HuycH{< zE-OSxMIxo$K$Ct@(0L@cg?eNdkrL=GvmOE$bkU+u`s{Qs{49Y!`Z6A6qfj$rv-B?_ z;#TscyNpTsOiRkEl&Llet?7wA^MZp&CHmL4)A7f`S9Pz!&@?R8W91tg{U{>Uvu?KV zJ0JNm0BY3NpR5gf0WHR?$7dZ^vE&k1nn8;PKwU?Cng6A{{?D2VfwW&7P|ux{iduDA z;C74dbUe0qomC_4q&J$JiKM!_Jo?>Gf{h|^CuLxx`XtDb~j=$O2a`8AeE zHldP)m=hQ&GQkd=gQ$|ZkQ)C>Vj$abyhL#xhhU9!5@INP4LCWEV``Ki8$|%c8K7Na zfH89(Z%We$kR#JK%7Do-l=cKU;xJwNMf3$N!tW%{^h=+l$f&?qQ$v(AQW3QTv(#Jw zR$lFzZ8JVXyXEamG1pGjy)e}s)Qm;dJj}PFaJ!gPlm?y#Kj1W%g8J=l%E`*XUl*il zuxFP$NKAdR_znqvY?b}nth33q{_&pyX-~ix-dF|$EMNXAzKa7d(4`{{3=Ic`05c8{ zavE?oWoo%Y!uH&-ctl#ry2j{=pS0y88Mr`WFJgk&J^rJzI$n$&VF(>X@lzeY#idoc8EYl6h2OYVY{xV4rdK zLV|`4?S&;*(uh>*4C2IE5P9L1oj|kpQ$ZNEK^|F)p?o`$57!G<$+P~OWu0^y8bIx} zr<2D4|4XUeu;7|3d^B1wD^+ptqd8`ggj~M&yy9J5=dWs)ba^lKphIh5#l$hHBK@CK z{cAnM*MuCqWfTMYm%J-zM6%i1`{s3|kb>|YD6X`dPm#^dFnJ>6(}cBQNN$v?pEBpbpL6>>+1+yHHiGs-P@a^SN_@!9LCr0R#^}{`~Ksoz+;3sB+hwH zWBf6Jr)}M}t7U$JNDk72)$}3@Lw(dqU(Ilc@!lgA&55@{KsYIWxJO(q4Lx$d{rO?0 z2s|LMUqTjmQk36$+FDT%=$N+x-7_uiJWoGyl?{ZXFXM?Uiw$Ee9gzfYwt}w66DmI| zT)OchCBIyDU74XC*BtFm7!W!zINuccmm=HU&ldc->J27>F0ti@rw_*2O#dF*ED$yr zwOfW73`y_EhvYc89*KSdyMv?-fy7%5hQ=9sUr2_R}AbFeKUVyKHG z5&(__r<$lJ0xzwFFA<8mimHJ`i*tjjFPWay!njZ0(wDk7C35&Eky_1zj07eRAL6Vf z1XMyA-Eqz|YMLXeo}QFtt}3M&)|4O$M~M;wttSlJpW)3QktpO986!7XX`%cco- zp_rQ?FHoz9{+Be}xHkBI40-%7YMG(5#y6>It=#T0>%U7OmdBAH17Y?721&Qn6Cz_+ zDi=MLo>Ei>9i=w>S&XYsS3yC;Jl(=BL>2#SVayva7<0L*hexPrz|N&MXbsO zqE1T(6*QC-{wz}2QD#(gj2*#3n18I_sOs>AVU!4_t1I$x&G<9TVppKx3c(cd58DuT z^zR9JZ2Bd(2z&=8Y`B4zMr4gcn+UaH3#koYS+w(U;?Lh`v5FiA+Yr%rrZZk%0N+?~ zCa25_r^QCH_cenQbsj-PvmU>xGhyo<;3<#tx;euL{q$M(+ zX32Sj_Z(kdi|r|zC}1xLc`hH0C$zV`+Oc7^x;nU1JzBoeWAq%K|CihNliukI^4~Tq zx+m|GUVyX5tF=(@RngPq8$_ezmw~8~lZokg4v;@I3^ZxlCt{mHH!bDV1@Ofh^}yk7 zYY7wgVhNF}+yPQFqX0x(c!5?T{d&$!O`W@`%3aUPb6t(RAYI4W0pC2&ai)*|=_%$w zXCmrG@Mv`>HcMtn0sle^Rn}l$Q6Z&+` zoLrx+tZ)6a1T^Amzdz?-sE!8^C62yWNkeLJ^3K1gYVv0FWCVFVCLVl-{*Ro9y9{(k z|7q}`84%(}H;ex;@mKNd{Yb7XK(kj4V~?>;yk`LdTrJ=2PfvPLSpSj%oQr~^t^Sa< zi_CdQcq_kJ22cijxZHIxiYIOJ-9QaM3$B-Q1w^F9o`gLJAw~KSI=F6EK1ze+GVA6ZDFp zH+Za)<(wx#<9tNmof?qh?EiXKmhGViQPdO;^!2@ef6F?GecEVt^;JRrQ}YqueTxh(KoXKhzR@6ptHUCqp_p!*dS(fgpB2k!pOj`IRcN(WNd62I z1@U3W)N!rm>8=p5omW_10vwYILgw@8VH8uIfuKbKk1j(^T~jHE&LSc)NJhJd4q8Q) zBSJz>V>d*))O}!!7w1^n$e9v4q>vpl0DJgn!rR ztfeXuG;{C7Zd1NYzV9H43#yBh%z!aYAr%sN0}acJy@N`v5X}{%Qh`%bZ+q&p`)*n& zU_85Y9s^o66fPJL$y*BOUd1zI7b&;4m{6n$pYU_ebn)xzo2Jv{1T|46nSXj%V(~aV z4Gd6sOOU+|;X z{BXylIKr%Tb;hd(fByONFWW#5wJuS2=oKVVSR|E~A3x-#{+|G|0Zjgf`gF*u277VeefJH2=R4n7OUMoT<-6L200chg=%T^y>A{G4BO9~~aUO%5c+VG` zK!RfRDx|ocxZ{pH)@l&hkDY=4C0#Ak3-n;5t>vb1{Yhxd&_F!!I4CP=CAk(3B3xeL zL;vtlAAIn^;U}MbavY})U&dsGE|Hsn&BQ|ri_ht%Gkgx4#}I&SnrJtAG{MsW2pZn7 zdZaM%p??$^+0n>bHhn4iB{UI5x{cCPNgF~0MDJsO#0*Rx6IEyoMw%YV!O@bR&zE9D zhcUeLI3zAsh|ahT{CkOAb_xUQ0h2152oxKEAF5z^8bKpeq zt_4Pef*H_Wgz_>%nQ5feHM%>h9%(46g$QRe3gsontEOo`HPh|+{{wKqnsChDTW|mX N002ovPDHLkV1g5tX^;Q_ diff --git a/documentacion/extensions/SemanticForms/skins/jquery.fancybox.css b/documentacion/extensions/SemanticForms/skins/jquery.fancybox.css deleted file mode 100644 index 8fe0fbd..0000000 --- a/documentacion/extensions/SemanticForms/skins/jquery.fancybox.css +++ /dev/null @@ -1,359 +0,0 @@ -/* - * FancyBox - jQuery Plugin - * Simple and fancy lightbox alternative - * - * Examples and documentation at: http://fancybox.net - * - * Copyright (c) 2008 - 2010 Janis Skarnelis - * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. - * - * Version: 1.3.4 (11/11/2010) - * Requires: jQuery v1.3+ - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -#fancybox-loading { - position: fixed; - top: 50%; - left: 50%; - width: 40px; - height: 40px; - margin-top: -20px; - margin-left: -20px; - cursor: pointer; - overflow: hidden; - z-index: 1104; - display: none; -} - -#fancybox-loading div { - position: absolute; - top: 0; - left: 0; - width: 40px; - height: 480px; - background-image: url('fancybox.png'); -} - -#fancybox-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: 1100; - display: none; -} - -#fancybox-tmp { - padding: 0; - margin: 0; - border: 0; - overflow: auto; - display: none; -} - -#fancybox-wrap { - position: absolute; - top: 0; - left: 0; - padding: 20px; - z-index: 1101; - outline: none; - display: none; -} - -#fancybox-outer { - position: relative; - width: 100%; - height: 100%; - background: #fff; -} - -#fancybox-content { - width: 0; - height: 0; - padding: 0; - outline: none; - position: relative; - overflow: hidden; - z-index: 1102; - border: 0px solid #fff; -} - -#fancybox-hide-sel-frame { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: transparent; - z-index: 1101; -} - -#fancybox-close { - position: absolute; - top: -15px; - right: -15px; - width: 30px; - height: 30px; - background: transparent url('fancybox.png') -40px 0px; - cursor: pointer; - z-index: 1103; - display: none; -} - -#fancybox-error { - color: #444; - font: normal 12px/20px Arial; - padding: 14px; - margin: 0; -} - -#fancybox-img { - width: 100%; - height: 100%; - padding: 0; - margin: 0; - border: none; - outline: none; - line-height: 0; - vertical-align: top; -} - -#fancybox-frame { - width: 100%; - height: 100%; - border: none; - display: block; -} - -#fancybox-left, #fancybox-right { - position: absolute; - bottom: 0px; - height: 100%; - width: 35%; - cursor: pointer; - outline: none; - background: transparent url('blank.gif'); - z-index: 1102; - display: none; -} - -#fancybox-left { - left: 0px; -} - -#fancybox-right { - right: 0px; -} - -#fancybox-left-ico, #fancybox-right-ico { - position: absolute; - top: 50%; - left: -9999px; - width: 30px; - height: 30px; - margin-top: -15px; - cursor: pointer; - z-index: 1102; - display: block; -} - -#fancybox-left-ico { - background-image: url('fancybox.png'); - background-position: -40px -30px; -} - -#fancybox-right-ico { - background-image: url('fancybox.png'); - background-position: -40px -60px; -} - -#fancybox-left:hover, #fancybox-right:hover { - visibility: visible; /* IE6 */ -} - -#fancybox-left:hover span { - left: 20px; -} - -#fancybox-right:hover span { - left: auto; - right: 20px; -} - -.fancybox-bg { - position: absolute; - padding: 0; - margin: 0; - border: 0; - width: 20px; - height: 20px; - z-index: 1001; -} - -#fancybox-bg-n { - top: -20px; - left: 0; - width: 100%; - background-image: url('fancybox-x.png'); -} - -#fancybox-bg-ne { - top: -20px; - right: -20px; - background-image: url('fancybox.png'); - background-position: -40px -162px; -} - -#fancybox-bg-e { - top: 0; - right: -20px; - height: 100%; - background-image: url('fancybox-y.png'); - background-position: -20px 0px; -} - -#fancybox-bg-se { - bottom: -20px; - right: -20px; - background-image: url('fancybox.png'); - background-position: -40px -182px; -} - -#fancybox-bg-s { - bottom: -20px; - left: 0; - width: 100%; - background-image: url('fancybox-x.png'); - background-position: 0px -20px; -} - -#fancybox-bg-sw { - bottom: -20px; - left: -20px; - background-image: url('fancybox.png'); - background-position: -40px -142px; -} - -#fancybox-bg-w { - top: 0; - left: -20px; - height: 100%; - background-image: url('fancybox-y.png'); -} - -#fancybox-bg-nw { - top: -20px; - left: -20px; - background-image: url('fancybox.png'); - background-position: -40px -122px; -} - -#fancybox-title { - font-family: Helvetica; - font-size: 12px; - z-index: 1102; -} - -.fancybox-title-inside { - padding-bottom: 10px; - text-align: center; - color: #333; - background: #fff; - position: relative; -} - -.fancybox-title-outside { - padding-top: 10px; - color: #fff; -} - -.fancybox-title-over { - position: absolute; - bottom: 0; - left: 0; - color: #FFF; - text-align: left; -} - -#fancybox-title-over { - padding: 10px; - background-image: url('fancy_title_over.png'); - display: block; -} - -.fancybox-title-float { - position: absolute; - left: 0; - bottom: -20px; - height: 32px; -} - -#fancybox-title-float-wrap { - border: none; - border-collapse: collapse; - width: auto; -} - -#fancybox-title-float-wrap td { - border: none; - white-space: nowrap; -} - -#fancybox-title-float-left { - padding: 0 0 0 15px; - background: url('fancybox.png') -40px -90px no-repeat; -} - -#fancybox-title-float-main { - color: #FFF; - line-height: 29px; - font-weight: bold; - padding: 0 0 3px 0; - background: url('fancybox-x.png') 0px -40px; -} - -#fancybox-title-float-right { - padding: 0 0 0 15px; - background: url('fancybox.png') -55px -90px no-repeat; -} - -/* IE6 */ - -.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } -.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { - height: expression(this.parentNode.clientHeight + "px"); -} - -#fancybox-loading.fancybox-ie6 { - position: absolute; margin-top: 0; - top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); -} - -#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); } - -/* IE6, IE7, IE8 */ - -.fancybox-ie .fancybox-bg { background: transparent !important; } - -.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } \ No newline at end of file diff --git a/documentacion/extensions/SemanticForms/skins/loading.gif b/documentacion/extensions/SemanticForms/skins/loading.gif deleted file mode 100644 index f864d5fd38b7466c76b5a36dc0e3e9455c0126e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2767 zcmeH``%_bA0*1eHPVNawNVtR;Fkp-nQj8edfS`v<5L7TgR6wi;WfgH-0}4fE+c_uU zB6tf6auF}FAcDdgg|bMU&H)LR5jARM!8$tuwd$nHqS?K-=JNZ+yGvz=Iegxp{+qWGZ9j{-%9vvN>n3$NJp6==CAqYaF(LfM1Z{EEA{{Gt9 z+Ba|B7z_sR+xabl|E~mm-*OXmhLq??y)HONjX>1ze1D?RIn=G1`RR-%fb}zgSh6^a z(}Zw20U1L^Cs9UcyJfc+al#}J2xVlYUoR{`gd&QDxAb1w4>I~5gc?ccq(G+T!I;H};U_uyHR0@hr>Qk1P1=6fvUBhR zb|&^^cEQtu&W}=-=YR7o5UI)AD*~%J7bkVd5`xrdw{bHm;|Bf^_|FG$9l}`ruhnVF zO%=6X*I#yro*pmfB;-A0cVjz73Qy)`oa=df_3Bx6!M3TNALf9BwI*di`jhdovR(I= zFT31zui1Xw??+Ym-lWNq=V6~8tt012$@*hy3So0QNJ#eIJ4Yh{qJ+aTY>ng8W1p4BrwB_>i7AY-xmGrA}hAeq`aX(yx~=c&|=$w&*&PpKd;G@@0oXK@D0x=;tyY&Eb|HKPsM z71v`PO)na3pfO*xUD8Z|CQju)c+RSAH=5V^4vb9Q2JwHwt|-INt|!nD?AlRxF5ZT8 zaA9~hGb$~rMhQh_0+31$tkzyLi>X3c7>F!|Jyn`+5{LG=E`sIQbHA8!=`uday6D6Y zNtVL?j^`6A%UuwO!`}j#s~H?w=P<5}Z2)*PPx|5q$MM+1K6_d_cie9JVArbrB2sRy zOl**1Mc+|zLM>munG#O|##RApuODr^1+pL-?SHX+D6Dz_@%-Oo(fM&hHYZ-jWU5jf z&nBYG;>F6&Y`veoLdZ@0WyrDsuXOP)9g*C`A(+R`Ryc2+9w_DJNaf@Dzg?~N{uI_} zjV(!yygvrGv#KF*Mt{6H^v1Ve=hQyF2^E~bd#&iZg;(%dS^nM;oGSF1Y^&rY}Ian zFrp%SBGPyN{Z?t%Mo#!qgLQ2)k{>KAv?=zezKN*qPRf>^4QjcWgyxiC}7Vb6vGrBLR(1J&B%*gb{`!Jljb^2%jB$ zFBNUHANC6Q?0~M}cVtgk_;_DAB-BE?2dP z(C9OIXza3Ao-@UyqX%`5cjg#cHl!uHq;&?~JO{eE+A2KSSD)s8v&CiV$kV$A=DG@i z;6JY7z*8oPdj@bbJQoTAENW#ls(ucbGA#yhN>zbWqBTbLl>rGqOAY+` z=psSt8VQE=9+X8^$l@oeDzRvja79ry3nvLcOR7+)bIFyJVoz4}URM-47_u>V zY*^e(o`?|l++*Y0uQ#&dKapW1o?J{jx+*_gKV^cW+W87KI7hZ5viXv$$=1IR^Z~yA XWBrHU7iSEP8X8hQyAJO{V6g1pwSv80 diff --git a/documentacion/extensions/SemanticForms/skins/loadingbg.png b/documentacion/extensions/SemanticForms/skins/loadingbg.png deleted file mode 100644 index c01d0de655936b4216f1669ac028fc2ad06a1138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5560 zcmV;p6-VlcP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipM$ z3lS&o94_Ag02Me%L_t(|+U;HIcB?xI!}d4t|H84EA16KIO(c-hTe_!ND=U|#O&Wv% zf$e7G;_mj9m)4s7UcUa)zT5D>pm-qwypr*M0rABEcy;6d0^t(@@RN+M0>RxI33Ksz zzu(_)_xomM-dgit0K6~|?grnl2JRa%zHN`Q`@UcQ22ivgZu}mMjzD1K@qRyk37*`> z>-x!H_-O!mGh`-P=df%!0O-WvgBZL6Pe-ia01OToA$okg&j7GLKVO*@UKIeH7(YIbjL#B4Rux!5 z{}uHcFg&__V}$h!0L}0n7`_nz^x*9+$pH`(7+``E&$l;ECwak&*H;0;s{o*H)ZPQl zXKa9|zXQ)#D}W{>ek|sDFm^Qj{`d_n^Sg6|>jkoUp*}98Z-@*ph zH+uajygwRz+<$)rPwGVpi0Ho+w9hnv$O0>P`~KY8KH~ylnDH~a`)nj18_Yru>oI?%-(Q`Klr?5eTPBAoF}r zbN~i`-RO}4X8cU|++h7J0OID$0oPg;9u^g;eppm%Gasd|^poc_oZhxxJz(LZr3Kei|ukRrN zL{~)jECJkEV33eB!gC{(k6#La%-g%j1WF#zK~50+1&TCmf(H&F233(S)Z3$7BPiuy z7rlQ7A`z+zvULMW0%#%W`(w3FQTDZh{wI-~4H(ve{JcNEf4+7i6<<$yelJ*{C8AB{ z%@?_?#38hnKxq*h2?xp=09Nj`B-4*SbK+o;;w`EFV<_-b7P#Kw{fcpi`1m5p;YsUQ z2?LP@yr5jB{589*o?Hkt5X)5R&>m7m!%slmVLP?Sq7dUWABK096uk zwPpZq5Rr8Nne@wa{#EJuf*93_r?J8V?m&z5VQCTLwy3FB+8gNi_z z6|h1LMDza+vj2yXZs6@B)cu*HiQ@$OD4yO0K#auuhiSv4C!N8V zbY2D14MjF0Zea*sLU4u&0^H2?q$Fz@Mv4Z8Rm zG}ti?>0fCaDf0nYLKfS;Q)n#@;Q0=cxk1{y$g6jnU*Y@QA3Ly<+FH$ zOzw0NuN#ngGd)3>DX8`oiprZ2`F9b~Cu{Cx^8~E4>%imVh zX4O9!LP@8zldE=dr3mg{{IGge&n@ZHMI(>EF41_4^e=j-7^1wWyh4awsM|J;Y|C{H(67pMT@+Wws(cjIRR9E%Axh^`BUSVW-9{>EDv zXt5krLO?4F)dcEkMIO+EZeugPXq0IMnM906!Uib$dhq2a*?s!>Lu{2 zu+bzroCJU_8dE6`nHH~vh9Rhmm0;9~Hqeq$FtoLcfu_y~vwWU3aTtAf;`I$=@rvU$ z@Vif!fmH)VS%X*Q112&9TRlA983rs7fRN1V;Cpk@x@E>}SAx@&y_HMn<$o=+`rvAB4hD31_AqguyC_cBBJq2chY$|X;t&tnepW4Xkld|ApGQ<&aRYq0Rtl- z^+IDfxt>fAH82XsrgxcO(~}O}GoSxtb+d_fu@fOE>zjA-W?ck>`m-v(Q2G+12n+Fy zA+()4iu;{3V!BYHH_>4_DO1&?FmqfP02cCq2AUETA{81^cJ*LiP(ScGHauda(G#bG zS)y8P`d}ip8~EOz-Rz<&=bs7zF8qU)_N*W?3lCNDSyc!qXNd261G9L{=#>_4rY}ub zCYB-~6|kkx_v8)KydWE{KnFCb8zfXad@DHw^V(}m4*zq%y-1SSN%E?Et}Ki)Fu3Sk zegK@Ol|b}ITmTHBvJClde9b-@u~NK?0Rl}St)!l2LzX9pQLx#AM*h#tp;Rx=Ho{67 zfQ?O87f(FgMP#0w?x_N`$~msX7OE%zcYCKZRlnoKbAI?YAplJH;xir@YQLK;7M z&s_sRU|7ZbSNF4X2rFPPgSy~^X;``nqi3;3L9yz^yS$qHqnV-2>TTTOoO};pofwGO2n@G>d6VQ$v9)N;?6R-Pr?Pzzd z*hFE6J1)QotH>9WYy4hT;_Y5AsTU6D&z6DN2hLEpgqY-_w`6Pd*$$oi**#{DBU}r} zt!NHlia=NgMz_Ew5&Vi_y>KuSm{bY@)p2U->!SCvpQ+vxSps>l8J^p}fqFlJcLsys zNRE&(gL2qZ{QXuqfm?l?jgm)5062{&C%+dxcqDO^9ngUGOMpr2Q#imC@wqRQda;UoZLwY3$AS$3Ri6&nqdaxI`8C3>hYKkac;JC15uLamvB z7h#1(%1DJ3(9fgSE-_C~07LJd5`? z5d>Az=t+n$0VF1}2g*N=8Ni5W!i?*QsFNM67=aPb;i*pFj9&^`YPFJPNmX&&0@YVZ zq9@^C2}V{9s?J_x#|#h>!HV*;n3Nr|%)o-y;@__8QnSf$ieNyQn{fSD{lL1h9KJ#WTM4TCn8)xh$iSf$rUUAKRT%-{hzzaEh zfyU4zoqcnrAl`SPEMJk0fCpg|F?w$vj@r{zRCJdwgRR}p#GFA!G@vlS<-f9sud)N>=YAn@6!79ig5ndP)dDYxU5QY_oh^3*`Z`5QtV10;n`Do zd{QnhK^$67&jW1b-~y8~-S}}SYzhY*t;Re(mU9MhvY8dy3#ybpvmLLO4ZQ zpT)G2GQ0R309tFy-Frg&t!Ufsl%6GeX84Sqo8diq22uTXuSZ*{Rrv&K%c_RF5!v`A zga>x3RtpaaYjtdlIuls+;xiVoM94wLR}NQ-$zM-mKU%G81O#j*!IBW*fVZ zbQhQ5lS!Wgz?}t{k$a-(HR9Fii1k@a7sa2UeR<**tIDx)Eg8D-q+Xx)c!CIHfhs4s z73@+qoS??=(T7G=`{kpSEZS%}OZ*~5-+)2TacO8@-53f^0IGfK~E^=-z=5Z{+@bBHlyo z;OOvZJHNOf=guOtAIA6G-&?y`$;UQjTvl(+q|6dj{q>df37GMhV0@*^SOLX84FDSp z%%WY(N)vJdT7Fb2Acy841UkZSr5YD8#H;Lhmh%pzD zfTQNWpQfoCos#X|#Wtr<%0abHfGPte4BQencr*Td)`sr_Kw;SHV2UT6-8+&d4?1S; z1OV9{KUQb~ds#S>d4Y-nGLcA`DTsf=z6}8PnSmu#1kCs&d43Vyer%S6V=|4nIo-XUGjIUErCjU_M*#e+dABNW|zr zX8KOFeZ&H2+?ySsXo(hpRKO-w0E#rs*q~Z6R&@*4M;rfB06>~K$jiF%Q#Mh`ip!0yykuD9~WH_ao_+AnK8xWA;hiON|RzRqZT5Ce~uZ96ME>jQ1}CfIA4X zL!HoR-y>=Ipf)h8|Esfl8pya;q6}u?Ae$F>2m@c`^)CSczy|1KPj+~8OBjFwff?Ve z?g$z%Is(9M^rN!yJB{-ppw!b0Zx zZ1RUK0EzR2?1Zv764vZ-!^Txq0~rwh4GCY7;r}=QY;4f1p7=#fV24RyCRH2h4KM&y z<6`TT4F9qKAdHap{j*cfGXQuY1R>*lp$X73@YM|eBLDz$1V#K&)&ZOg|6806?x#HGs^tMIkW>G?4kHAb53e|EmBX0>Vri2RBj$ zq>A8AH27Z&fC3bi3TR2}x4*^Mzn9<3@8$RMd-=U=m;VCWYnLvg5PT2-0000t<7Z)|Lw1_l`!8R_Zi za4wL6A3ziXNjL*&41O&T+2V*lWk3h0l?3?(GdL7f96Kw*!>(<-RWNn;^5+2xGKUv# zJNgetPropertyLabels(); - $form_tag = "[[" . $specprops[SF_SP_HAS_DEFAULT_FORM] . "::$default_form]]"; - $text = wfMsgForContent( 'sf_category_hasdefaultform', $form_tag ); - } - if ( $parent_category !== '' ) { - global $wgContLang; - $namespace_labels = $wgContLang->getNamespaces(); - $category_namespace = $namespace_labels[NS_CATEGORY]; - $text .= "\n\n[[$category_namespace:$parent_category]]"; - } - return $text; - } - - function execute( $query ) { - global $wgOut, $wgRequest, $wgUser, $sfgScriptPath; - - $this->setHeaders(); - - // Cycle through the query values, setting the appropriate - // local variables. - $category_name = $wgRequest->getVal( 'category_name' ); - $default_form = $wgRequest->getVal( 'default_form' ); - $parent_category = $wgRequest->getVal( 'parent_category' ); - - $category_name_error_str = null; - $save_page = $wgRequest->getCheck( 'wpSave' ); - $preview_page = $wgRequest->getCheck( 'wpPreview' ); - if ( $save_page || $preview_page ) { - // Validate category name - if ( $category_name === '' ) { - $category_name_error_str = wfMsg( 'sf_blank_error' ); - } else { - // Redirect to wiki interface - $wgOut->setArticleBodyOnly( true ); - $title = Title::makeTitleSafe( NS_CATEGORY, $category_name ); - $full_text = SFCreateCategory::createCategoryText( $default_form, $category_name, $parent_category ); - $text = SFUtils::printRedirectForm( $title, $full_text, "", $save_page, $preview_page, false, false, false, null, null ); - $wgOut->addHTML( $text ); - return; - } - } - - $all_forms = SFUtils::getAllForms(); - - // Set 'title' as hidden field, in case there's no URL niceness - global $wgContLang; - $mw_namespace_labels = $wgContLang->getNamespaces(); - $special_namespace = $mw_namespace_labels[NS_SPECIAL]; - $text = << - -END; - $text .= "\t" . Html::hidden( 'title', "$special_namespace:CreateCategory" ) . "\n"; - $firstRow = wfMsg( 'sf_createcategory_name' ) . ' ' . - Html::input( 'category_name', null, 'text', - array( 'size' => 25 ) ) . "\n"; - if ( !is_null( $category_name_error_str ) ) { - $firstRow .= Html::element( 'span', - array( 'style' => 'color: red;' ), - $category_name_error_str ) . "\n"; - } - $firstRow .= "\t" . wfMsg( 'sf_createcategory_defaultform' ) . "\n"; - $formSelector = "\t" . Html::element( 'option', null, null ). "\n"; - foreach ( $all_forms as $form ) { - $formSelector .= "\t" . Html::element( 'option', null, $form ) . "\n"; - } - - $firstRow .= Html::rawElement( 'select', - array( 'id' => 'form_dropdown', 'name' => 'default_form' ), - $formSelector ); - $text .= Html::rawElement( 'p', null, $firstRow ); - $subcategory_label = wfMsg( 'sf_createcategory_makesubcategory' ); - $text .= <<$subcategory_label - \n"; - $editButtonsText = "\t" . Html::input( 'wpSave', wfMsg( 'savearticle' ), 'submit', array( 'id' => 'wpSave' ) ) . "\n"; - $editButtonsText .= "\t" . Html::input( 'wpPreview', wfMsg( 'preview' ), 'submit', array( 'id' => 'wpPreview' ) ) . "\n"; - $text .= "\t" . Html::rawElement( 'div', array( 'class' => 'editButtons' ), $editButtonsText ) . "\n"; - $text .= <<
    - -END; - - $sk = $wgUser->getSkin(); - $create_form_link = SFUtils::linkForSpecialPage( $sk, 'CreateForm' ); - $text .= "\t" . Html::rawElement( 'p', null, $create_form_link . '.' ) . "\n"; - $text .= "\t\n"; - - $wgOut->addExtensionStyle( $sfgScriptPath . "/skins/SemanticForms.css" ); - $wgOut->addHTML( $text ); - } -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_CreateClass.php b/documentacion/extensions/SemanticForms/specials/SF_CreateClass.php deleted file mode 100644 index 77583c3..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_CreateClass.php +++ /dev/null @@ -1,228 +0,0 @@ - -var rowNum = $numStartingRows; -function createClassAddRow() { - rowNum++; - newRow = jQuery('#starterRow').clone().css('display', ''); - newHTML = newRow.html().replace(/starter/g, rowNum); - newRow.html(newHTML); - jQuery('#mainTable').append(newRow); -} - - - -END; - $wgOut->addScript( $jsText ); - } - - function execute( $query ) { - global $wgOut, $wgRequest, $wgUser, $sfgScriptPath; - global $wgLang, $smwgContLang; - - # Check permissions - if ( !$wgUser->isAllowed( 'createclass' ) ) { - $this->displayRestrictionError(); - return; - } - - $this->setHeaders(); - $wgOut->addExtensionStyle( $sfgScriptPath . "/skins/SemanticForms.css" ); - $numStartingRows = 10; - self::addJavascript( $numStartingRows ); - - $property_name_error_str = ''; - $save_page = $wgRequest->getCheck( 'save' ); - if ( $save_page ) { - $template_name = trim( $wgRequest->getVal( "template_name" ) ); - $form_name = trim( $wgRequest->getVal( "form_name" ) ); - $category_name = trim( $wgRequest->getVal( "category_name" ) ); - if ( $template_name === '' | $form_name === '' || $category_name === '' ) { - $wgOut->addWikiMsg( 'sf_createclass_missingvalues' ); - return; - } - $fields = array(); - $jobs = array(); - // cycle through all the rows passed in - for ( $i = 1; $wgRequest->getCheck( "property_name_$i" ); $i++ ) { - // go through the query values, setting the appropriate local variables - $property_name = trim( $wgRequest->getVal( "property_name_$i" ) ); - if ( empty( $property_name ) ) continue; - $field_name = trim( $wgRequest->getVal( "field_name_$i" ) ); - if ( $field_name === '' ) - $field_name = $property_name; - $property_type = $wgRequest->getVal( "property_type_$i" ); - $allowed_values = $wgRequest->getVal( "allowed_values_$i" ); - $is_list = $wgRequest->getCheck( "is_list_$i" ); - // create an SFTemplateField based on these - // values, and add it to the $fields array - $field = SFTemplateField::create( $field_name, $field_name, $property_name, $is_list ); - $fields[] = $field; - - // create the property, and make a job for it - $full_text = SFCreateProperty::createPropertyText( $property_type, '', $allowed_values ); - $property_title = Title::makeTitleSafe( SMW_NS_PROPERTY, $property_name ); - $params = array(); - $params['user_id'] = $wgUser->getId(); - $params['page_text'] = $full_text; - $jobs[] = new SFCreatePageJob( $property_title, $params ); - } - - // create the template, and save it - $full_text = SFTemplateField::createTemplateText( $template_name, $fields, null, $category_name, null, null, null ); - $template_title = Title::makeTitleSafe( NS_TEMPLATE, $template_name ); - $template_article = new Article( $template_title, 0 ); - $edit_summary = ''; - $template_article->doEdit( $full_text, $edit_summary ); - - // create the form, and make a job for it - $form_template = SFTemplateInForm::create( $template_name, '', false ); - $form_templates = array( $form_template ); - $form = SFForm::create( $form_name, $form_templates ); - $full_text = $form->createMarkup(); - $form_title = Title::makeTitleSafe( SF_NS_FORM, $form_name ); - $params = array(); - $params['user_id'] = $wgUser->getId(); - $params['page_text'] = $full_text; - $jobs[] = new SFCreatePageJob( $form_title, $params ); - - // create the category, and make a job for it - $full_text = SFCreateCategory::createCategoryText( $form_name, $category_name, '' ); - $category_title = Title::makeTitleSafe( NS_CATEGORY, $category_name ); - $params = array(); - $params['user_id'] = $wgUser->getId(); - $params['page_text'] = $full_text; - $jobs[] = new SFCreatePageJob( $category_title, $params ); - Job::batchInsert( $jobs ); - - $wgOut->addWikiMsg( 'sf_createclass_success' ); - return; - } - - $datatype_labels = $smwgContLang->getDatatypeLabels(); - - // make links to all the other 'Create...' pages, in order to - // link to them at the top of the page - $sk = $wgUser->getSkin(); - $creation_links = array(); - $creation_links[] = SFUtils::linkForSpecialPage( $sk, 'CreateProperty' ); - $creation_links[] = SFUtils::linkForSpecialPage( $sk, 'CreateTemplate' ); - $creation_links[] = SFUtils::linkForSpecialPage( $sk, 'CreateForm' ); - $creation_links[] = SFUtils::linkForSpecialPage( $sk, 'CreateCategory' ); - $create_class_docu = wfMsg( 'sf_createclass_docu', $wgLang->listToText( $creation_links ) ); - $leave_field_blank = wfMsg( 'sf_createclass_leavefieldblank' ); - $form_name_label = wfMsg( 'sf_createclass_nameinput' ); - $template_name_label = wfMsg( 'sf_createtemplate_namelabel' ); - $category_name_label = wfMsg( 'sf_createcategory_name' ); - $property_name_label = wfMsg( 'sf_createproperty_propname' ); - $field_name_label = wfMsg( 'sf_createtemplate_fieldname' ); - $type_label = wfMsg( 'sf_createproperty_proptype' ); - $allowed_values_label = wfMsg( 'sf_createclass_allowedvalues' ); - $list_of_values_label = wfMsg( 'sf_createclass_listofvalues' ); - - $text = << -

    $create_class_docu

    -

    $leave_field_blank

    -

    $template_name_label

    -

    $form_name_label

    -

    $category_name_label

    -
    - - - - - - - - - -END; - // Make one more row than what we're displaying - use the - // last row as a "starter row", to be cloned when the - // "Add another" button is pressed. - for ( $i = 1; $i <= $numStartingRows + 1; $i++ ) { - if ( $i == $numStartingRows + 1 ) { - $rowString = 'id="starterRow" style="display: none"'; - $n = 'starter'; - } else { - $rowString = ''; - $n = $i; - } - $text .= << - - - - - - - -END; - } - $text .= << -
    $property_name_label$field_name_label$type_label$allowed_values_label$list_of_values_label
    $n. -
    -
    - -END; - $add_another_button = Html::element( 'input', - array( - 'type' => 'button', - 'value' => wfMsg( 'sf_formedit_addanother' ), - 'onclick' => "createClassAddRow()" - ) - ); - $text .= Html::rawElement( 'p', null, $add_another_button ) . "\n"; - // Set 'title' as hidden field, in case there's no URL niceness - $cc = $this->getTitle(); - $text .= Html::hidden( 'title', SFUtils::titleURLString( $cc ) ); - $text .= Html::element( 'input', - array( - 'type' => 'submit', - 'name' => 'save', - 'value' => wfMsg( 'sf_createclass_create' ) - ) - ); - $text .= "\n"; - $wgOut->addHTML( $text ); - } -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_CreateForm.php b/documentacion/extensions/SemanticForms/specials/SF_CreateForm.php deleted file mode 100644 index f9b1b92..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_CreateForm.php +++ /dev/null @@ -1,395 +0,0 @@ -setHeaders(); - if ( $wgRequest->getCheck( 'showinputtypeoptions' ) ) { - $wgOut->disable(); - - // handle Ajax action - $inputType = $wgRequest->getVal( 'showinputtypeoptions' ); - $fieldFormText = $wgRequest->getVal( 'formfield' ); - $paramValues = array(); - foreach ( $wgRequest->getArray('params') as $key => $value ) { - if ( ( $pos = strpos( $key, '_' . $fieldFormText ) ) != false ) { - $paramName = substr( $key, 0, $pos ); - // Spaces got replaced by underlines in - // the query. - $paramName = str_replace( '_', ' ', $paramName ); - $paramValues[$paramName] = $value; - } - } - echo self::showInputTypeOptions( $inputType, $fieldFormText, $paramValues ); - } else { - $this->doSpecialCreateForm(); - } - } - - function doSpecialCreateForm() { - global $wgOut, $wgRequest, $wgUser, $sfgScriptPath; - $db = wfGetDB( DB_SLAVE ); - - // Create Javascript to populate fields to let the user input - // parameters for the field, based on the input type selected - // in the dropdown. - $skin = $wgUser->getSkin(); - $url = $skin->makeSpecialUrl( 'CreateForm', "showinputtypeoptions=' + this.val() + '&formfield=' + this.attr('formfieldid') + '" ); - foreach ( $wgRequest->getValues() as $param => $value ) { - $url .= '¶ms[' . Xml::escapeJsString( $param ) . ']=' . Xml::escapeJsString( $value ); - } - - $wgOut->addModules( 'ext.semanticforms.collapsible' ); - - $wgOut->addScript(""); - - - // Get the names of all templates on this site. - $all_templates = array(); - $res = $db->select( - 'page', - 'page_title', - array( 'page_namespace' => NS_TEMPLATE, 'page_is_redirect' => 0 ), - array( 'ORDER BY' => 'page_title' ) - ); - - if ( $db->numRows( $res ) > 0 ) { - while ( $row = $db->fetchRow( $res ) ) { - $template_name = str_replace( '_', ' ', $row[0] ); - $all_templates[] = $template_name; - } - } - - $form_templates = array(); - $i = 1; - $deleted_template_loc = null; - - # handle inputs - $form_name = $wgRequest->getVal( 'form_name' ); - foreach ( $wgRequest->getValues() as $var => $val ) { - # ignore variables that are not of the right form - if ( strpos( $var, "_" ) != false ) { - # get the template declarations and work from there - list ( $action, $id ) = explode( "_", $var, 2 ); - if ( $action == "template" ) { - // If the button was pressed to remove - // this template, just don't add it to - // the array. - if ( $wgRequest->getVal( "del_$id" ) != null ) { - $deleted_template_loc = $id; - } else { - $form_template = SFTemplateInForm::create( $val, - $wgRequest->getVal( "label_$id" ), - $wgRequest->getVal( "allow_multiple_$id" ) ); - $form_templates[] = $form_template; - } - } - } - } - if ( $wgRequest->getVal( 'add_field' ) != null ) { - $form_template = SFTemplateInForm::create( $wgRequest->getVal( 'new_template' ), "", false ); - $new_template_loc = $wgRequest->getVal( 'before_template' ); - if ( $new_template_loc === null ) { $new_template_loc = 0; } - // @HACK - array_splice() doesn't work for objects, so - // we have to first insert a stub element into the - // array, then replace that with the actual object. - array_splice( $form_templates, $new_template_loc, 0, "stub" ); - $form_templates[$new_template_loc] = $form_template; - } else { - $new_template_loc = null; - } - - // Now cycle through the templates and fields, modifying each - // one per the query variables. - foreach ( $form_templates as $i => $ft ) { - foreach ( $ft->getFields() as $j => $field ) { - // handle the change in indexing if a new template was - // inserted before the end, or one was deleted - $old_i = $i; - if ( $new_template_loc != null ) { - if ( $i > $new_template_loc ) { - $old_i = $i - 1; - } elseif ( $i == $new_template_loc ) { - // it's the new template; it shouldn't - // get any query-string data - $old_i = - 1; - } - } elseif ( $deleted_template_loc != null ) { - if ( $i >= $deleted_template_loc ) { - $old_i = $i + 1; - } - } - foreach ( $wgRequest->getValues() as $key => $value ) { - if ( ( $pos = strpos( $key, '_' . $old_i . '_' . $j ) ) != false ) { - $paramName = substr( $key, 0, $pos ); - // Spaces got replaced by - // underlines in the query. - $paramName = str_replace( '_', ' ', $paramName ); - } else { - continue; - } - - if ( $paramName == 'label' ) { - $field->template_field->setLabel( $value ); - } elseif ( $paramName == 'input type' ) { - $input_type = $wgRequest->getVal( "input_type_" . $old_i . "_" . $j ); - if ( $input_type == 'hidden' ) { - $field->template_field->setInputType( $input_type ); - $field->setIsHidden( true ); - } elseif ( substr( $input_type, 0, 1 ) == '.' ) { - // It's the default input type - - // don't do anything. - } else { - $field->template_field->setInputType( $input_type ); - } - } else { - if ( ! empty( $value ) ) { - if ( $value == 'on' ) { - $value = true; - } - $field->setFieldArg( $paramName, $value ); - } - } - } - } - } - $form = SFForm::create( $form_name, $form_templates ); - - // If a submit button was pressed, create the form-definition - // file, then redirect. - $save_page = $wgRequest->getCheck( 'wpSave' ); - $preview_page = $wgRequest->getCheck( 'wpPreview' ); - if ( $save_page || $preview_page ) { - // Validate form name - if ( $form->getFormName() == "" ) { - $form_name_error_str = wfMsg( 'sf_blank_error' ); - } else { - // Redirect to wiki interface - $wgOut->setArticleBodyOnly( true ); - $title = Title::makeTitleSafe( SF_NS_FORM, $form->getFormName() ); - $full_text = $form->createMarkup(); - $text = SFUtils::printRedirectForm( $title, $full_text, "", $save_page, $preview_page, false, false, false, null, null ); - $wgOut->addHTML( $text ); - return; - } - } - - $text = "\t" . '
    ' . "\n"; - // Set 'title' field, in case there's no URL niceness - $text .= Html::hidden( 'title', $this->getTitle()->getPrefixedText() ); - $text .= "\n\t

    " . wfMsg( 'sf_createform_nameinput' ) . ' ' . wfMsg( 'sf_createform_nameinputdesc' ) . ' '; - if ( ! empty( $form_name_error_str ) ) - $text .= "\t" . Html::element( 'font', array( 'color' => 'red' ), $form_name_error_str ); - $text .= "

    \n"; - - $text .= $form->creationHTML(); - - $text .= "\t

    " . wfMsg( 'sf_createform_addtemplate' ) . "\n"; - - $select_body = ""; - foreach ( $all_templates as $template ) { - $select_body .= " " . Html::element( 'option', array( 'value' => $template ), $template ) . "\n"; - } - $text .= "\t" . Html::rawElement( 'select', array( 'name' => 'new_template' ), $select_body ) . "\n"; - // If a template has already been added, show a dropdown letting - // the user choose where in the list to add a new dropdown. - if ( count( $form_templates ) > 0 ) { - $before_template_msg = wfMsg( 'sf_createform_beforetemplate' ); - $text .= $before_template_msg; - $select_body = ""; - foreach ( $form_templates as $i => $ft ) { - $select_body .= "\t" . Html::element( 'option', array( 'value' => $i ), $ft->getTemplateName() ) . "\n"; - } - $final_index = count( $form_templates ); - $at_end_msg = wfMsg( 'sf_createform_atend' ); - $select_body .= "\t" . Html::element( 'option', array( 'value' => $final_index, 'selected' => 'selected' ), $at_end_msg ); - $text .= Html::rawElement( 'select', array( 'name' => 'before_template' ), $select_body ) . "\n"; - } - - // Disable 'save' and 'preview' buttons if user has not yet - // added any templates. - $disabled_text = ( count( $form_templates ) == 0 ) ? "disabled" : ""; - $add_button_text = wfMsg( 'sf_createform_add' ); - $sk = $wgUser->getSkin(); - $create_template_link = SFUtils::linkForSpecialPage( $sk, 'CreateTemplate' ); - $text .= "\t" . Html::input( 'add_field', $add_button_text, 'submit' ); - $text .= << -
    - -END; - $saveAttrs = array( 'id' => 'wpSave' ); - if ( count( $form_templates ) == 0 ) { - $saveAttrs['disabled'] = true; - } - $editButtonsText = "\t" . Html::input( 'wpSave', wfMsg( 'savearticle' ), 'submit', $saveAttrs ) . "\n"; - $previewAttrs = array( 'id' => 'wpPreview' ); - if ( count( $form_templates ) == 0 ) { - $previewAttrs['disabled'] = true; - } - $editButtonsText .= "\t" . Html::input( 'wpPreview', wfMsg( 'preview' ), 'submit', $previewAttrs ) . "\n"; - $text .= "\t" . Html::rawElement( 'div', array( 'class' => 'editButtons' ), - Html::rawElement( 'p', array(), $editButtonsText ) . "\n" ) . "\n"; - // Explanatory message if buttons are disabled because no - // templates have been added. - if ( count( $form_templates ) == 0 ) { - $text .= "\t" . Html::element( 'p', null, "(" . wfMsg( 'sf_createtemplate_addtemplatebeforesave' ) . ")" ); - } - $text .= << -



    - -END; - $text .= "\t" . Html::rawElement( 'p', null, $create_template_link . '.' ); - - $wgOut->addExtensionStyle( $sfgScriptPath . "/skins/SemanticForms.css" ); - $wgOut->addHTML( $text ); - } - - /** - * Prints an input for a form-field parameter. - * Code borrowed from Semantic MediaWiki's - * SMWAskPage::addOptionInput(). - */ - public static function inputTypeParamInput( $type, $paramName, $cur_value, array $param, array $paramValues, $fieldFormText ) { - if ( $type == 'int' ) { - return Html::input( - $paramName . '_' . $fieldFormText, - $cur_value, - 'text', - array( 'size' => 6 ) - ); - } elseif ( $type == 'string' ) { - return Html::input( - $paramName . '_' . $fieldFormText, - $cur_value, - 'text', - array( 'size' => 32 ) - ); - } elseif ( $type == 'text' ) { - return Html::element( 'textarea', array( - 'name' => $paramName . '_' . $fieldFormText, - 'rows' => 4 - ), $cur_value ); - } elseif ( $type == 'enumeration' ) { - $text = '"; - return $text; - } elseif ( $type == 'enum-list' ) { - $cur_values = explode( ',', $cur_value ); - foreach ( $param['values'] as $val ) { - $text .= ' ' . htmlspecialchars( $val ) . "\n"; - } - return $text; - } elseif ( $type == 'boolean' ) { - $checkboxAttrs = array(); - if ( $cur_value) { $checkboxAttrs['checked'] = true; } - return Html::input( $paramName . '_' . $fieldFormText, null, 'checkbox', $checkboxAttrs ); - } - } - - /** - * Display a form section showing the options for a given format, - * based on the getParameters() value for that format's query printer. - * - * @param string $format - * @param array $paramValues - * - * @return string - */ - public static function showInputTypeOptions( $inputType, $fieldFormText, $paramValues ) { - global $sfgFormPrinter; - global $wgParser; - - $text = ''; - - // Handle default types, which start with a '.' to differentiate - // them. - if ( substr( $inputType, 0, 1) == '.' ) { - $inputType = substr( $inputType, 1 ); - } - - $inputTypeClass = $sfgFormPrinter->getInputType( $inputType ); - - $params = method_exists( $inputTypeClass, 'getParameters' ) ? call_user_func( array( $inputTypeClass, 'getParameters' ) ) : array(); - - $i = 0; - foreach ( $params as $param ) { - $paramName = $param['name']; - $type = $param['type']; - $desc = $wgParser->parse( $param['description'], new Title(), new ParserOptions() )->getText(); - - if ( array_key_exists( $paramName, $paramValues ) ) { - $cur_value = $paramValues[$paramName]; - } elseif ( array_key_exists( 'default', $param ) ) { - $cur_value = $param['default']; - } else { - $cur_value = ''; - } - - // 3 values per row, with alternating colors for rows - if ( $i % 3 == 0 ) { - $bgcolor = ( $i % 6 ) == 0 ? '#eee' : 'white'; - $text .= "
    "; - } - - $text .= "
    $paramName:\n"; - - $text .= self::inputTypeParamInput( $type, $paramName, $cur_value, $param, array(), $fieldFormText ); - $text .= "\n
    " . Html::rawElement( 'em', null, $desc ) . "\n
    \n"; - - if ( $i % 3 == 2 || $i == count( $params ) - 1 ) { - $text .= "
    \n"; - } - ++$i; - } - return $text; - } -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_CreateProperty.php b/documentacion/extensions/SemanticForms/specials/SF_CreateProperty.php deleted file mode 100644 index 232ffd8..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_CreateProperty.php +++ /dev/null @@ -1,157 +0,0 @@ -setHeaders(); - self::printCreatePropertyForm(); - } - - static function createPropertyText( $property_type, $default_form, $allowed_values_str ) { - global $smwgContLang; - $prop_labels = $smwgContLang->getPropertyLabels(); - $type_tag = "[[{$prop_labels['_TYPE']}::$property_type]]"; - $text = wfMsgForContent( 'sf_property_isproperty', $type_tag ); - if ( $default_form !== '' ) { - global $sfgContLang; - $sf_prop_labels = $sfgContLang->getPropertyLabels(); - $default_form_tag = "[[{$sf_prop_labels[SF_SP_HAS_DEFAULT_FORM]}::$default_form]]"; - $text .= ' ' . wfMsgForContent( 'sf_property_linkstoform', $default_form_tag ); - } - if ( $allowed_values_str !== '' ) { - // replace the comma substitution character that has no chance of - // being included in the values list - namely, the ASCII beep - global $sfgListSeparator; - $allowed_values_str = str_replace( "\\$sfgListSeparator", "\a", $allowed_values_str ); - $allowed_values_array = explode( $sfgListSeparator, $allowed_values_str ); - $text .= "\n\n" . wfMsgExt( 'sf_property_allowedvals', array( 'parsemag', 'content' ), count( $allowed_values_array ) ); - foreach ( $allowed_values_array as $i => $value ) { - // replace beep back with comma, trim - $value = str_replace( "\a", $sfgListSeparator, trim( $value ) ); - $prop_labels = $smwgContLang->getPropertyLabels(); - $text .= "\n* [[" . $prop_labels['_PVAL'] . "::$value]]"; - } - } - return $text; - } - - static function printCreatePropertyForm() { - global $wgOut, $wgRequest, $sfgScriptPath; - global $smwgContLang; - - # cycle through the query values, setting the appropriate local variables - $property_name = $wgRequest->getVal( 'property_name' ); - $property_type = $wgRequest->getVal( 'property_type' ); - $default_form = $wgRequest->getVal( 'default_form' ); - $allowed_values = $wgRequest->getVal( 'values' ); - - $save_button_text = wfMsg( 'savearticle' ); - $preview_button_text = wfMsg( 'preview' ); - - $property_name_error_str = ''; - $save_page = $wgRequest->getCheck( 'wpSave' ); - $preview_page = $wgRequest->getCheck( 'wpPreview' ); - if ( $save_page || $preview_page ) { - # validate property name - if ( $property_name === '' ) { - $property_name_error_str = wfMsg( 'sf_blank_error' ); - } else { - # redirect to wiki interface - $wgOut->setArticleBodyOnly( true ); - $title = Title::makeTitleSafe( SMW_NS_PROPERTY, $property_name ); - $full_text = self::createPropertyText( $property_type, $default_form, $allowed_values ); - $text = SFUtils::printRedirectForm( $title, $full_text, "", $save_page, $preview_page, false, false, false, null, null ); - $wgOut->addHTML( $text ); - return; - } - } - - $datatype_labels = $smwgContLang->getDatatypeLabels(); - - $javascript_text = <<
    " . str_replace( '_', ' ', $alt_form ) . ''; - } - return $text; - } - - static function makeRandomNumber( $numDigits, $hasPadding ) { - $maxValue = pow( 10, $numDigits ) - 1; - if ( $maxValue > getrandmax() ) { - $maxValue = getrandmax(); - } - $value = rand( 0, $maxValue ); - $format = '%' . ($hasPadding ? '0' : '') . $numDigits . 'd'; - return trim( sprintf( $format, $value ) ); // trim needed, when $hasPadding == false - } - - static function printForm( &$form_name, &$target_name, $alt_forms = array(), $redirectOnError = false ) { - global $wgOut, $wgRequest, $wgUser, $sfgFormPrinter; - - // initialize some variables - $target_title = null; - $page_name_formula = null; - - $form_title = Title::makeTitleSafe( SF_NS_FORM, $form_name ); - - // If the given form is not a valid title, bail out. - if ( !$form_title ) { - return 'sf_formedit_badurl'; - } - $form_article = new Article( $form_title, 0 ); - $form_definition = $form_article->getContent(); - - // If the form page is a redirect, use the other form - // instead. - if ( $form_title->isRedirect() ) { - $form_title = Title::newFromRedirectRecurse( $form_definition ); - $form_article = new Article( $form_title, 0 ); - $form_definition = $form_article->getContent(); - } - - $form_definition = StringUtils::delimiterReplace( '', '', '', $form_definition ); - - if ( is_null( $target_name ) ) { - $target_name = ''; - } - - if ( $target_name === '' ) { - - // parse the form to see if it has a 'page name' value set - $matches; - if ( preg_match( '/{{{info.*page name\s*=\s*(.*)}}}/m', $form_definition, $matches ) ) { - $page_name_elements = SFUtils::getFormTagComponents( $matches[1] ); - $page_name_formula = $page_name_elements[0]; - } elseif ( count( $alt_forms ) == 0 ) { - return 'sf_formedit_badurl'; - } - } else { - $target_title = Title::newFromText( $target_name ); - - if ( $target_title && $target_title->exists() ) { - if ( $wgRequest->getVal( 'query' ) == 'true' ) { - $page_contents = null; - //$page_is_source = false; - } else { - // If page already exists and 'redlink' - // is in the query string, redirect to - // the actual page, just like - // MediaWiki does it. - if ( $wgRequest->getBool( 'redlink' ) ) { - $wgOut->redirect( $target_title->getFullURL() ); - wfProfileOut( __METHOD__ ); - return; - } - $target_article = new Article( $target_title, 0 ); - $page_contents = $target_article->getContent(); - //$page_is_source = true; - } - } else { - $target_name = str_replace( '_', ' ', $target_name ); - } - - } - - if ( ! $form_title || ! $form_title->exists() ) { - if ( count( $alt_forms ) > 0 ) { - - $text = '
    ' - . wfMsg( 'sf_formedit_altformsonly' ) . ' ' - . self::printAltFormsList( $alt_forms, $form_name ) - . "
    \n"; - - } else { - $text = Html::rawElement( 'p', array( 'class' => 'error' ), wfMsgExt( 'sf_formstart_badform', 'parseinline', SFUtils::linkText( SF_NS_FORM, $form_name ) ) ) . "\n"; - } - } elseif ( $target_name === '' && $page_name_formula === '' ) { - $text = Html::element( 'p', array( 'class' => 'error' ), wfMsg( 'sf_formedit_badurl' ) ) . "\n"; - } else { - - $save_page = $wgRequest->getCheck( 'wpSave' ); - $preview_page = $wgRequest->getCheck( 'wpPreview' ); - $diff_page = $wgRequest->getCheck( 'wpDiff' ); - $form_submitted = ( $save_page || $preview_page || $diff_page ); - - // get 'preload' query value, if it exists - if ( ! $form_submitted ) { - - if ( $wgRequest->getCheck( 'preload' ) ) { - $page_is_source = true; - $page_contents = SFFormUtils::getPreloadedText( $wgRequest->getVal( 'preload' ) ); - } else { - // let other extensions preload the page, if they want - wfRunHooks( 'sfEditFormPreloadText', array( &$page_contents, $target_title, $form_title ) ); - $page_is_source = ( $page_contents != null ); - } - - } else { - $page_is_source = false; - $page_contents = null; - } - list ( $form_text, $javascript_text, $data_text, $form_page_title, $generated_page_name ) = - $sfgFormPrinter->formHTML( $form_definition, $form_submitted, $page_is_source, $form_article->getID(), $page_contents, $target_name, $page_name_formula ); - - // Before we do anything else, set the form header - // title - this needs to be done after formHTML() is - // called, because otherwise it doesn't take hold - // for some reason if the form is disabled. - if ( empty( $target_title ) ) { - $s = wfMsg( 'sf_formedit_createtitlenotarget', $form_title->getText() ); - } elseif ( $target_title->exists() ) { - $s = wfMsg( 'sf_formedit_edittitle', $form_title->getText(), $target_title->getPrefixedText() ); - } else { - $s = wfMsg( 'sf_formedit_createtitle', $form_title->getText(), $target_title->getPrefixedText() ); - } - $wgOut->setPageTitle( $s ); - - if ( $form_submitted ) { - if ( !is_null( $page_name_formula ) && $page_name_formula !== '' ) { - $target_name = $generated_page_name; - // prepend a super-page, if one was specified - if ( $wgRequest->getCheck( 'super_page' ) ) { - $target_name = $wgRequest->getVal( 'super_page' ) . '/' . $target_name; - } - // prepend a namespace, if one was specified - if ( $wgRequest->getCheck( 'namespace' ) ) { - $target_name = $wgRequest->getVal( 'namespace' ) . ':' . $target_name; - } - // replace "unique number" tag with one - // that won't get erased by the next line - $target_name = preg_replace( '//', '{num\1}', $target_name, 1 ); - // if any formula stuff is still in the - // name after the parsing, just remove it - $target_name = StringUtils::delimiterReplace( '<', '>', '', $target_name ); - - // now run the parser on it - global $wgParser; - // ...but first, replace spaces back - // with underlines, in case a magic word - // or parser function name contains - // underlines - hopefully this won't - // cause problems of its own - $target_name = str_replace( ' ', '_', $target_name ); - $target_name = $wgParser->preprocess( $target_name, $wgOut->getTitle(), ParserOptions::newFromUser( null ) ); - - $title_number = ""; - $isRandom = false; - $randomNumHasPadding = false; - $randomNumDigits = 6; - - if ( strpos( $target_name, '{num' ) !== false ) { - - // Random number - if ( preg_match( '/{num;random(;(0)?([1-9][0-9]*))?}/', $target_name, $matches ) ) { - $isRandom = true; - $randomNumHasPadding = array_key_exists( 2, $matches ); - $randomNumDigits = ( array_key_exists( 3, $matches ) ? $matches[3] : $randomNumDigits ); - $title_number = self::makeRandomNumber( $randomNumDigits, $randomNumHasPadding ); - } else { - // get unique number start value - // from target name; if it's not - // there, or it's not a positive - // number, start it out as blank - preg_match( '/{num.*start[_]*=[_]*([^;]*).*}/', $target_name, $matches ); - if ( count( $matches ) == 2 && is_numeric( $matches[ 1 ] ) && $matches[ 1 ] >= 0 ) { - // the "start" value" - $title_number = $matches[ 1 ]; - } - - } - - // set target title - $target_title = Title::newFromText( preg_replace( '/{num.*}/', $title_number, $target_name ) ); - - // if title exists already - // cycle through numbers for - // this tag until we find one - // that gives a nonexistent page - // title - while ( $target_title->exists() ) { - - if ( $isRandom ) { - $title_number = self::makeRandomNumber( $randomNumDigits, $randomNumHasPadding ); - } - // if title number is blank, - // change it to 2; otherwise, - // increment it, and if necessary - // pad it with leading 0s as well - elseif ( $title_number == "" ) { - $title_number = 2; - } else { - $title_number = str_pad( $title_number + 1, strlen( $title_number ), '0', STR_PAD_LEFT ); - } - - $target_title = Title::newFromText( preg_replace( '/{num.*}/', $title_number, $target_name ) ); - } - - $target_name = $target_title->getPrefixedText(); - - } else { - $target_title = Title::newFromText( $target_name ); - } - } - - if ( is_null( $target_title ) ) { - if ( $target_name ) { - return array ( 'sf_formstart_badtitle' , array( $target_name ) ); - } - else { - return 'sf_formedit_emptytitle'; - } - } - - if ( $save_page ) { - - $permErrors = $target_title->getUserPermissionsErrors( 'edit', $wgUser ); - if ( $permErrors ) { - // just return the first error and let them fix it one by one - return array_shift( $permErrors ); - } - // Set up all the variables for the - // page save. - $data = array( - 'wpTextbox1' => $data_text, - 'wpSummary' => $wgRequest->getVal( 'wpSummary' ), - 'wpStarttime' => $wgRequest->getVal( 'wpStarttime' ), - 'wpEdittime' => $wgRequest->getVal( 'wpEdittime' ), - 'wpEditToken' => $wgUser->isLoggedIn() ? $wgUser->editToken() : EDIT_TOKEN_SUFFIX, - 'wpSave' => '', - 'action' => 'submit', - ); - - if ( $wgRequest->getCheck( 'wpMinoredit' ) ) { - $data['wpMinoredit'] = true; - } - if ( $wgRequest->getCheck( 'wpWatchthis' ) ) { - $data['wpWatchthis'] = true; - } - - $request = new FauxRequest( $data, true ); - - // Find existing article if it exists, - // or create a new one. - $article = new Article( $target_title, 0 ); - - $editor = new EditPage( $article ); - $editor->importFormData( $request ); - - // Try to save the page! - $resultDetails = array(); - $saveResult = $editor->internalAttemptSave( $resultDetails ); - // Return value was made an object in MW 1.19 - if ( is_object( $saveResult ) ) { - $saveResultCode = $saveResult->value; - } else { - $saveResultCode = $saveResult; - } - - if ( ( $saveResultCode == EditPage::AS_HOOK_ERROR || $saveResultCode == EditPage::AS_HOOK_ERROR_EXPECTED ) && $redirectOnError ) { - - $wgOut->clearHTML(); - $wgOut->setArticleBodyOnly(true); - // Lets other code process additional form-definition syntax - wfRunHooks( 'sfWritePageData', array( $form_name, $target_title, &$data_text ) ); - $text = SFUtils::printRedirectForm( $target_title, $data_text, $wgRequest->getVal( 'wpSummary' ), $save_page, $preview_page, $diff_page, $wgRequest->getCheck( 'wpMinoredit' ), $wgRequest->getCheck( 'wpWatchthis' ), $wgRequest->getVal( 'wpStarttime' ), $wgRequest->getVal( 'wpEdittime' ) ); - } else { - - if ( $saveResultCode == EditPage::AS_SUCCESS_UPDATE || $saveResultCode == EditPage::AS_SUCCESS_NEW_ARTICLE ) { - $wgOut->redirect( $target_title->getFullURL() ); - } - - return SFUtils::processEditErrors( $saveResultCode ); - } - - } else { - // Lets other code process additional form-definition syntax - wfRunHooks( 'sfWritePageData', array( $form_name, $target_title, &$data_text ) ); - $text = SFUtils::printRedirectForm( $target_title, $data_text, $wgRequest->getVal( 'wpSummary' ), $save_page, $preview_page, $diff_page, $wgRequest->getCheck( 'wpMinoredit' ), $wgRequest->getCheck( 'wpWatchthis' ), $wgRequest->getVal( 'wpStarttime' ), $wgRequest->getVal( 'wpEdittime' ) ); // extract its data - } - - - } else { - // override the default title for this page if - // a title was specified in the form - if ( $form_page_title != null ) { - if ( $target_name === '' ) { - $wgOut->setPageTitle( $form_page_title ); - } else { - $wgOut->setPageTitle( "$form_page_title: {$target_title->getPrefixedText()}" ); - } - } - $text = ""; - if ( count( $alt_forms ) > 0 ) { - $text .= '
    ' . wfMsg( 'sf_formedit_altforms' ) . ' '; - $text .= self::printAltFormsList( $alt_forms, $target_name ); - $text .= "
    \n"; - } - $text .= '
    '; - $pre_form_html = ''; - wfRunHooks( 'sfHTMLBeforeForm', array( &$target_title, &$pre_form_html ) ); - $text .= $pre_form_html; - $text .= $form_text; - } - } - - SFUtils::addJavascriptAndCSS(); - if ( ! empty( $javascript_text ) ) { - $wgOut->addScript( ' ' . "\n" ); - } - $wgOut->addHTML( $text ); - - return null; - } -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_FormStart.php b/documentacion/extensions/SemanticForms/specials/SF_FormStart.php deleted file mode 100644 index a665986..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_FormStart.php +++ /dev/null @@ -1,206 +0,0 @@ -setHeaders(); - - $form_name = $wgRequest->getVal( 'form' ); - $target_namespace = $wgRequest->getVal( 'namespace' ); - $super_page = $wgRequest->getVal( 'super_page' ); - $params = $wgRequest->getVal( 'params' ); - - // If the query string did not contain a form name, try the URL - if ( ! $form_name ) { - $queryparts = explode( '/', $query, 2 ); - $form_name = isset( $queryparts[0] ) ? $queryparts[0] : ''; - // If a target was specified, it means we should - // redirect to 'FormEdit' for this target page. - if ( isset( $queryparts[1] ) ) { - $target_name = $queryparts[1]; - $this->doRedirect( $form_name, $target_name, $params ); - } - - // Get namespace from the URL, if it's there. - if ( $namespace_label_loc = strpos( $form_name, "/Namespace:" ) ) { - $target_namespace = substr( $form_name, $namespace_label_loc + 11 ); - $form_name = substr( $form_name, 0, $namespace_label_loc ); - } - } - - // Remove forbidden characters from the form name. - $forbidden_chars = array( '"', "'", '<', '>', '{', '}', '(', ')', '[', ']', '=' ); - $form_name = str_replace( $forbidden_chars, "", $form_name ); - - // Get title of form. - $form_title = Title::makeTitleSafe( SF_NS_FORM, $form_name ); - - // Handle submission of this form. - $form_submitted = $wgRequest->getCheck( 'page_name' ); - if ( $form_submitted ) { - $page_name = $wgRequest->getVal( 'page_name' ); - // This form can be used to create a sub-page for an - // existing page - if ( !is_null( $super_page ) && $super_page !== '' ) { - $page_name = "$super_page/$page_name"; - } - - if ( $page_name !== '' ) { - // Append the namespace prefix to the page name, - // if this namespace was not already entered. - if ( strpos( $page_name, $target_namespace . ':' ) === false && !is_null( $target_namespace ) ) - $page_name = $target_namespace . ':' . $page_name; - // If there was no page title, it's probably an - // invalid page name, containing forbidden - // characters - in that case, display an error - // message. - $page_title = Title::newFromText( $page_name ); - if ( !$page_title ) { - $wgOut->addHTML( htmlspecialchars( wfMsg( 'sf_formstart_badtitle', $page_name ) ) ); - return; - } else { - $this->doRedirect( $form_name, $page_name, $params ); - return; - } - } - } - - if ( ( !$form_title || !$form_title->exists() ) && ( $form_name !== '' ) ) { - $text = Html::rawElement( 'p', array( 'class' => 'error' ), wfMsgExt( 'sf_formstart_badform', 'parseinline', SFUtils::linkText( SF_NS_FORM, $form_name ) ) ) . "\n"; - } else { - if ( $form_name === '' ) { - $description = htmlspecialchars( wfMsg( 'sf_formstart_noform_docu', $form_name ) ); - } - else { - $description = htmlspecialchars( wfMsg( 'sf_formstart_docu', $form_name ) ); - } - - $text = << -

    $description

    -

    - -END; - // If no form was specified, display a dropdown letting - // the user choose the form. - if ( $form_name === '' ) - $text .= SFUtils::formDropdownHTML(); - - $text .= "\t

    \n"; - $text .= Html::hidden( 'namespace', $target_namespace ); - $text .= Html::hidden( 'super_page', $super_page ); - $text .= Html::hidden( 'params', $params ); - $text .= "\n\t" . Html::input( null, wfMsg( 'sf_formstart_createoredit' ), 'submit' ) . "\n"; - $text .= "\t\n"; - } - $wgOut->addHTML( $text ); - } - - /** - * Helper function - returns a URL that includes Special:FormEdit. - */ - static function getFormEditURL( $formName, $targetName) { - $fe = SFUtils::getSpecialPage( 'FormEdit' ); - // Special handling for forms whose name contains a slash. - if ( strpos( $formName, '/' ) !== false ) { - return $fe->getTitle()->getLocalURL( array( 'form' => $formName, 'target' => $targetName ) ); - } - return $fe->getTitle( "$formName/$targetName" )->getLocalURL(); - } - - function doRedirect( $form_name, $page_name, $params ) { - global $wgOut; - - $page_title = Title::newFromText( $page_name ); - if ( $page_title->exists() ) { - // It exists - see if page is a redirect; if - // it is, edit the target page instead. - $article = new Article( $page_title, 0 ); - $article->loadContent(); - $redirect_title = Title::newFromRedirect( $article->fetchContent() ); - if ( $redirect_title != null ) { - $page_title = $redirect_title; - $page_name = SFUtils::titleURLString( $redirect_title ); - } - // HACK - if this is the default form for - // this page, send to the regular 'formedit' - // tab page; otherwise, send to the 'Special:FormEdit' - // page, with the form name hardcoded. - // Is this logic necessary? Or should we just - // out-guess the user and always send to the - // standard form-edit page, with the 'correct' form? - $default_forms = SFFormLinker::getDefaultFormsForPage( $page_title ); - if ( count( $default_forms ) > 0 ) - $default_form_name = $default_forms[0]; - else - $default_form_name = null; - if ( $form_name == $default_form_name ) { - $redirect_url = $page_title->getLocalURL( 'action=formedit' ); - } else { - $redirect_url = self::getFormEditURL( $form_name, $page_name ); - } - } else { - $redirect_url = self::getFormEditURL( $form_name, $page_name ); - // Of all the request values, send on to 'FormEdit' - // only 'preload' and specific form fields - we can - // identify the latter because they show up as arrays. - foreach ( $_REQUEST as $key => $val ) { - if ( is_array( $val ) ) { - $template_name = urlencode( $key ); - foreach ( $val as $field_name => $value ) { - $field_name = urlencode( $field_name ); - $value = urlencode( $value ); - $redirect_url .= ( strpos( $redirect_url, '?' ) > - 1 ) ? '&' : '?'; - $redirect_url .= $template_name . '[' . $field_name . ']=' . $value; - } - } elseif ( $key == 'preload' ) { - $redirect_url .= ( strpos( $redirect_url, '?' ) > - 1 ) ? '&' : '?'; - $redirect_url .= "$key=$val"; - } - } - } - - if ( !is_null( $params ) && $params !== '' ) { - $redirect_url .= ( strpos( $redirect_url, '?' ) > - 1 ) ? '&' : '?'; - $redirect_url .= $params; - } - - $wgOut->setArticleBodyOnly( true ); - // Show "loading" animated image while people wait for the - // redirect. - global $sfgScriptPath; - $text = "

    \n"; - $text .= << - window.onload = function() { - window.location="$redirect_url"; - } - - -END; - $wgOut->addHTML( $text ); - return; - } - -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_Forms.php b/documentacion/extensions/SemanticForms/specials/SF_Forms.php deleted file mode 100644 index a1606c2..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_Forms.php +++ /dev/null @@ -1,98 +0,0 @@ -setHeaders(); - list( $limit, $offset ) = wfCheckLimits(); - $rep = new FormsPage(); - // execute() method added in 1.18 - if ( method_exists( $rep, 'execute' ) ) { - return $rep->execute( $query ); - } else { - return $rep->doQuery( $offset, $limit ); - } - } -} - -/** - * @ingroup SFSpecialPages - */ -class FormsPage extends QueryPage { - public function __construct( $name = 'Forms' ) { - // For MW 1.17 - if ( $this instanceof SpecialPage ) { - parent::__construct( $name ); - } - } - - function getName() { - return "Forms"; - } - - function isExpensive() { return false; } - - function isSyndicated() { return false; } - - function getPageHeader() { - global $wgUser; - - $sk = $wgUser->getSkin(); - $create_form_link = SFUtils::linkForSpecialPage( $sk, 'CreateForm' ); - $header = "

    " . $create_form_link . ".

    \n"; - $header .= '

    ' . wfMsg( 'sf_forms_docu' ) . "


    \n"; - return $header; - } - - function getPageFooter() { - } - - function getSQL() { - $NSform = SF_NS_FORM; - $dbr = wfGetDB( DB_SLAVE ); - $page = $dbr->tableName( 'page' ); - // QueryPage uses the value from this SQL in an ORDER clause, - // so return page_title as title. - return "SELECT 'Form' AS type, - page_title AS title, - page_title AS value - FROM $page - WHERE page_namespace = {$NSform} - AND page_is_redirect = 0"; - } - - // For MW 1.18+ - function getQueryInfo() { - return array( - 'tables' => array( 'page' ), - 'fields' => array( 'page_title AS title', 'page_title AS value' ), - 'conds' => array( 'page_namespace' => SF_NS_FORM, 'page_is_redirect' => 0 ) - ); - } - - function sortDescending() { - return false; - } - - function formatResult( $skin, $result ) { - $title = Title::makeTitle( SF_NS_FORM, $result->value ); - return $skin->makeLinkObj( $title, htmlspecialchars( $title->getText() ) ); - } -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_RunQuery.php b/documentacion/extensions/SemanticForms/specials/SF_RunQuery.php deleted file mode 100644 index bde133a..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_RunQuery.php +++ /dev/null @@ -1,173 +0,0 @@ -including() ) { - $this->setHeaders(); - } - $form_name = $this->including() ? $query : $wgRequest->getVal( 'form', $query ); - - $this->printPage( $form_name, $this->including() ); - } - - function printPage( $form_name, $embedded = false ) { - global $wgOut, $wgRequest, $sfgFormPrinter, $wgParser, $sfgRunQueryFormAtTop; - global $wgUser, $wgTitle; - - // Get contents of form-definition page. - $form_title = Title::makeTitleSafe( SF_NS_FORM, $form_name ); - - if ( !$form_title || !$form_title->exists() ) { - if ( $form_name === '' ) { - $text = Html::element( 'p', array( 'class' => 'error' ), wfMsg( 'sf_runquery_badurl' ) ) . "\n"; - } else { - $text = Html::rawElement( 'p', array( 'class' => 'error' ), - wfMsgExt( 'sf_formstart_badform', 'parseinline', SFUtils::linkText( SF_NS_FORM, $form_name ) ) ) . "\n"; - } - $wgOut->addHTML( $text ); - return; - } - - // Initialize variables. - $form_article = new Article( $form_title, 0 ); - $form_definition = $form_article->getContent(); - $submit_url = $form_title->getLocalURL( 'action=submit' ); - if ( $embedded ) { - $run_query = false; - $content = null; - $raw = false; - } else { - $run_query = $wgRequest->getCheck( 'wpRunQuery' ); - $content = $wgRequest->getVal( 'wpTextbox1' ); - $raw = $wgRequest->getBool( 'raw', false ); - } - $form_submitted = ( $run_query ); - if ( $raw ) { - $wgOut->setArticleBodyOnly( true ); - } - // If user already made some action, ignore the edited - // page and just get data from the query string. - if ( !$embedded && $wgRequest->getVal( 'query' ) == 'true' ) { - $edit_content = null; - $is_text_source = false; - } elseif ( $content != null ) { - $edit_content = $content; - $is_text_source = true; - } else { - $edit_content = null; - $is_text_source = true; - } - list ( $form_text, $javascript_text, $data_text, $form_page_title ) = - $sfgFormPrinter->formHTML( $form_definition, $form_submitted, $is_text_source, $form_article->getID(), $edit_content, null, null, true, $embedded ); - $text = ""; - - // Get the text of the results. - $resultsText = ''; - - if ( $form_submitted ) { - - // @TODO - fix RunQuery's parsing so that this check - // isn't needed. - if ( $wgParser->getOutput() == null ) { - $headItems = array(); - } else { - $headItems = $wgParser->getOutput()->getHeadItems(); - } - foreach ( $headItems as $key => $item ) { - $wgOut->addHeadItem( $key, "\t\t" . $item . "\n" ); - } - - $wgParser->mOptions = ParserOptions::newFromUser( $wgUser ); - $resultsText = $wgParser->parse( $data_text, $wgTitle, $wgParser->mOptions )->getText(); - } - - // Get the full text of the form. - $fullFormText = ''; - $additionalQueryHeader = ''; - $dividerText = ''; - if ( !$raw ) { - // Create the "additional query" header, and the - // divider text - one of these (depending on whether - // the query form is at the top or bottom) is displayed - // if the form has already been submitted. - if ( $form_submitted ) { - $additionalQueryHeader = "\n" . Html::element( 'h2', null, wfMsg( 'sf_runquery_additionalquery' ) ) . "\n"; - $dividerText = "\n
    \n"; - } - $action = htmlspecialchars( $this->getTitle( $form_name )->getLocalURL() ); - $fullFormText .= << - -END; - $fullFormText .= Html::hidden( 'query', 'true' ); - $fullFormText .= $form_text; - } - - // Either don't display a query form at all, or display the - // query form at the top, and the results at the bottom, or the - // other way around, depending on the settings. - if ( $wgRequest->getVal( 'additionalquery' ) == 'false' ) { - $text .= $resultsText; - } elseif ( $sfgRunQueryFormAtTop ) { - $text .= $fullFormText; - $text .= $dividerText; - $text .= $resultsText; - } else { - $text .= $resultsText; - $text .= $additionalQueryHeader; - $text .= $fullFormText; - } - - if ( $embedded ) { - $text = "
    $text
    "; - } - - // Armor against doBlockLevels() - $text = preg_replace( '/^ +/m', '', $text ); - // Now write everything to the screen. - $wgOut->addHTML( $text ); - SFUtils::addJavascriptAndCSS( $embedded ? $wgParser : null ); - $script = "\t\t" . '' . "\n"; - if ( $embedded ) { - $wgParser->getOutput()->addHeadItem( $script ); - } else { - $wgOut->addScript( $script ); - $po = $wgParser->getOutput(); - if ( $po ) { - $wgOut->addParserOutputNoText( $po ); - } - } - - // Finally, set the page title - previously, this had to be - // called after addParserOutputNoText() for it to take effect; - // now the order doesn't matter. - if ( !$embedded ) { - if ( $form_page_title != null ) { - $wgOut->setPageTitle( $form_page_title ); - } else { - $s = wfMsg( 'sf_runquery_title', $form_title->getText() ); - $wgOut->setPageTitle( $s ); - } - } - } -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_Templates.php b/documentacion/extensions/SemanticForms/specials/SF_Templates.php deleted file mode 100644 index b11b804..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_Templates.php +++ /dev/null @@ -1,125 +0,0 @@ -setHeaders(); - list( $limit, $offset ) = wfCheckLimits(); - $rep = new TemplatesPage(); - // execute() method added in MW 1.18 - if ( method_exists( $rep, 'execute' ) ) { - $rep->execute( $query ); - } else { - return $rep->doQuery( $offset, $limit ); - } - } -} - -/** - * @ingroup SFSpecialPages - */ -class TemplatesPage extends QueryPage { - - public function __construct( $name = 'Templates' ) { - // For MW 1.17 - if ( $this instanceof SpecialPage ) { - parent::__construct( $name ); - } - } - - function getName() { - return "Templates"; - } - - function isExpensive() { return false; } - - function isSyndicated() { return false; } - - function getPageHeader() { - global $wgUser; - - $sk = $wgUser->getSkin(); - $create_template_link = SFUtils::linkForSpecialPage( $sk, 'CreateTemplate' ); - $header = "

    " . $create_template_link . ".

    \n"; - $header .= '

    ' . wfMsg( 'sf_templates_docu' ) . "


    \n"; - return $header; - } - - function getPageFooter() { - } - - function getSQL() { - $NStemp = NS_TEMPLATE; - $dbr = wfGetDB( DB_SLAVE ); - $page = $dbr->tableName( 'page' ); - // QueryPage uses the value from this SQL in an ORDER clause, - // so return page_title as title. - return "SELECT 'Templates' as type, - page_title as title, - page_title as value - FROM $page - WHERE page_namespace = {$NStemp}"; - } - - // For MW 1.18+ - function getQueryInfo() { - return array( - 'tables' => array( 'page' ), - 'fields' => array( 'page_title AS title', 'page_title AS value' ), - 'conds' => array( 'page_namespace' => NS_TEMPLATE ) - ); - } - - function sortDescending() { - return false; - } - - function getCategoryDefinedByTemplate( $templateTitle ) { - global $wgContLang; - - $templateArticle = new Article( $templateTitle, 0 ); - $templateText = $templateArticle->getContent(); - $cat_ns_name = $wgContLang->getNsText( NS_TEMPLATE ); - if ( preg_match_all( "/\[\[(Category|$cat_ns_name):([^\]]*)\]\]/", $templateText, $matches ) ) { - // Get the last match - if there's more than one - // category tag, there's a good chance that the last - // one will be the relevant one - the others are - // probably part of inline queries. - $categoryName = trim( end( $matches[2] ) ); - // If there's a pipe, remove it and anything after it. - $locationOfPipe = strpos( $categoryName, '|' ); - if ( $locationOfPipe !== false ) { - $categoryName = substr( $categoryName, 0, $locationOfPipe ); - } - return $categoryName; - } - return ""; - } - - function formatResult( $skin, $result ) { - $title = Title::makeTitle( NS_TEMPLATE, $result->value ); - $text = $skin->makeLinkObj( $title, htmlspecialchars( $title->getText() ) ); - $category = $this->getCategoryDefinedByTemplate( $title ); - if ( $category !== '' ) { - $text .= ' ' . wfMsgExt( 'sf_templates_definescat', 'parseinline', SFUtils::linkText( NS_CATEGORY, $category ) ); - } - return $text; - } -} diff --git a/documentacion/extensions/SemanticForms/specials/SF_UploadWindow.php b/documentacion/extensions/SemanticForms/specials/SF_UploadWindow.php deleted file mode 100644 index 923bbb6..0000000 --- a/documentacion/extensions/SemanticForms/specials/SF_UploadWindow.php +++ /dev/null @@ -1,1137 +0,0 @@ -loadRequest( is_null( $request ) ? $wgRequest : $request ); - } - - /** Misc variables **/ - public $mRequest; // The WebRequest or FauxRequest this form is supposed to handle - public $mSourceType; - public $mUpload; - public $mLocalFile; - public $mUploadClicked; - - /** User input variables from the "description" section **/ - public $mDesiredDestName; // The requested target file name - public $mComment; - public $mLicense; - - /** User input variables from the root section **/ - public $mIgnoreWarning; - public $mWatchThis; - public $mCopyrightStatus; - public $mCopyrightSource; - - /** Hidden variables **/ - public $mForReUpload; // The user followed an "overwrite this file" link - public $mCancelUpload; // The user clicked "Cancel and return to upload form" button - public $mTokenOk; - - /** used by Semantic Forms **/ - public $mInputID; - public $mDelimiter; - - /** - * Initialize instance variables from request and create an Upload handler - * - * @param WebRequest $request The request to extract variables from - */ - protected function loadRequest( $request ) { - global $wgUser; - - $this->mRequest = $request; - $this->mSourceType = $request->getVal( 'wpSourceType', 'file' ); - $this->mUpload = UploadBase::createFromRequest( $request ); - $this->mUploadClicked = $request->wasPosted() - && ( $request->getCheck( 'wpUpload' ) - || $request->getCheck( 'wpUploadIgnoreWarning' ) ); - - // Guess the desired name from the filename if not provided - $this->mDesiredDestName = $request->getText( 'wpDestFile' ); - if ( !$this->mDesiredDestName ) - $this->mDesiredDestName = $request->getText( 'wpUploadFile' ); - $this->mComment = $request->getText( 'wpUploadDescription' ); - $this->mLicense = $request->getText( 'wpLicense' ); - - - $this->mDestWarningAck = $request->getText( 'wpDestFileWarningAck' ); - $this->mIgnoreWarning = $request->getCheck( 'wpIgnoreWarning' ) - || $request->getCheck( 'wpUploadIgnoreWarning' ); - $this->mWatchthis = $request->getBool( 'wpWatchthis' ); - $this->mCopyrightStatus = $request->getText( 'wpUploadCopyStatus' ); - $this->mCopyrightSource = $request->getText( 'wpUploadSource' ); - - - $this->mForReUpload = $request->getBool( 'wpForReUpload' ); // updating a file - $this->mCancelUpload = $request->getCheck( 'wpCancelUpload' ) - || $request->getCheck( 'wpReUpload' ); // b/w compat - - // If it was posted check for the token (no remote POST'ing with user credentials) - $token = $request->getVal( 'wpEditToken' ); - if ( $this->mSourceType == 'file' && $token == null ) { - // Skip token check for file uploads as that can't be faked via JS... - // Some client-side tools don't expect to need to send wpEditToken - // with their submissions, as that was new in 1.16. - $this->mTokenOk = true; - } else { - $this->mTokenOk = $wgUser->matchEditToken( $token ); - } - $this->mInputID = $request->getText( 'sfInputID' ); - $this->mDelimiter = $request->getText( 'sfDelimiter' ); - } - - /** - * Special page entry point - */ - public function execute( $par ) { - global $wgUser, $wgOut; - // Disable $wgOut - we'll print out the page manually, taking - // the body created by the form, plus the necessary Javascript - // files, and turning them into an HTML page. - $wgOut->disable(); - // This line is needed to get around Squid caching. - $wgOut->sendCacheControl(); - - $this->setHeaders(); - $this->outputHeader(); - - # Check uploading enabled - if ( !UploadBase::isEnabled() ) { - $wgOut->showErrorPage( 'uploaddisabled', 'uploaddisabledtext' ); - print $wgOut->getHTML(); - return; - } - - # Check permissions - global $wgGroupPermissions; - if ( !$wgUser->isAllowed( 'upload' ) ) { - if ( !$wgUser->isLoggedIn() && ( $wgGroupPermissions['user']['upload'] - || $wgGroupPermissions['autoconfirmed']['upload'] ) ) { - // Custom message if logged-in users without any special rights can upload - $wgOut->showErrorPage( 'uploadnologin', 'uploadnologintext' ); - } else { - $wgOut->permissionRequired( 'upload' ); - } - print $wgOut->getHTML(); - return; - } - - # Check blocks - if ( $wgUser->isBlocked() ) { - $wgOut->blockedPage(); - print $wgOut->getHTML(); - return; - } - - # Check whether we actually want to allow changing stuff - if ( wfReadOnly() ) { - $wgOut->readOnlyPage(); - print $wgOut->getHTML(); - return; - } - - # Unsave the temporary file in case this was a cancelled upload - if ( $this->mCancelUpload ) { - if ( !$this->unsaveUploadedFile() ) - # Something went wrong, so unsaveUploadedFile showed a warning - return; - } - - # Process upload or show a form - if ( $this->mTokenOk && !$this->mCancelUpload - && ( $this->mUpload && $this->mUploadClicked ) ) { - $this->processUpload(); - } else { - $this->showUploadForm( $this->getUploadForm() ); - } - - # Cleanup - if ( $this->mUpload ) - $this->mUpload->cleanupTempFile(); - } - - /** - * Show the main upload form and optionally add the session key to the - * output. This hides the source selection. - * - * @param string $message HTML message to be shown at top of form - * @param string $sessionKey Session key of the stashed upload - */ - protected function showUploadForm( $form ) { - # Add links if file was previously deleted - if ( !$this->mDesiredDestName ) - $this->showViewDeletedLinks(); - - $form->show(); - } - - /** - * Get an UploadForm instance with title and text properly set. - * - * @param string $message HTML string to add to the form - * @param string $sessionKey Session key in case this is a stashed upload - * @return UploadForm - */ - protected function getUploadForm( $message = '', $sessionKey = '', $hideIgnoreWarning = false ) { - global $wgOut; - - # Initialize form - $form = new SFUploadForm( array( - 'watch' => $this->watchCheck(), - 'forreupload' => $this->mForReUpload, - 'sessionkey' => $sessionKey, - 'hideignorewarning' => $hideIgnoreWarning, - 'destfile' => $this->mDesiredDestName, - 'sfInputID' => $this->mInputID, - 'sfDelimiter' => $this->mDelimiter, - ) ); - $form->setTitle( $this->getTitle() ); - - # Check the token, but only if necessary - if ( !$this->mTokenOk && !$this->mCancelUpload - && ( $this->mUpload && $this->mUploadClicked ) ) - $form->addPreText( wfMsgExt( 'session_fail_preview', 'parseinline' ) ); - - # Add text to form - // $form->addPreText( '
    ' . wfMsgExt( 'uploadtext', 'parse' ) . '
    '); - # Add upload error message - $form->addPreText( $message ); - - # Add footer to form - $uploadFooter = wfMsgNoTrans( 'uploadfooter' ); - if ( $uploadFooter != '-' && !wfEmptyMsg( 'uploadfooter', $uploadFooter ) ) { - $form->addPostText( '\n" ); - } - - return $form; - - } - - /** - * Shows the "view X deleted revivions link"" - */ - protected function showViewDeletedLinks() { - global $wgOut, $wgUser; - - $title = Title::makeTitleSafe( NS_FILE, $this->mDesiredDestName ); - // Show a subtitle link to deleted revisions (to sysops et al only) - if ( $title instanceof Title && ( $count = $title->isDeleted() ) > 0 && $wgUser->isAllowed( 'deletedhistory' ) ) { - $link = wfMsgExt( - $wgUser->isAllowed( 'delete' ) ? 'thisisdeleted' : 'viewdeleted', - array( 'parse', 'replaceafter' ), - $wgUser->getSkin()->linkKnown( - SpecialPage::getTitleFor( 'Undelete', $title->getPrefixedText() ), - wfMsgExt( 'restorelink', array( 'parsemag', 'escape' ), $count ) - ) - ); - $wgOut->addHTML( "
    {$link}
    " ); - } - - // Show the relevant lines from deletion log (for still deleted files only) - if ( $title instanceof Title && $title->isDeletedQuick() && !$title->exists() ) { - $this->showDeletionLog( $wgOut, $title->getPrefixedText() ); - } - } - - /** - * Stashes the upload and shows the main upload form. - * - * Note: only errors that can be handled by changing the name or - * description should be redirected here. It should be assumed that the - * file itself is sane and has passed UploadBase::verifyFile. This - * essentially means that UploadBase::VERIFICATION_ERROR and - * UploadBase::EMPTY_FILE should not be passed here. - * - * @param string $message HTML message to be passed to mainUploadForm - */ - protected function recoverableUploadError( $message ) { - $sessionKey = $this->mUpload->stashSession(); - $message = '

    ' . wfMsgHtml( 'uploadwarning' ) . "

    \n" . - '
    ' . $message . "
    \n"; - - $form = $this->getUploadForm( $message, $sessionKey ); - $form->setSubmitText( wfMsg( 'upload-tryagain' ) ); - $this->showUploadForm( $form ); - } - /** - * Stashes the upload, shows the main form, but adds an "continue anyway button" - * - * @param array $warnings - */ - protected function uploadWarning( $warnings ) { - $sessionKey = $this->mUpload->stashSession(); - - $warningHtml = '

    ' . wfMsgHtml( 'uploadwarning' ) . "

    \n" - . '
      '; - foreach ( $warnings as $warning => $args ) { - $msg = ''; - if ( $warning == 'exists' ) { - $msg = self::getExistsWarning( $args ); - } elseif ( $warning == 'duplicate' ) { - $msg = self::getDupeWarning( $args ); - } elseif ( $warning == 'duplicate-archive' ) { - $msg = "\t
    • " . wfMsgExt( 'file-deleted-duplicate', 'parseinline', - array( Title::makeTitle( NS_FILE, $args )->getPrefixedText() ) ) - . "
    • \n"; - } else { - if ( is_bool( $args ) ) - $args = array(); - elseif ( !is_array( $args ) ) - $args = array( $args ); - $msg = "\t
    • " . wfMsgExt( $warning, 'parseinline', $args ) . "
    • \n"; - } - $warningHtml .= $msg; - } - $warningHtml .= "
    \n"; - $warningHtml .= wfMsgExt( 'uploadwarning-text', 'parse' ); - - $form = $this->getUploadForm( $warningHtml, $sessionKey, /* $hideIgnoreWarning */ true ); - $form->setSubmitText( wfMsg( 'upload-tryagain' ) ); - $form->addButton( 'wpUploadIgnoreWarning', wfMsg( 'ignorewarning' ) ); - $form->addButton( 'wpCancelUpload', wfMsg( 'reuploaddesc' ) ); - - $this->showUploadForm( $form ); - } - - /** - * Show the upload form with error message, but do not stash the file. - * - * @param string $message - */ - protected function uploadError( $message ) { - $message = '

    ' . wfMsgHtml( 'uploadwarning' ) . "

    \n" . - '
    ' . $message . "
    \n"; - $this->showUploadForm( $this->getUploadForm( $message ) ); - } - - /** - * Do the upload. - * Checks are made in SpecialUpload::execute() - */ - protected function processUpload() { - global $wgUser, $wgOut; - - // Verify permissions - $permErrors = $this->mUpload->verifyPermissions( $wgUser ); - if ( $permErrors !== true ) - return $wgOut->showPermissionsErrorPage( $permErrors ); - - // Fetch the file if required - $status = $this->mUpload->fetchFile(); - if ( !$status->isOK() ) - return $this->showUploadForm( $this->getUploadForm( $wgOut->parse( $status->getWikiText() ) ) ); - - // Upload verification - $details = $this->mUpload->verifyUpload(); - if ( $details['status'] != UploadBase::OK ) - return $this->processVerificationError( $details ); - - $this->mLocalFile = $this->mUpload->getLocalFile(); - - // Check warnings if necessary - if ( !$this->mIgnoreWarning ) { - $warnings = $this->mUpload->checkWarnings(); - if ( count( $warnings ) ) - return $this->uploadWarning( $warnings ); - } - - // Get the page text if this is not a reupload - if ( !$this->mForReUpload ) { - $pageText = self::getInitialPageText( $this->mComment, $this->mLicense, - $this->mCopyrightStatus, $this->mCopyrightSource ); - } else { - $pageText = false; - } - $status = $this->mUpload->performUpload( $this->mComment, $pageText, $this->mWatchthis, $wgUser ); - if ( !$status->isGood() ) - return $this->uploadError( $wgOut->parse( $status->getWikiText() ) ); - - // $wgOut->redirect( $this->mLocalFile->getTitle()->getFullURL() ); - // Semantic Forms change - output Javascript to either - // fill in or append to the field in original form, and - // close the window - # Chop off any directories in the given filename - if ( $this->mDesiredDestName ) { - $basename = $this->mDesiredDestName; - } else { - $basename = $this->mSrcName; - } - - $basename = str_replace( '_', ' ', $basename ); - // UTF8-decoding is needed for IE - $basename = utf8_decode( $basename ); - - $output .= << - var input = parent.window.jQuery( parent.document.getElementById("{$this->mInputID}") ); -END; - - if ( $this->mDelimiter == null ) { - $output .= <<mInputID}").value; - - if (cur_value === '') { - input.val( '$basename' + '{$this->mDelimiter} ' ); - input.change(); - } else { - var last_char = cur_value.charAt(cur_value.length - 1); - if (last_char == '{$this->mDelimiter}' || last_char == ' ') { - parent.document.getElementById("{$this->mInputID}").value += '$basename' + '{$this->mDelimiter} '; - input.change(); - } else { - parent.document.getElementById("{$this->mInputID}").value += '{$this->mDelimiter} $basename{$this->mDelimiter} '; - input.change(); - } - } - -END; - } - $output .= << - -END; - // $wgOut->addHTML( $output ); - print $output; - $img = null; // @todo: added to avoid passing a ref to null - should this be defined somewhere? - - wfRunHooks( 'SpecialUploadComplete', array( &$this ) ); - } - - /** - * Get the initial image page text based on a comment and optional file status information - */ - public static function getInitialPageText( $comment = '', $license = '', $copyStatus = '', $source = '' ) { - global $wgUseCopyrightUpload; - if ( $wgUseCopyrightUpload ) { - $licensetxt = ''; - if ( $license !== '' ) { - $licensetxt = '== ' . wfMsgForContent( 'license-header' ) . " ==\n" . '{{' . $license . '}}' . "\n"; - } - $pageText = '== ' . wfMsgForContent ( 'filedesc' ) . " ==\n" . $comment . "\n" . - '== ' . wfMsgForContent ( 'filestatus' ) . " ==\n" . $copyStatus . "\n" . - "$licensetxt" . - '== ' . wfMsgForContent ( 'filesource' ) . " ==\n" . $source ; - } else { - if ( $license !== '' ) { - $filedesc = $comment === '' ? '' : '== ' . wfMsgForContent ( 'filedesc' ) . " ==\n" . $comment . "\n"; - $pageText = $filedesc . - '== ' . wfMsgForContent ( 'license-header' ) . " ==\n" . '{{' . $license . '}}' . "\n"; - } else { - $pageText = $comment; - } - } - return $pageText; - } - - /** - * See if we should check the 'watch this page' checkbox on the form - * based on the user's preferences and whether we're being asked - * to create a new file or update an existing one. - * - * In the case where 'watch edits' is off but 'watch creations' is on, - * we'll leave the box unchecked. - * - * Note that the page target can be changed *on the form*, so our check - * state can get out of sync. - */ - protected function watchCheck() { - global $wgUser; - if ( $wgUser->getOption( 'watchdefault' ) ) { - // Watch all edits! - return true; - } - - $local = wfLocalFile( $this->mDesiredDestName ); - if ( $local && $local->exists() ) { - // We're uploading a new version of an existing file. - // No creation, so don't watch it if we're not already. - return $local->getTitle()->userIsWatching(); - } else { - // New page should get watched if that's our option. - return $wgUser->getOption( 'watchcreations' ); - } - } - - - /** - * Provides output to the user for a result of UploadBase::verifyUpload - * - * @param array $details Result of UploadBase::verifyUpload - */ - protected function processVerificationError( $details ) { - global $wgFileExtensions, $wgLang; - - switch( $details['status'] ) { - - /** Statuses that only require name changing **/ - case UploadBase::MIN_LENGTH_PARTNAME: - $this->recoverableUploadError( wfMsgHtml( 'minlength1' ) ); - break; - case UploadBase::ILLEGAL_FILENAME: - $this->recoverableUploadError( wfMsgExt( 'illegalfilename', - 'parseinline', $details['filtered'] ) ); - break; - case UploadBase::OVERWRITE_EXISTING_FILE: - $this->recoverableUploadError( wfMsgExt( $details['overwrite'], - 'parseinline' ) ); - break; - case UploadBase::FILETYPE_MISSING: - $this->recoverableUploadError( wfMsgExt( 'filetype-missing', - 'parseinline' ) ); - break; - - /** Statuses that require reuploading **/ - case UploadBase::EMPTY_FILE: - $this->showUploadForm( $this->getUploadForm( wfMsgHtml( 'emptyfile' ) ) ); - break; - case UploadBase::FILETYPE_BADTYPE: - $finalExt = $details['finalExt']; - $this->uploadError( - wfMsgExt( 'filetype-banned-type', - array( 'parseinline' ), - htmlspecialchars( $finalExt ), - implode( - wfMsgExt( 'comma-separator', array( 'escapenoentities' ) ), - $wgFileExtensions - ), - $wgLang->formatNum( count( $wgFileExtensions ) ) - ) - ); - break; - case UploadBase::VERIFICATION_ERROR: - unset( $details['status'] ); - $code = array_shift( $details['details'] ); - $this->uploadError( wfMsgExt( $code, 'parseinline', $details['details'] ) ); - break; - case UploadBase::HOOK_ABORTED: - $error = $details['error']; - $this->uploadError( wfMsgExt( $error, 'parseinline' ) ); - break; - default: - throw new MWException( __METHOD__ . ": Unknown value `{$details['status']}`" ); - } - } - - /** - * Remove a temporarily kept file stashed by saveTempUploadedFile(). - * @access private - * @return success - */ - protected function unsaveUploadedFile() { - global $wgOut; - if ( !( $this->mUpload instanceof UploadFromStash ) ) - return true; - $success = $this->mUpload->unsaveUploadedFile(); - if ( ! $success ) { - $wgOut->showFileDeleteError( $this->mUpload->getTempPath() ); - return false; - } else { - return true; - } - } - - /*** Functions for formatting warnings ***/ - - /** - * Formats a result of UploadBase::getExistsWarning as HTML - * This check is static and can be done pre-upload via AJAX - * - * @param array $exists The result of UploadBase::getExistsWarning - * @return string Empty string if there is no warning or an HTML fragment - * consisting of one or more
  • elements if there is a warning. - */ - public static function getExistsWarning( $exists ) { - global $wgUser; - - if ( !$exists ) - return ''; - - $file = $exists['file']; - $filename = $file->getTitle()->getPrefixedText(); - $warning = array(); - - $sk = $wgUser->getSkin(); - - if ( $exists['warning'] == 'exists' ) { - // Exact match - $warning[] = '
  • ' . wfMsgExt( 'fileexists', 'parseinline', $filename ) . '
  • '; - } elseif ( $exists['warning'] == 'page-exists' ) { - // Page exists but file does not - $warning[] = '
  • ' . wfMsgExt( 'filepageexists', 'parseinline', $filename ) . '
  • '; - } elseif ( $exists['warning'] == 'exists-normalized' ) { - $warning[] = '
  • ' . wfMsgExt( 'fileexists-extension', 'parseinline', $filename, - $exists['normalizedFile']->getTitle()->getPrefixedText() ) . '
  • '; - } elseif ( $exists['warning'] == 'thumb' ) { - // Swapped argument order compared with other messages for backwards compatibility - $warning[] = '
  • ' . wfMsgExt( 'fileexists-thumbnail-yes', 'parseinline', - $exists['thumbFile']->getTitle()->getPrefixedText(), $filename ) . '
  • '; - } elseif ( $exists['warning'] == 'thumb-name' ) { - // Image w/o '180px-' does not exists, but we do not like these filenames - $name = $file->getName(); - $badPart = substr( $name, 0, strpos( $name, '-' ) + 1 ); - $warning[] = '
  • ' . wfMsgExt( 'file-thumbnail-no', 'parseinline', $badPart ) . '
  • '; - } elseif ( $exists['warning'] == 'bad-prefix' ) { - $warning[] = '
  • ' . wfMsgExt( 'filename-bad-prefix', 'parseinline', $exists['prefix'] ) . '
  • '; - } elseif ( $exists['warning'] == 'was-deleted' ) { - # If the file existed before and was deleted, warn the user of this - $ltitle = SpecialPage::getTitleFor( 'Log' ); - $llink = $sk->linkKnown( - $ltitle, - wfMsgHtml( 'deletionlog' ), - array(), - array( - 'type' => 'delete', - 'page' => $filename - ) - ); - $warning[] = '
  • ' . wfMsgWikiHtml( 'filewasdeleted', $llink ) . '
  • '; - } - - return implode( "\n", $warning ); - } - - /** - * Get a list of warnings - * - * @param string local filename, e.g. 'file exists', 'non-descriptive filename' - * @return array list of warning messages - */ - public static function ajaxGetExistsWarning( $filename ) { - $file = wfFindFile( $filename ); - if ( !$file ) { - // Force local file so we have an object to do further checks against - // if there isn't an exact match... - $file = wfLocalFile( $filename ); - } - $s = ' '; - if ( $file ) { - $exists = UploadBase::getExistsWarning( $file ); - $warning = self::getExistsWarning( $exists ); - if ( $warning !== '' ) { - $s = "
      $warning
    "; - } - } - return $s; - } - - /** - * Render a preview of a given license for the AJAX preview on upload - * - * @param string $license - * @return string - */ - public static function ajaxGetLicensePreview( $license ) { - global $wgParser, $wgUser; - $text = '{{' . $license . '}}'; - $title = Title::makeTitle( NS_FILE, 'Sample.jpg' ); - $options = ParserOptions::newFromUser( $wgUser ); - - // Expand subst: first, then live templates... - $text = $wgParser->preSaveTransform( $text, $title, $wgUser, $options ); - $output = $wgParser->parse( $text, $title, $options ); - - return $output->getText(); - } - - /** - * Construct a warning and a gallery from an array of duplicate files. - */ - public static function getDupeWarning( $dupes ) { - if ( $dupes ) { - global $wgOut; - $msg = ""; - foreach ( $dupes as $file ) { - $title = $file->getTitle(); - $msg .= $title->getPrefixedText() . - "|" . $title->getText() . "\n"; - } - $msg .= ""; - return "
  • " . - wfMsgExt( "file-exists-duplicate", array( "parse" ), count( $dupes ) ) . - $wgOut->parse( $msg ) . - "
  • \n"; - } else { - return ''; - } - } - -} - -/** - * Sub class of HTMLForm that provides the form section of SpecialUpload - */ -class SFUploadForm extends HTMLForm { - protected $mWatch; - protected $mForReUpload; - protected $mSessionKey; - protected $mHideIgnoreWarning; - protected $mDestWarningAck; - - protected $mSourceIds; - - public function __construct( $options = array() ) { - $this->mWatch = !empty( $options['watch'] ); - $this->mForReUpload = !empty( $options['forreupload'] ); - $this->mSessionKey = isset( $options['sessionkey'] ) - ? $options['sessionkey'] : ''; - $this->mHideIgnoreWarning = !empty( $options['hideignorewarning'] ); - $this->mDestFile = isset( $options['destfile'] ) ? $options['destfile'] : ''; - - $sourceDescriptor = $this->getSourceSection(); - $descriptor = $sourceDescriptor - + $this->getDescriptionSection() - + $this->getOptionsSection(); - - wfRunHooks( 'UploadFormInitDescriptor', array( $descriptor ) ); - parent::__construct( $descriptor, 'upload' ); - - # Set some form properties - $this->setSubmitText( wfMsg( 'uploadbtn' ) ); - $this->setSubmitName( 'wpUpload' ); - $this->setSubmitTooltip( 'upload' ); - $this->setId( 'mw-upload-form' ); - - # Build a list of IDs for javascript insertion - $this->mSourceIds = array(); - foreach ( $sourceDescriptor as $key => $field ) { - if ( !empty( $field['id'] ) ) - $this->mSourceIds[] = $field['id']; - } - // added for Semantic Forms - $this->addHiddenField( 'sfInputID', $options['sfInputID'] ); - $this->addHiddenField( 'sfDelimiter', $options['sfDelimiter'] ); - - } - - /** - * Get the descriptor of the fieldset that contains the file source - * selection. The section is 'source' - * - * @return array Descriptor array - */ - protected function getSourceSection() { - global $wgLang, $wgUser, $wgRequest; - - if ( $this->mSessionKey ) { - return array( - 'wpSessionKey' => array( - 'type' => 'hidden', - 'default' => $this->mSessionKey, - ), - 'wpSourceType' => array( - 'type' => 'hidden', - 'default' => 'Stash', - ), - ); - } - - $canUploadByUrl = UploadFromUrl::isEnabled() && $wgUser->isAllowed( 'upload_by_url' ); - $radio = $canUploadByUrl; - $selectedSourceType = strtolower( $wgRequest->getText( 'wpSourceType', 'File' ) ); - - $descriptor = array(); - $descriptor['UploadFile'] = array( - 'class' => 'SFUploadSourceField', - 'section' => 'source', - 'type' => 'file', - 'id' => 'wpUploadFile', - 'label-message' => 'sourcefilename', - 'upload-type' => 'File', - 'radio' => &$radio, - 'help' => wfMsgExt( 'upload-maxfilesize', - array( 'parseinline', 'escapenoentities' ), - $wgLang->formatSize( - wfShorthandToInteger( ini_get( 'upload_max_filesize' ) ) - ) - ) . ' ' . wfMsgHtml( 'upload_source_file' ), - 'checked' => $selectedSourceType == 'file', - ); - if ( $canUploadByUrl ) { - global $wgMaxUploadSize; - $descriptor['UploadFileURL'] = array( - 'class' => 'SFUploadSourceField', - 'section' => 'source', - 'id' => 'wpUploadFileURL', - 'label-message' => 'sourceurl', - 'upload-type' => 'Url', - 'radio' => &$radio, - 'help' => wfMsgExt( 'upload-maxfilesize', - array( 'parseinline', 'escapenoentities' ), - $wgLang->formatSize( $wgMaxUploadSize ) - ) . ' ' . wfMsgHtml( 'upload_source_url' ), - 'checked' => $selectedSourceType == 'url', - ); - } - wfRunHooks( 'UploadFormSourceDescriptors', array( &$descriptor, &$radio, $selectedSourceType ) ); - - $descriptor['Extensions'] = array( - 'type' => 'info', - 'section' => 'source', - 'default' => $this->getExtensionsMessage(), - 'raw' => true, - ); - return $descriptor; - } - - - /** - * Get the messages indicating which extensions are preferred and prohibitted. - * - * @return string HTML string containing the message - */ - protected function getExtensionsMessage() { - # Print a list of allowed file extensions, if so configured. We ignore - # MIME type here, it's incomprehensible to most people and too long. - global $wgLang, $wgCheckFileExtensions, $wgStrictFileExtensions, - $wgFileExtensions, $wgFileBlacklist; - - $allowedExtensions = ''; - if ( $wgCheckFileExtensions ) { - if ( $wgStrictFileExtensions ) { - # Everything not permitted is banned - $extensionsList = - '
    ' . - wfMsgWikiHtml( 'upload-permitted', $wgLang->commaList( $wgFileExtensions ) ) . - "
    \n"; - } else { - # We have to list both preferred and prohibited - $extensionsList = - '
    ' . - wfMsgWikiHtml( 'upload-preferred', $wgLang->commaList( $wgFileExtensions ) ) . - "
    \n" . - '
    ' . - wfMsgWikiHtml( 'upload-prohibited', $wgLang->commaList( $wgFileBlacklist ) ) . - "
    \n"; - } - } else { - # Everything is permitted. - $extensionsList = ''; - } - return $extensionsList; - } - - /** - * Get the descriptor of the fieldset that contains the file description - * input. The section is 'description' - * - * @return array Descriptor array - */ - protected function getDescriptionSection() { - global $wgUser, $wgOut; - - $cols = intval( $wgUser->getOption( 'cols' ) ); - if ( $wgUser->getOption( 'editwidth' ) ) { - $wgOut->addInlineStyle( '#mw-htmlform-description { width: 100%; }' ); - } - - $descriptor = array( - 'DestFile' => array( - 'type' => 'text', - 'section' => 'description', - 'id' => 'wpDestFile', - 'label-message' => 'destfilename', - 'size' => 60, - ), - 'UploadDescription' => array( - 'type' => 'textarea', - 'section' => 'description', - 'id' => 'wpUploadDescription', - 'label-message' => $this->mForReUpload - ? 'filereuploadsummary' - : 'fileuploadsummary', - 'cols' => $cols, - 'rows' => 4, - ), -/* - 'EditTools' => array( - 'type' => 'edittools', - 'section' => 'description', - ), -*/ - 'License' => array( - 'type' => 'select', - 'class' => 'Licenses', - 'section' => 'description', - 'id' => 'wpLicense', - 'label-message' => 'license', - ), - ); - if ( $this->mForReUpload ) - $descriptor['DestFile']['readonly'] = true; - - global $wgUseCopyrightUpload; - if ( $wgUseCopyrightUpload ) { - $descriptor['UploadCopyStatus'] = array( - 'type' => 'text', - 'section' => 'description', - 'id' => 'wpUploadCopyStatus', - 'label-message' => 'filestatus', - ); - $descriptor['UploadSource'] = array( - 'type' => 'text', - 'section' => 'description', - 'id' => 'wpUploadSource', - 'label-message' => 'filesource', - ); - } - - return $descriptor; - } - - /** - * Get the descriptor of the fieldset that contains the upload options, - * such as "watch this file". The section is 'options' - * - * @return array Descriptor array - */ - protected function getOptionsSection() { - $descriptor = array( - 'Watchthis' => array( - 'type' => 'check', - 'id' => 'wpWatchthis', - 'label-message' => 'watchthisupload', - 'section' => 'options', - ) - ); - if ( !$this->mHideIgnoreWarning ) { - $descriptor['IgnoreWarning'] = array( - 'type' => 'check', - 'id' => 'wpIgnoreWarning', - 'label-message' => 'ignorewarnings', - 'section' => 'options', - ); - } - $descriptor['DestFileWarningAck'] = array( - 'type' => 'hidden', - 'id' => 'wpDestFileWarningAck', - 'default' => $this->mDestWarningAck ? '1' : '', - ); - - - return $descriptor; - - } - - /** - * Add the upload JS and show the form. - */ - public function show() { - $this->addUploadJS(); - parent::show(); - // disable $wgOut - we'll print out the page manually, - // taking the body created by the form, plus the necessary - // Javascript files, and turning them into an HTML page - global $wgOut, $wgUser, $wgTitle, $wgLanguageCode, - $wgXhtmlDefaultNamespace, $wgXhtmlNamespaces, $wgContLang; - - $wgOut->disable(); - $sk = $wgUser->getSkin(); - $sk->initPage( $wgOut ); // need to call this to set skin name correctly - $wgTitle = SpecialPage::getTitleFor( 'Upload' ); - - if ( method_exists( $wgOut, 'addModules' ) ) { - $wgOut->addModules( array( 'mediawiki.action.edit', 'mediawiki.legacy.upload', 'mediawiki.legacy.wikibits', 'mediawiki.legacy.ajax' ) ); - // Method was added in MW 1.18 - if ( method_exists( $wgOut, 'getBottomScripts' ) ) { - $head_scripts = $wgOut->getHeadScripts( $sk ); - $body_scripts = $wgOut->getBottomScripts( $sk ); - } else { - $head_scripts = ''; - $body_scripts = $wgOut->getHeadScripts( $sk ); - } - } else { - global $wgJsMimeType, $wgStylePath, $wgStyleVersion; - $vars_js = Skin::makeGlobalVariablesScript( array( 'skinname' => $sk->getSkinName() ) ); - $head_scripts = << -{$wgOut->getScript()} - - - -END; - $body_scripts = ''; - } - - $text = << - $ns ) { - $text .= "xmlns:{$tag}=\"{$ns}\" "; - } - $dir = $wgContLang->isRTL() ? "rtl" : "ltr"; - $text .= "xml:lang=\"{$wgLanguageCode}\" lang=\"{$wgLanguageCode}\" dir=\"{$dir}\">"; - - $text .= << - -$head_scripts - - -{$wgOut->getHTML()} -$body_scripts - - - - -END; - print $text; - } - - /** - * Add upload JS to $wgOut - * - * @param bool $autofill Whether or not to autofill the destination - * filename text box - */ - protected function addUploadJS( $autofill = true ) { - global $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview; - global $wgStrictFileExtensions; - global $wgEnableJS2system; - global $wgOut; - - $scriptVars = array( - 'wgAjaxUploadDestCheck' => $wgUseAjax && $wgAjaxUploadDestCheck, - 'wgAjaxLicensePreview' => $wgUseAjax && $wgAjaxLicensePreview, - 'wgUploadAutoFill' => (bool)$autofill && - // If we received mDestFile from the request, don't autofill - // the wpDestFile textbox - $this->mDestFile === '', - 'wgUploadSourceIds' => $this->mSourceIds, - 'wgStrictFileExtensions' => $wgStrictFileExtensions, - 'wgCapitalizeUploads' => MWNamespace::isCapitalized( NS_FILE ), - ); - - $wgOut->addScript( Skin::makeVariablesScript( $scriptVars ) ); - } - - /** - * Empty function; submission is handled elsewhere. - * - * @return bool false - */ - function trySubmit() { - return false; - } - -} - -/** - * A form field that contains a radio box in the label. - */ -class SFUploadSourceField extends HTMLTextField { - - function getLabelHtml( $cellAttributes = array() ) { - $id = "wpSourceType{$this->mParams['upload-type']}"; - $label = Html::rawElement( 'label', array( 'for' => $id ), $this->mLabel ); - - if ( !empty( $this->mParams['radio'] ) ) { - $attribs = array( - 'name' => 'wpSourceType', - 'type' => 'radio', - 'id' => $id, - 'value' => $this->mParams['upload-type'], - ); - - if ( !empty( $this->mParams['checked'] ) ) - $attribs['checked'] = 'checked'; - $label .= Html::element( 'input', $attribs ); - } - - return Html::rawElement( 'td', array( 'class' => 'mw-label' ), $label ); - } - - function getSize() { - return isset( $this->mParams['size'] ) - ? $this->mParams['size'] - : 60; - } - -} - -global $wgVersion; -$uceMethod = new ReflectionMethod( 'SpecialPage', 'userCanExecute' ); -$uceParams = $uceMethod->getParameters(); -// @TODO The "User" class was added to the function header -// for SpecialPage::userCanExecute in MW 1.18 (r86407) - somehow -// both the old and new signatures need to be supported. When support -// is dropped for MW below 1.18 this should be reintegrated into one -// class. -if ( $uceParams[0]->getClass() ) { // found a class definition for param $user - - /** - * Class variant for MW 1.18+ - */ - class SFUploadWindow extends SFUploadWindowProto { - /** - * This page can be shown if uploading is enabled. - * Handle permission checking elsewhere in order to be able to show - * custom error messages. - * - * @param User $user - * @return bool - */ - public function userCanExecute( User $user ) { - return UploadBase::isEnabled() && parent::userCanExecute( $user ); - } - - - } - -} else { - - /** - * Class variant for MW 1.17 - */ - class SFUploadWindow extends SFUploadWindowProto { - /** - * This page can be shown if uploading is enabled. - * Handle permission checking elsewhere in order to be able to show - * custom error messages. - * - * @param User $user - * @return bool - */ - public function userCanExecute( $user ) { - return UploadBase::isEnabled() && parent::userCanExecute( $user ); - } - } - -} diff --git a/documentacion/extensions/SemanticMaps/COPYING b/documentacion/extensions/SemanticMaps/COPYING deleted file mode 100644 index f583e2f..0000000 --- a/documentacion/extensions/SemanticMaps/COPYING +++ /dev/null @@ -1,682 +0,0 @@ -The license text below "----" applies to all files within this distribution, other -than those that are in a directory which contains files named "LICENSE" or -"COPYING", or a subdirectory thereof. For those files, the license text contained in -said file overrides any license information contained in directories of smaller depth. -Alternative licenses are typically used for software that is provided by external -parties, and merely packaged with this software for convenience. ----- - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/documentacion/extensions/SemanticMaps/INSTALL b/documentacion/extensions/SemanticMaps/INSTALL deleted file mode 100644 index c93f693..0000000 --- a/documentacion/extensions/SemanticMaps/INSTALL +++ /dev/null @@ -1,56 +0,0 @@ -This is the install file for the Semantic Maps extension. - -Extension page on mediawiki.org: https://www.mediawiki.org/wiki/Extension:Semantic_Maps -Latest version of the install file: http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SemanticMaps/INSTALL?view=co - - -== Requirements == - -Semantic Maps requires: - -* Maps with the same version as this release of Semantic Maps -** Validator 0.4.11 or above -** MediaWiki 1.17 or above -* PHP 5.2 or above, 5.3 or above recommended -* Semantic MediaWiki 1.7 or above - -Semantic Maps also extensions these extensions when installed: - -* Semantic Forms (2.2 or later) -* Admin Links (any version) - -== Download == - -You can find the current version of Semantic Maps on the Google Code download page [0], -as well as a list of legacy downloads [1]. - -[0] https://code.google.com/p/semanticmaps/downloads/list -[1] https://code.google.com/p/semanticmaps/downloads/list?can=1 - -You can also get the code directly from SVN. Tags can be obtained via - - svn checkout http://svn.wikimedia.org/svnroot/mediawiki/tags/extensions/SemanticMaps/REL_version - -Where 'version' is the version number of the tag, such as 0_1 -(see the available tags at http://svn.wikimedia.org/svnroot/mediawiki/tags/extensions/SemanticMaps/). - -The latest code can be obtained from trunk: - - svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticMaps/ - -== Installation == - -Once you have downloaded the code, place the ''SemanticMaps'' directory within your MediaWiki -'extensions' directory. Then add the following code to your [[Manual:LocalSettings.php|LocalSettings.php]] file: - -# Semantic Maps -require_once( "$IP/extensions/SemanticMaps/SemanticMaps.php" ); - -You need to keep these rules in mind regarding the inclusion order of extenions: - -* Validator needs to be included before any extension using it (so you can just put it first to keep it simple). -* Maps needs to be included before Semantic Maps. -* Semantic MediaWiki needs to be included before Maps. -* Semantic Forms (if used) needs to be included before Maps (but after SMW). - -An example of a typical inclusion order: ..., Validator, ..., SMW, ..., SF, ..., Maps, SM, ... diff --git a/documentacion/extensions/SemanticMaps/README b/documentacion/extensions/SemanticMaps/README deleted file mode 100644 index 02884bc..0000000 --- a/documentacion/extensions/SemanticMaps/README +++ /dev/null @@ -1,25 +0,0 @@ -== About == - -Semantic Maps is an extension that adds semantic capabilities to the Maps extension. This -includes the ability to add, edit, aggregate and visualize coordinate data stored through -the Semantic MediaWiki extension. - -Since Semantic Maps uses the Maps API, you can use multiple mapping services. These include -Google Maps (with Google Earth support), Yahoo! Maps, OpenLayers and OpenStreetMap. - -Both Semantic Maps and Maps are based on Semantic Google Maps and Semantic Layers, and are -meant to replace these extensions. Having Semantic MediaWiki and Maps installed is a -prerequisite for the Semantic Maps extension; the code will not work without it. - -Notes on installing Semantic Maps are found in the file INSTALL. - - -== Contributing == - -If you have bug reports or requests, please add them to the Talk page [0]. You can also -send them to Jeroen De Dauw, jeroendedauw -at- gmail.com, and Yaron Koren, at yaron57 -at- -gmail.com. - -[0] http://www.mediawiki.org/w/index.php?title=Extension_talk:Semantic_Maps - -For more info, see http://mapping.referata.com/wiki/Mapping_on_MediaWiki \ No newline at end of file diff --git a/documentacion/extensions/SemanticMaps/RELEASE-NOTES b/documentacion/extensions/SemanticMaps/RELEASE-NOTES deleted file mode 100644 index 8cdaa6b..0000000 --- a/documentacion/extensions/SemanticMaps/RELEASE-NOTES +++ /dev/null @@ -1,461 +0,0 @@ -For a documentation of all features, see http://www.mediawiki.org/wiki/Extension:Semantic_Maps - -== Semantic Maps change log == - -This change log contains a list of completed to-do's (new features, bug fixes, refactoring) for every -version of Semantic Maps. You can find the most upt-do-date version at -http://www.mediawiki.org/wiki/Extension:Semantic_Maps/Version_history#Semantic_Maps_change_log - - -=== Semantic Maps 1.0.5 === -(2011-11-30) - -* Allow properties of type string to be used as title. (bug 32632) -* Fixed error occuring when parsing invalid coordinates. - -=== Semantic Maps 1.0.4 === -(2011-10-15) - -* Added compatibility with SMW 1.7 and later. -* Removed compatibility with SMW 1.6.1 and earlier. -* Improved default map format handling. - -=== Semantic Maps 1.0.3 === -(2011-09-14) - -* Added geocodecontrol parameter for the form inputs. - -=== Semantic Maps 1.0.2 === -(2011-08-24) - -* Matching Maps 1.0.2 release. - -=== Semantic Maps 1.0.1 === -(2011-08-17) - -* Fixed handling of the semantic link caption in the geographical coordinate datavalue class. - -=== Semantic Maps 1.0 === -(2011-07-19) - -This version branched from Semantic Maps 0.7.x at version 0.7.3. -See the maps release notes for all changes not specific to Semantic Maps. - -* Improved map query parameter support in the Special:Ask GUI - -* Fixed fatal error occurring when running maintenance/refreshLinks.php. - -* Rewrote all the form inputs to jQuery plugins. - -* Rewrote the map printers to use the SMQueryHandler class. - -* Added geocoding capability to the OpenLayers form input when having a GeoNames API account. - -* Added 'update map' button to all form inputs. - -* Fixed PostGres support for distance queries. - -* Use of the DataItems introduces in Semantic MediaWiki 1.6. - -=== Semantic Maps 0.7.3 === -(2010-11-30) - -==== new features ==== - -* Added KML result format that allows the export of geographical data queried via SMW in the form of .kml files. - -=== Semantic Maps 0.7.2 === -(2010-10-28) - -==== Bug fixes ==== - -* Fixed small layout issue in query pop-ups when property names are blank. - -=== Semantic Maps 0.7.1 === -(2010-10-20) - -==== New features ==== - -* Image layers for OpenLayers maps, defined via pages in the Layer namespace. - -==== Bug fixes ==== - -* Support for images without namespace prefix in the statispoints parameter in map ask queries. - -* Fixed several issue with the OpenLayers form input. - -* Fixed fatal error for Google Maps v2 options on Special:Ask. - -=== Semantic Maps 0.7 === -(2010-10-15) - -==== New features ==== - -* Added 'locations' parameter to the map query printers that allows for displaying static locations - in addition to query results in queries. It behaves the same as the locations parameter in display_points. - -==== Bug fixes ==== - -* Fixed compatibility with the MW 1.17 resource loader. - -==== Internal improvements ==== - -* Use of Validator 0.4, allowing for more robust and consistent error reporting. - -* Restructured the directory structure of the extension to better match it's architecture. - -=== Semantic Maps 0.6.6 === -(2010-08-26) - -=== New features === - -* Added support for 'semantic' extension type, added by SMW 1.5.2 and above. - -==== Refactoring ==== - -* Use of the new MapsMappingServices class of the Maps extension instead of the globals. - -==== Bug fixes ==== - -* Fixed issue that caused popup contents to be displayed incorrectly when using templates. - -* Fixed issue that lowercased template names provided with the template parameter in queries. - -=== Semantic Maps 0.6.5 === -(2010-07-27) - -==== New features ==== - -* Added hook for default result formats based on queried data types (requires SMW 1.5.2 or above). - -==== Refactoring ==== - -* Moved map id creation to the mapping service class for all features. - -* Moved marker js creation for query printers to the mapping service class for all features. - -* Moved default zoom level access method to the mapping service class for all features. - -* Cleaned up the way specific parameter info is handled. - -* Improved the structure of the geocoding functionality in form inputs. - -==== Bug fixes ==== - -* Fixed the default zoom for form inputs and query printers. - -=== Semantic Maps 0.6.4 === -(2010-07-08) - -==== New features ==== - -* Re-added service link support, which got removed in 0.6. - -==== Refactoring ==== - -* Moved more functionality over from feature classes to service classes to prevent crazy code-flow and code duplication. - -==== Bug fixes ==== - -* Fixed php notice that occurred in some queries, introduced in 0.6.3. - -* Fixed issue that caused result format maps not to load when a centre address was provided that could not be geocoded. - -=== Semantic Maps 0.6.3 === -(2010-06-20) - -==== Refactoring ==== - -* Mayor refactoring of the mapping service handling, to make the code flow less messy and be able to do mapping service related things in a more consistent fashion. - -==== Bug fixes ==== - -* Fixed issue that caused Yahoo! Maps and OpenLayers maps not to load on form pages. - -* Fixed php warning originating from Validator that occurred on form pages with maps. - -* Fixed issue that caused a fatal error when doing a query via special:ask with a mapping format, present since 0.6. - -=== Semantic Maps 0.6.2 === -(2010-06-07) - -==== Bug fixes ==== - -* Fixed fatal error that occurred when editing a page via a form with a map on it. - -=== Semantic Maps 0.6.1 === -(2010-06-04) - -==== Bug fixes ==== - -* Fixed serious bug that caused mapping parameters to get ignored in semantic queries and forms. - -* Fixed fatal error that occurred when not disabling the form input feature when Semantic Forms is not installed. - -* Fixed bug in map form inputs that stored 'west' coordinates as 'south' coordinates, effectively rendering the resulting coordinate set invalid. - -=== Semantic Maps 0.6 === -(2010-05-31) - -==== New features ==== - -* Added full support for both directional and non-directional coordinate notations in DMS, DD, DM and float notation. - -* Added native geographical proximity query support. - -* Added settings to specify the width and height of maps in forms. - -* Added settings to specify the format of coordinates as shown in query printouts. - -==== Refactoring ==== - -* Rewrote map divs and added loading message for each map. - -* Rewrote individual map JS to be added to the page header. - -* Restructured the directory structure to make what the services and features are more clear. - -* Rewrote storage of coordinates to make the proximity query scalable. - -==== Bug fixes ==== - -* Fixed conflict with prototype library that caused compatibility problems with the Halo extension. - -=== Semantic Maps 0.5.5 === -(2010-03-20) - -==== Refactoring ==== - -* Moved the geographical proximity query from Semantic MediaWiki over to Semantic Maps. - -* Stylized the code to conform to MediaWiki's spacing conventions. - -==== Bug fixes ==== - -* Fixed issue causing properties of type Page to not show up in pop-ups when using the template parameter. - -* Fixed escaping issues that caused pop-ups to break when they contained '-signs. - -=== Semantic Maps 0.5.4 === -(2010-03-01) - -==== Bug fixes ==== - -* Fixed potential xss vectors. - -* Fixed minor JS error that was present for all maps except OSM. - -* Fixed i18n issue that caused geocoords not to be recognized on several foreign language wiki's. - -=== Semantic Maps 0.5.3 === -(2010-02-01) - -==== Bug fixes ==== - -* Fixed issue with the type and types parameters in the Yahoo! Maps form input. - -* Fixed OpenLayers form input projection bug, causing the the coordinates to be wrongly interpreted. - -* Fixed marker display for the OpenLayers form inputs. - -* Fixed issue causing a fatal error when executing a query on Special:Ask with the "map" format. - -=== Semantic Maps 0.5.2 === -(2010-01-20) - -==== New features ==== - -* Added support for template= parameter to the result printers. - -* Added support for showtitle= parameter to the result printers. - -* Added icon parameter to the query printers, allowing you to set the icon for all markers that do not have a specific icon assigned via a compound query. - -==== Bug fixes ==== - -* Added missing SMW #Ask: parameters to the parameter list of the Semantic Maps query printers. - -* Fixed issue with centre parameter for maps with no results (using forceshow=on). - -=== Semantic Maps 0.5.1 === -(2009-12-25) - -==== New features ==== - -* Added parameter support for the 'map' format on Special:Ask. - -* Added forceshow parameter to the result formats to allow users to force showing a map, even when there are no geographical coordinate results from a query. - -==== Refactoring ==== - -* Modified the parameter definitions to work with Validator 0.2. - -* Removed redundant (because of Validator 0.2) utility function calls from the mapping classes. - -* Ensured none of the form input classes get loaded when SF is not present. - -==== Bug fixes ==== - -* Fixed issue with the query printers causing error messages to be shown for ask specific parameters. - -===Semantic Maps 0.5=== -(2009-12-17) - -====New features==== - -* Added a result format for the OL optimized for OSM service. - -* Added support for the new Special:Ask page's parameter handling to the query printers. - -==== Refactoring ==== - -* Moved the geographical coordinate data type handling from SMW to SM. - -* Added checks for extension dependencies that need to be present for Semantic Maps to be initialized. - -==== Bug fixes ==== - -* Fixed issue with the form input registration. The main service names where getting changed into the default mapping service. - -===Semantic Maps 0.4.2=== -(2009-11-15) - -Changes in 0.4.2 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/11/16/maps-and-semantic-maps-0-4-2/ Maps and Semantic Maps 0.4.2 released] -* [http://blog.bn2vs.com/2009/11/12/new-in-maps-0-4-2/ New in Maps 0.4.2] - -==== Bug fixes ==== - -* Fixed issue with backward compatibility of the $wgGoogleMapsKey variable. It got handled at the wrong point in the form input classes, causing the form geocoding functionality to be disabled for people still using the old variable name. - -===Semantic Maps 0.4.1=== -(2009-11-10) - -====New features==== - -* Added smart geocoding to the QP's centre parameter. - -* Added smart geocoding to the FI's centre parameter. - -==== Bug fixes ==== - -* Fixed bug in the Yahoo! Maps form input, caused by not adapting a renamed variable. - -* Fixed bug in the form scripts caused by wrongly encoded JavaScript file of Maps. - -===Semantic Maps 0.4=== -(2009-11-03) - -Changes in 0.4 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/11/03/finally-maps-and-semantic-maps-0-4/ Finally! Maps and Semantic Maps 0.4!] - -====Bug fixes==== - -* Fixed the repeated display of mapping services on the Special:Ask page, by [http://svn.wikimedia.org/viewvc/mediawiki?view=rev&revision=58187 adding an aliasing system to SMW]. - -* Fixed problem that caused the SM result formats to not get displayed on Special:Ask. - -===Semantic Maps 0.3.4=== -(2009-09-12) - -Changes in 0.3.4 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/09/12/maps-and-semantic-maps-0-3-4-released/ Maps and Semantic Maps 0.3.4 released] - -====Bug fixes==== - -* Fixed bug causing error for people who do not have Semantic Forms installed and enabled, presumably introduced in 0.3. - -* Fixed bug causing only the last coordinate property from a result to be shown on a map format, and so causing the predecessors to be ignored in case of multiple coordinate properties. - -====Refactoring==== - -* Restructured the extension to work with the new feature hook system of Maps. - -===Semantic Maps 0.3.3=== -(2009-08-15) - -Changes in 0.3.3 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/08/25/maps-and-semantic-maps-0-3-3/ Maps and Semantic Maps 0.3.3] - -====Bug fixes==== - -* Fixed error caused by the 'map' format on the Special:Ask page - -===Semantic Maps 0.3.2=== -(2009-08-18) - -====Bug fixes==== - -* Fixed logic error that caused maps to have a wrong centre and zoom when a query only returned one result. - -* Fixed an issue with the centre parameter in queries. In some cases it would not be processed correctly and cause PHP notices. - -===Semantic Maps 0.3.1=== -(2009-08-18) - -====Bug fixes==== - -* Fixed script design flaw that caused errors when using the 'map' format in a query. - -===Semantic Maps 0.3=== -(2009-08-14) - -Changes in 0.3 discussed on the authors blog: - -* [http://blog.bn2vs.com/2009/08/13/final-changes-for-maps-and-sm-0-3/ Final changes for Maps and SM 0.3] - -* [http://blog.bn2vs.com/2009/08/07/new-features-in-maps-and-sm-0-3/ New features in Maps and SM 0.3] - -* [http://blog.bn2vs.com/2009/08/05/structural-changes-for-maps-and-sm-0-3/ Structural changes for Maps and SM 0.3] - -====New functionality==== - -* Yahoo! Maps and OpenLayers now handle the "icon=" parameter that can come from Semantic Compound Queries, as Google Maps already did. - -====Refactoring==== - -* Restructured the Query Printer classes (JavaScript based logic). - -* Made form input classes weakly typed, so they fully work with the new aliasing system. - -* Integrated the new hook system of Maps. - -* Made the form input class inherit from MapsMapFeature. - -====Bug fixes==== - -* Mapping formats get added only once, as opossed to multiple times in version 0.2.2. - -* Added "elementNamePrefix" to the map names and fields of form inputs to prevent JavaScript errors. - -* When a query returns no results, nothing will be displayed, instead of an empty map. - -* The Google Maps form input now zooms in correctly when a user looks up an address. - -===Semantic Maps 0.2=== -(2009-07-29) - -====New functionality==== - -* Added a hook for [[Extension:Admin_Links|Admin Links]]. - -* Added multi geocoder integration with form inputs. - -* Added support for the Yahoo! Geocoder (in form inputs). - -====Refactoring==== - -* Restructured the Form Input classes. - -====Bug fixes==== - -* Fixed issue that occurred when a custom centre is set for a Yahoo! Maps map, causing the map to not display their markers correctly. - -===Semantic Maps 0.1=== -(2009-07-21) - -* Initial release, featuring both result formats and form inputs for Google Maps (+ Google Earth), Yahoo! Maps and OpenLayers. diff --git a/documentacion/extensions/SemanticMaps/SM_Settings.php b/documentacion/extensions/SemanticMaps/SM_Settings.php deleted file mode 100644 index 529c326..0000000 --- a/documentacion/extensions/SemanticMaps/SM_Settings.php +++ /dev/null @@ -1,67 +0,0 @@ - - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - die( 'Not an entry point.' ); -} - - - -# Mapping services configuration - - # Array of String. The default mapping service for each feature, which will be used when no valid service is provided by the user. - # Each service needs to be enabled, if not, the first one from the available services will be taken. - # Note: The default service needs to be available for the feature you set it for, since it's used as a fallback mechanism. - $egMapsDefaultServices['qp'] = $egMapsDefaultService; - $egMapsDefaultServices['fi'] = $egMapsDefaultService; - - - -# Queries - - # Boolean. The default value for the forceshow parameter. Will force a map to be shown even when there are no query results - # when set to true. This value will only be used when the user does not provide one. - $smgQPForceShow = true; - - # Boolean. The default value for the showtitle parameter. Will hide the title in the marker pop-ups when set to true. - # This value will only be used when the user does not provide one. - $smgQPShowTitle = true; - - # String or false. Allows you to define the content and it's layout of marker pop-ups via a template. - # This value will only be used when the user does not provide one. - $smgQPTemplate = false; - - # Enum. The default output format of coordinates. - # Possible values: Maps_COORDS_FLOAT, Maps_COORDS_DMS, Maps_COORDS_DM, Maps_COORDS_DD - $smgQPCoodFormat = $egMapsCoordinateNotation; - - # Boolean. Indicates if coordinates should be outputted in directional notation by default. - $smgQPCoodDirectional = $egMapsCoordinateDirectional; - - - -# Forms - - $smgFIMulti = true; - - $smgFIFieldSize = 40; - - # Integer or string. The default width and height of maps in forms created by using Semantic Forms. - # These values only be used when the user does not provide them. - $smgFIWidth = 665; - $smgFIHeight = $egMapsMapHeight; - \ No newline at end of file diff --git a/documentacion/extensions/SemanticMaps/SemanticMaps.hooks.php b/documentacion/extensions/SemanticMaps/SemanticMaps.hooks.php deleted file mode 100644 index 33f52c6..0000000 --- a/documentacion/extensions/SemanticMaps/SemanticMaps.hooks.php +++ /dev/null @@ -1,36 +0,0 @@ -getSection( wfMsg( 'smw_adminlinks_displayingdata' ) ); - - // Escape if SMW hasn't added links. - if ( is_null( $displaying_data_section ) ) return true; - - $smw_docu_row = $displaying_data_section->getRow( 'smw' ); - - $sm_docu_label = wfMsg( 'adminlinks_documentation', 'Semantic Maps' ); - $smw_docu_row->addItem( AlItem::newFromExternalLink( 'http://mapping.referata.com/wiki/Semantic_Maps', $sm_docu_label ) ); - - return true; - } - -} \ No newline at end of file diff --git a/documentacion/extensions/SemanticMaps/SemanticMaps.i18n.php b/documentacion/extensions/SemanticMaps/SemanticMaps.i18n.php deleted file mode 100644 index 2a51795..0000000 --- a/documentacion/extensions/SemanticMaps/SemanticMaps.i18n.php +++ /dev/null @@ -1,1110 +0,0 @@ - "Provides the ability to view and edit coordinate data stored with the Semantic MediaWiki extension ([http://mapping.referata.com/wiki/Examples demos]).", - 'semanticmaps-unrecognizeddistance' => 'The value $1 is not a valid distance.', - 'semanticmaps-kml-link' => 'View the KML file', - 'semanticmaps-kml' => 'KML', - 'semanticmaps-default-kml-pagelink' => 'View page $1', - - 'semanticmaps-latitude' => 'Latitude: $1', - 'semanticmaps-longitude' => 'Longitude: $1', - 'semanticmaps-altitude' => 'Altitude: $1', - - // Forms - 'semanticmaps-loading-forminput' => 'Loading map form input...', - 'semanticmaps_lookupcoordinates' => 'Look up coordinates', - 'semanticmaps_enteraddresshere' => 'Enter address here', - 'semanticmaps-updatemap' => 'Update map', - 'semanticmaps-forminput-remove' => 'Remove', - 'semanticmaps-forminput-add' => 'Add', - 'semanticmaps-forminput-locations' => 'Locations', - - // Parameter descriptions - - 'semanticmaps-par-staticlocations' => 'A list of locations to add to the map together with the queried data. Like with display_points, you can add a title, description and icon per location using the tilde "~" as separator.', - 'semanticmaps-par-forceshow' => 'Show the map even when there are no locations to display?', - 'semanticmaps-par-showtitle' => 'Show a title in the marker info window or not. Disabling this is often usefull when using a template to format the info window content.', - 'semanticmaps-par-centre' => 'The centre of the map. When not provided, the map will automatically pick the optimal centre to display all markers on the map.', - 'semanticmaps-par-template' => 'A template to use to format the info window contents.', - - 'semanticmaps-par-geocodecontrol' => 'Show the geocoding control.', - - 'semanticmaps-kml-text' => 'The text associates with each page. Overriden by the aditional queried properties if any.', - 'semanticmaps-kml-title' => 'The default title for results', - 'semanticmaps-kml-linkabsolute' => 'Should links be absolute or not (ie relative)', - 'semanticmaps-kml-pagelinktext' => 'The text to use for the links to the page, in which $1 will be replaced by the page title', -); - -/** Message documentation (Message documentation) - * @author EugeneZelenko - * @author Fryed-peach - * @author Lloffiwr - * @author Purodha - * @author Raymond - * @author Umherirrender - */ -$messages['qqq'] = array( - 'semanticmaps-desc' => '{{desc}}', - 'semanticmaps-kml' => '{{optional}}', - 'semanticmaps-default-kml-pagelink' => '$1 is probably a page title.', - 'semanticmaps-loading-forminput' => 'Message displayed during a computer action', - 'semanticmaps_lookupcoordinates' => 'Submit button next to input box. The box contains the hint {{msg-mw|Semanticmaps_enteraddresshere}}', - 'semanticmaps_enteraddresshere' => 'Hint provided in an input box. The submit button next to the input box is {{msg-mw|Semanticmaps_lookupcoordinates}}', - 'semanticmaps-updatemap' => 'Submit button label', - 'semanticmaps-forminput-remove' => '{{Identical|Remove}}', - 'semanticmaps-forminput-add' => '{{Identical|Add}}', - 'semanticmaps-forminput-locations' => '{{Identical|Location}}', -); - -/** Afrikaans (Afrikaans) - * @author Naudefj - */ -$messages['af'] = array( - 'semanticmaps-desc' => 'Bied die vermoë om koördinaatdata met behulp van die Semantiese MediaWiki-uitbreiding te sien en te wysig ([http://mapping.referata.com/wiki/Examples demo]).', - 'semanticmaps-unrecognizeddistance' => 'Die waarde "$1" is nie \'n geldige afstand nie.', - 'semanticmaps_lookupcoordinates' => 'Soek koördinate op', - 'semanticmaps_enteraddresshere' => 'Voer adres hier in', -); - -/** Arabic (العربية) - * @author Meno25 - * @author OsamaK - */ -$messages['ar'] = array( - 'semanticmaps-desc' => 'يقدم إمكانية عرض وتعديل بيانات التنسيق التي خزنها امتداد سيمانتيك ميدياويكي ([http://mapping.referata.com/wiki/Examples تجربة]).', - 'semanticmaps-kml' => 'كيه إم إل', - 'semanticmaps_lookupcoordinates' => 'ابحث عن الإحداثيات', - 'semanticmaps_enteraddresshere' => 'أدخل العنوان هنا', - 'semanticmaps-forminput-remove' => 'أزل', - 'semanticmaps-forminput-add' => 'أضف', -); - -/** Egyptian Spoken Arabic (مصرى) - * @author Ghaly - * @author Meno25 - */ -$messages['arz'] = array( - 'semanticmaps_lookupcoordinates' => 'ابحث عن الإحداثيات', - 'semanticmaps_enteraddresshere' => 'أدخل العنوان هنا', -); - -/** Asturian (Asturianu) - * @author Xuacu - */ -$messages['ast'] = array( - 'semanticmaps-desc' => 'Ufre la capacidá de ver y editar los datos de coordenaes guardaos cola estensión Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples exemplos]).', - 'semanticmaps-unrecognizeddistance' => 'El valor $1 nun ye una distancia válida.', - 'semanticmaps-kml-link' => 'Ver el ficheru KML', - 'semanticmaps-default-kml-pagelink' => 'Ver la páxina "$1"', - 'semanticmaps-loading-forminput' => "Cargando'l formulariu d'entrada del mapa...", - 'semanticmaps_lookupcoordinates' => 'Consultar les coordenaes', - 'semanticmaps_enteraddresshere' => 'Escribi la direición equí', - 'semanticmaps-updatemap' => 'Anovar el mapa', - 'semanticmaps-forminput-remove' => 'Desaniciar', - 'semanticmaps-forminput-add' => 'Amestar', - 'semanticmaps-forminput-locations' => 'Llugares', - 'semanticmaps-par-staticlocations' => 'Llista de llugares p\'amestar al mapa xunto colos datos consultaos. Como con display_points, pues amestar un títulu, una descripción y un iconu pa cada llugar usando\'l signu "~" como separador.', - 'semanticmaps-par-forceshow' => "¿Ver el mapa tamién cuando nun hai llugares qu'amosar?", - 'semanticmaps-par-showtitle' => "Amosar o non un títulu na ventana d'información del marcador. De vezu, desactivalo ye útil cuando s'utiliza una plantía pa dar formatu al conteníu de la ventana d'información.", - 'semanticmaps-par-centre' => "El centru del mapa. Cuando nun se proporciona, el mapa escoyerá automáticamente'l meyor centru p'amosar tolos marcadores del mapa.", - 'semanticmaps-par-template' => "Una plantía que s'utiliza pa dar formatu al conteníu de la ventana d'información.", - 'semanticmaps-par-geocodecontrol' => 'Amosar el control de xeocodificación.', - 'semanticmaps-kml-text' => 'El testu asociáu con cada páxina. Sustituyíu poles otres propiedaes consultaes, si esisten.', - 'semanticmaps-kml-title' => 'El títulu predetermináu pa los resultaos', - 'semanticmaps-kml-linkabsolute' => 'Si los títulos tienen de ser absolutos o non (esto ye, relativos)', - 'semanticmaps-kml-pagelinktext' => 'El testu a usar pa los enllaces a la páxina, onde "$1" se sustituye pol títulu de la páxina', -); - -/** Azerbaijani (Azərbaycanca) - * @author Cekli829 - */ -$messages['az'] = array( - 'semanticmaps-forminput-add' => 'Əlavə et', -); - -/** Belarusian (Taraškievica orthography) (‪Беларуская (тарашкевіца)‬) - * @author EugeneZelenko - * @author Jim-by - * @author Wizardist - */ -$messages['be-tarask'] = array( - 'semanticmaps-desc' => 'Забясьпечвае магчымасьць прагляду і рэдагаваньня зьвестак пра каардынаты, якія захоўваюцца з дапамогай пашырэньня Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples дэманстрацыя]).', - 'semanticmaps-unrecognizeddistance' => 'Значэньне $1 — няслушная адлегласьць.', - 'semanticmaps-kml-link' => 'Паказаць KML-файл', - 'semanticmaps-default-kml-pagelink' => 'Паказаць старонку $1', - 'semanticmaps-loading-forminput' => 'Загрузка мапы…', - 'semanticmaps_lookupcoordinates' => 'Пошук каардынатаў', - 'semanticmaps_enteraddresshere' => 'Увядзіце тут адрас', - 'semanticmaps-updatemap' => 'Абнавіць мапу', - 'semanticmaps-forminput-remove' => 'Выдаліць', - 'semanticmaps-forminput-add' => 'Дадаць', - 'semanticmaps-forminput-locations' => 'Месцы', - 'semanticmaps-par-staticlocations' => 'Сьпіс месцазнаходжаньняў для даданьня на мапу разам з запытанымі зьвесткамі. Напрыклад, разам з «display_points», Вы можаце дадаць назву, апісаньне і мініятуру для месцазнаходжаньня з дапамогай сымбаля «~» у якасьці разьдзяляльніка.', - 'semanticmaps-par-forceshow' => 'Паказаць мапу, нават калі няма месцазнаходжаньняў для паказу?', - 'semanticmaps-par-showtitle' => 'Паказваць назву ў акне інфармацыі пра маркер ці не. Адключэньне гэтай функцыі часта карыснае падчас выкарыстаньня шаблёну для фарматаваньня зьместу акна інфармацыі.', - 'semanticmaps-par-centre' => 'Цэнтар мапы. Калі ён не пададзены, мапа будзе аўтаматычна выбіраць аптымальны цэнтар для паказу ўсіх маркераў.', - 'semanticmaps-par-template' => 'Шаблён для фарматаваньня зьместу акна інфармацыі.', - 'semanticmaps-par-geocodecontrol' => 'Паказаць элемэнты кіраваньня геаграфічным кадаваньнем.', -); - -/** Bulgarian (Български) - * @author DCLXVI - */ -$messages['bg'] = array( - 'semanticmaps-forminput-remove' => 'Премахване', - 'semanticmaps-forminput-add' => 'Добавяне', -); - -/** Bengali (বাংলা) - * @author Wikitanvir - */ -$messages['bn'] = array( - 'semanticmaps-kml-link' => 'কেএমএল ফাইল দেখাও', - 'semanticmaps-default-kml-pagelink' => '$1 পাতা প্রদর্শন করো', - 'semanticmaps_enteraddresshere' => 'এখানে ঠিকানা প্রবেশ করাও', - 'semanticmaps-updatemap' => 'মানচিত্র হালনাগাদ', - 'semanticmaps-forminput-remove' => 'অপসারণ', - 'semanticmaps-forminput-add' => 'যোগ', - 'semanticmaps-forminput-locations' => 'অবস্থান', -); - -/** Breton (Brezhoneg) - * @author Fohanno - * @author Fulup - * @author Y-M D - */ -$messages['br'] = array( - 'semanticmaps-desc' => 'Talvezout a ra da welet ha da gemmañ roadennoù daveennoù stoket dre an astenn Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples demo]).', - 'semanticmaps-unrecognizeddistance' => "An talvoud $1 n'eo ket un hed reizh anezhañ.", - 'semanticmaps-kml-link' => 'Gwelet ar restr KML', - 'semanticmaps-default-kml-pagelink' => 'Gwelet ar pennad $1', - 'semanticmaps-loading-forminput' => 'O kargañ enmont furmskrid ar gartenn...', - 'semanticmaps_lookupcoordinates' => 'Istimañ an daveennoù', - 'semanticmaps_enteraddresshere' => "Merkit ar chomlec'h amañ", - 'semanticmaps-updatemap' => 'Hizivaat ar gartenn', - 'semanticmaps-forminput-remove' => 'Dilemel', - 'semanticmaps-forminput-add' => 'Ouzhpennañ', - 'semanticmaps-forminput-locations' => "Lec'hiadurioù", - 'semanticmaps-par-forceshow' => "Diskouez ar gartenn ha pa ne vefe lec'h ebet da welet ?", - 'semanticmaps-par-template' => "Ur patrom d'ober gantañ da furmadiñ boued ar prenestr titouriñ.", -); - -/** Bosnian (Bosanski) - * @author CERminator - * @author Palapa - */ -$messages['bs'] = array( - 'semanticmaps-desc' => 'Daje mogućnost pregleda i uređivanja podataka koordinata koji su spremljeni putem Semantic MediaWiki proširenja ([http://mapping.referata.com/wiki/Examples primjeri]).', - 'semanticmaps-unrecognizeddistance' => 'Vrijednost $1 nije ispravno odstojanje.', - 'semanticmaps-kml-link' => 'Pogledajte KML datoteku', - 'semanticmaps-default-kml-pagelink' => 'Pogledajte stranicu $1', - 'semanticmaps-loading-forminput' => 'Učitavam obrazac unosa za mapu...', - 'semanticmaps_lookupcoordinates' => 'Nađi koordinate', - 'semanticmaps_enteraddresshere' => 'Unesite adresu ovdje', - 'semanticmaps-updatemap' => 'Ažuriraj mapu', - 'semanticmaps-forminput-remove' => 'Ukloni', - 'semanticmaps-forminput-add' => 'Dodaj', - 'semanticmaps-forminput-locations' => 'Lokacije', -); - -/** Catalan (Català) - * @author Dvdgmz - * @author Paucabot - * @author SMP - * @author Solde - * @author Toniher - */ -$messages['ca'] = array( - 'semanticmaps-desc' => "Ofereix l'habilitat de visualitzar i editar dades de coordenades emmagatzemades a través de l'extensió Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples alguns exemples]).", - 'semanticmaps-unrecognizeddistance' => 'El valor $1 no és un valor de distància.', - 'semanticmaps-kml-link' => 'Visualitza el fitxer KML', - 'semanticmaps-default-kml-pagelink' => 'Visualitza la pàgina $1', - 'semanticmaps-loading-forminput' => "Carregant formulari d'entrada del mapa...", - 'semanticmaps_lookupcoordinates' => 'Consulta les coordenades', - 'semanticmaps_enteraddresshere' => 'Introduïu una adreça a continuació', - 'semanticmaps-updatemap' => 'Actualitza el mapa', - 'semanticmaps-forminput-remove' => 'Suprimeix', - 'semanticmaps-forminput-add' => 'Afegeix', - 'semanticmaps-forminput-locations' => 'Ubicacions', - 'semanticmaps-par-staticlocations' => "Una llista d'ubicacions per afegir al mapa juntament amb les dades consultades. Com amb 'display_points', s'hi pot afegir un títol, una descripció i una icona per a cada ubicació fent servir el signe \"~\" com a separador.", - 'semanticmaps-par-forceshow' => 'Es mostra el mapa fins i tot quan no hi ha ubicacions a mostrar?', - 'semanticmaps-par-showtitle' => "Es mostra o no un títol en la finestra d'informació del marcador. Inhabilitar-ho sovint és útil quan s'utilitza una plantilla per donar format al contingut de la finestra d'informació.", - 'semanticmaps-par-centre' => 'El centre del mapa. Quan no es proporciona, el map triarà automàticament el centre òptim per mostrar tots els marcadors al mapa.', - 'semanticmaps-par-template' => "Una plantilla que s'utilitza per dona format al contingut de la finestra d'informació.", - 'semanticmaps-par-geocodecontrol' => 'Mostra el control de geocodificació.', -); - -/** Czech (Česky) - * @author Utar - */ -$messages['cs'] = array( - 'semanticmaps-forminput-remove' => 'Odebrat', - 'semanticmaps-forminput-add' => 'Přidat', -); - -/** Welsh (Cymraeg) - * @author Lloffiwr - */ -$messages['cy'] = array( - 'semanticmaps-unrecognizeddistance' => "Nid yw'r gwerth $1 yn bellter dilys.", - 'semanticmaps-kml-link' => 'Edrych ar y ffeil KML', - 'semanticmaps-default-kml-pagelink' => 'Edrych ar y dudalen $1', - 'semanticmaps-loading-forminput' => "Yn llwytho ffurflen mewnbynnu i'r map...", - 'semanticmaps_lookupcoordinates' => 'Canfydder y cyfesurynnau', - 'semanticmaps_enteraddresshere' => 'Ysgrifennwch y cyfeiriad yma', - 'semanticmaps-updatemap' => 'Diweddarer y map', - 'semanticmaps-forminput-remove' => 'Tynner oddi ar y map', - 'semanticmaps-forminput-add' => 'Ychwaneger', - 'semanticmaps-forminput-locations' => 'Lleoliadau', - 'semanticmaps-par-forceshow' => "Dangos y map, hyd yn oed pe nad oes mannau i'w dangos?", -); - -/** German (Deutsch) - * @author DaSch - * @author Imre - * @author Kghbln - * @author Pill - * @author The Evil IP address - * @author Umherirrender - */ -$messages['de'] = array( - 'semanticmaps-desc' => 'Ermöglicht das Anzeigen und Bearbeiten von Daten zu Koordinaten, die mit Semantic MediaWiki gespeichert werden ([http://mapping.referata.com/wiki/Examples Demonstrationsseite])', - 'semanticmaps-unrecognizeddistance' => 'Der Wert $1 ist keine gültige Distanz.', - 'semanticmaps-kml-link' => 'KML-Datei ansehen', - 'semanticmaps-default-kml-pagelink' => 'Artikel $1 ansehen', - 'semanticmaps-loading-forminput' => 'Lade die Formulareingaben zur Karte …', - 'semanticmaps_lookupcoordinates' => 'Koordinaten nachschlagen', - 'semanticmaps_enteraddresshere' => 'Adresse hier eingeben', - 'semanticmaps-updatemap' => 'Karte aktualisieren', - 'semanticmaps-forminput-remove' => 'Entfernen', - 'semanticmaps-forminput-add' => 'Hinzufügen', - 'semanticmaps-forminput-locations' => 'Standort', - 'semanticmaps-par-staticlocations' => 'Eine Listen von Standorten, die zusammen mit den abgefragten Daten, der Karte hinzugefügt werden sollen. Analog zu den Anzeigepunkten können je Standort Titel, Beschreibung und Symbol, unter Verwendung einer Tilde „~“ als Trennzeichen, hinzugefügt werden.', - 'semanticmaps-par-forceshow' => 'Die Karte auch dann anzeigen, wenn es keine Standorte zum Anzeigen gibt?', - 'semanticmaps-par-showtitle' => 'Anzeige eines Titels im Informationsfenster der Kennzeichnung oder nicht. Diese Option zu deaktivieren ist oftmals dann nützlich, sofern eine Vorlage zur Formatierung des Informationsfensterinhalts verwendet wird.', - 'semanticmaps-par-centre' => 'Das Zentrum der Karte. Sofern nicht angegeben wird automatisch das optimale Zentrum zur Darstellung aller Kennzeichnungen auf der Karte gewählt.', - 'semanticmaps-par-template' => 'Die zur Formatierung des Informationsfensterinhalts zu verwendende Vorlage.', - 'semanticmaps-par-geocodecontrol' => 'Zeige die Steuerungsseite zum Geokodieren.', - 'semanticmaps-kml-text' => 'Der Text, der zu jeder Seite angezeigt wird. Wird im Fall zusätzlich abgefragter Attribute ersetzt.', - 'semanticmaps-kml-title' => 'Der Standardtitel für die Ergebnisse', - 'semanticmaps-kml-linkabsolute' => 'Sollen die Links absolut sein oder nicht (nämlich relativ)', - 'semanticmaps-kml-pagelinktext' => 'Der Text, der für die Links zur Seite genutzt werden soll. $1 wird dabei durch den Namen der Seite ersetzt.', -); - -/** Lower Sorbian (Dolnoserbski) - * @author Michawiki - */ -$messages['dsb'] = array( - 'semanticmaps-desc' => 'Bitujo zmóžnosć se koordinatowe daty pśez rozšyrjenje Semantic MediaWiki woglědaś a wobźěłaś ([http://mapping.referata.com/wiki/Examples pśikłady]).', - 'semanticmaps-unrecognizeddistance' => 'Gódnota $1 njejo płaśiwa distanca.', - 'semanticmaps-kml-link' => 'KML-dataju se woglědaś', - 'semanticmaps-default-kml-pagelink' => 'Bok $1 se woglědaś', - 'semanticmaps_lookupcoordinates' => 'Za koordinatami póglědaś', - 'semanticmaps_enteraddresshere' => 'Zapódaj how adresu', -); - -/** Greek (Ελληνικά) - * @author ZaDiak - */ -$messages['el'] = array( - 'semanticmaps_lookupcoordinates' => 'Επιθεώρηση συντεταγμένων', - 'semanticmaps_enteraddresshere' => 'Εισαγωγή διεύθυνσης εδώ', -); - -/** Esperanto (Esperanto) - * @author Yekrats - */ -$messages['eo'] = array( - 'semanticmaps_lookupcoordinates' => 'Rigardi koordinatojn', - 'semanticmaps_enteraddresshere' => 'Enigu adreson ĉi tie', -); - -/** Spanish (Español) - * @author Crazymadlover - * @author Fitoschido - * @author Imre - * @author Locos epraix - * @author Translationista - */ -$messages['es'] = array( - 'semanticmaps-desc' => 'Proporciona la posibilidad de ver y editar datos de coordenadas almacenados con la extensión Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples demos]).', - 'semanticmaps-unrecognizeddistance' => 'El valor $1 no es una distancia válida.', - 'semanticmaps-kml-link' => 'Ver el archivo KML', - 'semanticmaps-default-kml-pagelink' => 'Ver página $1', - 'semanticmaps-loading-forminput' => 'Cargando mapa de formulario de entrada...', - 'semanticmaps_lookupcoordinates' => 'Buscar coordenadas', - 'semanticmaps_enteraddresshere' => 'Introduce aquí la dirección', - 'semanticmaps-updatemap' => 'Actualizar mapa', - 'semanticmaps-forminput-remove' => 'Quitar', - 'semanticmaps-forminput-add' => 'Añadir', - 'semanticmaps-forminput-locations' => 'Ubicaciones', - 'semanticmaps-par-forceshow' => '¿Mostrar el mapa incluso cuando no hay ubicaciones que mostrar?', -); - -/** Basque (Euskara) - * @author An13sa - */ -$messages['eu'] = array( - 'semanticmaps_lookupcoordinates' => 'Koordenatuak bilatu', -); - -/** Finnish (Suomi) - * @author Crt - * @author Str4nd - */ -$messages['fi'] = array( - 'semanticmaps_enteraddresshere' => 'Kirjoita osoite tähän', -); - -/** French (Français) - * @author Crochet.david - * @author Gomoko - * @author Grondin - * @author Hashar - * @author IAlex - * @author Jean-Frédéric - * @author Peter17 - * @author PieRRoMaN - * @author Sherbrooke - * @author Urhixidur - */ -$messages['fr'] = array( - 'semanticmaps-desc' => "Permet d'afficher et de modifier les données de coordonnées stockées par l'extension Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples demo]).", - 'semanticmaps-unrecognizeddistance' => "La valeur $1 n'est pas une distance valide", - 'semanticmaps-kml-link' => 'Voir le fichier KML', - 'semanticmaps-default-kml-pagelink' => 'Voir l’article $1', - 'semanticmaps-loading-forminput' => "Chargement du formulaire d'entrée de la carte...", - 'semanticmaps_lookupcoordinates' => 'Estimer les coordonnées', - 'semanticmaps_enteraddresshere' => 'Entrez ici l’adresse', - 'semanticmaps-updatemap' => 'Mise à jour de la carte', - 'semanticmaps-forminput-remove' => 'Enlever', - 'semanticmaps-forminput-add' => 'Ajouter', - 'semanticmaps-forminput-locations' => 'Emplacements', - 'semanticmaps-par-staticlocations' => 'Une liste des endroits à ajouter à la carte avec les données demandées. Comme avec display_points, vous pouvez ajouter un titre, une description et une icône par emplacement en utilisant le tilde « ~ » comme séparateur.', - 'semanticmaps-par-forceshow' => "Afficher la carte même quand il n'y a pas d'emplacement à afficher ?", - 'semanticmaps-par-showtitle' => "Afficher un titre dans la fenêtre d'informations des marqueurs ou non. La désactivation de ceci est souvent utile lorsque vous utilisez un modèle pour formater le contenu de la fenêtre d'informations.", - 'semanticmaps-par-centre' => "Le centre de la carte. Lorsqu'il n'est pas fourni, la carte va choisir automatiquement le centre optimal pour afficher tous les marqueurs sur la carte.", - 'semanticmaps-par-template' => "Un modèle à utiliser pour mettre en forme le contenu de la fenêtre d'informations.", - 'semanticmaps-par-geocodecontrol' => 'Afficher le contrôle de géocodage.', - 'semanticmaps-kml-text' => "Le texte associé avec chaque page. Remplacé par des propriétés récupérées supplémentaires s'il y en a.", - 'semanticmaps-kml-title' => 'Le titre par défaut pour les résultats', - 'semanticmaps-kml-linkabsolute' => 'Si les titres doivent être absolus ou non (c.à.d. relatifs)', - 'semanticmaps-kml-pagelinktext' => 'Le texte à utiliser pour les liens vers la page, dans lesquels $1 sera remplacé par le titre de la page', -); - -/** Franco-Provençal (Arpetan) - * @author ChrisPtDe - */ -$messages['frp'] = array( - 'semanticmaps-unrecognizeddistance' => 'La valor $1 est pas una distance valida.', - 'semanticmaps-kml-link' => 'Vêre lo fichiér KML', - 'semanticmaps-default-kml-pagelink' => 'Vêre la pâge $1', - 'semanticmaps-loading-forminput' => 'Chargement du formulèro d’entrâ de la mapa...', - 'semanticmaps_lookupcoordinates' => 'Èstimar les coordonâs', - 'semanticmaps_enteraddresshere' => 'Buchiéd l’adrèce ique', - 'semanticmaps-updatemap' => 'Misa a jorn de la mapa', - 'semanticmaps-forminput-remove' => 'Enlevar', - 'semanticmaps-forminput-add' => 'Apondre', - 'semanticmaps-forminput-locations' => 'Emplacements', -); - -/** Galician (Galego) - * @author Toliño - */ -$messages['gl'] = array( - 'semanticmaps-desc' => 'Proporciona a capacidade de ollar e modificar os datos de coordenadas gardados a través da extensión Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples demostración]).', - 'semanticmaps-unrecognizeddistance' => 'O valor $1 non é unha distancia válida.', - 'semanticmaps-kml-link' => 'Ollar o ficheiro KML', - 'semanticmaps-default-kml-pagelink' => 'Ver a páxina "$1"', - 'semanticmaps-loading-forminput' => 'Cargando o formulario de entrada do mapa...', - 'semanticmaps_lookupcoordinates' => 'Ver as coordenadas', - 'semanticmaps_enteraddresshere' => 'Introduza o enderezo aquí', - 'semanticmaps-updatemap' => 'Actualizar o mapa', - 'semanticmaps-forminput-remove' => 'Eliminar', - 'semanticmaps-forminput-add' => 'Engadir', - 'semanticmaps-forminput-locations' => 'Localizacións', - 'semanticmaps-par-staticlocations' => 'Unha lista de localizacións para engadir ao mapa xunto aos datos consultados. Como con display_points, pode engadir un título, unha descrición e mais unha icona por localización mediante o signo "~" como separador.', - 'semanticmaps-par-forceshow' => 'Quere mostrar o mapa, mesmo cando non haxa localizacións que presentar?', - 'semanticmaps-par-showtitle' => 'Mostrar ou non un título na ventá de información do marcador. Frecuentemente, desactivar isto é útil ao utilizar un modelo para dar formato ao contido da ventá de información.', - 'semanticmaps-par-centre' => 'O centro do mapa. Cando non se proporciona, o mapa ha escoller automaticamente o mellor centro para mostrar todos os marcadores no mapa.', - 'semanticmaps-par-template' => 'Un modelo a empregar para dar formato ao contido da ventá de información.', - 'semanticmaps-par-geocodecontrol' => 'Mostrar o control de xeocodificación.', - 'semanticmaps-kml-text' => 'O texto asociado a cada páxina. Substituído polas propiedades pescudadas adicionais, se existen.', - 'semanticmaps-kml-title' => 'O título por defecto para os resultados', - 'semanticmaps-kml-linkabsolute' => 'Se os títulos deberían ser absolutos ou non (por exemplo, relativos)', - 'semanticmaps-kml-pagelinktext' => 'O texto a usar para as ligazóns cara á páxina, nas que "$1" será substituído polo título da páxina', -); - -/** Swiss German (Alemannisch) - * @author Als-Chlämens - * @author Als-Holder - */ -$messages['gsw'] = array( - 'semanticmaps-desc' => 'Ergänzt e Megligkeit zum Aaluege un Bearbeite vu Koordinate, wu im Ramme vu dr Erwyterig „Semantisch MediaWiki“ gspycheret wore sin. [http://www.mediawiki.org/wiki/Extension:Semantic_Maps Dokumäntation]. [http://mapping.referata.com/wiki/Examples Demo]', - 'semanticmaps-unrecognizeddistance' => 'Dr Wert $1 isch kei giltigi Dischtanz.', - 'semanticmaps-kml-link' => 'KML-Datei aaluege', - 'semanticmaps-default-kml-pagelink' => 'Syte $1 aaluege', - 'semanticmaps-loading-forminput' => 'Am Lade vu dr Formularyygabe zue dr Charte …', - 'semanticmaps_lookupcoordinates' => 'Koordinate nooluege', - 'semanticmaps_enteraddresshere' => 'Doo Adräss yygee', - 'semanticmaps-updatemap' => 'Charte aktualisiere', - 'semanticmaps-forminput-remove' => 'Uuseneh', - 'semanticmaps-forminput-add' => 'Zuefiege', - 'semanticmaps-forminput-locations' => 'Standort', - 'semanticmaps-par-staticlocations' => 'E Lischt vo Standört, wo zämme mit de Date, wo aabgfrogt werde, uff de Charte dezuegno werde sölle. Analog zue de Aazeigpünkt, chönne zue jedem Standort mit de Tilde „~“ als Trennzeiche, e Titel, Beschrybig un Symbol dezuegno werde.', - 'semanticmaps-par-forceshow' => 'Die Charte au aazeige, wänn es kei Standört zum Aazeige git?', - 'semanticmaps-par-showtitle' => 'E Titel im Informationsfenschter vo de Kennzeichnig aazeige oder nit. Des z deaktiviere isch vilmool nützlig, wänn e Vorlag zur Formatierig vum Inhalt vum Informationsfenschter bruucht wird.', - 'semanticmaps-par-centre' => "S Zentrum vo de Chart. Wänn's nit andersch aagee isch, wird automatisch s optimali Zentrum zur Darstellig vo allene Kennzeichnige uff de Chart ussgwäält.", - 'semanticmaps-par-template' => 'E Vorlag, wo zur Formatierig vum Inhalt vum Informationsfenschter bruucht wird.', - 'semanticmaps-par-geocodecontrol' => 'D Stüürigssyte zum Geokodiere aazeige.', -); - -/** Hebrew (עברית) - * @author Amire80 - * @author Rotemliss - * @author YaronSh - */ -$messages['he'] = array( - 'semanticmaps-desc' => 'הוספת האפשרות לצפייה בנתוני הקואורדינטות המאוחסנים ולעריכתם באמצעות ההרחבה מדיה־ויקי סמנטית ([http://mapping.referata.com/wiki/Examples הדגמות]).', - 'semanticmaps-unrecognizeddistance' => 'הערך $1 אינו מרחק תקין.', - 'semanticmaps-kml-link' => 'הצגת קובץ KML', - 'semanticmaps-default-kml-pagelink' => 'הצגת הדף $1', - 'semanticmaps-loading-forminput' => 'טעינת המפה מהקלט...', - 'semanticmaps_lookupcoordinates' => 'חיפוש קואורדינטות', - 'semanticmaps_enteraddresshere' => 'כתבו כתובת כאן', - 'semanticmaps-updatemap' => 'עדכון מפה', - 'semanticmaps-forminput-remove' => 'הסרה', - 'semanticmaps-forminput-add' => 'הוספה', - 'semanticmaps-forminput-locations' => 'מיקומים', - 'semanticmaps-par-staticlocations' => 'רשימת מיקומים להוסיף למפה יחד עם הנתונים המבוקשים בשאילתה. כמו עם display_points, אפשר להוסיף כאן כותרת, תיאור וסמל לכל מיקום עם טילדה (~) בתור תו מפריד.', - 'semanticmaps-par-forceshow' => 'להציג מפה גם כשאין מיקומים להצגה?', - 'semanticmaps-par-showtitle' => 'להציג את הכותרת בחלון המידע על הסמן או לא. הכיבוי של זה שימושי לעתים קרובות כאשר נעשה שימוש בתבנית לעיצוב חלון המידע.', - 'semanticmaps-par-centre' => 'מרכז המפה. אם לא ניתן, המפה תבחר בעצמה את המרכז המיטבי להצגת כל הסמנים על המפה.', - 'semanticmaps-par-template' => 'תבנית לעיצוב תוכן חלון המידע.', -); - -/** Croatian (Hrvatski) - * @author Tivek - */ -$messages['hr'] = array( - 'semanticmaps-desc' => "Pruža pregledavanje i uređivanje koordinata spremljenih koristeći Semantic MediaWiki ekstenziju ([http://mapping.referata.com/wiki/Examples demo's]).", - 'semanticmaps-unrecognizeddistance' => 'Vrijednost $1 nije valjana udaljenost.', - 'semanticmaps_lookupcoordinates' => 'Potraži koordinate', - 'semanticmaps_enteraddresshere' => 'Unesite adresu ovdje', -); - -/** Upper Sorbian (Hornjoserbsce) - * @author Michawiki - */ -$messages['hsb'] = array( - 'semanticmaps-desc' => 'Zmóžnja zwobraznjenje a wobdźěłanje koordinatowych datow, kotrež su so z rozšěrjenjom Semantic MediaWiki składowali ([http://mapping.referata.com/wiki/Examples přikłady]).', - 'semanticmaps-unrecognizeddistance' => 'Hódnota $1 płaćiwa distanca njeje.', - 'semanticmaps-kml-link' => 'KML-dataju sej wobhladać', - 'semanticmaps-default-kml-pagelink' => 'Nastawk $1 sej wobhladać', - 'semanticmaps-loading-forminput' => 'Formularne zapodawanske polo karty so začituje...', - 'semanticmaps_lookupcoordinates' => 'Za koordinatami hladać', - 'semanticmaps_enteraddresshere' => 'Zapodaj tu adresu', - 'semanticmaps-updatemap' => 'Kartu aktualizować', - 'semanticmaps-forminput-remove' => 'Wotstronić', - 'semanticmaps-forminput-add' => 'Přidać', - 'semanticmaps-forminput-locations' => 'Městna', -); - -/** Hungarian (Magyar) - * @author Dani - * @author Glanthor Reviol - */ -$messages['hu'] = array( - 'semanticmaps-desc' => 'Lehetővé teszi a szemantikus MediaWiki kiterjesztés segítségével tárolt koordinátaadatok megtekintését és szerkesztését ([http://mapping.referata.com/wiki/Examples demo]).', - 'semanticmaps_lookupcoordinates' => 'Koordináták felkeresése', - 'semanticmaps_enteraddresshere' => 'Add meg a címet itt', - 'semanticmaps-forminput-add' => 'Hozzáadás', - 'semanticmaps-forminput-locations' => 'Helyszínek', -); - -/** Interlingua (Interlingua) - * @author McDutchie - */ -$messages['ia'] = array( - 'semanticmaps-desc' => 'Forni le capacitate de vider e modificar datos de coordinatas immagazinate con le extension Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples demonstrationes]).', - 'semanticmaps-unrecognizeddistance' => 'Le valor $1 non es un distantia valide.', - 'semanticmaps-kml-link' => 'Vider le file KML', - 'semanticmaps-default-kml-pagelink' => 'Vider articulo $1', - 'semanticmaps-loading-forminput' => 'Carga datos entrate in formulario...', - 'semanticmaps_lookupcoordinates' => 'Cercar coordinatas', - 'semanticmaps_enteraddresshere' => 'Entra adresse hic', - 'semanticmaps-updatemap' => 'Actualisar carta', - 'semanticmaps-forminput-remove' => 'Remover', - 'semanticmaps-forminput-add' => 'Adder', - 'semanticmaps-forminput-locations' => 'Locos', - 'semanticmaps-par-staticlocations' => 'Un lista de locos a adder al carta con le datos resultante del consulta. Como con display_points, tu pote adder un titulo, description e icone per loco usante le tilde "~" como separator.', - 'semanticmaps-par-forceshow' => 'Monstrar le carta mesmo si il non ha locos a monstrar?', - 'semanticmaps-par-showtitle' => 'Monstrar un titulo in le fenestra de information de marcator o non. Disactivar isto es sovente utile si un patrono es usate pro formatar le contento del fenestra de information.', - 'semanticmaps-par-centre' => 'Le centro del carta. Si non specificate, le systema selige automaticamente le centro optimal pro monstrar tote le marcatores in le carta.', - 'semanticmaps-par-template' => 'Un patrono a usar pro formatar le contento del fenestra de information.', - 'semanticmaps-par-geocodecontrol' => 'Monstrar le controlo de geocodification.', - 'semanticmaps-kml-text' => 'Le texto associate con cata pagina. Es supplantate per le additional proprietates consultate, si existe.', - 'semanticmaps-kml-title' => 'Le titulo predefinite pro resultatos', - 'semanticmaps-kml-linkabsolute' => 'Debe ligamines esser absolute o non (i.e. relative)', - 'semanticmaps-kml-pagelinktext' => 'Le texto a usar pro le ligamines al pagina, in le quales $1 essera reimplaciate per le titulo de pagina', -); - -/** Indonesian (Bahasa Indonesia) - * @author Bennylin - * @author Farras - * @author IvanLanin - */ -$messages['id'] = array( - 'semanticmaps-desc' => 'Memberikan kemampuan untuk melihat dan menyunting data koordinat yang disimpan melalui pengaya MediaWiki Semantic -([http://mapping.referata.com/wiki/Examples demo]).', - 'semanticmaps-unrecognizeddistance' => 'Nilai $1 bukan jarak yang sah.', - 'semanticmaps-kml-link' => 'Lihat berkas KML', - 'semanticmaps-default-kml-pagelink' => 'Lihat halaman $1', - 'semanticmaps-loading-forminput' => 'Memuat masukan bentuk peta...', - 'semanticmaps_lookupcoordinates' => 'Cari koordinat', - 'semanticmaps_enteraddresshere' => 'Masukkan alamat di sini', - 'semanticmaps-updatemap' => 'Pembaruan peta', - 'semanticmaps-forminput-remove' => 'Hapus', - 'semanticmaps-forminput-add' => 'Tambah', - 'semanticmaps-forminput-locations' => 'Lokasi', - 'semanticmaps-par-staticlocations' => 'Daftar lokasi yang akan ditambahkan ke dalam peta, berikut data kueri. Seperti halnya display_points, Anda dapat menambahkan judul, deskripsi, dan ikon per lokasi dengan menggunakan tanda tilde "~" sebagai pemisah.', - 'semanticmaps-par-forceshow' => 'Tampilkan peta bahkan ketika tidak ada lokasi untuk ditampilkan?', - 'semanticmaps-par-showtitle' => 'Tampilkan judul di jendela info penanda. Penonaktifan judul sering berguna ketika menggunakan templat untuk memformat isi jendela info.', - 'semanticmaps-par-centre' => 'Pusat peta. Jika tidak disediakan, peta secara otomatis akan memilih pusat optimal untuk menampilkan semua penanda di peta.', - 'semanticmaps-par-template' => 'Ttemplat yang digunakan untuk memformat isi jendela info.', -); - -/** Italian (Italiano) - * @author Beta16 - * @author Civvì - * @author Darth Kule - * @author HalphaZ - */ -$messages['it'] = array( - 'semanticmaps-desc' => "Fornisce la possibilità di visualizzare e modificare le coordinate memorizzate con l'estensione Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples demo]).", - 'semanticmaps-unrecognizeddistance' => 'Il valore $1 non è una distanza valida.', - 'semanticmaps-kml-link' => 'Visualizza il file KML', - 'semanticmaps-default-kml-pagelink' => 'Visualizza la pagina $1', - 'semanticmaps_lookupcoordinates' => 'Cerca coordinate', - 'semanticmaps_enteraddresshere' => 'Inserisci indirizzo qui', - 'semanticmaps-updatemap' => 'Aggiorna mappa', - 'semanticmaps-forminput-remove' => 'Rimuovi', - 'semanticmaps-forminput-add' => 'Aggiungi', -); - -/** Japanese (日本語) - * @author Fryed-peach - * @author Mizusumashi - * @author Schu - * @author 青子守歌 - */ -$messages['ja'] = array( - 'semanticmaps-desc' => 'Semantic MediaWiki 拡張機能を通して格納された座標データを表示・編集する機能を提供します 。( [http://mapping.referata.com/wiki/Examples デモ] )', - 'semanticmaps-unrecognizeddistance' => '値$1は有効な距離ではありません。', - 'semanticmaps-kml-link' => 'KMLファイルを閲覧', - 'semanticmaps-default-kml-pagelink' => 'ページ$1を表示', - 'semanticmaps-loading-forminput' => 'フォーム入力からマップをローディングしています...', - 'semanticmaps_lookupcoordinates' => '座標を検索', - 'semanticmaps_enteraddresshere' => '住所をここに入力', - 'semanticmaps-updatemap' => '地図を更新', - 'semanticmaps-forminput-remove' => '削除', - 'semanticmaps-forminput-add' => '追加', - 'semanticmaps-forminput-locations' => 'ロケーション', - 'semanticmaps-par-staticlocations' => '問い合わせしたデータと一緒に地図に追加するロケーションのリスト。 display_pointsと同様に、区切り文字としてチルダ "〜" を使って場所ごとにタイトル、説明、およびアイコンを追加することができます。', - 'semanticmaps-par-forceshow' => '表示する場所がない場合でも、地図を表示しますか?', - 'semanticmaps-par-showtitle' => 'マーカーの情報ウィンドウのタイトルを表示するかどうか。情報ウィンドウのコンテンツをフォーマットするためにテンプレートを使用するとき、これを無効にすると便利です。', - 'semanticmaps-par-centre' => '地図の中心。提供されていないときは、自動的に地図上のすべてのマーカーを表示するための最適な中心が選択されます。', - 'semanticmaps-par-template' => '情報ウィンドウのコンテンツをフォーマットするために使われるテンプレート。', - 'semanticmaps-par-geocodecontrol' => 'ジオコーディングコントロールを表示します。', -); - -/** Khmer (ភាសាខ្មែរ) - * @author Thearith - */ -$messages['km'] = array( - 'semanticmaps_lookupcoordinates' => 'ក្រឡេក​មើល​កូអរដោនេ', -); - -/** Colognian (Ripoarisch) - * @author Purodha - */ -$messages['ksh'] = array( - 'semanticmaps-desc' => 'Määt et müjjelesch, Koodinaate ze beloore un ze ändere, di mem „Semantesch Mediawiki“ faßjehallde woode sin. ([http://mapping.referata.com/wiki/Examples Beijshpöll för et vörzemaache])', - 'semanticmaps-unrecognizeddistance' => 'Dä Wäät „$1“ es keine jölteje Afschtand.', - 'semanticmaps-kml-link' => 'De KML-Dattei belooere', - 'semanticmaps-default-kml-pagelink' => 'De Sigg „$1“ belooere', - 'semanticmaps-loading-forminput' => 'Mer sin de Enjaabe vum Fommulaa for die Kaat aam laade …', - 'semanticmaps_lookupcoordinates' => 'Koordinate nohkike', - 'semanticmaps_enteraddresshere' => 'Donn hee de Address enjäve', - 'semanticmaps-updatemap' => 'De Kaad op der neue Shtand bränge', - 'semanticmaps-forminput-remove' => 'Fottnämme', - 'semanticmaps-forminput-add' => 'Dobei donn', - 'semanticmaps-forminput-locations' => 'Oote', - 'semanticmaps-par-staticlocations' => 'En Leß met Pläz, di zosamme met dä nohjefrochte Aanjabe op di Kaat sulle. Wi bei display_points kam_mer ene Tittel, ene Täx doh zoh, un e Minni_Belldsche -för jeede Plaz aanjävve, med enem Schlängelsche (~) doh zwesche.', - 'semanticmaps-par-forceshow' => 'Donn de Kaat aanzeije, selvs wann kein Pläz drop ze zeije sin?', - 'semanticmaps-par-showtitle' => 'Donn en Övverschreff en däm Finster met Infomazjuhne övver de Makeerong aanzeije udder nit. De Övverschreff afzeschallde es öff joot, wam_mer en Schabloon nemmp för dä Enhallt vum Finster zerääsch ze possumenteere.', - 'semanticmaps-par-centre' => 'Der Meddelpunk vun dä Kaat. Wann keine aanjejovve_n_es jeiht dä automattesch op der optesche Meddelpunk vun all dä Makeerunge en dä Kaat.', - 'semanticmaps-par-template' => 'En Schabloon för der Enhalt vum Finster met de Enfommazjuhne ze jeschtallte', - 'semanticmaps-par-geocodecontrol' => "Donn dat Bedeenelemänt aanzeije för de Ko'odinaate op de Ääd ze beärbeide", -); - -/** Kurdish (Latin script) (‪Kurdî (latînî)‬) - * @author Gomada - */ -$messages['ku-latn'] = array( - 'semanticmaps-forminput-remove' => 'Jê bibe', - 'semanticmaps-forminput-locations' => 'Cih', -); - -/** Luxembourgish (Lëtzebuergesch) - * @author Robby - */ -$messages['lb'] = array( - 'semanticmaps-unrecognizeddistance' => 'De Wäert $1 ass keng valabel Distanz.', - 'semanticmaps-kml-link' => 'KML-Fichier weisen', - 'semanticmaps-default-kml-pagelink' => 'Säit $1 weisen', - 'semanticmaps_lookupcoordinates' => 'Koordinaten nokucken', - 'semanticmaps_enteraddresshere' => 'Adress hei aginn', - 'semanticmaps-updatemap' => 'Kaart aktualiséieren', - 'semanticmaps-forminput-remove' => 'Ewechhuelen', - 'semanticmaps-forminput-add' => 'Derbäisetzen', - 'semanticmaps-forminput-locations' => 'Plazen', -); - -/** Macedonian (Македонски) - * @author Bjankuloski06 - */ -$messages['mk'] = array( - 'semanticmaps-desc' => 'Овозможува прегледување и уредување на координатни податоци складирани со додатокот Семантички МедијаВики ([http://mapping.referata.com/wiki/Examples урнеци]).', - 'semanticmaps-unrecognizeddistance' => 'Вредноста $1 не претставува важечко растојание.', - 'semanticmaps-kml-link' => 'Преглед на KML-податотеката', - 'semanticmaps-default-kml-pagelink' => 'Преглед на статијата $1', - 'semanticmaps-loading-forminput' => 'Вчитувам карти од внесеното...', - 'semanticmaps_lookupcoordinates' => 'Дај координати', - 'semanticmaps_enteraddresshere' => 'Внесете адреса', - 'semanticmaps-updatemap' => 'Поднови карта', - 'semanticmaps-forminput-remove' => 'Отстрани', - 'semanticmaps-forminput-add' => 'Додај', - 'semanticmaps-forminput-locations' => 'Места', - 'semanticmaps-par-staticlocations' => 'Список на места за додавање во картатата заедно со побараните податоци. Како и со „display_points“, тука можете да додадете наслов, опис и икона за секое место, користејќи тилда (~) како одделувач.', - 'semanticmaps-par-forceshow' => 'Да ја прикажувам картата дури и ако нема места за приказ?', - 'semanticmaps-par-showtitle' => 'Дали да се прикажува насловот на инфопрозорецот на ознаката. Оневозможете го кога користите шаблон за форматирање на содржината на инфопрозорецот.', - 'semanticmaps-par-centre' => 'Средиштето на картата. Ако не е укажано, картата автоматски ќе го одбере средиштето кајшто оптимално ќе се прикажат сите одбележувачи на картата.', - 'semanticmaps-par-template' => 'Шаблон за форматирање на содржината на инфопрозорецот.', - 'semanticmaps-par-geocodecontrol' => 'Прикажи геокодни котроли.', - 'semanticmaps-kml-text' => 'Текстот на секоја страница. Се презапишува ако има дополнителни барани својства.', - 'semanticmaps-kml-title' => 'Стандарден наслов за резултатите', - 'semanticmaps-kml-linkabsolute' => 'Дали врските да бидат апсолутни', - 'semanticmaps-kml-pagelinktext' => 'Текстот на врските на страницата, каде $1 ќе се замени со насловот на страницата', -); - -/** Malayalam (മലയാളം) - * @author Praveenp - */ -$messages['ml'] = array( - 'semanticmaps_enteraddresshere' => 'വിലാസം നൽകുക', -); - -/** Malay (Bahasa Melayu) - * @author Anakmalaysia - */ -$messages['ms'] = array( - 'semanticmaps-forminput-remove' => 'Buang', - 'semanticmaps-forminput-add' => 'Tambahkan', - 'semanticmaps-forminput-locations' => 'Lokasi', -); - -/** Dutch (Nederlands) - * @author Jeroen De Dauw - * @author SPQRobin - * @author Siebrand - */ -$messages['nl'] = array( - 'semanticmaps-desc' => 'Biedt de mogelijkheid om locatiegegevens die opgeslagen zijn in Semantic MediaWiki te bewerken en te bekijken', - 'semanticmaps-unrecognizeddistance' => 'De waarde "$1" is geen geldige afstand.', - 'semanticmaps-kml-link' => 'KML-bestand bekijken', - 'semanticmaps-default-kml-pagelink' => 'Pagina $1 bekijken', - 'semanticmaps-loading-forminput' => 'Bezig met het laden van de kaart formulierinvoer...', - 'semanticmaps_lookupcoordinates' => 'Coördinaten opzoeken', - 'semanticmaps_enteraddresshere' => 'Voer hier het adres in', - 'semanticmaps-updatemap' => 'Kaart bijwerken', - 'semanticmaps-forminput-remove' => 'Verwijderen', - 'semanticmaps-forminput-add' => 'Toevoegen', - 'semanticmaps-forminput-locations' => 'Locaties', - 'semanticmaps-par-staticlocations' => 'Een lijst met aan de kaart toe te voegen locaties samen met de opgevraagde gegevens. Zoals bij display_points, kunt u een naam, beschrijving en icoon per locatie toevoegen door de tilde ("~") als scheidingsteken te gebruiken.', - 'semanticmaps-par-forceshow' => 'De kaart zelfs weergeven als er geen weer te geven locaties zijn?', - 'semanticmaps-par-showtitle' => 'Een naam weergeven in het gegevensvenster van de markering of niet. Dit uitschakelen is vaak handig als er een sjabloon wordt gebruikt om de inhoud van het gegevensvenster vorm te geven.', - 'semanticmaps-par-centre' => 'Het centrum van de kaart. Als deze waarde niet wordt opgegeven, wordt automatisch een keuze gemaakt voor een centrum op basis van alle markeringen op de kaart.', - 'semanticmaps-par-template' => 'Een te gebruiken sjabloon om de inhoud van het gegevensvenster op te maken.', - 'semanticmaps-par-geocodecontrol' => 'Besturingselement voor geocodering weergeven.', - 'semanticmaps-kml-text' => 'De tekst die gekoppeld is aan iedere pagina. Als er extra opgevraagde eigenschappen zijn, wordt deze tekst daardoor overschreven.', - 'semanticmaps-kml-title' => 'De standaard titel voor resultaten', - 'semanticmaps-kml-linkabsolute' => 'Moeten verwijzingen absoluut zijn of niet (d.w.z. relatief)', - 'semanticmaps-kml-pagelinktext' => 'De tekst om te gebruiken voor de verwijzingen naar de pagina, waarin $1 vervangen wordt door de paginatitel', -); - -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬) - * @author Harald Khan - */ -$messages['nn'] = array( - 'semanticmaps_lookupcoordinates' => 'Sjekk koordinatar', - 'semanticmaps_enteraddresshere' => 'Skriv inn adressa her', -); - -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬) - * @author Event - * @author Jon Harald Søby - * @author Nghtwlkr - */ -$messages['no'] = array( - 'semanticmaps-desc' => 'Tilbyr muligheten til å se på og endre koordinatdata lagret ved hjelp av Semantic MediaWiki-utvidelsen ([http://mapping.referata.com/wiki/Examples demo]).', - 'semanticmaps-unrecognizeddistance' => 'Verdien $1 er ikke en gyldig avstand.', - 'semanticmaps-kml-link' => 'Vis KML-filen', - 'semanticmaps-default-kml-pagelink' => 'Vis siden $1', - 'semanticmaps-loading-forminput' => 'Laster inndata for kartskjema...', - 'semanticmaps_lookupcoordinates' => 'Sjekk koordinater', - 'semanticmaps_enteraddresshere' => 'Skriv inn adressen her', - 'semanticmaps-updatemap' => 'Oppdater kart', - 'semanticmaps-forminput-remove' => 'Fjern', - 'semanticmaps-forminput-add' => 'Legg til', - 'semanticmaps-forminput-locations' => 'Lokasjoner', - 'semanticmaps-par-staticlocations' => 'En lokasjonsliste til å legge inn i kartet sammen med data fra spørringen. Som med display_points, kan du legge inn en tittel, en beskrivelse og et ikon per lokasjon med tilde "~" som skilletegn.', - 'semanticmaps-par-forceshow' => 'Vil du vise kartet selv når det ikke er noen lokasjoner med?', - 'semanticmaps-par-showtitle' => 'Vise tittel i markørinfovinduet eller ikke. Deaktivering er ofte nyttig når en bruker en mal for å formatere innholdet i infovinduet.', - 'semanticmaps-par-centre' => 'Kartets sentrum. Hvis dette ikke er angitt, vil kartet automatisk velge det optimale senteret for å vise alle kartmarkørene.', - 'semanticmaps-par-template' => 'Mal som brukes for å formatere innholdet i infovinduet.', - 'semanticmaps-par-geocodecontrol' => 'Vis geokodingsstyringen', - 'semanticmaps-kml-text' => 'Teksten knyttes til hver side. Overstyrt av spørringer på ekstra egenskaper, om noen.', - 'semanticmaps-kml-title' => 'Standard resultatoverskrift', - 'semanticmaps-kml-linkabsolute' => 'Skal lenker være absolutte eller ikke (dvs. relative)', - 'semanticmaps-kml-pagelinktext' => 'Teksten som skal brukes for lenker til siden, der $1 erstattes av sidetittelen', -); - -/** Occitan (Occitan) - * @author Cedric31 - */ -$messages['oc'] = array( - 'semanticmaps-desc' => "Permet de veire e modificar las donadas de coordenadas estocadas a travèrs l'extension Semantic MediaWiki. [http://www.mediawiki.org/wiki/Extension:Semantic_Maps Documentacion]. [http://mapping.referata.com/wiki/Examples Demo]", - 'semanticmaps_lookupcoordinates' => 'Estimar las coordenadas', - 'semanticmaps_enteraddresshere' => 'Picatz aicí l’adreça', -); - -/** Polish (Polski) - * @author Deejay1 - * @author Derbeth - * @author Leinad - * @author Odder - * @author Sp5uhe - */ -$messages['pl'] = array( - 'semanticmaps-desc' => 'Umożliwia przeglądanie oraz edytowanie współrzędnych zapisanych przez rozszerzenie Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples dema]).', - 'semanticmaps-unrecognizeddistance' => 'Wartość $1 nie jest poprawną odległością.', - 'semanticmaps-kml-link' => 'Wyświetla plik KML', - 'semanticmaps-default-kml-pagelink' => 'Pokaż stronę $1', - 'semanticmaps_lookupcoordinates' => 'Wyszukaj współrzędne', - 'semanticmaps_enteraddresshere' => 'Podaj adres', -); - -/** Piedmontese (Piemontèis) - * @author Borichèt - * @author Dragonòt - */ -$messages['pms'] = array( - 'semanticmaps-desc' => "A dà la possibilità ëd vardé e modifiché ij dat ëd le coordinà memorisà con l'estension Semantic MediaWiki ([http://mapping.referata.com/wiki/Demo d'esempi]).", - 'semanticmaps-unrecognizeddistance' => "Ël valor $1 a l'é pa na distansa bon-a.", - 'semanticmaps-kml-link' => "Vëdde l'archivi KML", - 'semanticmaps-default-kml-pagelink' => 'Lese la pàgina $1', - 'semanticmaps-loading-forminput' => 'Carié ël formolari për anserì la carta...', - 'semanticmaps_lookupcoordinates' => 'Serca coordinà', - 'semanticmaps_enteraddresshere' => 'Ansëriss adrëssa sì', - 'semanticmaps-updatemap' => 'Agiornament ëd la carta', - 'semanticmaps-forminput-remove' => 'Gava', - 'semanticmaps-forminput-add' => 'Gionta', - 'semanticmaps-forminput-locations' => 'Locassion', - 'semanticmaps-par-staticlocations' => 'Na lista ëd locassion da gionté a la carta ansema ai dat ciamà. Com con dispay_points, a peul gionté un tìtol, na descrission e na plancia për locassion an dovrand la tilde "~" com separator.', - 'semanticmaps-par-forceshow' => 'Mostré la carta ëdcò quand a-i son pa ëd locassion da mostré?', - 'semanticmaps-par-showtitle' => "Smon-e un tìtol ant la fnesta d'anformassion dël marcator opura nò. La disabilitassion ëd sòn a l'é soens ùtil quand as deuvra në stamp për formaté ël contnù dla fnesta d'anformassion.", - 'semanticmaps-par-centre' => "Ël sènter ëd la carta. Quand a l'é pa dàit, la carta a trovrà automaticament ël sènter otimal për smon-e tùit ij marcador an sla carta.", - 'semanticmaps-par-template' => "Në stamp da dovré deje a forma ai contnù dla fnesta d'anformassion.", - 'semanticmaps-par-geocodecontrol' => 'Smon-e ël contròl ëd geocodìfica.', -); - -/** Portuguese (Português) - * @author Hamilton Abreu - * @author Indech - * @author Malafaya - */ -$messages['pt'] = array( - 'semanticmaps-desc' => 'Permite ver e editar dados de coordenadas, armazenados através da extensão MediaWiki Semântico ([http://mapping.referata.com/wiki/Examples demonstração]).', - 'semanticmaps-unrecognizeddistance' => 'O valor $1 não é uma distância válida.', - 'semanticmaps-kml-link' => 'Ver o ficheiro KML', - 'semanticmaps-default-kml-pagelink' => 'Ver a página $1', - 'semanticmaps-loading-forminput' => 'A carregar o formulário de entrada do mapa...', - 'semanticmaps_lookupcoordinates' => 'Pesquisar coordenadas', - 'semanticmaps_enteraddresshere' => 'Introduza um endereço aqui', - 'semanticmaps-updatemap' => 'Actualizar mapa', - 'semanticmaps-forminput-remove' => 'Remover', - 'semanticmaps-forminput-add' => 'Adicionar', - 'semanticmaps-forminput-locations' => 'Locais', - 'semanticmaps-par-staticlocations' => 'Uma lista de localizações para acrescentar ao mapa em conjunto com os dados consultados. Tal como nos pontos a apresentar ("display_points"), pode adicionar um título, descrição e ícone por localização, usando o til "~" como separador.', - 'semanticmaps-par-forceshow' => 'Mostrar o mapa mesmo quando não existem localizações para apresentar?', - 'semanticmaps-par-showtitle' => 'Mostrar, ou não, um título na janela informativa do marcador. É frequentemente desejável desactivar esta funcionalidade quando usar uma predefinição para formatar o conteúdo da janela informativa.', - 'semanticmaps-par-centre' => 'O centro do mapa. Quando este não for fornecido, o mapa escolherá automaticamente o centro óptimo para apresentar todos os marcadores do mapa.', - 'semanticmaps-par-template' => 'Uma predefinição que será usada para formatar o conteúdo da janela informativa.', -); - -/** Brazilian Portuguese (Português do Brasil) - * @author Eduardo.mps - * @author Giro720 - * @author Luckas Blade - */ -$messages['pt-br'] = array( - 'semanticmaps-desc' => 'Provê a possibilidade de ver e editar dados de coordenadas armazenados através da extensão Semantic MediaWiki. ([http://mapping.referata.com/wiki/Examples demonstração]).', - 'semanticmaps-unrecognizeddistance' => 'O valor $1 não é uma distância válida.', - 'semanticmaps-kml-link' => 'Ver o arquivo KML', - 'semanticmaps-default-kml-pagelink' => 'Ver a página $1', - 'semanticmaps_lookupcoordinates' => 'Pesquisar coordenadas', - 'semanticmaps_enteraddresshere' => 'Introduza um endereço aqui', -); - -/** Romanian (Română) - * @author Firilacroco - */ -$messages['ro'] = array( - 'semanticmaps_enteraddresshere' => 'Introduceți adresa aici', -); - -/** Tarandíne (Tarandíne) - * @author Joetaras - */ -$messages['roa-tara'] = array( - 'semanticmaps-desc' => "Dèje l'abbilità a fà vedè e cangià le coordinate reggistrate cu l'estenzione Semandiche de MediaUicchi ([http://mapping.referata.com/wiki/Examples demo]).", - 'semanticmaps-default-kml-pagelink' => "Vide 'a pàgene $1", - 'semanticmaps_lookupcoordinates' => 'Ingroce le coordinate', - 'semanticmaps_enteraddresshere' => "Scaffe l'indirizze aqquà", - 'semanticmaps-updatemap' => "Aggiorne 'a mappe", - 'semanticmaps-forminput-remove' => 'Live', - 'semanticmaps-forminput-add' => 'Aggiunge', -); - -/** Russian (Русский) - * @author Eugene Mednikov - * @author Lockal - * @author Александр Сигачёв - */ -$messages['ru'] = array( - 'semanticmaps-desc' => 'Обеспечивает возможность просмотра и редактирования координатных данных, хранящихся в семантическом расширении MediaWiki ([http://mapping.referata.com/wiki/Examples примеры]).', - 'semanticmaps-unrecognizeddistance' => 'Значение $1 не является допустимым расстоянием.', - 'semanticmaps-kml-link' => 'Просмотреть файл KML', - 'semanticmaps-default-kml-pagelink' => 'Просмотреть страницу $1', - 'semanticmaps-loading-forminput' => 'Загрузка карты…', - 'semanticmaps_lookupcoordinates' => 'Найти координаты', - 'semanticmaps_enteraddresshere' => 'Введите адрес', - 'semanticmaps-updatemap' => 'Обновить карту', - 'semanticmaps-forminput-remove' => 'Удалить', - 'semanticmaps-forminput-add' => 'Добавить', - 'semanticmaps-forminput-locations' => 'Места', - 'semanticmaps-par-staticlocations' => 'Список мест для добавления на карту вместе с запрашиваемыми данными. Например, к display_points можно добавить название, описание и значок, используя тильду ~ в качестве разделителя.', - 'semanticmaps-par-forceshow' => 'Показывать карту даже тогда, когда нет мест для отображения?', - 'semanticmaps-par-template' => 'Шаблон для форматирования содержимого окна информация.', -); - -/** Slovak (Slovenčina) - * @author Helix84 - */ -$messages['sk'] = array( - 'semanticmaps-desc' => 'Poskytuje schopnosť zobrazovať a upravovať údaje súradníc uložené prostredníctvom rozšírenia Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples demo]).', - 'semanticmaps_lookupcoordinates' => 'Vyhľadať súradnice', - 'semanticmaps_enteraddresshere' => 'Sem zadajte emailovú adresu', -); - -/** Slovenian (Slovenščina) - * @author Dbc334 - * @author Lesko987 - */ -$messages['sl'] = array( - 'semanticmaps-desc' => 'Omogoča ogled in urejanje podatke o lokaciji, shranjene z razširitvijo Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples Primeri]).', - 'semanticmaps-unrecognizeddistance' => 'Vrednost $1 ni pravilna razdalja.', - 'semanticmaps-kml-link' => 'Ogled datoteke KML', - 'semanticmaps-default-kml-pagelink' => 'Poglej stran $1', - 'semanticmaps-loading-forminput' => 'Nalaganje zemljevida iz vira...', - 'semanticmaps_lookupcoordinates' => 'Poišči koordinate', - 'semanticmaps_enteraddresshere' => 'Tukaj vnesite naslov', - 'semanticmaps-updatemap' => 'Osvežite zemljevid', - 'semanticmaps-forminput-remove' => 'Odstrani', - 'semanticmaps-forminput-add' => 'Dodaj', - 'semanticmaps-forminput-locations' => 'Lokacije', - 'semanticmaps-par-staticlocations' => 'Seznam lokacij za dodajanje na zemljevid skupaj z rezultati poizvedb. Tako kot z display_points, lahko dodate naslov, opis in ikono za vsako lokacijo z uporabo "~" kot ločilo.', - 'semanticmaps-par-forceshow' => 'Prikaži zemljevid tudi če ni lokacij za prikaz?', - 'semanticmaps-par-showtitle' => 'Prikaži naslov v oknu ali ne. Onemogočanje tega je pogosto uporabno, če uporabljate predloge za oblikovanje vsebine info okno.', - 'semanticmaps-par-centre' => 'Sredini zemljevida. Če ne podana, bo zemljevid samodejno izbral optimalno lokacijo za prikaz vseh oznak na zemljevidu.', - 'semanticmaps-par-template' => 'Predloga za oblikovanje vsebine info okna.', - 'semanticmaps-par-geocodecontrol' => 'Prikaži nadzor geokodiranja.', - 'semanticmaps-kml-text' => 'Besedilo, povezano z vsako stranjo. Preglašeno z dodatnimi možnostmi poizvedbe, če obstajajo.', - 'semanticmaps-kml-title' => 'Privzeti naslov za rezultate', - 'semanticmaps-kml-linkabsolute' => 'Naj bodo povezave absolutne ali ne (tj. relativne)', - 'semanticmaps-kml-pagelinktext' => 'Besedilo za povezave do strani, v katerih bo $1 zamenjan z naslovom strani', -); - -/** Serbian (Cyrillic script) (‪Српски (ћирилица)‬) - * @author Rancher - * @author Михајло Анђелковић - */ -$messages['sr-ec'] = array( - 'semanticmaps-unrecognizeddistance' => 'Вредност $1 није исправно растојање.', - 'semanticmaps-kml' => 'KML', - 'semanticmaps_enteraddresshere' => 'Унеси адресу овде', -); - -/** Serbian (Latin script) (‪Srpski (latinica)‬) - * @author Michaello - */ -$messages['sr-el'] = array( - 'semanticmaps-unrecognizeddistance' => 'Vrednost $1 nije ispravno rastojanje.', - 'semanticmaps_enteraddresshere' => 'Unesi adresu ovde', -); - -/** Swedish (Svenska) - * @author Boivie - * @author Najami - * @author Per - * @author WikiPhoenix - */ -$messages['sv'] = array( - 'semanticmaps-desc' => 'Ger möjlighet att se och redigera koordinatdata som sparats med Semantic MediaWiki-utvidgningen ([http://mapping.referata.com/wiki/Examples Demo]).', - 'semanticmaps-unrecognizeddistance' => 'Värdet $1 är inte ett giltigt avstånd.', - 'semanticmaps-kml-link' => 'Visa KML-filen', - 'semanticmaps-default-kml-pagelink' => 'Visa sida $1', - 'semanticmaps-loading-forminput' => 'Läser in karta från indata...', - 'semanticmaps_lookupcoordinates' => 'Kolla upp koordinater', - 'semanticmaps_enteraddresshere' => 'Skriv in adress här', - 'semanticmaps-updatemap' => 'Uppdatera karta', - 'semanticmaps-forminput-remove' => 'Ta bort', - 'semanticmaps-forminput-add' => 'Lägg till', - 'semanticmaps-forminput-locations' => 'Platser', - 'semanticmaps-par-forceshow' => 'Visa kartan även om det inte finns några platser att visa?', -); - -/** Swahili (Kiswahili) - * @author Lloffiwr - */ -$messages['sw'] = array( - 'semanticmaps-kml-link' => 'Tazama faili la KML', - 'semanticmaps-default-kml-pagelink' => 'Tazama ukurasa $1', - 'semanticmaps-loading-forminput' => 'Fomu ya kuingiza ramani inapakiwa...', - 'semanticmaps_enteraddresshere' => 'Ingiza anwani hapa', - 'semanticmaps-updatemap' => 'Sasisha ramani', - 'semanticmaps-forminput-remove' => 'Ondoa', - 'semanticmaps-forminput-add' => 'Ongeza', - 'semanticmaps-forminput-locations' => 'Mahali', -); - -/** Telugu (తెలుగు) - * @author Veeven - */ -$messages['te'] = array( - 'semanticmaps_enteraddresshere' => 'చిరునామాని ఇక్కడ ఇవ్వండి', - 'semanticmaps-forminput-add' => 'చేర్చు', -); - -/** Tetum (Tetun) - * @author MF-Warburg - */ -$messages['tet'] = array( - 'semanticmaps-forminput-remove' => 'Hasai', - 'semanticmaps-forminput-add' => 'Tau tan', -); - -/** Tagalog (Tagalog) - * @author AnakngAraw - */ -$messages['tl'] = array( - 'semanticmaps-desc' => 'Nagbibigay ng kakayahang matingnan at baguhin ang dato ng tugmaang pampook na nakaimbak sa pamamagitan ng dugtong ng Semantikong MediaWiki ([http://mapping.referata.com/wiki/Examples pagpapamalas]).', - 'semanticmaps-unrecognizeddistance' => 'Hindi isang tanggap na layo ang halagang $1.', - 'semanticmaps-kml-link' => 'Tingnan ang talaksang KML', - 'semanticmaps-default-kml-pagelink' => 'Tingnan ang pahinang $1', - 'semanticmaps-loading-forminput' => 'Ikinakarga ang pagpapasok ng anyo ng mapa...', - 'semanticmaps_lookupcoordinates' => "Hanapin ang mga tugmaang-pampook (''coordinate'')", - 'semanticmaps_enteraddresshere' => 'Ipasok ang adres dito', - 'semanticmaps-updatemap' => 'Isapanahon ang mapa', - 'semanticmaps-forminput-remove' => 'Tanggalin', - 'semanticmaps-forminput-add' => 'Idagdag', - 'semanticmaps-forminput-locations' => 'Mga kinalalagyan', -); - -/** Turkish (Türkçe) - * @author Vito Genovese - */ -$messages['tr'] = array( - 'semanticmaps_lookupcoordinates' => 'Koordinat ara', - 'semanticmaps_enteraddresshere' => 'Adresi buraya girin', -); - -/** Vietnamese (Tiếng Việt) - * @author Minh Nguyen - * @author Vinhtantran - */ -$messages['vi'] = array( - 'semanticmaps-desc' => 'Cung cấp khả năng xem và sửa đổi dữ liệu tọa độ được lưu bởi phần mở rộng Semantic MediaWiki ([http://mapping.referata.com/wiki/Examples thử xem]).', - 'semanticmaps-unrecognizeddistance' => 'Giá trị $1 không phải là tầm hợp lệ.', - 'semanticmaps-kml-link' => 'Xem tập tin KML', - 'semanticmaps-default-kml-pagelink' => 'Xem trang $1', - 'semanticmaps-loading-forminput' => 'Đang tải dữ liệu biểu mẫu bản đồ…', - 'semanticmaps_lookupcoordinates' => 'Tra tọa độ', - 'semanticmaps_enteraddresshere' => 'Nhập địa chỉ vào đây', - 'semanticmaps-updatemap' => 'Cập nhật bản đồ', - 'semanticmaps-forminput-remove' => 'Dời', - 'semanticmaps-forminput-add' => 'Thêm', - 'semanticmaps-forminput-locations' => 'Các vị trí', - 'semanticmaps-par-staticlocations' => 'Danh sách các vị trí để thêm vào bản đồ cùng với dữ liệu được truy vấn. Giống như với display_points, bạn có thể đặt tên, miêu tả, và hình tượng cho mỗi đánh dấu bằng cách phân tách dùng dấu ngã (~).', - 'semanticmaps-par-forceshow' => 'Hiển thị bản đồ ngay cả khi không có vị trí nào để hiển thị?', - 'semanticmaps-par-showtitle' => 'Tên tùy chọn của cửa sổ thông tin đánh dấu. Có thể để trống để định dạng nội dung cửa sổ thông tin dùng bản mẫu.', - 'semanticmaps-par-centre' => 'Trung tâm của bản đồ. Nếu không có, bản đồ sẽ tự động chọn trung tâm tối ưu bao gồm tất cả các dấu trên bản đồ.', - 'semanticmaps-par-template' => 'Bản đồ dùng để định dạng nội dung của cửa sổ thông tin.', - 'semanticmaps-par-geocodecontrol' => 'Hiện điều khiển mã hóa địa lý.', -); - -/** Volapük (Volapük) - * @author Smeira - */ -$messages['vo'] = array( - 'semanticmaps_lookupcoordinates' => 'Tuvön koordinatis', -); - -/** Simplified Chinese (‪中文(简体)‬) - * @author Gzdavidwong - * @author Xiaomingyan - */ -$messages['zh-hans'] = array( - 'semanticmaps_lookupcoordinates' => '查找坐标', - 'semanticmaps-forminput-add' => '添加', -); - -/** Traditional Chinese (‪中文(繁體)‬) - * @author Gzdavidwong - * @author Mark85296341 - * @author Sheepy - * @author Wrightbus - */ -$messages['zh-hant'] = array( - 'semanticmaps-default-kml-pagelink' => '檢視頁面 $1', - 'semanticmaps_lookupcoordinates' => '尋找座標', -); - diff --git a/documentacion/extensions/SemanticMaps/SemanticMaps.php b/documentacion/extensions/SemanticMaps/SemanticMaps.php deleted file mode 100644 index b8df7e8..0000000 --- a/documentacion/extensions/SemanticMaps/SemanticMaps.php +++ /dev/null @@ -1,115 +0,0 @@ - - */ - -/** - * This documenation group collects source code files belonging to Semantic Maps. - * - * Please do not use this group name for other code. If you have an extension to - * Semantic Maps, please use your own group definition. - * - * @defgroup SemanticMaps Semantic Maps - */ - -if ( !defined( 'MEDIAWIKI' ) ) { - die( 'Not an entry point.' ); -} - -if ( version_compare( $wgVersion, '1.17', '<' ) ) { - die( 'Error: This version of Semantic Maps requires MediaWiki 1.17 or above; use Semantic Maps 0.7.x for older versions.' ); -} - -// Show a warning if Maps is not loaded. -if ( ! defined( 'Maps_VERSION' ) ) { - die( 'Error: You need to have Maps installed in order to use Semantic Maps.
    ' ); -} - -// Show a warning if Semantic MediaWiki is not loaded. -if ( ! defined( 'SMW_VERSION' ) ) { - die( 'Error: You need to have Semantic MediaWiki installed in order to use Semantic Maps.
    ' ); -} - -if ( version_compare( SMW_VERSION, '1.6 alpha', '<' ) ) { - die( 'Error: This version of Semantic Maps requires Semantic MediaWiki 1.6 or above; use Semantic Maps 0.7.x for older versions.' ); -} - -if ( version_compare( SMW_VERSION, '1.6.2 alpha', '<' ) ) { - die( 'Error: This version of Semantic Maps requires Semantic MediaWiki 1.7 or above; use Semantic Maps 1.0 to 1.0.3 for SMW 1.6 to 1.6.1.' ); -} - -define( 'SM_VERSION', '1.0.5' ); - -$wgExtensionCredits['semantic'][] = array( - 'path' => __FILE__, - 'name' => 'Semantic Maps', - 'version' => SM_VERSION, - 'author' => array( - '[http://www.mediawiki.org/wiki/User:Jeroen_De_Dauw Jeroen De Dauw]' - ), - 'url' => 'http://www.mediawiki.org/wiki/Extension:Semantic_Maps', - 'descriptionmsg' => 'semanticmaps-desc' -); - -$smgScriptPath = ( $wgExtensionAssetsPath === false ? $wgScriptPath . '/extensions' : $wgExtensionAssetsPath ) . '/SemanticMaps'; -$smgDir = dirname( __FILE__ ) . '/'; - -$smgStyleVersion = $wgStyleVersion . '-' . SM_VERSION; - -// Include the settings file. -require_once 'SM_Settings.php'; - -# (named) Array of String. This array contains the available features for Maps. -# Commenting out the inclusion of any feature will make Maps completely ignore it, and so improve performance. - - # Query printers - include_once $smgDir . 'includes/queryprinters/SM_QueryPrinters.php'; - # Form imputs - include_once $smgDir . 'includes/forminputs/SM_FormInputs.php'; - -# Include the mapping services that should be loaded into Semantic Maps. -# Commenting or removing a mapping service will cause Semantic Maps to completely ignore it, and so improve performance. - - # Google Maps API v2 - include_once $smgDir . 'includes/services/GoogleMaps/SM_GoogleMaps.php'; - # Google Maps API v3 - include_once $smgDir . 'includes/services/GoogleMaps3/SM_GoogleMaps3.php'; - # OpenLayers API - include_once $smgDir . 'includes/services/OpenLayers/SM_OpenLayers.php'; - # Yahoo! Maps API - include_once $smgDir . 'includes/services/YahooMaps/SM_YahooMaps.php'; - -$wgExtensionMessagesFiles['SemanticMaps'] = $smgDir . 'SemanticMaps.i18n.php'; - -$incDir = dirname( __FILE__ ) . '/includes/'; - -$wgAutoloadClasses['SMGeoCoordsHooks'] = $incDir . 'SM_GeoCoordsHooks.php'; - -// Data values -$wgAutoloadClasses['SMGeoCoordsValue'] = $incDir . 'SM_GeoCoordsValue.php'; - -// Value descriptions -$wgAutoloadClasses['SMGeoCoordsValueDescription'] = $incDir . 'SM_GeoCoordsValueDescription.php'; -$wgAutoloadClasses['SMAreaValueDescription'] = $incDir . 'SM_AreaValueDescription.php'; - -$wgAutoloadClasses['SemanticMapsHooks'] = dirname( __FILE__ ) . '/SemanticMaps.hooks.php'; - -// Hook for initializing the Geographical Coordinate type. -$wgHooks['smwInitDatatypes'][] = 'SMGeoCoordsHooks::initGeoCoordsType'; - -// Hook for defining the default query printer for queries that ask for geographical coordinates. -$wgHooks['SMWResultFormat'][] = 'SMGeoCoordsHooks::addGeoCoordsDefaultFormat'; - -// Hook for adding a Semantic Maps links to the Admin Links extension. -$wgHooks['AdminLinks'][] = 'SemanticMapsHooks::addToAdminLinks'; diff --git a/documentacion/extensions/SemanticMaps/includes/SM_AreaValueDescription.php b/documentacion/extensions/SemanticMaps/includes/SM_AreaValueDescription.php deleted file mode 100644 index 76aaf69..0000000 --- a/documentacion/extensions/SemanticMaps/includes/SM_AreaValueDescription.php +++ /dev/null @@ -1,186 +0,0 @@ -calculateBounds( $dataItem, $radius ); - } - } - - /** - * Sets the bounds fields to an array returned by SMAreaValueDescription::getBoundingBox. - * - * @since 0.6 - * - * @param SMWDIGeoCoord $dataItem - * @param string $radius - */ - protected function calculateBounds( SMWDIGeoCoord $dataItem, $radius ) { - $this->bounds = self::getBoundingBox( - array( 'lat' => $dataItem->getLatitude(), 'lon' => $dataItem->getLongitude() ), - MapsDistanceParser::parseDistance( $radius ) - ); - } - - /** - * @see SMWDescription:getQueryString - * - * @since 0.6 - * - * @param Boolean $asvalue - */ - public function getQueryString( $asValue = false ) { - if ( $this->getDataItem() !== null ) { - $queryString = SMWDataValueFactory::newDataItemValue( $this->getDataItem() )->getWikiValue(); - return $asValue ? $queryString : "[[$queryString]]"; - } else { - return $asValue ? '+' : ''; - } - } - - /** - * @see SMWDescription:prune - * - * @since 0.6 - */ - public function prune( &$maxsize, &$maxdepth, &$log ) { - if ( ( $maxsize < $this->getSize() ) || ( $maxdepth < $this->getDepth() ) ) { - $log[] = $this->getQueryString(); - - $result = new SMWThingDescription(); - $result->setPrintRequests( $this->getPrintRequests() ); - - return $result; - } else { - $maxsize = $maxsize - $this->getSize(); - $maxdepth = $maxdepth - $this->getDepth(); - return $this; - } - } - - /** - * Returns the bounds of the area. - * - * @since 0.6 - * - * @return array - */ - public function getBounds() { - return $this->bounds; - } - - /** - * @see SMWDescription::getSQLCondition - * - * @since 0.6 - * - * @param string $tableName - * @param array $fieldNames - * @param DatabaseBase or Database $dbs - * - * @return string or false - */ - public function getSQLCondition( $tableName, array $fieldNames, $dbs ) { - // Only execute the query when the description's type is geographical coordinates, - // the description is valid, and the near comparator is used. - if ( $this->getDataItem()->getDIType() != SMWDataItem::TYPE_GEO - || ( $this->getComparator() != SMW_CMP_EQ && $this->getComparator() != SMW_CMP_NEQ ) - ) { - return false; - } - - $north = $dbs->addQuotes( $this->bounds['north'] ); - $east = $dbs->addQuotes( $this->bounds['east'] ); - $south = $dbs->addQuotes( $this->bounds['south'] ); - $west = $dbs->addQuotes( $this->bounds['west'] ); - - $isEq = $this->getComparator() == SMW_CMP_EQ; - - $conditions = array(); - - $smallerThen = $isEq ? '<' : '>='; - $biggerThen = $isEq ? '>' : '<='; - $joinCond = $isEq ? 'AND' : 'OR'; - - $conditions[] = "{$tableName}.$fieldNames[0] $smallerThen $north"; - $conditions[] = "{$tableName}.$fieldNames[0] $biggerThen $south"; - $conditions[] = "{$tableName}.$fieldNames[1] $smallerThen $east"; - $conditions[] = "{$tableName}.$fieldNames[1] $biggerThen $west"; - - $sql = implode( " $joinCond ", $conditions ); - - return $sql; - } - - /** - * Returns the lat and lon limits of a bounding box around a circle defined by the provided parameters. - * - * @since 0.6 - * - * @param array $centerCoordinates Array containing non-directional float coordinates with lat and lon keys. - * @param float $circleRadius The radidus of the circle to create a bounding box for, in m. - * - * @return An associative array containing the limits with keys north, east, south and west. - */ - protected static function getBoundingBox( array $centerCoordinates, $circleRadius ) { - $north = MapsGeoFunctions::findDestination( $centerCoordinates, 0, $circleRadius ); - $east = MapsGeoFunctions::findDestination( $centerCoordinates, 90, $circleRadius ); - $south = MapsGeoFunctions::findDestination( $centerCoordinates, 180, $circleRadius ); - $west = MapsGeoFunctions::findDestination( $centerCoordinates, 270, $circleRadius ); - - return array( - 'north' => $north['lat'], - 'east' => $east['lon'], - 'south' => $south['lat'], - 'west' => $west['lon'], - ); - } - - /** - * Returns a boolean indicating if MapsGeoFunctions is available. - * - * @since 0.6 - * - * @return boolean - */ - protected static function geoFunctionsAreAvailable() { - return class_exists( 'MapsGeoFunctions' ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsHooks.php b/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsHooks.php deleted file mode 100644 index c016872..0000000 --- a/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsHooks.php +++ /dev/null @@ -1,82 +0,0 @@ - - */ -final class SMGeoCoordsHooks { - - /** - * Set the default format to 'map' when the requested properties are - * of type geographic coordinates. - * - * TODO: have a setting to turn this off and have it off by default for #show - * - * @since 1.0 - * - * @param $format Mixed: The format (string), or false when not set yet - * @param $printRequests Array: The print requests made - * @param $params Array: The parameters for the query printer - * - * @return true - */ - public static function addGeoCoordsDefaultFormat( &$format, array $printRequests, array $params ) { - // Only set the format when not set yet. This allows other extensions to override the Semantic Maps behaviour. - if ( $format === false ) { - // Only apply when there is more then one print request. - // This way requests comming from #show are ignored. - if ( count( $printRequests ) > 1 ) { - $allValid = true; - $hasCoords = false; - - // Loop through the print requests to determine their types. - foreach( $printRequests as /* SMWPrintRequest */ $printRequest ) { - // Skip the first request, as it's the object. - if ( $printRequest->getMode() == SMWPrintRequest::PRINT_THIS ) { - continue; - } - - $typeId = $printRequest->getTypeID(); - - if ( $typeId == '_geo' ) { - $hasCoords = true; - } - else { - $allValid = false; - break; - } - } - - // If they are all coordinates, set the result format to 'map'. - if ( $allValid && $hasCoords ) { - $format = 'map'; - } - } - - } - - return true; - } - - /** - * Adds support for the geographical coordinate data type to Semantic MediaWiki. - * - * @since 1.0 - * - * TODO: i18n keys still need to be moved - * - * @return true - */ - public static function initGeoCoordsType() { - SMWDataValueFactory::registerDatatype( '_geo', 'SMGeoCoordsValue', SMWDataItem::TYPE_GEO ); - return true; - } - -} diff --git a/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValue.php b/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValue.php deleted file mode 100644 index 9c801d5..0000000 --- a/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValue.php +++ /dev/null @@ -1,247 +0,0 @@ - - * @author Markus Krötzsch - */ -class SMGeoCoordsValue extends SMWDataValue { - - protected $wikiValue; - - /** - * @see SMWDataValue::setDataItem() - * - * @since 1.0 - * - * @param $dataitem SMWDataItem - * - * @return boolean - */ - protected function loadDataItem( SMWDataItem $dataItem ) { - if ( $dataItem->getDIType() == SMWDataItem::TYPE_GEO ) { - $this->m_dataitem = $dataItem; - - global $smgQPCoodFormat, $smgQPCoodDirectional; - $this->wikiValue = MapsCoordinateParser::formatCoordinates( - $dataItem->getCoordinateSet(), - $smgQPCoodFormat, - $smgQPCoodDirectional - ); - return true; - } else { - return false; - } - } - - /** - * @see SMWDataValue::parseUserValue - * - * @since 0.6 - */ - protected function parseUserValue( $value ) { - $this->parseUserValueOrQuery( $value ); - } - - /** - * Overwrite SMWDataValue::getQueryDescription() to be able to process - * comparators between all values. - * - * @since 0.6 - * - * @param string $value - * - * @return SMWDescription - */ - public function getQueryDescription( $value ) { - return $this->parseUserValueOrQuery( $value, true ); - } - - /** - * Parses the value into the coordinates and any meta data provided, such as distance. - * - * @since 0.6 - * - * @param $value String - * @param $asQuery Boolean - */ - protected function parseUserValueOrQuery( $value, $asQuery = false ) { - $this->wikiValue = $value; - - $comparator = SMW_CMP_EQ; - - if ( $value === '' ) { - $this->addError( wfMsg( 'smw_novalues' ) ); - } else { - SMWDataValue::prepareValue( $value, $comparator ); - - $parts = explode( '(', $value ); - - $coordinates = trim( array_shift( $parts ) ); - $distance = count( $parts ) > 0 ? trim( array_shift( $parts ) ) : false; - - if ( $distance !== false ) { - $distance = substr( trim( $distance ), 0, -1 ); - - if ( !MapsDistanceParser::isDistance( $distance ) ) { - $this->addError( wfMsgExt( 'semanticmaps-unrecognizeddistance', array( 'parsemag' ), $distance ) ); - $distance = false; - } - } - - $parsedCoords = MapsCoordinateParser::parseCoordinates( $coordinates ); - if ( $parsedCoords ) { - $this->m_dataitem = new SMWDIGeoCoord( $parsedCoords ); - } else { - $this->addError( wfMsgExt( 'maps_unrecognized_coords', array( 'parsemag' ), $coordinates, 1 ) ); - - // Make sure this is always set - // TODO: Why is this needed?! - $this->m_dataitem = new SMWDIGeoCoord( array( 'lat' => 0, 'lon' => 0 ) ); - } - } - - if ( $asQuery ) { - $this->setUserValue( $value ); - - switch ( true ) { - case !$this->isValid() : - return new SMWThingDescription(); - case $distance !== false : - return new SMAreaValueDescription( $this->getDataItem(), $comparator, $distance ); - default : - return new SMGeoCoordsValueDescription( $this->getDataItem(), $comparator ); - } - } - } - - /** - * @see SMWDataValue::getShortWikiText - * - * @since 0.6 - */ - public function getShortWikiText( $linked = null ) { - if ( $this->isValid() ) { - if ( $this->m_caption === false ) { - global $smgQPCoodFormat, $smgQPCoodDirectional; - return MapsCoordinateParser::formatCoordinates( $this->m_dataitem->getCoordinateSet(), $smgQPCoodFormat, $smgQPCoodDirectional ); - } - else { - return $this->m_caption; - } - } - else { - return $this->getErrorText(); - } - } - - /** - * @see SMWDataValue::getShortHTMLText - * - * @since 0.6 - */ - public function getShortHTMLText( $linker = null ) { - return $this->getShortWikiText( $linker ); - } - - /** - * @see SMWDataValue::getLongWikiText - * - * @since 0.6 - */ - public function getLongWikiText( $linked = null ) { - if ( $this->isValid() ) { - SMWOutputs::requireHeadItem( SMW_HEADER_TOOLTIP ); - - // TODO: fix lang keys so they include the space and coordinates. - $coordinateSet = $this->m_dataitem->getCoordinateSet(); - - global $smgQPCoodFormat, $smgQPCoodDirectional; - $text = MapsCoordinateParser::formatCoordinates( $coordinateSet, $smgQPCoodFormat, $smgQPCoodDirectional ); - - $lines = array( - htmlspecialchars( wfMsgExt( 'semanticmaps-latitude', 'content', $coordinateSet['lat'] ) ), - htmlspecialchars( wfMsgExt( 'semanticmaps-longitude', 'content', $coordinateSet['lon'] ) ), - ); - - if ( array_key_exists( 'alt', $coordinateSet ) ) { - $lines[] = htmlspecialchars ( wfMsgForContent( 'semanticmaps-altitude', 'content', $coordinateSet['alt'] ) ); - } - - return '' . htmlspecialchars( $text ) . '' . - implode( '
    ', $lines ) . - '
    '; - } else { - return $this->getErrorText(); - } - } - - /** - * @see SMWDataValue::getLongHTMLText - * - * @since 0.6 - */ - public function getLongHTMLText( $linker = null ) { - return $this->getLongWikiText( $linker ); - } - - /** - * @see SMWDataValue::getWikiValue - * - * @since 0.6 - */ - public function getWikiValue() { - return $this->wikiValue; - } - - /** - * @see SMWDataValue::getExportData - * - * @since 0.6 - */ - public function getExportData() { - if ( $this->isValid() ) { - global $smgQPCoodFormat, $smgQPCoodDirectional; - $lit = new SMWExpLiteral( - MapsCoordinateParser::formatCoordinates( $this->m_dataitem->getCoordinateSet(), $smgQPCoodFormat, $smgQPCoodDirectional ), - $this, - 'http://www.w3.org/2001/XMLSchema#string' - ); - return new SMWExpData( $lit ); - } else { - return null; - } - } - - /** - * Create links to mapping services based on a wiki-editable message. The parameters - * available to the message are: - * - * $1: The location in non-directional float notation. - * $2: The location in directional DMS notation. - * $3: The latitude in non-directional float notation. - * $4 The longitude in non-directional float notation. - * - * @since 0.6.4 - * - * @return array - */ - protected function getServiceLinkParams() { - $coordinateSet = $this->m_dataitem->getCoordinateSet(); - return array( - MapsCoordinateParser::formatCoordinates( $coordinateSet, 'float', false ), - MapsCoordinateParser::formatCoordinates( $coordinateSet, 'dms', true ), - $coordinateSet['lat'], - $coordinateSet['lon'] - ); - } - -} diff --git a/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValueDescription.php b/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValueDescription.php deleted file mode 100644 index ed6e16d..0000000 --- a/documentacion/extensions/SemanticMaps/includes/SM_GeoCoordsValueDescription.php +++ /dev/null @@ -1,84 +0,0 @@ -m_dataItem !== null ) { - $queryString = SMWDataValueFactory::newDataItemValue( $this->m_dataItem, $this->m_property )->getWikiValue(); - return $asValue ? $queryString : "[[$queryString]]"; - } else { - return $asValue ? '+' : ''; - } - } - - /** - * @see SMWDescription::getSQLCondition - * - * @since 0.6 - * - * @param string $tableName - * @param array $fieldNames - * @param DatabaseBase or Database $dbs - * - * @return true - */ - public function getSQLCondition( $tableName, array $fieldNames, $dbs ) { - $dataItem = $this->getDataItem(); - - // Only execute the query when the description's type is geographical coordinates, - // the description is valid, and the near comparator is used. - if ( $dataItem->getDIType() != SMWDataItem::TYPE_GEO ) return false; - - $comparator = false; - - switch ( $this->getComparator() ) { - case SMW_CMP_EQ: $comparator = '='; break; - case SMW_CMP_LEQ: $comparator = '<='; break; - case SMW_CMP_GEQ: $comparator = '>='; break; - case SMW_CMP_NEQ: $comparator = '!='; break; - } - - if ( $comparator ) { - $lat = $dbs->addQuotes( $dataItem->getLatitude() ); - $lon = $dbs->addQuotes( $dataItem->getLongitude() ); - - $conditions = array(); - - $conditions[] = "{$tableName}.$fieldNames[0] $comparator $lat"; - $conditions[] = "{$tableName}.$fieldNames[1] $comparator $lon"; - - return implode( ' && ', $conditions ); - } - else { - return false; - } - } - -} \ No newline at end of file diff --git a/documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInput.php b/documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInput.php deleted file mode 100644 index a41f77c..0000000 --- a/documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInput.php +++ /dev/null @@ -1,231 +0,0 @@ - - */ -class SMFormInput { - - /** - * @since 1.0 - * - * @var iMappingService - */ - protected $service; - - /** - * A character to separate multiple locations with. - * - * @since 1.0 - * - * @var char - */ - const SEPARATOR = ';'; - - /** - * Constructor. - * - * @since 1.0 - * - * @param iMappingService $service - */ - public function __construct( iMappingService $service ) { - $this->service = $service; - } - - /** - * Returns an array containing the parameter info. - * - * @since 1.0 - * - * @return array - */ - protected function getParameterInfo() { - global $smgFIMulti, $smgFIFieldSize; - - $params = MapsMapper::getCommonParameters(); - $this->service->addParameterInfo( $params ); - - $params['zoom']->setDefault( false, false ); - - $params['multi'] = new Parameter( 'multi', Parameter::TYPE_BOOLEAN ); - $params['multi']->setDefault( $smgFIMulti, false ); - - $params['fieldsize'] = new Parameter( 'fieldsize', Parameter::TYPE_INTEGER ); - $params['fieldsize']->setDefault( $smgFIFieldSize, false ); - $params['fieldsize']->addCriteria( new CriterionInRange( 5, 100 ) ); - - $params['centre'] = new Parameter( 'centre' ); - $params['centre']->setDefault( false, false ); - $params['centre']->addAliases( 'center' ); - $params['centre']->addCriteria( new CriterionIsLocation() ); - $manipulation = new MapsParamLocation(); - $manipulation->toJSONObj = true; - $params['centre']->addManipulations( $manipulation ); - - $params['icon'] = new Parameter( 'icon' ); - $params['icon']->setDefault( '' ); - $params['icon']->addCriteria( New CriterionNotEmpty() ); - - $params['locations'] = new ListParameter( 'locations', self::SEPARATOR ); - $params['locations']->addCriteria( new CriterionIsLocation() ); - $manipulation = new MapsParamLocation(); - $manipulation->toJSONObj = true; - $params['locations']->addManipulations( $manipulation ); - - $params['geocodecontrol'] = new Parameter( 'geocodecontrol', Parameter::TYPE_BOOLEAN ); - $params['geocodecontrol']->setDefault( true, false ); - $params['geocodecontrol']->setMessage( 'semanticmaps-par-geocodecontrol' ); - - return $params; - } - - /** - * - * - * @since 1.0 - * - * @param string $coordinates - * @param string $input_name - * @param boolean $is_mandatory - * @param boolean $is_disabled - * @param array $field_args - * - * @return string - */ - public function getInputOutput( $coordinates, $input_name, $is_mandatory, $is_disabled, array $params ) { - $parameters = array(); - foreach ( $params as $key => $value ) { - if ( !is_array( $value ) && !is_object( $value ) ) { - $parameters[$key] = $value; - } - } - - $parameters['locations'] = $coordinates; - - $validator = new Validator( wfMsg( 'maps_' . $this->service->getName() ), false ); - $validator->setParameters( $parameters, $this->getParameterInfo() ); - $validator->validateParameters(); - - $fatalError = $validator->hasFatalError(); - - if ( $fatalError === false ) { - global $wgParser; - - $params = $validator->getParameterValues(); - - // We can only take care of the zoom defaulting here, - // as not all locations are available in whats passed to Validator. - if ( $params['zoom'] === false && count( $params['locations'] ) <= 1 ) { - $params['zoom'] = $this->service->getDefaultZoom(); - } - - $mapName = $this->service->getMapId(); - - $params['inputname'] = $input_name; - - $output = $this->getInputHTML( $params, $wgParser, $mapName ) . $this->getJSON( $params, $wgParser, $mapName ); - - $this->service->addResourceModules( $this->getResourceModules() ); - - $configVars = Skin::makeVariablesScript( $this->service->getConfigVariables() ); - - // MediaWiki 1.17 does not play nice with addScript, so add the vars via the globals hook. - if ( version_compare( $GLOBALS['wgVersion'], '1.18', '<' ) ) { - $GLOBALS['egMapsGlobalJSVars'] += $this->service->getConfigVariables(); - } - - if ( true /* !is_null( $wgTitle ) && $wgTitle->isSpecialPage() */ ) { // TODO - global $wgOut; - $this->service->addDependencies( $wgOut ); - $wgOut->addScript( $configVars ); - } - else { - $this->service->addDependencies( $wgParser ); - } - - return $output; - } - else { - return - '' . - htmlspecialchars( wfMsgExt( 'validator-fatal-error', 'parsemag', $fatalError->getMessage() ) ) . - ''; - } - } - - /** - * Returns the HTML to display the map input. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * @param string $mapName - * - * @return string - */ - protected function getInputHTML( array $params, Parser $parser, $mapName ) { - return Html::element( - 'div', - array( - 'id' => $mapName . '_forminput', - 'style' => 'display: inline' - ), - wfMsg( 'semanticmaps-loading-forminput' ) - ); - } - - /** - * Returns the JSON with the maps data. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * @param string $mapName - * - * @return string - */ - protected function getJSON( array $params, Parser $parser, $mapName ) { - $object = $this->getJSONObject( $params, $parser ); - - if ( $object === false ) { - return ''; - } - - return Html::inlineScript( - MapsMapper::getBaseMapJSON( $this->service->getName() . '_forminputs' ) - . "mwmaps.{$this->service->getName()}_forminputs.{$mapName}=" . FormatJson::encode( $object ) . ';' - ); - } - - /** - * Returns a PHP object to encode to JSON with the map data. - * - * @since 1.0 - * - * @param array $params - * @param Parser $parser - * - * @return mixed - */ - protected function getJSONObject( array $params, Parser $parser ) { - return $params; - } - - /** - * @since 1.0 - * - * @return array of string - */ - protected function getResourceModules() { - return array( 'ext.sm.forminputs' ); - } - -} diff --git a/documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInputs.php b/documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInputs.php deleted file mode 100644 index 0784294..0000000 --- a/documentacion/extensions/SemanticMaps/includes/forminputs/SM_FormInputs.php +++ /dev/null @@ -1,122 +0,0 @@ - array( 'ext.maps.coord' ), - 'localBasePath' => dirname( __FILE__ ), - 'remoteBasePath' => $smgScriptPath . '/includes/forminputs', - 'group' => 'ext.semanticmaps', - 'scripts' => array( - 'jquery.mapforminput.js' - ), - 'messages' => array( - 'semanticmaps_enteraddresshere', - 'semanticmaps-updatemap', - 'semanticmaps_lookupcoordinates', - 'semanticmaps-forminput-remove', - 'semanticmaps-forminput-add', - 'semanticmaps-forminput-locations' - ) -); - -$wgHooks['MappingFeatureLoad'][] = 'SMFormInputs::initialize'; - -final class SMFormInputs { - - public static function initialize() { - global $wgAutoloadClasses; - - // This code should not get called when SF is not loaded, but let's have this - // check to not run into problems when people mess up the settings. - if ( !defined( 'SF_VERSION' ) ) return true; - - $wgAutoloadClasses['SMFormInput'] = dirname( __FILE__ ) . '/SM_FormInput.php'; - - $hasFormInputs = false; - - foreach ( MapsMappingServices::getServiceIdentifiers() as $serviceIdentifier ) { - $service = MapsMappingServices::getServiceInstance( $serviceIdentifier ); - - // Check if the service has a form input. - $FIClass = $service->getFeature( 'fi' ); - - // If the service has no FI, skipt it and continue with the next one. - if ( $FIClass === false ) continue; - - // At least one form input will be enabled when this point is reached. - $hasFormInputs = true; - - // Add the result form input type for the service name. - self::initFormHook( $service->getName(), $service->getName() ); - - // Loop through the service alliases, and add them as form input types. - foreach ( $service->getAliases() as $alias ) { - self::initFormHook( $alias, $service->getName() ); - } - } - - // Add the 'map' form input type if there are mapping services that have FI's loaded. - if ( $hasFormInputs ) self::initFormHook( 'map' ); - - return true; - } - - /** - * Adds a mapping service's form hook. - * - * @param string $inputName The name of the form input. - * @param strig $mainName - */ - private static function initFormHook( $inputName, $mainName = '' ) { - global $sfgFormPrinter; - - // Add the form input hook for the service. - $field_args = array(); - - if ( $mainName !== '' ) { - $field_args['service_name'] = $mainName; - } - - //$sfgFormPrinter->registerInputType( 'SMMapInput' ); - - $sfgFormPrinter->setInputTypeHook( $inputName, 'smfSelectFormInputHTML', $field_args ); - } - -} - -/** - * Calls the relevant form input class depending on the provided service. - * - * @param string $coordinates - * @param string $input_name - * @param boolean $is_mandatory - * @param boolean $is_disabled - * @param array $field_args - * - * @return array - */ -function smfSelectFormInputHTML( $coordinates, $input_name, $is_mandatory, $is_disabled, array $field_args ) { - // Get the service name from the field_args, and set it to null if it doesn't exist. - $serviceName = array_key_exists( 'service_name', $field_args ) ? $field_args['service_name'] : null; - - // Get the instance of the service class. - $service = MapsMappingServices::getValidServiceInstance( $serviceName, 'fi' ); - - // Get an instance of the class handling the current form input and service. - $formInput = $service->getFeatureInstance( 'fi' ); - - // Get and return the form input HTML from the hook corresponding with the provided service. - return $formInput->getInputOutput( $coordinates, $input_name, $is_mandatory, $is_disabled, $field_args ); -} diff --git a/documentacion/extensions/SemanticMaps/includes/forminputs/jquery.mapforminput.js b/documentacion/extensions/SemanticMaps/includes/forminputs/jquery.mapforminput.js deleted file mode 100644 index c6fa17b..0000000 --- a/documentacion/extensions/SemanticMaps/includes/forminputs/jquery.mapforminput.js +++ /dev/null @@ -1,136 +0,0 @@ -/** - * JavasSript for the form inputs of the Semantic Maps extension. - * @see http://www.mediawiki.org/wiki/Extension:Semantic_Maps - * - * This jQuery plugin creates a simple interface consisting out of - * a field with coordinates, a field for geocoding addresses and - * a map that displays these locations. - * - * jQuery plugins using this one can implement the following methods: - * - showCoordinate( location { lat, lon } ) - * - geocodeAddress( string address ) - * - * @param {string} mapDivId - * @param {Object} options - * - * @since 1.0 - * @ingroup SemanticMaps - * - * @licence GNU GPL v3 - * @author Jeroen De Dauw - */ -(function( $, mw ){ $.fn.mapforminput = function( mapDivId, options ) { - - var self = this; - - /** - * Creates a string with the provided coordinates to populate the main input field with. - * @param {Array} locations - * @return {string} - */ - this.buildInputValue = function( locations ) { - var floats = []; - - for ( i in locations ) { - floats.push( coord.float( locations[i].lat, locations[i].lon ) ); - } - - return floats.join( '; ' ); - }; - - /** - * Populate the main input field with the provided coordinates. - * @param {Array} locations - */ - this.updateInput = function( locations ) { - this.input.attr( 'value', this.buildInputValue( locations ) ); - } - - this.input = $( '' ).attr( { - 'type': 'text', - 'name': options.inputname, - 'id': mapDivId + '_values', - 'value': this.buildInputValue( options.locations ), - 'size': options.fieldsize - } ); - - var updateButton = $( '').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", -handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, -originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", -f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): -[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); -if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): -e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= -this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- -b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.14",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), -create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), -height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); -b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& -e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= -d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| -(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); -this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= -this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); -if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); -this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ -g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", -function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; -this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= --1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; -d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= -d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, -e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); -j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); -if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, -this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, -load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, -"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, -url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.14"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k").addClass("ui-autocomplete").appendTo("body",c).mousedown(function(){setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(d,b){b=b.item.data("item.autocomplete"); -false!==a._trigger("focus",null,{item:b})&&/^key/.test(d.originalEvent.type)&&a.element.val(b.value)},selected:function(d,b){b=b.item.data("item.autocomplete");false!==a._trigger("select",d,{item:b})&&a.element.val(b.value);a.close(d);d=a.previous;if(a.element[0]!==c.activeElement){a.element.focus();a.previous=d}a.selectedItem=b},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()}, -destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,c;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(d,b){b(e.ui.autocomplete.filter(a,d.term))}}else if(typeof this.options.source=== -"string"){c=this.options.source;this.source=function(d,b){e.getJSON(c,d,b)}}else this.source=this.options.source},search:function(a,c){a=a!=null?a:this.element.val();if(a.length").data("item.autocomplete", -c).append(""+c.label+"").appendTo(a)},_move:function(a,c){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](c);else this.search(null,c)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")},filter:function(a,c){var d=new RegExp(e.ui.autocomplete.escapeRegex(c), -"i");return e.grep(a,function(b){return d.test(b.label||b.value||b)})}})})(jQuery); -(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(e(c.target).closest(".ui-menu-item a").length){c.preventDefault();a.select(c)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", --1).mouseenter(function(c){a.activate(c,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,c){this.deactivate();if(this.hasScroll()){var d=c.offset().top-this.element.offset().top,b=this.element.attr("scrollTop"),f=this.element.height();if(d<0)this.element.attr("scrollTop",b+d);else d>f&&this.element.attr("scrollTop",b+d-f+c.height())}this.active=c.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:c})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); -this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,c,d){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(d,a):this.activate(d,this.element.children(c))}else this.activate(d,this.element.children(c))},nextPage:function(a){if(this.hasScroll())if(!this.active|| -this.last())this.activate(a,this.element.children(":first"));else{var c=this.active.offset().top,d=this.element.height(),b=this.element.children("li").filter(function(){var f=e(this).offset().top-c-d+e(this).height();return f<10&&f>-10});b.length||(b=this.element.children(":last"));this.activate(a,b)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last")); -else{var c=this.active.offset().top,d=this.element.height();result=this.element.children("li").filter(function(){var b=e(this).offset().top-c+d-e(this).height();return b<10&&b>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon"); -this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, -destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); diff --git a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.core.min.js b/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.core.min.js deleted file mode 100644 index 02489b6..0000000 --- a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.core.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/*! - * jQuery UI 1.8.2 - * - * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI - */ -(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); diff --git a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.datepicker.min.js b/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.datepicker.min.js deleted file mode 100644 index 8f7c445..0000000 --- a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.datepicker.min.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - * jQuery UI Datepicker 1.8.2 - * - * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Datepicker - * - * Depends: - * jquery.ui.core.js - */ -(function(d){function J(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass= -"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su", -"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10", -minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('
    ')}function E(a,b){d.extend(a, -b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.2"}});var y=(new Date).getTime();d.extend(J.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]= -f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('
    ')}}, -_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&& -b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== -""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, -c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), -true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor== -Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]); -d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}}, -_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b= -d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false; -for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target|| -a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a); -d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&& -d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f, -h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover"); -this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover"); -this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"); -a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(), -k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"]; -a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val(): -"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&& -!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth; -b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){a=this._getInst(d(a)[0]); -a.input&&a._selectingMonthYear&&!d.browser.msie&&a.input.focus();a._selectingMonthYear=!a._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a, -"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")|| -this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null; -for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1-1){k=1;l=u;do{e=this._getDaysInMonth(c,k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c, -k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c? -c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+112?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear|| -a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? -new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a)); -n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m, -g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&& -a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
    '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
    ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),G=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var K=this._getDefaultDate(a),H="",C=0;C1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
    '+(/all|left/.test(t)&&C==0?c? -f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'
    ';var A=k?'":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=A+"";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, -A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var N=0;N";var O=!k?"":'";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,I=B&&!G||!F[0]||j&&qo;O+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=O+""}g++;if(g>11){g=0;m++}x+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(q)+""+(B&&!w?" ":I?''+q.getDate()+ -"":''+q.getDate()+"")+"
    "+(l?""+(i[0]>0&&D==i[1]-1?'
    ':""):"");L+=x}H+=L}H+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': -"");a._keyEvent=false;return H},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='
    ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b, -i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
    ";return j},_adjustInstDate:function(a,b,c){var e= -a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, -"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); -c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, -"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= -function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b)); -return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new J;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.2";window["DP_jQuery_"+y]=d})(jQuery); diff --git a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.position.min.js b/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.position.min.js deleted file mode 100644 index d343d7d..0000000 --- a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.position.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - * jQuery UI Position 1.8.2 - * - * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Position - */ -(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h= -0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+= -g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k, -elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"? --b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position= -"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery); diff --git a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.widget.min.js b/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.widget.min.js deleted file mode 100644 index 65cdc9d..0000000 --- a/documentacion/extensions/SemanticMediaWiki/libs/jquery-ui/jquery.ui.widget.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/*! - * jQuery UI Widget 1.8.2 - * - * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Widget - */ -(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype= -b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g= -b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create(); -this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f, -h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= -b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); diff --git a/documentacion/extensions/SemanticMediaWiki/maintenance/README b/documentacion/extensions/SemanticMediaWiki/maintenance/README deleted file mode 100644 index 4c11a5e..0000000 --- a/documentacion/extensions/SemanticMediaWiki/maintenance/README +++ /dev/null @@ -1,27 +0,0 @@ -== Semantic MediaWiki maintenance scripts == - -Scripts can be run with a command line PHP call if your MediaWiki is -properly configured to run maintenance scripts. - -If you keep SMW in the standard directory ./extensions/SemanticMediaWiki -below your MediaWiki installation, then you can run these scripts from -almost anywhere. - -Otherwise, it is required to set the environment variable MW_INSTALL_PATH -to the root of your MediaWiki installation first. This is also required if -you use a symbolic link from ./extensions/SemanticMediaWiki to the actual -installation directory of SMW. Setting environment variables is different -for different operating systems and shells, but can normally be done from -the command line right before the php call. On Bash(Linux), e.g., one can -use the following call to execute SMW_setup.php with different MW location. - - export MW_INSTALL_PATH="/path/to/mediawiki" && php SMW_setup.php - -In some setups that use a lot of shared code for many wikis, it might be -required to specify the location of LocalSettings.php and AdminSettings.php -explicitly, too: - - export MW_INSTALL_PATH="/path/to/mediawiki" && - php SMW_setup.php --conf /path/to/mediawiki/LocalSettings.php --aconf /path/to/mediawiki/AdminSettings.php - -(do not give the linebreak in the above command) \ No newline at end of file diff --git a/documentacion/extensions/SemanticMediaWiki/maintenance/SMW_Postgres_Schema.sql b/documentacion/extensions/SemanticMediaWiki/maintenance/SMW_Postgres_Schema.sql deleted file mode 100644 index d31452c..0000000 --- a/documentacion/extensions/SemanticMediaWiki/maintenance/SMW_Postgres_Schema.sql +++ /dev/null @@ -1,95 +0,0 @@ - --- Postgres schema for Semantic MediaWiki - -\ON_ERROR_STOP -BEGIN; - -CREATE TABLE smw_relations ( - subject_id INTEGER NOT NULL, - subject_namespace INTEGER NOT NULL, - subject_title TEXT NOT NULL, - relation_title TEXT NOT NULL, - object_id INTEGER NULL, - object_namespace INTEGER NOT NULL, - object_title TEXT NOT NULL -); -CREATE INDEX smw_relations_index1 ON smw_relations(subject_id, relation_title); -CREATE INDEX smw_relations_index2 ON smw_relations(object_id, object_title, object_namespace); - -CREATE TABLE smw_attributes ( - subject_id INTEGER NOT NULL, - subject_namespace INTEGER NOT NULL, - subject_title TEXT NOT NULL, - attribute_title TEXT NOT NULL, - value_unit TEXT NOT NULL, - value_datatype TEXT NOT NULL, - value_xsd TEXT NOT NULL, - value_num FLOAT NULL -); -CREATE INDEX smw_attributes_index1 ON smw_attributes(subject_id, attribute_title); -CREATE INDEX smw_attributes_index2 ON smw_attributes(value_num, value_xsd); - -CREATE TABLE smw_longstrings ( - subject_id INTEGER NOT NULL, - subject_namespace INTEGER NOT NULL, - subject_title TEXT NOT NULL, - attribute_title TEXT NOT NULL, - value_blob TEXT NULL -); -CREATE INDEX smw_longstrings_index1 ON smw_longstrings(subject_id, attribute_title); - -CREATE TABLE smw_nary ( - subject_id INTEGER NOT NULL, - subject_namespace INTEGER NOT NULL, - subject_title TEXT NOT NULL, - attribute_title TEXT NOT NULL, - nary_key INTEGER NOT NULL -); -CREATE INDEX smw_nary_index1 ON smw_nary(subject_id, attribute_title, nary_key); - -CREATE TABLE smw_nary_relations ( - subject_id INTEGER NOT NULL, - nary_key INTEGER NOT NULL, - nary_pos INTEGER NOT NULL, - object_id INTEGER NULL, - object_namespace INTEGER NOT NULL, - object_title TEXT NOT NULL -); -CREATE INDEX smw_nary_relations_index1 ON smw_nary_relations(subject_id,nary_key); -CREATE INDEX smw_nary_relations_index2 ON smw_nary_relations(object_id,object_namespace,object_title); - -CREATE TABLE smw_nary_attributes ( - subject_id INTEGER NOT NULL, - nary_key INTEGER NOT NULL, - nary_pos INTEGER NOT NULL, - value_unit TEXT NULL, - value_xsd TEXT NOT NULL, - value_num FLOAT NULL -); -CREATE INDEX smw_nary_attributes_index1 ON smw_nary_attributes(subject_id, nary_key); -CREATE INDEX smw_nary_attributes_index2 ON smw_nary_attributes(value_num, value_xsd); - -CREATE TABLE smw_nary_longstrings ( - subject_id INTEGER NOT NULL, - nary_key INTEGER NOT NULL, - nary_pos INTEGER NOT NULL, - value_blob TEXT NULL -); -CREATE INDEX smw_nary_longstrings_index1 ON smw_nary_longstrings(subject_id, nary_key); - -CREATE TABLE smw_specialprops ( - subject_id INTEGER NOT NULL, - subject_namespace INTEGER NOT NULL, - property_id SMALLINT NOT NULL, - value_string TEXT NOT NULL -); -CREATE INDEX smw_specialprops_index1 ON smw_specialprops(subject_id, property_id); - -CREATE TABLE smw_subprops ( - subject_title TEXT NOT NULL, - object_title TEXT NOT NULL -); -CREATE INDEX smw_subprops_index1 ON smw_subprops(subject_title, object_title); - -COMMIT; - diff --git a/documentacion/extensions/SemanticMediaWiki/maintenance/SMW_conceptCache.php b/documentacion/extensions/SemanticMediaWiki/maintenance/SMW_conceptCache.php deleted file mode 100644 index 1baa933..0000000 --- a/documentacion/extensions/SemanticMediaWiki/maintenance/SMW_conceptCache.php +++ /dev/null @@ -1,205 +0,0 @@ - [' . - '' . - '' . - ' ' . - '' . wfMsg( 'smw_qui_options' ) . ' ' . - ''; - $urlArgs = array(); - $urlArgs['pmainlabel'] = $mainLabel; - - // START: create form elements already submitted earlier via form - // attempting to load parameters from $wgRequest - $propertyValues = $wgRequest->getArray( 'property', array() ); - $propertyLabelValues = $wgRequest->getArray( 'prop_label', array() ); - $propertyFormatValues = $wgRequest->getArray( 'prop_format', array() ); - $propertyLimitValues = $wgRequest->getArray( 'prop_limit', array() ); - $orderValues = $wgRequest->getArray( 'order', array() ); - $displayValues = $wgRequest->getArray( 'display', array() ); - $categoryValues = $wgRequest->getArray( 'category', array() ); - $categoryLabelValues = $wgRequest->getArray( 'cat_label', array() ); - $categoryYesValues = $wgRequest->getArray( 'cat_yes', array() ); - $categoryNoValues = $wgRequest->getArray( 'cat_no', array() ); - $mainColumnLabels = $wgRequest->getArray( 'maincol_label', array() ); - - $mainLabelCheck = $wgRequest->getCheck( 'pmainlabel' ); - - if ( !$mainLabelCheck ) { - /* - * Printouts and sorting might be set via another widget/form/source, so - * create elements by fetching data from $uiCore. The exact ordering - * of Ui elements might not be preserved, if the above check were to - * be removed. - */ - if ( array_key_exists( 'sort', $params ) && array_key_exists( 'order', $params ) ) { - $sortVal = explode( ',', trim( strtolower( $params['sort'] ) ) ); - $orderVal = explode( ',', $params['order'] ); - reset( $sortVal ); - reset( $orderVal ); - // give up if sort and order dont have equal number of elements - if ( count( $sortVal ) !== count( $orderVal ) ) { - $orderVal = array(); - $sortVal = array(); - } - } else { - $orderVal = array(); - $sortVal = array(); - } - $printOuts = ( $this->uiCore->getPrintOuts() ); - $counter = 0; - foreach ( $printOuts as $poValue ) { - if ( $poValue->getMode() == SMWPrintRequest::PRINT_CATS ) { - $categoryValues[$counter] = ' '; - $categoryLabelValues[$counter] = $poValue->getLabel(); - $categoryYesValues[$counter] = ''; - $categoryNoValues[$counter] = ''; - $counter++; - } elseif ( $poValue->getMode() == SMWPrintRequest::PRINT_PROP ) { - $tempProperty = trim( strtolower( $poValue->getData()->getText() ) ); - $searchKey = array_search( $tempProperty, $sortVal ); - if ( !( $searchKey === false ) ) { - while ( $searchKey != 0 ) { - $propertyValues[$counter] = array_shift( $sortVal ); - $orderValues[$counter] = array_shift( $orderVal ); - $propertyLabelValues[$counter] = ''; - $propertyFormatValues[$counter] = ''; - $propertyLimitValues[$counter] = ''; - $counter++; - $searchKey--; - } - $propertyValues[$counter] = $poValue->getData()->getText(); - - $propertyLabelValues[$counter] = - ( $poValue->getLabel() == $propertyValues[$counter] ) ? '':$poValue->getLabel(); - - $propertyFormatValues[$counter] = $poValue->getOutputFormat(); - - $propertyLimitValues[$counter] = - ( $poValue->getParameter( 'limit' ) ) ? $poValue->getParameter( 'limit' ):''; - - $orderValues[$counter] = $orderVal[0]; - $displayValues[$counter] = '1'; - $counter++; - array_shift( $orderVal ); - array_shift( $sortVal ); - } else { - $propertyValues[$counter] = $poValue->getData()->getText(); - - $propertyLabelValues[$counter] = - ( $poValue->getLabel() == $propertyValues[$counter] ) ? '':$poValue->getLabel(); - - $propertyFormatValues[$counter] = $poValue->getOutputFormat(); - - $propertyLimitValues[$counter] = - ( $poValue->getParameter( 'limit' ) ) ? $poValue->getParameter( 'limit' ):''; - - $displayValues[$counter] = '1'; - $counter++; - } - } elseif ( $poValue->getMode() == SMWPrintRequest::PRINT_THIS ) { - $mainColumnLabels[$counter] = $poValue->getLabel(); - $counter++; - } elseif ( $poValue->getMode() == SMWPrintRequest::PRINT_CCAT ) { - $outputFormat = explode( ',', $poValue->getOutputFormat() ); - if ( !array_key_exists( 1, $outputFormat ) ) { - $outputFormat[1] = ''; - } - $categoryValues[$counter] = $poValue->getData()->getText(); - $categoryLabelValues[$counter] = $poValue->getLabel(); - $categoryYesValues[$counter] = $outputFormat[0]; - $categoryNoValues[$counter] = $outputFormat[1]; - $counter++; - } - - } - while ( !empty( $sortVal ) ) { - $propertyValues[$counter] = array_shift( $sortVal ); - $orderValues[$counter] = array_shift( $orderVal ); - $propertyLabelValues[$counter] = ''; - $propertyFormatValues[$counter] = ''; - $propertyLimitValues[$counter] = ''; - $counter++; - } - } - - $i = 0; - $additionalPOs = array(); - - $keys = array_keys( $propertyValues ); - foreach ( $keys as $value ) { - $additionalPOs[$value] = $propertyValues[$value]; - // array_merge won't work because numeric keys need to be preserved - } - - - $keys = array_keys( $categoryValues ); - foreach ( $keys as $value ) { - $additionalPOs[$value] = $categoryValues[$value]; - // array_merge won't work because numeric keys need to be preserved - } - - $keys = array_keys( $mainColumnLabels ); - foreach ( $keys as $value ) { - $additionalPOs[$value] = $mainColumnLabels[$value]; - // array_merge won't work because numeric keys need to be preserved - } - - ksort( $additionalPOs ); - foreach ( $additionalPOs as $key => $value ) { - if ( array_key_exists( $key, $propertyValues ) ) { - /* - * Make an element for additional properties - */ - $result .= Html::openElement( - 'div', - array( 'id' => "sort_div_$i", 'class' => 'smwsort' ) - ); - - $result .= '' . - '' . - '' . - '' . - ''; - $result .= wfMsg( 'smw_qui_property' ) . ''; - - $result .= Html::input( 'property[' . $i . ']', - $propertyValues[$key], - 'text', - array( 'size' => '25', 'id' => "property$i" ) ) . - "\n"; - - $urlArgs["property[$i]"] = $propertyValues[$key]; - if ( $smwgQSortingSupport ) { - $result .= Html::openElement( - 'select', - array( 'name' => "order[$i]" ) - ); - if ( array_key_exists( $key, $orderValues ) ) { - $urlArgs["order[$i]"] = $orderValues[$key]; - } - $if1 = ( !array_key_exists( $key, $orderValues ) || $orderValues[$key] == 'NONE' ); - $result .= Xml::option( wfMsg( 'smw_qui_nosort' ), "NONE", $if1 ); - - $if2 = ( array_key_exists( $key, $orderValues ) && $orderValues[$key] == 'ASC' ); - $result .= Xml::option( wfMsg( 'smw_qui_ascorder' ), "ASC", $if2 ); - - $if3 = ( array_key_exists( $key, $orderValues ) && $orderValues[$key] == 'DESC' ); - $result .= Xml::option( wfMsg( 'smw_qui_descorder' ), "DESC", $if3 ); - - if ( $smwgQRandSortingSupport ) { - $if4 = ( array_key_exists( $key, $orderValues ) && $orderValues[$key] == 'RANDOM' ); - $result .= Xml::option( wfMsg( 'smw_qui_randorder' ), "RANDOM", $if4 ); - } - - $result .= Xml::closeElement( 'select' ); - - $if5 = ( array_key_exists( $key, $displayValues ) ); - $result .= Xml::checkLabel( wfMsg( 'smw_qui_shownresults' ), "display[$i]", "display$i", $if5 ); - if ( $if5 ) { - $urlArgs["display[$i]"] = '1'; - } - } - if ( array_key_exists( $key, $propertyLabelValues ) ) { - $result .= Html::hidden( - "prop_label[$i]", - $propertyLabelValues[$key], - array( 'id' => "prop_label$i" ) - ); - $urlArgs["prop_label[$i]"] = $propertyLabelValues[$key]; - } else { - $result .= Html::hidden( "prop_label[$i]", - '', - array( 'id' => "prop_label$i" ) - ); - } - if ( array_key_exists( $key, $propertyFormatValues ) ) { - $result .= Html::hidden( "prop_format[$i]", - $propertyFormatValues[$key], - array( 'id' => "prop_format$i" ) - ); - $urlArgs["prop_format[$i]"] = $propertyFormatValues[$key]; - } else { - $result .= Html::hidden( "prop_format[$i]", - '', - array( 'id' => "prop_format$i" ) - ); - } - if ( array_key_exists( $key, $propertyLimitValues ) ) { - $result .= Html::hidden( "prop_limit[$i]", - $propertyLimitValues[$key], - array( 'id' => "prop_limit$i" ) - ); - $urlArgs["prop_limit[$i]"] = $propertyLimitValues[$key]; - } else { - $result .= Html::hidden( "prop_limit[$i]", - '', - array( 'id' => "prop_limit$i" ) - ); - } - $result .= Html::element( 'a', - array( 'id' => "more$i", - 'class' => 'smwq-more', - 'href' => "javascript:smw_makePropDialog('$i')" - ), - WfMsg( 'smw_qui_options' ) - ); - - $result .= Xml::closeElement( 'div' ); - $i++; - } - if ( array_key_exists( $key, $categoryValues ) ) { - if ( !array_key_exists( $key, $categoryLabelValues ) ) { - $categoryLabelValues[$key] = ''; - } - if ( !array_key_exists( $key, $categoryYesValues ) ) { - $categoryYesValues[$key] = ''; - } - if ( !array_key_exists( $key, $categoryNoValues ) ) { - $categoryNoValues[$key] = ''; - } - /* - * Make an element for additional categories - */ - $result .= Html::openElement( 'div', - array( 'id' => "sort_div_$i", 'class' => 'smwsort' ) - ); - $result .= '' . - '' . - Html::openElement( 'a', - array( 'href' => "javascript:removePOInstance('sort_div_$i')" ) - ) . - '' . wfMsg( 'smw_qui_delete' ) . '' . - '' . - '' . - wfMsg( 'smw_qui_category' ) . - '' . - Xml::input( "category[$i]", - '25', - $categoryValues[$key], - array( 'id' => "category$i" ) - ) . " " . - Html::hidden( "cat_label[$i]", - $categoryLabelValues[$key], - array( 'id' => "cat_label$i" ) - ) . - Html::hidden( "cat_yes[$i]", - $categoryYesValues[$key], - array( 'id' => "cat_yes$i" ) - ) . - Html::hidden( "cat_no[$i]", - $categoryNoValues[$key], - array( 'id' => "cat_no$i" ) - ) . - Html::element( 'a', - array( 'id' => "more$i", - 'class' => 'smwq-more', - 'href' => "javascript:smw_makeCatDialog('$i')" ), - WfMsg( 'smw_qui_options' ) - ) . - Xml::closeElement( 'div' ); - $urlArgs["category[$i]"] = - ( $categoryValues[$key] === '' ) ? ' ':$categoryValues[$key]; - - $urlArgs["cat_label[$i]"] = $categoryLabelValues[$key]; - $urlArgs["cat_yes[$i]"] = $categoryYesValues[$key]; - $urlArgs["cat_no[$i]"] = $categoryNoValues[$key]; - $i++; - } - if ( array_key_exists( $key, $mainColumnLabels ) ) { - /* - * Make an element for main column aka query-matches - */ - $result .= Html::openElement( 'div', - array( 'id' => "sort_div_$i", 'class' => 'smwsort' ) - ) . - '' . - '' . - Html::openelement( 'a', - array( 'href' => "javascript:removePOInstance('sort_div_$i')" ) - ) . - '' . wfMsg( 'smw_qui_delete' ) . '' . - '' . - '' . - wfMsg( 'smw_qui_rescol' ) . - '' . - Html::hidden( "maincol_label[$i]", - $mainColumnLabels[$key], - array ( 'id' => "maincol_label$i" ) - ) . " " . - '' . wfMsg( 'smw_qui_options' ) . ' ' . - ''; - $urlArgs["maincol_label[$i]"] = - ( $mainColumnLabels[$key] === '' ) ? ' ':$mainColumnLabels[$key]; - $i++; - } - } - $numSortValues = $i; - $this->setUrlArgs( $urlArgs ); - // END: create form elements already submitted earlier via form - - // create hidden form elements to be cloned later - // property - $hiddenProperty = Html::openElement( 'div', - array( 'id' => 'property_starter', - 'style' => 'display:none' ) - ) . - '' . - '' . - '' . - '' . wfMsg( 'smw_qui_delete' ) . '' . - '' . - '' . - wfMsg( 'smw_qui_property' ) . - '' . - Xml::input( 'property_num', '25' ) . " " ; - if ( $smwgQSortingSupport ) { - $hiddenProperty .= Html::openElement( 'select', array( 'name' => 'order_num' ) ) . - Xml::option( wfMsg( 'smw_qui_nosort' ), 'NONE' ) . - Xml::option( wfMsg( 'smw_qui_ascorder' ), 'ASC' ) . - Xml::option( wfMsg( 'smw_qui_descorder' ), 'DESC' ); - if ( $smwgQRandSortingSupport ) { - $hiddenProperty .= Xml::option( wfMsg( 'smw_qui_randorder' ), 'RANDOM' ); - } - $hiddenProperty .= Xml::closeElement( 'select' ) . - Xml::checkLabel( wfMsg( 'smw_qui_shownresults' ), "display_num", '', true ); - } - $hiddenProperty .= Html::hidden( 'prop_label_num', '' ) . - Html::hidden( 'prop_format_num', '' ) . - Html::hidden( 'prop_limit_num', '' ) . - Xml::closeElement( 'div' ); - $hiddenProperty = json_encode( $hiddenProperty ); - // category - $hiddenCategory = Html::openElement( 'div', - array( 'id' => 'category_starter', - 'style' => 'display:none' ) - ) . - '' . - '' . - '' . - '' . wfMsg( 'smw_qui_delete' ) . '' . - '' . - '' . - wfMsg( 'smw_qui_category' ) . '' . - Xml::input( "category_num", '25' ) . " " . - '' . - '' . - '' . - Xml::closeElement( 'div' ); - $hiddenCategory = json_encode( $hiddenCategory ); - // For '?' printouts - $hiddenMainColumn = Html::openElement( 'div', - array( 'id' => 'maincol_starter', - 'style' => 'display:none' ) - ) . - '' . - '' . - '' . - '' . wfMsg( 'smw_qui_delete' ) . '' . - '' . - '' . - wfMsg( 'smw_qui_rescol' ) . '' . - Html::hidden( "maincol_label_num", '' ) . " " . - Xml::closeElement( 'div' ); - $hiddenMainColumn = json_encode( $hiddenMainColumn ); - - // Create dialog-boxes - // create dialogbox for Property options - $propertyHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_prop' ), - '', - 'd-property', - 'd-property' - ); - $propertyLabelHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_labl' ), - '', - 'd-prop-label', - 'd-prop-label' - ); - $propertyFormatHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_formt' ), - '', - 'd-prop-format', - 'd-prop-format' - ); - $propertyLimitHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_limt' ), - 'd-prop-limit', - 'd-prop-limit' - ); - $propertyDialogBox = Xml::openElement( - 'div', - array( 'id' => 'prop-dialog', - 'title' => wfMsg( 'smw_prp_options' ), - 'class' => 'smwpropdialog' ) - ) . - '' . - '' . - '' . - '' . - '' . - '
    ' . $propertyHtml[0] . '' . $propertyHtml[1] . '
    ' . $propertyLabelHtml[0] . '' . $propertyLabelHtml[1] . '
    ' . $propertyLimitHtml[0] . '' . $propertyLimitHtml[1] . '
    ' . $propertyFormatHtml[0] . '' . $propertyFormatHtml[1] . '
    ' . - Xml::closeElement( 'div' ); - - // create dialogbox for Category options - $categoryHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_dcategory' ), - '', - 'd-category', - 'd-category' - ); - $categoryLabelHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_dlabel' ), - '', - 'd-category-label', - 'd-category-label' - ); - $categoryYesHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_dcatyes' ), - '', - 'd-category-yes', - 'd-category-yes' - ); - $categoryNoHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_dcatno' ), - '', - 'd-category-no', - 'd-category-no' ); - $categoryDialogBox = Xml::openElement( 'div', - array( 'id' => 'cat-dialog', - 'title' => wfMsg( 'smw_qui_catopts' ), - 'class' => 'smwcatdialog' ) - ) . - '' . - '' . - '' . - '
    ' . $categoryHtml[0] . '' . $categoryHtml[1] . '
    ' . $categoryLabelHtml[0] . '' . $categoryLabelHtml[1] . '

    ' . - '' . - '' . - '
    ' . $categoryYesHtml[0] . '' . $categoryYesHtml[1] . '
    ' . $categoryNoHtml[0] . '' . $categoryNoHtml[1] . '
    ' . - Xml::closeElement( 'div' ); - - // Create dialog box for QueryMatches - $mainResLabelHtml = Xml::inputLabelSep( wfMsg( 'smw_qui_dlabel' ), '', 'd-mainres-label' ); - $mainResDialogBox = Xml::openElement( 'div', - array( 'id' => 'mainres-dialog', - 'title' => wfMsg( 'smw_qui_mainlabopts' ), - 'class' => 'smwmainlabdialog' ) - ) . - '' . - '' . - '
    ' . $mainResLabelHtml[0] . '' . $mainResLabelHtml[1] . '
    ' . - Xml::closeElement( 'div' ); - - $result .= '
    ' . "\n"; - $result .= '[' . wfMsg( 'smw_qui_addnprop' ) . ']' . - '[' . wfMsg( 'smw_qui_addcategory' ) . ']' . - '[' . wfMsg( 'smw_qui_addrescol' ) . ']' . - "\n"; - - // Javascript code for handling adding and removing the "sort" inputs - if ( $enableAutocomplete == SMWQueryUI::ENABLE_AUTO_SUGGEST ) { - $this->enableAutocompletion(); - } - // localisation messages for javascript - $optionsMsg = wfMsg( 'smw_qui_options' ); - $okMsg = wfMsg( 'smw_qui_ok' ); - $cancelMsg = wfMsg( 'smw_qui_cancel' ); - $javascriptText = << - var num_elements = {$numSortValues}; - var smwgQPrintoutLimit={$smwgQPrintoutLimit}; -EOT; -// add autocomplete - if ( $enableAutocomplete == SMWQueryUI::ENABLE_AUTO_SUGGEST ) { - $javascriptText .= << smwgQPrintoutLimit ) return; - - var starter_div = document.getElementById(starter_div_id); - var main_div = document.getElementById(main_div_id); - - //Create the new instance - var new_div = starter_div.cloneNode(true); - var div_id = 'sort_div_' + num_elements; - new_div.id = div_id; - new_div.style.display = 'block'; - jQuery(new_div.getElementsByTagName('label')).attr('for', 'display'+num_elements); - jQuery(new_div).addClass( 'smwsort' ); - var children = new_div.getElementsByTagName('*'); - var x; - for (x = 0; x < children.length; x++) { - if (jQuery(children[x]).attr('for')) jQuery(children[x]).attr('for',"display"+num_elements); - if (children[x].name){ - children[x].id = children[x].name.replace(/_num/, ''+num_elements); - children[x].name = children[x].name.replace(/_num/, '[' + num_elements + ']'); - } - } - - //Create 'options' link - var more_button =document.createElement('span'); - more_button.innerHTML = ' {$optionsMsg} '; - more_button.id = 'more'+num_elements; - new_div.appendChild(more_button); - - //Add the new instance - main_div.appendChild(new_div); - - // initialize delete button - st='sort_div_'+num_elements; - jQuery('#'+new_div.id).find(".smw-remove a")[0].href="javascript:removePOInstance('"+st+"')"; - num_elements++; - smw_property_autocomplete(); - } - - function smw_addCategoryInstance(starter_div_id, main_div_id) { - if( jQuery( '.smwsort' ).length > smwgQPrintoutLimit ) return; - - var starter_div = document.getElementById(starter_div_id); - var main_div = document.getElementById(main_div_id); - - //Create the new instance - var new_div = starter_div.cloneNode(true); - var div_id = 'sort_div_' + num_elements; - new_div.id = div_id; - new_div.style.display = 'block'; - jQuery(new_div.getElementsByTagName('label')).attr('for', 'display'+num_elements); - jQuery(new_div).addClass( 'smwsort' ); - var children = new_div.getElementsByTagName('*'); - var x; - for (x = 0; x < children.length; x++) { - if (jQuery(children[x]).attr('for')) jQuery(children[x]).attr('for',"display"+num_elements); - if (children[x].name){ - children[x].id = children[x].name.replace(/_num/, ''+num_elements); - children[x].name = children[x].name.replace(/_num/, '[' + num_elements + ']'); - } - } - - //Create 'options' link - var more_button =document.createElement('span'); - more_button.innerHTML = ' {$optionsMsg} '; - more_button.id = 'more'+num_elements; - new_div.appendChild(more_button); - - //Add the new instance - main_div.appendChild(new_div); - - // initialize delete button - st='sort_div_'+num_elements; - jQuery('#'+new_div.id).find(".smw-remove a")[0].href="javascript:removePOInstance('"+st+"')"; - num_elements++; - smw_category_autocomplete(); - } - - function smw_addMainColInstance(starter_div_id, main_div_id) { - if( (jQuery('#smwmainlabel').css('display')=='none') - && (jQuery('.smwsort').length==1) - ){ - jQuery('#mainlabelhid').attr('value',''); - jQuery('#mainlabelvis').attr('value',''); - jQuery('#smwmainlabel').show(); - } else { - if( jQuery( '.smwsort' ).length > smwgQPrintoutLimit ){ - return; - } - var starter_div = document.getElementById(starter_div_id); - var main_div = document.getElementById(main_div_id); - - //Create the new instance - var new_div = starter_div.cloneNode(true); - var div_id = 'sort_div_' + num_elements; - new_div.id = div_id; - new_div.style.display = 'block'; - jQuery(new_div.getElementsByTagName('label')).attr('for', 'display'+num_elements); - jQuery(new_div).addClass( 'smwsort' ); - var children = new_div.getElementsByTagName('*'); - var x; - for (x = 0; x < children.length; x++) { - if (jQuery(children[x]).attr('for')) jQuery(children[x]).attr('for',"display"+num_elements); - if (children[x].name){ - children[x].id = children[x].name.replace(/_num/, ''+num_elements); - children[x].name = children[x].name.replace(/_num/, '[' + num_elements + ']'); - } - } - //Create 'options' link - var more_button =document.createElement('span'); - more_button.innerHTML = ' {$optionsMsg} '; - more_button.id = 'more'+num_elements; - new_div.appendChild(more_button); - - //Add the new instance - main_div.appendChild(new_div); - - // initialize delete button - st='sort_div_'+num_elements; - jQuery('#'+new_div.id).find(".smw-remove a")[0].href="javascript:removePOInstance('"+st+"')"; - num_elements++; - } - } - - function removePOInstance(div_id) { - var olddiv = document.getElementById(div_id); - var parent = olddiv.parentNode; - parent.removeChild(olddiv); - } - - jQuery(function(){ - jQuery('$hiddenProperty').appendTo(document.body); - jQuery('$hiddenCategory').appendTo(document.body); - jQuery('$hiddenMainColumn').appendTo(document.body); - jQuery('$propertyDialogBox').appendTo(document.body); - jQuery('$categoryDialogBox').appendTo(document.body); - jQuery('$mainResDialogBox').appendTo(document.body); - - jQuery( '#mainlabel-dialog' ).dialog( { - autoOpen: false, - modal: true, - resizable: true, - minWidth: 400, - buttons: { - "{$okMsg}": function(){ - jQuery('#mainlabelhid').attr('value',jQuery('#mainlabelvis').attr('value')); - jQuery(this).dialog("close"); - }, - "{$cancelMsg}": function(){ - jQuery(this).dialog("close"); - } - } - } ); - - jQuery( '#mainres-dialog' ).dialog( { - autoOpen: false, - modal: true, - resizable: true, - minWidth: 400, - buttons: { - "{$okMsg}": function(){ - id = jQuery( this ).dialog.sortid; - label = jQuery('#d-mainres-label'); - jQuery('#maincol_label'+id).attr('value', label); - jQuery(this).dialog("close"); - }, - "{$cancelMsg}": function(){ - jQuery(this).dialog("close"); - } - } - } ); - - jQuery( '#cat-dialog' ).dialog( { - autoOpen: false, - modal: true, - resizable: true, - minHeight: 200, - minWidth: 400, - buttons: { - "{$okMsg}": function(){ - cat = jQuery('#d-category').attr('value'); - label = jQuery('#d-category-label').attr('value'); - yes = jQuery('#d-category-yes').attr('value'); - no = jQuery('#d-category-no').attr('value'); - id=jQuery(this).dialog.id; - - jQuery('#category'+id).attr('value',cat); - jQuery('#cat_label'+id).attr('value',label); - jQuery('#cat_yes'+id).attr('value',yes); - jQuery('#cat_no'+id).attr('value',no); - jQuery(this).dialog("close"); - }, - "{$cancelMsg}": function(){ - jQuery('#cat-dialog input').attr('value',''); - jQuery(this).dialog("close"); - } - } - }); - - jQuery('#prop-dialog').dialog({ - autoOpen: false, - modal: true, - resizable: true, - minWidth: 400, - buttons: { - "{$okMsg}": function(){ - id=jQuery(this).dialog.id; - property=jQuery('#d-property').attr('value'); - label=jQuery('#d-prop-label').attr('value'); - limit=jQuery('#d-prop-limit').attr('value'); - format=jQuery('#d-prop-format').attr('value'); - - - jQuery('#property'+id).attr('value',property); - jQuery('#prop_label'+id).attr('value',label); - jQuery('#prop_limit'+id).attr('value',limit); - jQuery('#prop_format'+id).attr('value',format); - jQuery(this).dialog("close"); - }, - "{$cancelMsg}": function(){ - jQuery('#prop-dialog input').attr('value',''); - jQuery(this).dialog("close"); - } - } - }); - jQuery('#sort-more').click(function(){jQuery('#prop-dialog').dialog("open");}); - jQuery('#d-category').bind('change keyup focus click',function(){ - if(jQuery(this).attr('value')==''){ - jQuery('#d-category-yes').css('visibility','hidden'); - jQuery('#d-category-no').css('visibility','hidden'); - jQuery('#cat-dialog [for="d-category-no"]').css('visibility','hidden'); - jQuery('#cat-dialog [for="d-category-yes"]').css('visibility','hidden'); - } else { - jQuery('#d-category-yes').css('visibility','visible'); - jQuery('#d-category-no').css('visibility','visible'); - jQuery('#cat-dialog [for="d-category-no"]').css('visibility','visible'); - jQuery('#cat-dialog [for="d-category-yes"]').css('visibility','visible'); - } - }); - }); - - jQuery(document).ready(smw_property_autocomplete); - jQuery(document).ready(smw_category_autocomplete); - - -EOT; - - SMWOutputs::requireScript( 'smwAutocompleteQueryUI', $javascriptText ); - $result .= ''; - return $result; - } - - /** - * Generates the forms elements(s) for adding sorting options. Use its - * complement processSortingFormBox() to decode sorting data sent - * by these elements. - * - * @global boolean $smwgQSortingSupport - * @global WebRequest $wgRequest - * @return string - * - * @todo This code is not used anywhere in SMW. - */ - protected function getSortingFormBox() { - global $smwgQSortingSupport, $wgRequest; - - if ( !$smwgQSortingSupport ) return ''; - $params = $this->uiCore->getParameters(); - - $result = ''; - if ( array_key_exists( 'sort', $params ) && array_key_exists( 'order', $params ) ) { - $sorts = explode( ',', $params['sort'] ); - $orders = explode( ',', $params['order'] ); - reset( $sorts ); - } else { - $orders = array(); // do not even show one sort input here - } - - foreach ( $orders as $i => $order ) { - $urlArgs = array(); - $result .= "
    " . wfMsg( 'smw_ask_sortby' ) . ' \n" . '\n"; - $result .= '[' . wfMsg( 'smw_qui_delete' ) . ']' . "\n"; - $result .= "
    \n"; - $this->setUrlArgs( $urlArgs ); - } - - $hidden = '\n"; - $hidden = json_encode( $hidden ); - - $result .= '
    ' . "\n"; - $result .= '' . wfMsg( 'smw_add_sortcondition' ) . '' . "\n"; - - $num_sort_values = 0; - - if ( !array_key_exists( 'sort', $params ) ) { - $sort_values = $wgRequest->getArray( 'sort' ); - if ( is_array( $sort_values ) ) { - $params['sort'] = implode( ',', $sort_values ); - $num_sort_values = count( $sort_values ); - } - } - // Javascript code for handling adding and removing the "sort" inputs - $delete_msg = wfMsg( 'smw_qui_delete' ); - - SMWOutputs::requireResource( 'jquery' ); - $javascriptText = << -// code for handling adding and removing the "sort" inputs -jQuery(document).ready(function(){ - jQuery('$hidden').appendTo(document.body); - }); -var num_elements = {$num_sort_values}; - -function addInstance(starter_div_id, main_div_id) { - var starter_div = document.getElementById(starter_div_id); - var main_div = document.getElementById(main_div_id); - - //Create the new instance - var new_div = starter_div.cloneNode(true); - var div_id = 'sort_div_' + num_elements; - new_div.className = 'multipleTemplate'; - new_div.id = div_id; - new_div.style.display = 'block'; - - var children = new_div.getElementsByTagName('*'); - var x; - for (x = 0; x < children.length; x++) { - if (children[x].name) - children[x].name = children[x].name.replace(/_num/, '[' + num_elements + ']'); - } - - //Create 'delete' link - var remove_button = document.createElement('span'); - remove_button.innerHTML = '[{$delete_msg}]'; - new_div.appendChild(remove_button); - - //Add the new instance - main_div.appendChild(new_div); - num_elements++; -} - -function removeInstance(div_id) { - var olddiv = document.getElementById(div_id); - var parent = olddiv.parentNode; - parent.removeChild(olddiv); -} - - -EOT; - - SMWOutputs::requireScript( 'smwPrintoutControlsQueryUI', $javascriptText ); - return $result; - } - - /** - * Decodes form Sorting options sent through form-elements generated by - * its complement, getSortingFormBox(). UIs may overload both to change form - * parameters. - * - * @global boolean $smwgQSortingSupport - * @param WebRequest $wgRequest - * @return string - * @todo build in validation for sorting - */ - protected function processSortingFormBox( WebRequest $wgRequest ) { - global $smwgQSortingSupport; - if ( !$smwgQSortingSupport ) return array(); - - $params = array(); - $orderValues = $wgRequest->getArray( 'order' ); - if ( is_array( $orderValues ) ) { - $params['order'] = ''; - foreach ( $orderValues as $order_value ) { - if ( $order_value === '' ) { - $order_value = 'ASC'; - } - $params['order'] .= ( $params['order'] !== '' ? ',' : '' ) . $order_value; - } - } - - $sort_values = $wgRequest->getArray( 'sort' ); - if ( is_array( $sort_values ) ) { - $params['sort'] = ''; - foreach ( $sort_values as $sort_value ) { - $params['sort'] .= ( $params['sort'] !== '' ? ',' : '' ) . $sort_value; - } - } - return $params; - - } - - /** - * Generates the form element(s) for PrintOuts. - * Use its complement processPOFormBox() to decode data sent through these - * form elements. UIs may overload both to change the form parameter or the - * html elements. - * - * @param boolean $enableAutocomplete If set to true, adds the relevant JS and CSS to the page - * @return string The HTML code - */ - protected function getPOFormBox( $enableAutocomplete = SMWQueryUI::ENABLE_AUTO_SUGGEST ) { - if ( $enableAutocomplete ) { - $this->enableAutocompletion(); - $javascriptAutocompleteText = << -jQuery(document).ready(function(){ - jQuery("#add_property").autocomplete({ - minLength: 2, - source: function(request, response) { - request.term=request.term.substr(request.term.lastIndexOf("\\n")+1); - url=wgScriptPath+'/api.php?action=opensearch&limit=10&namespace='+wgNamespaceIds['property']+'&format=jsonfm'; - - jQuery.getJSON(url, 'search='+request.term, function(data){ - //remove the namespace prefix 'Property:' from returned data and add prefix '?' - for(i=0;i -EOT; - - SMWOutputs::requireScript( 'smwPrintoutAutocompleteQueryUI', $javascriptAutocompleteText ); - - } - $this->setUrlArgs( array( 'po' => $this->getPOStrings() ) ); - return Html::element( 'textarea', array( 'id' => 'add_property', 'name' => 'po', 'cols' => '20', 'rows' => '6' ), $this->getPOStrings() ); - } - - /** - * Decodes form data sent through form-elements generated by - * its complement, getPOFormBox(). UIs may overload both to change form - * parameters. - * - * @param WebRequest $wgRequest - * @return array - */ - protected function processPOFormBox( WebRequest $wgRequest ) { - $postring = $wgRequest->getText( 'po' ); - $poArray = array(); - - if ( $postring !== '' ) { // parameters from HTML input fields - $ps = explode( "\n", $postring ); // params separated by newlines here (compatible with text-input for printouts) - - foreach ( $ps as $param ) { // add initial ? if omitted (all params considered as printouts) - $param = trim( $param ); - - if ( ( $param !== '' ) && ( $param[0] != '?' ) ) { - $param = '?' . $param; - } - - $poArray[] = $param; - } - } - - return $poArray; - } - - /** - * Keeps track of the various Url Arguments used - * - * @var array of strings in the urlparamater=>value format - */ - protected $urlArgs = array(); - - /** - * Given an array of urlparameter=>value pairs, this method adds them to its - * set of Url-arguments. If the urlparameter already exists, it is replaced by the supplied value - * - * @param array $args - */ - protected function setUrlArgs( array $args ) { - $this->urlArgs = array_merge( $this->urlArgs, $args ); - } - - /** - * - * @return array of strings in the urlparamater=>value format - */ - protected function getUrlArgs() { - return $this->urlArgs; - } - - protected function resetUrlArgs() { - $this->urlArgs = array(); - } - - - /** - * Displays a form section showing the options for a given format, - * based on the getParameters() value for that format's query printer. - * - * @param string $format - * @param array $paramValues The current values for the parameters (name => value) - * @param array $ignoredAttribs Attributes which should not be generated by this method. - * - * @return string - */ - protected function showFormatOptions( $format, array $paramValues, array $ignoredAttribs = array() ) { - $printer = SMWQueryProcessor::getResultPrinter( $format, SMWQueryProcessor::SPECIAL_PAGE ); - - $params = method_exists( $printer, 'getValidatorParameters' ) ? $printer->getValidatorParameters() : array(); - - $optionsHtml = array(); - $urlArgs = array(); - - foreach ( $params as $param ) { - // Ignore the parameters for which we have a special control in the GUI already. - if ( in_array( $param->getName(), $ignoredAttribs ) ) { - continue; - } - - $currentValue = array_key_exists( $param->getName(), $paramValues ) ? $paramValues[$param->getName()] : false; - - $optionsHtml[] = - Html::rawElement( - 'div', - array( - 'style' => 'width: 30%; min-width:220px; margin:5px; padding: 1px; float: left;' - ), - '' . - $this->showFormatOption( $param, $currentValue ) . - '
    ' . - Html::element( 'em', array(), $param->getDescription() ) - ); - $urlArgs['p[' . htmlspecialchars( $param->getName() ) . ']'] = $currentValue; - } - $this->setUrlArgs( $urlArgs ); - - for ( $i = 0, $n = count( $optionsHtml ); $i < $n; $i++ ) { - if ( $i % 3 == 2 || $i == $n - 1 ) { - $optionsHtml[$i] .= "
    \n"; - } - } - - $i = 0; - $rowHtml = ''; - $resultHtml = ''; - $flipStyle = true; - $flipCount = 0; - while ( $option = array_shift( $optionsHtml ) ) { - $rowHtml .= $option; - $i++; - - $resultHtml .= Html::rawElement( - 'div', - array( - 'style' => 'background: ' . ( $flipStyle ? 'white' : '#dddddd' ) . ';' - ), - $rowHtml - ); - - $rowHtml = ''; - $flipCount++; - if ( $flipCount == 3 ) { - $flipStyle = !$flipStyle; - $flipCount = 0; - } - - } - - return $resultHtml; - } - - - /** - * Get the HTML for a single parameter input. - * - * @param Parameter $parameter - * @param mixed $currentValue - * - * @return string - */ - protected function showFormatOption( Parameter $parameter, $currentValue ) { - $input = new ParameterInput( $parameter ); - $input->setInputName( 'p[' . $parameter->getName() . ']' ); - - if ( $currentValue !== false ) { - $input->setCurrentValue( $currentValue ); - } - - return $input->getHtml(); - } - - /** - * Creates form elements for choosing the result-format and their - * associated format. - * - * The drop-down list and the format options are returned seperately as - * elements of an array.Use in conjunction with processFormatOptions() to - * supply formats options using ajax. Also, use its complement - * processFormatSelectBox() to decode form data sent by these elements. - * UI's may overload these methods to change behaviour or form - * parameters. - * - * @param string $defaultFormat The default format which remains selected in the form - * @return array The first element contains the format selector, while the second contains the Format options - */ - protected function getFormatSelectBoxSep( $defaultFormat = 'broadtable' ) { - global $smwgResultFormats; - - SMWOutputs::requireResource( 'jquery' ); - - // checking argument - $defFormat = 'broadtable'; - if ( array_key_exists( $defaultFormat, $smwgResultFormats ) ) { - $defFormat = $defaultFormat; - } - - $printer = SMWQueryProcessor::getResultPrinter( $defFormat, SMWQueryProcessor::SPECIAL_PAGE ); - $url = $this->getTitle()->getLocalURL( "showformatoptions=' + this.value + '" ); - - foreach ( $this->uiCore->getParameters() as $param => $value ) { - if ( $param !== 'format' ) { - $url .= '¶ms[' . Xml::escapeJsString( $param ) . ']=' . Xml::escapeJsString( $value ); - } - } - - $result[0] = "\n" . '"; - $result[0] .= "\n"; - $result[] .= '
    ' . $this->showFormatOptions( $params['format'], $params ) . '
    '; - - // BEGIN: add javascript for updating formating options by ajax - $javascript = << -function updateOtherOptions(strURL) { - jQuery.ajax({ url: strURL, context: document.body, success: function(data){ - jQuery("#other_options").html(data); - }}); -} - -END; - - SMWOutputs::requireScript( 'smwUpdateOptionsQueryUI', $javascript ); - // END: add javascript for updating formating options by ajax - - return $result; - } - - /** - * A method which decodes form data sent through form-elements generated - * by its complement, getFormatSelectBox(). UIs may overload both to - * change form parameters. - * - * @param WebRequest $wgRequest - * @return array - */ - protected function processFormatSelectBox( WebRequest $wgRequest ) { - $queryVal = $wgRequest->getVal( 'p' ); - - if ( !empty( $queryVal ) ) { - $params = SMWInfolink::decodeParameters( $queryVal, false ); - } else { - $queryValues = $wgRequest->getArray( 'p' ); - - if ( is_array( $queryValues ) ) { - foreach ( $queryValues as $key => $val ) { - if ( empty( $val ) ) unset( $queryValues[$key] ); - } - } - - // p is used for any additional parameters in certain links. - $params = SMWInfolink::decodeParameters( $queryValues, false ); - } - - return $params; - } - - /** - * Generates form elements for a (web)requested format. - * - * Required by getFormatSelectBox() to recieve form elements from the - * Web. UIs may need to overload processFormatOptions(), - * processFormatSelectBox() and getFormatSelectBox() to change behavior. - * - * @param WebRequest $wgRequest - * @return boolean true if format options were requested and returned, else false - */ - protected function processFormatOptions( $wgRequest ) { - global $wgOut; - if ( $wgRequest->getCheck( 'showformatoptions' ) ) { - // handle Ajax action - $format = $wgRequest->getVal( 'showformatoptions' ); - $params = $wgRequest->getArray( 'params' ); - $wgOut->disable(); - echo $this->showFormatOptions( $format, $params ); - return true; - } else { - return false; - } - } - - /** - * Returns the additional printouts as a string. - * - * UIs may overload this to change how this string should be displayed. - * - * @return string - */ - public function getPOStrings() { - $string = ''; - $printOuts = $this->uiCore->getPrintOuts(); - if ( !empty( $printOuts ) ) { - foreach ( $printOuts as $value ) { - $string .= $value->getSerialisation() . "\n"; - } - } - return $string; - } - - /** - * Returns true if this page shows the navigationBar. Overload to change - * behavior. - * - * @return boolean - */ - protected function usesNavigationBar() { - // hide if no results are found - return ( $this->uiCore->getResultCount() != 0 ); - } - -} \ No newline at end of file diff --git a/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_QueryUIHelper.php b/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_QueryUIHelper.php deleted file mode 100644 index 0b366a5..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_QueryUIHelper.php +++ /dev/null @@ -1,589 +0,0 @@ -context = $context; - } - - /** - * Returns true if any errors have occured - * - * @return boolean - */ - public function hasError() { - return $this->errorsOccured; - } - - /** - * Returns the limit of results defined. If not set, it returns 0. - * - * @return integer - */ - public function getLimit() { - if ( array_key_exists( 'limit', $this->parameters ) ) { - return $this->parameters['limit']; - } else { - return 0; - } - } - - /** - * Returns the offset of results. If it isnt defined, returns a default - * value of 20. - * - * @return integer - */ - public function getOffset() { - if ( array_key_exists( 'offset', $this->parameters ) ) { - return $this->parameters['offset']; - } else { - return 20; - } - } - - /** - * Would there be more query results that were not shown due to a limit? - * - * @return boolean - */ - public function hasFurtherResults() { - if ( !is_null( $this->queryResult ) ) { // The queryResult may not be set - return $this->queryResult->hasFurtherResults(); - } else { - return false; - } - } - - /** - * Returns a handle to the underlying Result object. - * - * @return SMWQueryResult - */ - public function getResultObject() { - return $this->queryResult; - } - - /** - * Returns an array of errors, if any have occured. - * - * @return array of strings - */ - public function getErrors() { - return $this->errors; - } - - /** - * Register a Semantic Search Special Page. - * - * This method can be used by any new Query UI to register itself. - * The corresponding method getUiList() would return the names of all - * lists Query UIs. - * - * @see getUiList() - * @param SpecialPage $page - */ - public static function addUI( SpecialPage &$page ) { - /* - * This way of registering, instead of using a global variable will cause - * SMWQueryUIHelper to AutoLoad, but the alternate would break encapsulation. - */ - self::$uiPages[] = $page; - } - - /** - * Returns an array of Semantic Search Special Pages - * - * @see addUI() - * @return array of SpecialPage - */ - public static function getUiList() { - return self::$uiPages; - } - - /** - * Sets up a query. If validation is enabled, then the query string is - * checked for errors. - * - * @param string $queryString The query - * @return array array of errors, if any. - */ - public function setQueryString( $queryString = "", $enableValidation = false ) { - $this -> queryString = $queryString; - - $errors = array(); - if ( $enableValidation ) { - if ( $queryString === '' ) { - $errors[] = wfMsg( 'smw_qui_noquery' ); - } else { - $query = SMWQueryProcessor::createQuery( $queryString, array() ); - $errors = $query ->getErrors(); - } - if ( !empty ( $errors ) ) { - $this->errorsOccured = true; - } - $this->errors = array_merge( $errors, $this->errors ); - } - - return $errors; - } - - /** - * - * Sets up any extra properties which need to be displayed with results. - * Each string in printouts should be of the form "?property" or - * "property". - * - * When validation is enabled, the values in $printOuts are checked - * against properties which exist in the wiki, and a warning string (for - * each property) is returned. Returns an empty array otherwise. - * - * @param array $printOuts Array of strings - * @param boolean $enableValidation - * @return array Array of errors messages (strings), if any. - */ - public function setPrintOuts( array $printOuts = array(), $enableValidation = false ) { - /* - * Note: property validation is not very clearly defined yet, so validation is disabled by default - */ - - $errors = array(); - if ( $enableValidation ) { - foreach ( $printOuts as $key => $prop ) { - if ( $prop[0] != '?' ) { - $printOuts[$key] = "?" . $printOuts[$key]; - } - if ( !$this->validateProperty( $prop ) ) { - $errors[] = wfMsg( 'smw_qui_invalidprop', $prop ); - $this->errorsOccured = true; - } - } - } - $this -> printOutStrings = $printOuts; - $this->errors = array_merge( $errors, $this->errors ); - return $errors; - } - - /** - * Sets the parameters for the query. - * - * The structure of $params is defined partly by #ask and also by the - * Result Printer used. When validation is enabled, $params are checked - * for conformance, and error messages, if any, are returned. - * - * Although it is not mandatory for any params to be set while calling - * this method, this method must be called so that default parameters - * are used. - * - * @global int $smwgQMaxInlineLimit - * @global array $smwgResultFormats - * @param array $params - * @param boolean $enableValidation - * @return array of strings - */ - public function setParams( array $params = array(), $enableValidation = false ) { - global $smwgQMaxInlineLimit, $smwgResultFormats; - $errors = array(); - - // checking for missing parameters and adding them - if ( !array_key_exists( 'format', $params ) || ! array_key_exists ( $params['format'], $smwgResultFormats ) ) { - $params[ 'format' ] = $this->defaultResultPrinter; - } - if ( !array_key_exists( 'limit', $params ) ) { - $params[ 'limit' ] = 20; - } - $params[ 'limit' ] = min( $params[ 'limit' ], $smwgQMaxInlineLimit ); - if ( !array_key_exists( 'offset', $params ) ) { - $params['offset'] = 0; - } - - if ( $enableValidation ) { // validating the format - if ( !array_key_exists( $params['format'], $smwgResultFormats ) ) { - $errors[] = wfMsg( 'smw_qui_invalidformat', $params['format'] ); - $this->errorsOccured = true; - } else { // validating parameters for result printer - $printer = SMWQueryProcessor::getResultPrinter( $params[ 'format' ] ); - $para_meters = $printer->getParameters(); - if ( is_array( $para_meters ) ) { - $validator = new Validator(); - $validator->setParameters( $params, $para_meters ); - $validator->validateParameters(); - if ( $validator->hasFatalError() ) { - array_merge ( $errors, $validator->getErrorMessages () ); - $this->errorsOccured = true; - } - } - } - } - - $this->parameters = $params; - $this->errors = array_merge( $errors, $this->errors ); - return $errors; - } - - /** - * Processes the QueryString, Params, and PrintOuts. - * - * @todo Combine this method with execute() or remove it altogether. - */ - public function extractParameters( $p ) { - if ( $this->context == self::SPECIAL_PAGE ) { - // assume setParams(), setPintouts and setQueryString have been called - $rawParams = array_merge( $this->parameters, array( $this->queryString ), $this->printOutStrings ); - } else {// context is WIKI_LINK - $rawParams = SMWInfolink::decodeParameters( $p, true ); - // calling setParams to fill in missing parameters - $this->setParams( $rawParams ); - $rawParams = $this->parameters; - } - - SMWQueryProcessor::processFunctionParams( $rawParams, $this->queryString, $this->parameters, $this->printOuts ); - } - - /** - * Executes the query. - * - * This method can be called once $queryString, $parameters, $printOuts - * are set either by using the setQueryString(), setParams() and - * setPrintOuts() followed by extractParameters(), or one of the static - * factory methods such as makeForInfoLink() or makeForUI(). - * - * Errors, if any can be accessed from hasError() and getErrors(). - */ - public function execute() { - $errors = array(); - - if ( $this->queryString !== '' ) { - // FIXME: this is a hack - SMWQueryProcessor::addThisPrintout( $this->printOuts, $this->parameters ); - $params = SMWQueryProcessor::getProcessedParams( $this->parameters, $this->printOuts ); - $this->parameters['format'] = $params['format']; - $this->params = $params; - - $query = SMWQueryProcessor::createQuery( - $this->queryString, - $params, - SMWQueryProcessor::SPECIAL_PAGE, - $this->parameters['format'], - $this->printOuts - ); - - $res = smwfGetStore()->getQueryResult( $query ); - $this->queryResult = $res; - - $errors = array_merge( $errors, $res->getErrors() ); - if ( !empty( $errors ) ) { - $this->errorsOccured = true; - $this->errors = array_merge( $errors, $this->errors ); - } - - // BEGIN: Try to be smart for rss/ical if no description/title is given and we have a concept query - if ( $this->parameters['format'] == 'rss' ) { - $descKey = 'rssdescription'; - $titleKey = 'rsstitle'; - } elseif ( $this->parameters['format'] == 'icalendar' ) { - $descKey = 'icalendardescription'; - $titleKey = 'icalendartitle'; - } else { - $descKey = false; - } - - if ( $descKey && ( $query->getDescription() instanceof SMWConceptDescription ) && - ( !isset( $this->parameters[$descKey] ) || !isset( $this->parameters[$titleKey] ) ) ) { - $concept = $query->getDescription()->getConcept(); - - if ( !isset( $this->parameters[$titleKey] ) ) { - $this->parameters[$titleKey] = $concept->getText(); - } - - if ( !isset( $this->parameters[$descKey] ) ) { - // / @bug The current SMWStore will never return SMWConceptValue (an SMWDataValue) here; it might return SMWDIConcept (an SMWDataItem) - $dv = end( smwfGetStore()->getPropertyValues( SMWWikiPageValue::makePageFromTitle( $concept ), new SMWDIProperty( '_CONC' ) ) ); - if ( $dv instanceof SMWConceptValue ) { - $this->parameters[$descKey] = $dv->getDocu(); - } - } - } - // END: Try to be smart for rss/ical if no description/title is given and we have a concept query - - /* - * If parameters have been passed in the infolink-style and the - * mimie-type of format is defined, generate the export, instead of - * showing more html. - */ - $printer = SMWQueryProcessor::getResultPrinter( - $this->parameters['format'], - SMWQueryProcessor::SPECIAL_PAGE - ); - $resultMime = $printer->getMimeType( $res ); - if ( $this->context == self::WIKI_LINK && $resultMime != false ) { - global $wgOut; - $result = $printer->getResult( $res, $this->parameters, SMW_OUTPUT_FILE ); - $resultName = $printer->getFileName( $res ); - $wgOut->disable(); - header( "Content-type: $resultMime; charset=UTF-8" ); - if ( $resultName !== false ) { - header( "content-disposition: attachment; filename=$resultName" ); - } - echo $result; - } - } - } - - /** - * Returns the results in HTML, or in case of exports, a link to the - * result. - * - * This method can only be called after execute() has been called. - * - * @return string of all the HTML generated - */ - public function getHTMLResult() { - $result = ''; - - $res = $this->queryResult; - $printer = SMWQueryProcessor::getResultPrinter( $this->parameters['format'], - SMWQueryProcessor::SPECIAL_PAGE ); - - if ( $res->getCount() > 0 ) { - $queryResult = $printer->getResult( $res, $this->params, SMW_OUTPUT_HTML ); - - if ( is_array( $queryResult ) ) { - $result .= $queryResult[0]; - } else { - $result .= $queryResult; - } - } else { - $result = wfMsg( 'smw_result_noresults' ); - } - - return $result; - } - - /** - * Returns the query in the #ask format - * - * @return string - */ - public function getAsk() { - $result = '{{#ask:' . htmlspecialchars( $this->queryString ) . "\n"; - foreach ( $this->printOuts as $printout ) { - $result .= '|' . $printout->getSerialisation() . "\n"; - } - foreach ( $this->parameters as $param_name => $param_value ) { - $result .= '|' . htmlspecialchars( $param_name ) . - '=' . htmlspecialchars( $param_value ) . "\n"; - } - $result .= '}}'; - return $result; - } - - /** - * Returns the query. - * - * @return string - */ - public function getQueryString() { - return $this->queryString; - } - - /** - * Returns number of available results. - * - * @return int - */ - public function getResultCount() { - if ( !is_null( $this->queryResult ) ) { - return $this->queryResult->getCount(); - } else { - return 0; - } - } - - /** - * Returns the parameter array. - * - * @return array - */ - public function getParameters() { - return $this->parameters; - } - - /** - * Returns additional prinouts as an array of SMWPrintRequests. - * - * @return array SMWPrintRequest or an empty array - */ - public function getPrintOuts() { - if ( !empty( $this->printOuts ) && - ( $this->printOuts[0] instanceof SMWPrintRequest ) ) { - return $this->printOuts; - } - return array(); - } - - /** - * Constructs a new SMWQueryUIHelper object when the query is passed to - * the UI in the Info-link format. This constructor should be used for - * handling the "further results" links in wiki-pages that use #ask. If - * your search UI handles form parameters only, then consider using - * makeForUI(). - * - * If any errors do occur while parsing parameters, they may be accessed - * from hasError() and getErrors(). - * - * @param string $p parameters of the query. - * @param boolean $enableValidation - * @return SMWQueryUIHelper - * - * @todo Handle validation for infolink parameters - */ - public static function makeForInfoLink( $p, $enableValidation = false ) { - $result = new SMWQueryUIHelper( self::WIKI_LINK ); - $result->extractParameters( $p ); - $result->execute(); - return $result; - } - - /** - * Constructs a new SMWQueryUIHelper when the query is passed to the UI - * from a web form. This constructor should be used to handle form - * parameters sent from the UI itself. If your search UI must also handle - * "further results" links from a wiki page, consider using - * makeForInfoLink(). - * - * If any errors do occur while parsing parameters, they may be accessed - * from hasError() and getErrors(). - * - * @param string $query - * @param array $params of key=>value pairs - * @param array $printouts array of '?property' strings - * @param boolean $enableValidation - * @return SMWQueryUIHelper - * - */ - public static function makeForUI( $query, array $params, array $printouts, $enableValidation = false ) { - $result = new SMWQueryUIHelper( self::SPECIAL_PAGE ); - $result->setParams( $params, $enableValidation ); - $result->setPrintOuts( $printouts, $enableValidation ); - $result->setQueryString( $query, $enableValidation ); - $result->extractParameters( '' ); - return $result; - } - - /** - * Checks if $property exists in the wiki or not. - * - * @param string $property a property name in "?property" format - * @return boolean - */ - protected static function validateProperty( $property ) { - /* - * Curently there isn't a simple, back-end agnost way of searching for properties from - * SMWStore. We hence we check if $property has a corresponding page describing it. - */ - $prop = substr( $property, 1 ); // removing the leading '?' while checking. - $property_page = Title::newFromText( $prop, SMW_NS_PROPERTY ); - if ( $property_page instanceof Title ) { - return( $property_page->exists() ); - } else { - return false; - } - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialAsk.php b/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialAsk.php deleted file mode 100644 index 735ed09..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialAsk.php +++ /dev/null @@ -1,819 +0,0 @@ -setHeaders(); - wfProfileIn( 'doSpecialAsk (SMW)' ); - - if ( !$smwgQEnabled ) { - $wgOut->addHTML( '
    ' . wfMsg( 'smw_iq_disabled' ) ); - } else { - if ( $wgRequest->getCheck( 'showformatoptions' ) ) { - // handle Ajax action - $format = $wgRequest->getVal( 'showformatoptions' ); - $params = $wgRequest->getArray( 'params' ); - $wgOut->disable(); - echo $this->showFormatOptions( $format, $params ); - } else { - $this->extractQueryParameters( $p ); - $this->makeHTMLResult(); - } - } - - SMWOutputs::commitToOutputPage( $wgOut ); // make sure locally collected output data is pushed to the output! - wfProfileOut( 'doSpecialAsk (SMW)' ); - } - - /** - * This code rather hacky since there are many ways to call that special page, the most involved of - * which is the way that this page calls itself when data is submitted via the form (since the shape - * of the parameters then is governed by the UI structure, as opposed to being governed by reason). - * - * @param string $p - */ - protected function extractQueryParameters( $p ) { - global $wgRequest, $smwgQMaxInlineLimit; - - // First make all inputs into a simple parameter list that can again be parsed into components later. - if ( $wgRequest->getCheck( 'q' ) ) { // called by own Special, ignore full param string in that case - $query_val = $wgRequest->getVal( 'p' ); - - if ( !empty( $query_val ) ) - // p is used for any additional parameters in certain links. - $rawparams = SMWInfolink::decodeParameters( $query_val, false ); - else { - $query_values = $wgRequest->getArray( 'p' ); - - if ( is_array( $query_values ) ) { - foreach ( $query_values as $key => $val ) { - if ( empty( $val ) ) unset( $query_values[$key] ); - } - } - - // p is used for any additional parameters in certain links. - $rawparams = SMWInfolink::decodeParameters( $query_values, false ); - } - } else { // called from wiki, get all parameters - $rawparams = SMWInfolink::decodeParameters( $p, true ); - } - - // Check for q= query string, used whenever this special page calls itself (via submit or plain link): - $this->m_querystring = $wgRequest->getText( 'q' ); - if ( $this->m_querystring !== '' ) { - $rawparams[] = $this->m_querystring; - } - - // Check for param strings in po (printouts), appears in some links and in submits: - $paramstring = $wgRequest->getText( 'po' ); - - if ( $paramstring !== '' ) { // parameters from HTML input fields - $ps = explode( "\n", $paramstring ); // params separated by newlines here (compatible with text-input for printouts) - - foreach ( $ps as $param ) { // add initial ? if omitted (all params considered as printouts) - $param = trim( $param ); - - if ( ( $param !== '' ) && ( $param { 0 } != '?' ) ) { - $param = '?' . $param; - } - - $rawparams[] = $param; - } - } - - // Now parse parameters and rebuilt the param strings for URLs. - SMWQueryProcessor::processFunctionParams( $rawparams, $this->m_querystring, $this->m_params, $this->m_printouts ); - - // Try to complete undefined parameter values from dedicated URL params. - if ( !array_key_exists( 'format', $this->m_params ) ) { - $this->m_params['format'] = 'broadtable'; - } - - if ( !array_key_exists( 'order', $this->m_params ) ) { - $order_values = $wgRequest->getArray( 'order' ); - - if ( is_array( $order_values ) ) { - $this->m_params['order'] = ''; - - foreach ( $order_values as $order_value ) { - if ( $order_value === '' ) $order_value = 'ASC'; - $this->m_params['order'] .= ( $this->m_params['order'] !== '' ? ',' : '' ) . $order_value; - } - } - } - - $this->m_num_sort_values = 0; - - if ( !array_key_exists( 'sort', $this->m_params ) ) { - $sort_values = $wgRequest->getArray( 'sort' ); - if ( is_array( $sort_values ) ) { - $this->m_params['sort'] = implode( ',', $sort_values ); - $this->m_num_sort_values = count( $sort_values ); - } - } - - if ( !array_key_exists( 'offset', $this->m_params ) ) { - $this->m_params['offset'] = $wgRequest->getVal( 'offset' ); - if ( $this->m_params['offset'] === '' ) $this->m_params['offset'] = 0; - } - - if ( !array_key_exists( 'limit', $this->m_params ) ) { - $this->m_params['limit'] = $wgRequest->getVal( 'limit' ); - - if ( $this->m_params['limit'] === '' ) { - $this->m_params['limit'] = ( $this->m_params['format'] == 'rss' ) ? 10 : 20; // Standard limit for RSS. - } - } - - $this->m_params['limit'] = min( $this->m_params['limit'], $smwgQMaxInlineLimit ); - - $this->m_editquery = ( $wgRequest->getVal( 'eq' ) == 'yes' ) || ( $this->m_querystring === '' ); - } - - /** - * Creates and adds the JavaScript and JS needed for autocompletion to $wgOut. - * Uses the MW API to get suggestions for properties. - * @TODO Test for non-english wikis, add caching on client to improve performance - * @since 1.5.2 - */ - protected static function addAutocompletionJavascriptAndCSS() { - global $wgOut, $smwgScriptPath, $smwgJQueryIncluded, $smwgJQueryUIIncluded; - - // Add CSS and JavaScript for jQuery and jQuery UI. - $wgOut->addExtensionStyle( "$smwgScriptPath/skins/jquery-ui/base/jquery.ui.all.css" ); - - $scripts = array(); - - if ( !$smwgJQueryIncluded ) { - $realFunction = array( $wgOut, 'includeJQuery' ); - if ( is_callable( $realFunction ) ) { - $wgOut->includeJQuery(); - } else { - $scripts[] = "$smwgScriptPath/libs/jquery-1.4.2.min.js"; - } - - $smwgJQueryIncluded = true; - } - - if ( !$smwgJQueryUIIncluded ) { - $scripts[] = "$smwgScriptPath/libs/jquery-ui/jquery.ui.core.min.js"; - $scripts[] = "$smwgScriptPath/libs/jquery-ui/jquery.ui.widget.min.js"; - $scripts[] = "$smwgScriptPath/libs/jquery-ui/jquery.ui.position.min.js"; - $scripts[] = "$smwgScriptPath/libs/jquery-ui/jquery.ui.autocomplete.min.js"; - $smwgJQueryUIIncluded = true; - } - - foreach ( $scripts as $js ) { - $wgOut->addScriptFile( $js ); - } - - $javascript_autocomplete_text = << -function split(val) { - return val.split('\\n'); -} -function extractLast(term) { - return split(term).pop(); -} -function escapeQuestion(term){ - if (term.substring(0, 1) == "?") { - return term.substring(1); - } else { - return term; - } -} - -/* extending jQuery functions for custom highligting */ -jQuery.ui.autocomplete.prototype._renderItem = function( ul, item) { - var term_without_q = escapeQuestion(extractLast(this.term)); - var re = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term_without_q.replace("/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi", "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"); - var loc = item.label.search(re); - if (loc >= 0) { - var t = item.label.substr(0, loc) + '' + item.label.substr(loc, term_without_q.length) + '' + item.label.substr(loc + term_without_q.length); - } else { - var t = item.label; - } - jQuery( "
  • " ) - .data( "item.autocomplete", item ) - .append( " " + t + "" ) - .appendTo( ul ); -}; - -///* extending jquery functions for custom autocomplete matching */ -jQuery.extend( jQuery.ui.autocomplete, { - filter: function(array, term) { - var matcher = new RegExp("\\\b" + jQuery.ui.autocomplete.escapeRegex(term), "i" ); - return jQuery.grep( array, function(value) { - return matcher.test( value.label || value.value || value ); - }); - } -}); - -jQuery(document).ready(function(){ - jQuery("#add_property").autocomplete({ - minLength: 2, - source: function(request, response) { - request.term=request.term.substr(request.term.lastIndexOf("\\n")+1); - url=wgScriptPath+'/api.php?action=opensearch&limit=10&namespace='+wgNamespaceIds['property']+'&format=jsonfm&search='; - - jQuery.getJSON(url+request.term, function(data){ - //remove the namespace prefix 'Property:' from returned data and add prefix '?' - for(i=0;i - -END; - - $wgOut->addScript( $javascript_autocomplete_text ); - } - - /** - * TODO: document - */ - protected function makeHTMLResult() { - global $wgOut, $smwgAutocompleteInSpecialAsk; - - $delete_msg = wfMsg( 'delete' ); - - // Javascript code for the dynamic parts of the page - $javascript_text = << -function updateOtherOptions(strURL) { - jQuery.ajax({ url: strURL, context: document.body, success: function(data){ - jQuery("#other_options").html(data); - }}); -} - -// code for handling adding and removing the "sort" inputs -var num_elements = {$this->m_num_sort_values}; - -function addInstance(starter_div_id, main_div_id) { - var starter_div = document.getElementById(starter_div_id); - var main_div = document.getElementById(main_div_id); - - //Create the new instance - var new_div = starter_div.cloneNode(true); - var div_id = 'sort_div_' + num_elements; - new_div.className = 'multipleTemplate'; - new_div.id = div_id; - new_div.style.display = 'block'; - - var children = new_div.getElementsByTagName('*'); - var x; - for (x = 0; x < children.length; x++) { - if (children[x].name) - children[x].name = children[x].name.replace(/_num/, '[' + num_elements + ']'); - } - - //Create 'delete' link - var remove_button = document.createElement('span'); - remove_button.innerHTML = '[{$delete_msg}]'; - new_div.appendChild(remove_button); - - //Add the new instance - main_div.appendChild(new_div); - num_elements++; -} - -function removeInstance(div_id) { - var olddiv = document.getElementById(div_id); - var parent = olddiv.parentNode; - parent.removeChild(olddiv); -} - - -END; - - $wgOut->addScript( $javascript_text ); - - if ( $smwgAutocompleteInSpecialAsk ) { - self::addAutocompletionJavascriptAndCSS(); - } - - $result = ''; - $result_mime = false; // output in MW Special page as usual - - // build parameter strings for URLs, based on current settings - $urlArgs['q'] = $this->m_querystring; - - $tmp_parray = array(); - foreach ( $this->m_params as $key => $value ) { - if ( !in_array( $key, array( 'sort', 'order', 'limit', 'offset', 'title' ) ) ) { - $tmp_parray[$key] = $value; - } - } - - $urlArgs['p'] = SMWInfolink::encodeParameters( $tmp_parray ); - $printoutstring = ''; - - foreach ( $this->m_printouts as /* SMWPrintRequest */ $printout ) { - $printoutstring .= $printout->getSerialisation() . "\n"; - } - - if ( $printoutstring !== '' ) $urlArgs['po'] = $printoutstring; - if ( array_key_exists( 'sort', $this->m_params ) ) $urlArgs['sort'] = $this->m_params['sort']; - if ( array_key_exists( 'order', $this->m_params ) ) $urlArgs['order'] = $this->m_params['order']; - - if ( $this->m_querystring !== '' ) { - // FIXME: this is a hack - SMWQueryProcessor::addThisPrintout( $this->m_printouts, $this->m_params ); - $params = SMWQueryProcessor::getProcessedParams( $this->m_params, $this->m_printouts ); - $this->m_params['format'] = $params['format']; - - $queryobj = SMWQueryProcessor::createQuery( - $this->m_querystring, - $params, - SMWQueryProcessor::SPECIAL_PAGE , - $this->m_params['format'], - $this->m_printouts - ); - - $res = smwfGetStore()->getQueryResult( $queryobj ); - - // Try to be smart for rss/ical if no description/title is given and we have a concept query: - if ( $this->m_params['format'] == 'rss' ) { - $desckey = 'rssdescription'; - $titlekey = 'rsstitle'; - } elseif ( $this->m_params['format'] == 'icalendar' ) { - $desckey = 'icalendardescription'; - $titlekey = 'icalendartitle'; - } else { $desckey = false; } - - if ( ( $desckey ) && ( $queryobj->getDescription() instanceof SMWConceptDescription ) && - ( !isset( $this->m_params[$desckey] ) || !isset( $this->m_params[$titlekey] ) ) ) { - $concept = $queryobj->getDescription()->getConcept(); - - if ( !isset( $this->m_params[$titlekey] ) ) { - $this->m_params[$titlekey] = $concept->getText(); - } - - if ( !isset( $this->m_params[$desckey] ) ) { - // / @bug The current SMWStore will never return SMWConceptValue (an SMWDataValue) here; it might return SMWDIConcept (an SMWDataItem) - $dv = end( smwfGetStore()->getPropertyValues( SMWWikiPageValue::makePageFromTitle( $concept ), new SMWDIProperty( '_CONC' ) ) ); - if ( $dv instanceof SMWConceptValue ) { - $this->m_params[$desckey] = $dv->getDocu(); - } - } - } - - $printer = SMWQueryProcessor::getResultPrinter( $this->m_params['format'], SMWQueryProcessor::SPECIAL_PAGE ); - $result_mime = $printer->getMimeType( $res ); - - global $wgRequest; - - $hidequery = $wgRequest->getVal( 'eq' ) == 'no'; - - // if it's an export format (like CSV, JSON, etc.), - // don't actually export the data if 'eq' is set to - // either 'yes' or 'no' in the query string - just - // show the link instead - if ( $this->m_editquery || $hidequery ) $result_mime = false; - - if ( $result_mime == false ) { - if ( $res->getCount() > 0 ) { - if ( $this->m_editquery ) { - $urlArgs['eq'] = 'yes'; - } - elseif ( $hidequery ) { - $urlArgs['eq'] = 'no'; - } - - $navigation = $this->getNavigationBar( $res, $urlArgs ); - $result .= '
    ' . "\n" . $navigation . "\n
    \n"; - $query_result = $printer->getResult( $res, $params, SMW_OUTPUT_HTML ); - - if ( is_array( $query_result ) ) { - $result .= $query_result[0]; - } else { - $result .= $query_result; - } - - $result .= '
    ' . "\n" . $navigation . "\n
    \n"; - } else { - $result = '
    ' . wfMsgHtml( 'smw_result_noresults' ) . '
    '; - } - } else { // make a stand-alone file - $result = $printer->getResult( $res, $params, SMW_OUTPUT_FILE ); - $result_name = $printer->getFileName( $res ); // only fetch that after initialising the parameters - } - } - - if ( $result_mime == false ) { - if ( $this->m_querystring ) { - $wgOut->setHTMLtitle( $this->m_querystring ); - } else { - $wgOut->setHTMLtitle( wfMsg( 'ask' ) ); - } - - $urlArgs['offset'] = $this->m_params['offset']; - $urlArgs['limit'] = $this->m_params['limit']; - - $result = $this->getInputForm( - $printoutstring, - wfArrayToCGI( $urlArgs ) - ) . $result; - - $wgOut->addHTML( $result ); - } else { - $wgOut->disable(); - - header( "Content-type: $result_mime; charset=UTF-8" ); - - if ( $result_name !== false ) { - header( "content-disposition: attachment; filename=$result_name" ); - } - - echo $result; - } - } - - /** - * Generates the Search Box UI - * - * @param string $printoutstring - * @param string $urltail - * - * @return string - */ - protected function getInputForm( $printoutstring, $urltail ) { - global $smwgQSortingSupport, $smwgResultFormats, $wgScript; - - $result = ''; - - if ( $this->m_editquery ) { - $result .= Html::openElement( 'form', - array( 'action' => $wgScript, 'name' => 'ask', 'method' => 'get' ) ); - $result .= Html::hidden( 'title', $this->getTitle()->getPrefixedDBKey() ); - - // Table for main query and printouts. - $result .= '\n\n" . - '\n" . - '
    ' . wfMsg( 'smw_ask_queryhead' ) . "" . wfMsg( 'smw_ask_printhead' ) . "
    \n" . - '' . wfMsg( 'smw_ask_printdesc' ) . '' . "
    ' . "\n"; -// @TODO - // sorting inputs - if ( $smwgQSortingSupport ) { - if ( ! array_key_exists( 'sort', $this->m_params ) || ! array_key_exists( 'order', $this->m_params ) ) { - $orders = array(); // do not even show one sort input here - } else { - $sorts = explode( ',', $this->m_params['sort'] ); - $orders = explode( ',', $this->m_params['order'] ); - reset( $sorts ); - } - - foreach ( $orders as $i => $order ) { - $result .= "
    " . wfMsg( 'smw_ask_sortby' ) . ' \n" . '\n"; - $result .= '[' . wfMsg( 'delete' ) . ']' . "\n"; - $result .= "
    \n"; - } - - $result .= '\n"; - $result .= '
    ' . "\n"; - $result .= '' . wfMsg( 'smw_add_sortcondition' ) . '' . "\n"; - } - - $printer = SMWQueryProcessor::getResultPrinter( 'broadtable', SMWQueryProcessor::SPECIAL_PAGE ); - $url = SpecialPage::getSafeTitleFor( 'Ask' )->getLocalURL( "showformatoptions=' + this.value + '" ); - - foreach ( $this->m_params as $param => $value ) { - if ( $param !== 'format' ) { - $url .= '¶ms[' . Xml::escapeJsString( $param ) . ']=' . Xml::escapeJsString( $value ); - } - } - - $result .= "

    \n

    " . wfMsg( 'smw_ask_format_as' ) . ' ' . "\n" . - '

    \n"; - $result .= '
    ' . wfMsg( 'smw_ask_otheroptions' ) . "\n"; - $result .= "
    " . $this->showFormatOptions( $this->m_params['format'], $this->m_params ) . "
    "; - $result .= "
    \n"; - $urltail = str_replace( '&eq=yes', '', $urltail ) . '&eq=no'; // FIXME: doing it wrong, srysly - - $result .= '
    ' . - '' . - Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'Ask' )->getLocalURL( $urltail ), - 'rel' => 'nofollow' - ), - wfMsg( 'smw_ask_hidequery' ) - ) . - '| ' . SMWAskPage::getEmbedToggle() . - '| ' . wfMsg( 'smw_ask_help' ) . '' . - "\n"; - } else { // if $this->m_editquery == false - $urltail = str_replace( '&eq=no', '', $urltail ) . '&eq=yes'; - $result .= '

    ' . - Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'Ask' )->getLocalURL( $urltail ), - 'rel' => 'nofollow' - ), - wfMsg( 'smw_ask_editquery' ) - ) . - '| ' . SMWAskPage::getEmbedToggle() . - '

    '; - } - //show|hide inline embed code - $result .= '
    '; - - return $result; - } - - /** - * TODO: document - * - * @return string - */ - protected static function getEmbedToggle() { - return '' . wfMsg( 'smw_ask_show_embed' ) . '' . - ''; - } - - /** - * Build the navigation for some given query result, reuse url-tail parameters. - * - * @param SMWQueryResult $res - * @param array $urlArgs - * - * @return string - */ - protected function getNavigationBar( SMWQueryResult $res, array $urlArgs ) { - global $smwgQMaxInlineLimit; - - $offset = $this->m_params['offset']; - $limit = $this->m_params['limit']; - - // Prepare navigation bar. - if ( $offset > 0 ) { - $navigation = Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'Ask' )->getLocalURL( array( - 'offset' => max( 0, $offset - $limit ), - 'limit' => $limit - ) + $urlArgs ), - 'rel' => 'nofollow' - ), - wfMsg( 'smw_result_prev' ) - ); - - } else { - $navigation = wfMsg( 'smw_result_prev' ); - } - - $navigation .= - '     ' . - wfMsg( 'smw_result_results' ) . ' ' . ( $offset + 1 ) . - '– ' . - ( $offset + $res->getCount() ) . - '    '; - - if ( $res->hasFurtherResults() ) { - $navigation .= Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'Ask' )->getLocalURL( array( - 'offset' => ( $offset + $limit ), - 'limit' => $limit - ) + $urlArgs ), - 'rel' => 'nofollow' - ), - wfMsg( 'smw_result_next' ) - ); - } else { - $navigation .= wfMsg( 'smw_result_next' ); - } - - $first = true; - - foreach ( array( 20, 50, 100, 250, 500 ) as $l ) { - if ( $l > $smwgQMaxInlineLimit ) break; - - if ( $first ) { - $navigation .= '        ('; - $first = false; - } else { - $navigation .= ' | '; - } - - if ( $limit != $l ) { - $navigation .= Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'Ask' )->getLocalURL( array( - 'offset' => $offset, - 'limit' => $l - ) + $urlArgs ), - 'rel' => 'nofollow' - ), - $l - ); - } else { - $navigation .= '' . $l . ''; - } - } - - $navigation .= ')'; - - return $navigation; - } - - /** - * Display a form section showing the options for a given format, - * based on the getParameters() value for that format's query printer. - * - * @param string $format - * @param array $paramValues The current values for the parameters (name => value) - * - * @return string - */ - protected function showFormatOptions( $format, array $paramValues ) { - $printer = SMWQueryProcessor::getResultPrinter( $format, SMWQueryProcessor::SPECIAL_PAGE ); - - $params = SMWQueryProcessor::getParameters(); - - if ( method_exists( $printer, 'getValidatorParameters' ) ) { - $params = array_merge( $params, $printer->getValidatorParameters() ); - } - - $optionsHtml = array(); - - foreach ( $params as $param ) { - // Ignore the format parameter, as we got a special control in the GUI for it already. - if ( $param->getName() == 'format' ) { - continue; - } - - $currentValue = array_key_exists( $param->getName(), $paramValues ) ? $paramValues[$param->getName()] : false; - - $optionsHtml[] = - Html::rawElement( - 'div', - array( - 'style' => 'width: 30%; padding: 5px; float: left;' - ), - htmlspecialchars( $param->getName() ) . ': ' . - $this->showFormatOption( $param, $currentValue ) . - '
    ' . - Html::element( 'em', array(), $param->getDescription() ) - ); - } - - for ( $i = 0, $n = count( $optionsHtml ); $i < $n; $i++ ) { - if ( $i % 3 == 2 || $i == $n - 1 ) { - $optionsHtml[$i] .= "
    \n"; - } - } - - $i = 0; - $rowHtml = ''; - $resultHtml = ''; - - while ( $option = array_shift( $optionsHtml ) ) { - $rowHtml .= $option; - $i++; - - $resultHtml .= Html::rawElement( - 'div', - array( - 'style' => 'background: ' . ( $i % 6 == 0 ? 'white' : '#dddddd' ) . ';' - ), - $rowHtml - ); - - $rowHtml = ''; - } - - return $resultHtml; - } - - - - /** - * Get the HTML for a single parameter input. - * - * @since 1.6 - * - * @param Parameter $parameter - * @param mixed $currentValue - * - * @return string - */ - protected function showFormatOption( Parameter $parameter, $currentValue ) { - $input = new ParameterInput( $parameter ); - $input->setInputName( 'p[' . $parameter->getName() . ']' ); - - if ( $currentValue !== false ) { - $input->setCurrentValue( $currentValue ); - } - - return $input->getHtml(); - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialQueryCreator.php b/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialQueryCreator.php deleted file mode 100644 index ed43ac1..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialQueryCreator.php +++ /dev/null @@ -1,265 +0,0 @@ -makeForm( $p ); - - if ( $this->uiCore->getQueryString() != "" ) { - if ( $this->usesNavigationBar() ) { - $navigationBar = $this->getNavigationBar ( - $this->uiCore->getLimit(), - $this->uiCore->getOffset(), - $this->uiCore->hasFurtherResults() ); - $navigation = Html::rawElement( 'div', - array( 'class' => 'smwqcnavbar' ), - $navigationBar ); - } else { - $navigation = ''; - } - - $htmlOutput .= $navigation . - Html::rawElement( 'div', array( 'class' => 'smwqcresult' ), - $this->uiCore->getHTMLResult() ) . - $navigation; - - } - - return $htmlOutput; - } - - /** - * This method calls the various processXXXBox() methods for each - * of the corresponding getXXXBox() methods which the UI uses. Then it - * merges the results of these methods and return them. - * - * @global WebRequest $wgRequest - * @return array - */ - protected function processParams() { - global $wgRequest; - - $params = array_merge( - array( - 'format' => $wgRequest->getVal( 'format' ), - 'offset' => $wgRequest->getVal( 'offset', '0' ), - 'limit' => $wgRequest->getVal( 'limit', '20' ) ), - $this->processPoSortFormBox( $wgRequest ), - $this->processFormatSelectBox( $wgRequest ) - ); - return $params; - } - - /** - * Displays a form section showing the options for a given format, - * based on the getParameters() value for that format's query printer. - * - * @param string $format - * @param array $paramValues The current values for the parameters (name => value) - * @param array $ignoredAttribs Attributes which should not be generated by this method. - * - * @return string - * - * Overridden from parent to ignore some parameters. - */ - protected function showFormatOptions( $format, array $paramValues, array $ignoredAttribs = array() ) { - return parent::showFormatOptions( $format, $paramValues, array( - 'format', 'limit', 'offset', 'mainlabel', 'intro', 'outro', 'default' - ) ); - } - - /** - * Create the search form. - * - * @return string HTML code for search form - */ - protected function makeForm() { - SMWOutputs::requireResource( 'jquery' ); - - $specTitle = $this->getTitle(); - $formatBox = $this->getFormatSelectBoxSep( 'broadtable' ); - - $result = '
    ' . $this->getErrorsHtml() . '
    '; - - $formParameters = array( 'name' => 'qc', 'id'=>'smwqcform', - 'action' => htmlspecialchars( $specTitle->getLocalURL() ), 'method' => 'get' ); - $result .= Html::openElement( 'form', $formParameters ) . "\n" . - Html::hidden( 'title', $specTitle->getPrefixedText() ) . - // Header: - wfMsg( 'smw_qc_query_help' ) . - // Main query and format options: - $this->getQueryFormBox() . - // Sorting and prinouts: - '
    ' . $this->getPoSortFormBox() . '
    '; - - // Control to show/hide additional options: - $result .= '
    ' . - Html::element( 'strong', array(), wfMsg( 'smw_ask_format_as' ) ) . - $formatBox[0] . - '' . - '' . - wfMsg( 'smw_qc_show_addnal_opts' ) . '' . - '' . - '
    '; - - // Controls for additional options: - $result .= ''; // end of hidden additional options - - // Submit button and documentation link: - $result .= '

    ' . - '' . - wfMsg( 'smw_ask_help' ) . ''; - - // Control for showing #ask syntax of query: - if ( $this->uiCore->getQueryString() !== '' ) { // only show if query given - $result .= ' | ' . - wfMsg( 'smw_ask_show_embed' ) . '' . - '
    ' . $this->getAskEmbedBox() . '
    '; - - SMWOutputs::requireResource( 'jquery.ui.autocomplete' ); - SMWOutputs::requireResource( 'jquery.ui.dialog' ); - SMWOutputs::requireResource( 'ext.smw.style' ); - - $javascriptText = << - jQuery( document ).ready( function(){ - jQuery( '#embed-code-dialog' ).dialog( { - autoOpen:false, - modal: true, - buttons: { - Ok: function(){ - jQuery( this ).dialog( "close" ); - } - } - } ); - jQuery( '#show-embed-code' ).bind( 'click', function(){ - jQuery( '#embed-code-dialog' ).dialog( "open" ); - } ); - } ); - -EOT; - SMWOutputs::requireScript( 'smwToggleAskSyntaxQC', $javascriptText ); - } - - $result .= '' . - "\n
    "; - - return $result; - } - - /** - * Overridden to include form parameters. - * - * @return array of strings in the urlparamater=>value format - */ - protected function getUrlArgs() { - $tmpArray = array(); - $params = $this->uiCore->getParameters(); - foreach ( $params as $key => $value ) { - if ( !in_array( $key, array( 'sort', 'order', 'limit', 'offset', 'title' ) ) ) { - $tmpArray[$key] = $value; - } - } - $this->setUrlArgs( $tmpArray ); - return $this->urlArgs; - } - - /** - * Creates controls for limit, intro, outro, default and offset - * - * @return string - */ - protected function getOtherParametersBox() { - $params = $this->uiCore->getParameters(); - if ( array_key_exists( 'limit', $params ) ) { - $limit = $params['limit']; - } else { - $limit = ''; - } - if ( array_key_exists( 'offset', $params ) ) { - $offset = $params['offset']; - } else { - $offset = ''; - } - if ( array_key_exists( 'intro', $params ) ) { - $intro = $params['intro']; - } else { - $intro = ''; - } - if ( array_key_exists( 'outro', $params ) ) { - $outro = $params['outro']; - } else { - $outro = ''; - } - if ( array_key_exists( 'default', $params ) ) { - $default = $params['default']; - } else { - $default = ''; - } - $result = '
    ' . wfMsg( 'smw_ask_otheroptions' ) . "\n" . - Html::rawElement( 'div', - array( 'style' => 'width: 30%; min-width:220px; margin:5px; padding: 1px; float: left;' ), - wfMsg( 'smw_qc_intro' ) . - '
    ' . - wfMsg( 'smw_paramdesc_intro' ) - ) . - Html::rawElement( 'div', - array( 'style' => 'width: 30%; min-width:220px; margin:5px; padding: 1px; float: left;' ), - wfMsg( 'smw_qc_outro' ) . - '
    ' . - wfMsg( 'smw_paramdesc_outro' ) - ) . - Html::rawElement( 'div', - array( 'style' => 'width: 30%; min-width:220px; margin:5px; padding: 1px; float: left;' ), - wfMsg( 'smw_qc_default' ) . - '
    ' . - wfMsg( 'smw_paramdesc_default' ) - ) . - Html::hidden( 'p[limit]', $limit ) . - Html::hidden( 'p[offset]', $offset ) . - '
    '; - - return $result; - } -} - diff --git a/documentacion/extensions/SemanticMediaWiki/specials/Export/SMW_SpecialOWLExport.php b/documentacion/extensions/SemanticMediaWiki/specials/Export/SMW_SpecialOWLExport.php deleted file mode 100644 index 95ad03b..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/Export/SMW_SpecialOWLExport.php +++ /dev/null @@ -1,150 +0,0 @@ -setPageTitle( wfMsg( 'exportrdf' ) ); - - // see if we can find something to export: - $page = ( $page === '' ) ? $wgRequest->getVal( 'page' ) : rawurldecode( $page ); - if ( $page === '' ) { // Try to get POST list; some settings are only available via POST. - $pageblob = $wgRequest->getText( 'pages' ); - if ( $pageblob !== '' ) { - $pages = explode( "\n", $pageblob ); - } - } else { - $pages = array( $page ); - } - - if ( isset( $pages ) ) { - $this->exportPages( $pages ); - return; - } else { - $offset = $wgRequest->getVal( 'offset' ); - if ( isset( $offset ) ) { - $this->startRDFExport(); - $this->export_controller->printPageList( $offset ); - return; - } else { - $stats = $wgRequest->getVal( 'stats' ); - if ( isset( $stats ) ) { - $this->startRDFExport(); - $this->export_controller->printWikiInfo(); - return; - } - } - } - // nothing exported yet; show user interface: - $this->showForm(); - } - - /** - * Create the HTML user interface for this special page. - */ - protected function showForm() { - global $wgOut, $wgUser, $smwgAllowRecursiveExport, $smwgExportBacklinks, $smwgExportAll; - - $html = '
    ' . "\n" . - '

    ' . wfMsg( 'smw_exportrdf_docu' ) . "

    \n" . - '' . "\n" . - '
    ' . "\n"; - - if ( $wgUser->isAllowed( 'delete' ) || $smwgAllowRecursiveExport ) { - $html .= ' 
    ' . "\n"; - } - if ( $wgUser->isAllowed( 'delete' ) || $smwgExportBacklinks ) { - $html .= ' 
    ' . "\n"; - } - if ( $wgUser->isAllowed( 'delete' ) || $smwgExportAll ) { - $html .= '
    '; - $html .= ' 
    ' . "\n"; - } - $html .= '
    \n
    "; - - $wgOut->addHTML( $html ); - } - - /** - * Prepare $wgOut for printing non-HTML data. - */ - protected function startRDFExport() { - global $wgOut, $wgRequest; - $syntax = $wgRequest->getText( 'syntax' ); - if ( $syntax === '' ) $syntax = $wgRequest->getVal( 'syntax' ); - $wgOut->disable(); - ob_start(); - if ( $syntax == 'turtle' ) { - $mimetype = 'application/x-turtle'; // may change to 'text/turtle' at some time, watch Turtle development - $serializer = new SMWTurtleSerializer(); - } else { // rdfxml as default - // Only use rdf+xml mimetype if explicitly requested (browsers do - // not support it by default). - // We do not add this parameter to RDF links within the export - // though; it is only meant to help some tools to see that HTML - // included resources are RDF (from there on they should be fine). - $mimetype = ( $wgRequest->getVal( 'xmlmime' ) == 'rdf' ) ? 'application/rdf+xml' : 'application/xml'; - $serializer = new SMWRDFXMLSerializer(); - } - header( "Content-type: $mimetype; charset=UTF-8" ); - $this->export_controller = new SMWExportController( $serializer ); - } - - /** - * Export the given pages to RDF. - * @param array $pages containing the string names of pages to be exported - */ - protected function exportPages( $pages ) { - global $wgRequest, $smwgExportBacklinks, $wgUser, $smwgAllowRecursiveExport; - - // Effect: assume "no" from missing parameters generated by checkboxes. - $postform = $wgRequest->getText( 'postform' ) == 1; - - $recursive = 0; // default, no recursion - $rec = $wgRequest->getText( 'recursive' ); - if ( $rec === '' ) $rec = $wgRequest->getVal( 'recursive' ); - if ( ( $rec == '1' ) && ( $smwgAllowRecursiveExport || $wgUser->isAllowed( 'delete' ) ) ) { - $recursive = 1; // users may be allowed to switch it on - } - - $backlinks = $smwgExportBacklinks; // default - $bl = $wgRequest->getText( 'backlinks' ); - if ( $bl === '' ) $bl = $wgRequest->getVal( 'backlinks' ); - if ( ( $bl == '1' ) && ( $wgUser->isAllowed( 'delete' ) ) ) { - $backlinks = true; // admins can always switch on backlinks - } elseif ( ( $bl == '0' ) || ( '' == $bl && $postform ) ) { - $backlinks = false; // everybody can explicitly switch off backlinks - } - - $date = $wgRequest->getText( 'date' ); - if ( $date === '' ) $date = $wgRequest->getVal( 'date' ); - if ( $date !== '' ) { - $timeint = strtotime( $date ); - $stamp = date( "YmdHis", $timeint ); - $date = $stamp; - } - - $this->startRDFExport(); - $this->export_controller->enableBacklinks( $backlinks ); - $this->export_controller->printPages( $pages, $recursive, $date ); - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_QueryPage.php b/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_QueryPage.php deleted file mode 100644 index 07872bc..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_QueryPage.php +++ /dev/null @@ -1,120 +0,0 @@ -limit = $limit; - $options->offset = $offset; - $options->sort = true; - $res = $this->getResults( $options ); - $num = count( $res ); - - $sk = $this->getSkin(); - $sname = $this->getName(); - - $wgOut->addHTML( $this->getPageHeader() ); - - // if list is empty, show it - if ( $num == 0 ) { - $wgOut->addHTML( '

    ' . wfMsgHTML( 'specialpage-empty' ) . '

    ' ); - return; - } - - $top = wfShowingResults( $offset, $num ); - $wgOut->addHTML( "

    {$top}\n" ); - - // often disable 'next' link when we reach the end - $atend = $num < $limit; - - $sl = wfViewPrevNext( $offset, $limit , - $wgContLang->specialPage( $sname ), - wfArrayToCGI( $this->linkParameters() ), $atend ); - $wgOut->addHTML( "
    {$sl}

    \n" ); - - if ( $num > 0 ) { - $s = array(); - if ( ! $this->listoutput ) - $s[] = $this->openList( $offset ); - - foreach ( $res as $r ) { - $format = $this->formatResult( $sk, $r ); - if ( $format ) { - $s[] = $this->listoutput ? $format : "
  • {$format}
  • \n"; - } - } - - if ( ! $this->listoutput ) - $s[] = $this->closeList(); - $str = $this->listoutput ? $wgContLang->listToText( $s ) : implode( '', $s ); - $wgOut->addHTML( $str ); - } - - $wgOut->addHTML( "

    {$sl}

    \n" ); - - return $num; - } - - /** - * Compatibility method to get the skin; MW 1.18 introduces a getSkin method in SpecialPage. - * - * @since 1.6 - * - * @return Skin - */ - public function getSkin() { - if ( method_exists( 'SpecialPage', 'getSkin' ) ) { - return parent::getSkin(); - } else { - global $wgUser; - return $wgUser->getSkin(); - } - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialProperties.php b/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialProperties.php deleted file mode 100644 index 0cca7d3..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialProperties.php +++ /dev/null @@ -1,121 +0,0 @@ -setPageTitle( wfMsg( 'properties' ) ); - - $rep = new SMWPropertiesPage(); - - list( $limit, $offset ) = wfCheckLimits(); - $rep->doQuery( $offset, $limit ); - - // Ensure locally collected output data is pushed to the output! - SMWOutputs::commitToOutputPage( $wgOut ); - - wfProfileOut( 'smwfDoSpecialProperties (SMW)' ); - } -} - -/** - * This query page shows all used properties. - * - * @ingroup SMWSpecialPage - * @ingroup SpecialPage - * - * @author Markus Krötzsch - */ -class SMWPropertiesPage extends SMWQueryPage { - - function getPageHeader() { - return '

    ' . wfMsg( 'smw_properties_docu' ) . "


    \n"; - } - - function getName() { - return 'Properties'; - } - - function formatResult( $skin, $result ) { - global $wgLang; - $linker = smwfGetLinker(); - list ( $property, $useCount ) = $result; - - $errors = array(); - - $diWikiPage = $property->getDiWikiPage(); - $title = !is_null( $diWikiPage ) ? $diWikiPage->getTitle() : null; - - if ( $property->isUserDefined() ) { - - if ( $title === null ) { - return ''; - } - - if ( $useCount <= 5 ) { - $errors[] = wfMsgHtml( 'smw_propertyhardlyused' ); - } - - // User defined types default to Page - global $smwgPDefaultType; - $typeDataValue = SMWTypesValue::newFromTypeId( $smwgPDefaultType ); - $typestring = $typeDataValue->getLongHTMLText( $linker ); - - $label = htmlspecialchars( $property->getLabel() ); - if ( $title->exists() ) { - $typeProperty = new SMWDIProperty( '_TYPE' ); - $types = smwfGetStore()->getPropertyValues( $diWikiPage, $typeProperty ); - if ( count( $types ) >= 1 ) { - $typeDataValue = SMWDataValueFactory::newDataItemValue( current( $types ), $typeProperty ); - $typestring = $typeDataValue->getLongHTMLText( $linker ); - } else { - $errors[] = wfMsgHtml( 'smw_propertylackstype', $typestring ); - } - - $proplink = $linker->link( $title, $label ); - } else { - $errors[] = wfMsgHtml( 'smw_propertylackspage' ); - $proplink = $linker->link( $title, $label, array(), array( 'action' => 'view' ) ); - } - - } else { // predefined property - $typeid = $property->findPropertyTypeID(); - $typeDataValue = SMWTypesValue::newFromTypeId( $typeid ); - $typestring = $typeDataValue->getLongHTMLText( $linker ); - $propertyDataValue = SMWDataValueFactory::newDataItemValue( $property, null ); - $proplink = $propertyDataValue->getShortHtmlText( $linker ); - } - - $warnings = smwfEncodeMessages( $errors, 'warning', '', false ); - - $useCount = $wgLang->formatNum( $useCount ); - if ( $typestring === '' ) { // Builtins have no type - return wfMsgHtml( 'smw_property_template_notype', $proplink, $useCount ) . ' ' . $warnings; - } else { - return wfMsgHtml( 'smw_property_template', $proplink, $typestring, $useCount ) . ' ' . $warnings; - } - } - - function getResults( $requestoptions ) { - return smwfGetStore()->getPropertiesSpecial( $requestoptions ); - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialTypes.php b/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialTypes.php deleted file mode 100644 index e10eb82..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialTypes.php +++ /dev/null @@ -1,99 +0,0 @@ -setPageTitle( wfMsg( 'types' ) ); - $html = $this->getTypesList(); - } else { - $typeName = str_replace( '_', ' ', $typeLabel ); - $wgOut->setPageTitle( $typeName ); // Maybe add a better message for this - $html = $this->getTypeProperties( $typeLabel ); - } - - $wgOut->addHTML( $html ); - SMWOutputs::commitToOutputPage( $wgOut ); - - wfProfileOut( 'smwfDoSpecialTypes (SMW)' ); - } - - protected function getTypesList() { - $html = '

    ' . htmlspecialchars( wfMsg( 'smw_types_docu' ) ) . "


    \n"; - - $typeLabels = SMWDataValueFactory::getKnownTypeLabels(); - asort( $typeLabels, SORT_STRING ); - - $html .= "
      \n"; - foreach ( $typeLabels as $typeId => $label ) { - $typeValue = SMWTypesValue::newFromTypeId( $typeId ); - $html .= '
    • ' . $typeValue->getLongHTMLText( smwfGetLinker() ) . "
    • \n"; - } - $html .= "
    \n"; - - return $html; - } - - protected function getTypeProperties( $typeLabel ) { - global $wgRequest, $smwgTypePagingLimit; - - if ( $smwgTypePagingLimit <= 0 ) return ''; // not too useful, but we comply to this request - - $from = $wgRequest->getVal( 'from' ); - $until = $wgRequest->getVal( 'until' ); - $typeValue = SMWDataValueFactory::newTypeIDValue( '__typ', $typeLabel ); - - $store = smwfGetStore(); - $options = SMWPageLister::getRequestOptions( $smwgTypePagingLimit, $from, $until ); - $diWikiPages = $store->getPropertySubjects( new SMWDIProperty( '_TYPE' ), $typeValue->getDataItem(), $options ); - if ( !$options->ascending ) { - $diWikiPages = array_reverse( $diWikiPages ); - } - - $result = ''; - - if ( count( $diWikiPages ) > 0 ) { - $pageLister = new SMWPageLister( $diWikiPages, null, $smwgTypePagingLimit, $from, $until ); - - $title = $this->getTitleFor( 'Types', $typeLabel ); - $title->setFragment( '#SMWResults' ); // Make navigation point to the result list. - $navigation = $pageLister->getNavigationLinks( $title ); - - $resultNumber = min( $smwgTypePagingLimit, count( $diWikiPages ) ); - $typeName = $typeValue->getLongWikiText(); - - $result .= "
    \n" . - '

    ' . wfMsg( 'smw_type_header', $typeName ) . "

    \n

    " . - wfMsgExt( 'smw_typearticlecount', array( 'parsemag' ), $resultNumber ) . "

    \n" . - $navigation . $pageLister->formatList() . $navigation . "\n
    "; - } - - return $result; - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialUnusedProperties.php b/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialUnusedProperties.php deleted file mode 100644 index 087ef90..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialUnusedProperties.php +++ /dev/null @@ -1,96 +0,0 @@ -setPageTitle( wfMsg( 'unusedproperties' ) ); - - $rep = new SMWUnusedPropertiesPage(); - - list( $limit, $offset ) = wfCheckLimits(); - $rep->doQuery( $offset, $limit ); - - // Ensure locally collected output data is pushed to the output! - SMWOutputs::commitToOutputPage( $wgOut ); - - wfProfileOut( 'smwfDoSpecialUnusedProperties (SMW)' ); - } -} - -/** - * This query page shows all unused properties. - * - * @ingroup SMWSpecialPage - * @ingroup SpecialPage - * - * @author Markus Krötzsch - */ -class SMWUnusedPropertiesPage extends SMWQueryPage { - - function getName() { - return "UnusedProperties"; - } - - function isExpensive() { - return false; // Disables caching for now - } - - function isSyndicated() { - return false; // TODO: why not? - } - - function getPageHeader() { - return '

    ' . wfMsg( 'smw_unusedproperties_docu' ) . "


    \n"; - } - - function formatResult( $skin, /* SMWDIProperty */ $result ) { - $linker = smwfGetLinker(); - - $proplink = $linker->link( - $result->getDiWikiPage()->getTitle(), - $result->getLabel() - ); - - $types = smwfGetStore()->getPropertyValues( $result->getDiWikiPage(), new SMWDIProperty( '_TYPE' ) ); - $errors = array(); - - if ( count( $types ) >= 1 ) { - $typestring = SMWDataValueFactory::newDataItemValue( current( $types ), new SMWDIProperty( '_TYPE' ) )->getLongHTMLText( $linker ); - } else { - $type = SMWTypesValue::newFromTypeId( '_wpg' ); - $typestring = $type->getLongHTMLText( $linker ); - $errors[] = wfMsg( 'smw_propertylackstype', $type->getLongHTMLText() ); - } - - return wfMsg( 'smw_unusedproperty_template', $proplink, $typestring ) . ' ' . smwfEncodeMessages( $errors ); - } - - /** - * @return array of SMWDIProperty - */ - function getResults( $requestoptions ) { - return smwfGetStore()->getUnusedPropertiesSpecial( $requestoptions ); - } - -} - diff --git a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialWantedProperties.php b/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialWantedProperties.php deleted file mode 100644 index 83e09f9..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/QueryPages/SMW_SpecialWantedProperties.php +++ /dev/null @@ -1,88 +0,0 @@ -setPageTitle( wfMsg( 'wantedproperties' ) ); - - $rep = new SMWWantedPropertiesPage(); - - list( $limit, $offset ) = wfCheckLimits(); - $rep->doQuery( $offset, $limit ); - - // Ensure locally collected output data is pushed to the output! - SMWOutputs::commitToOutputPage( $wgOut ); - - wfProfileOut( 'smwfDoSpecialWantedProperties (SMW)' ); - } - -} - -/** - * This query page shows all wanted properties. - * - * @ingroup SMWSpecialPage - * @ingroup SpecialPage - * - * @author Markus Krötzsch - */ -class SMWWantedPropertiesPage extends SMWQueryPage { - - function getName() { - return "WantedProperties"; - } - - function isExpensive() { - return false; /// disables caching for now - } - - function isSyndicated() { - return false; ///TODO: why not? - } - - function getPageHeader() { - return '

    ' . wfMsg( 'smw_wantedproperties_docu' ) . "


    \n"; - } - - /** - * @param $skin - * @param array $result First item is SMWDIProperty, second item is int - * - * @return string - */ - function formatResult( $skin, $result ) { - $linker = smwfGetLinker(); - - if ( $result[0]->isUserDefined() ) { - $proplink = $linker->makeLinkObj( $result[0]->getDiWikiPage()->getTitle(), htmlspecialchars( $result[0]->getLabel() ), 'action=view' ); - } else { - $proplink = SMWDataValueFactory::newDataItemValue( $result[0], new SMWDIProperty( '_TYPE' ) )->getLongHTMLText( $linker ); - } - - return wfMsgExt( 'smw_wantedproperty_template', array( 'parsemag' ), $proplink, $result[1] ); - } - - function getResults( $requestoptions ) { - return smwfGetStore()->getWantedPropertiesSpecial( $requestoptions ); - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/SMWAdmin/SMW_SpecialSMWAdmin.php b/documentacion/extensions/SemanticMediaWiki/specials/SMWAdmin/SMW_SpecialSMWAdmin.php deleted file mode 100644 index a483d24..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/SMWAdmin/SMW_SpecialSMWAdmin.php +++ /dev/null @@ -1,155 +0,0 @@ -userCanExecute( $wgUser ) ) { - // If the user is not authorized, show an error. - $this->displayRestrictionError(); - return; - } - - $this->setHeaders(); - - /**** Get status of refresh job, if any ****/ - $dbr = wfGetDB( DB_SLAVE ); - $row = $dbr->selectRow( 'job', '*', array( 'job_cmd' => 'SMWRefreshJob' ), __METHOD__ ); - if ( $row !== false ) { // similar to Job::pop_type, but without deleting the job - $title = Title::makeTitleSafe( $row->job_namespace, $row->job_title ); - $refreshjob = Job::factory( $row->job_cmd, $title, Job::extractBlob( $row->job_params ), $row->job_id ); - } else { - $refreshjob = null; - } - - /**** Execute actions if any ****/ - $action = $wgRequest->getText( 'action' ); - if ( $action == 'updatetables' ) { - $sure = $wgRequest->getText( 'udsure' ); - if ( $sure == 'yes' ) { - $wgOut->disable(); // raw output - ob_start(); - print "\n\nSetting up Storage for Semantic MediaWiki

    ";
    -				header( "Content-type: text/html; charset=UTF-8" );
    -				$result = smwfGetStore()->setup();
    -				wfRunHooks( 'smwInitializeTables' );
    -				print '

    '; - if ( $result === true ) { - print '

    ' . wfMsg( 'smw_smwadmin_setupsuccess' ) . "

    \n"; - } - $returntitle = SpecialPage::getTitleFor( 'SMWAdmin' ); - print '

    ' . wfMsg( 'smw_smwadmin_return', 'Special:SMWAdmin' ) . "

    \n"; - print ''; - ob_flush(); - flush(); - return; - } - } elseif ( $smwgAdminRefreshStore && ( $action == 'refreshstore' ) ) { // managing refresh jobs for the store - $sure = $wgRequest->getText( 'rfsure' ); - if ( $sure == 'yes' ) { - if ( is_null( $refreshjob ) ) { // careful, there might be race conditions here - $title = SpecialPage::getTitleFor( 'SMWAdmin' ); - $newjob = new SMWRefreshJob( $title, array( 'spos' => 1, 'prog' => 0, 'rc' => 2 ) ); - $newjob->insert(); - $wgOut->addHTML( '

    ' . wfMsg( 'smw_smwadmin_updatestarted' ) . '

    ' ); - } else { - $wgOut->addHTML( '

    ' . wfMsg( 'smw_smwadmin_updatenotstarted' ) . '

    ' ); - } - } elseif ( $sure == 'stop' ) { - $dbw = wfGetDB( DB_MASTER ); - // delete (all) existing iteration jobs - $dbw->delete( 'job', array( 'job_cmd' => 'SMWRefreshJob' ), __METHOD__ ); - $wgOut->addHTML( '

    ' . wfMsg( 'smw_smwadmin_updatestopped' ) . '

    ' ); - } else { - $wgOut->addHTML( '

    ' . wfMsg( 'smw_smwadmin_updatenotstopped' ) . '

    ' ); - } - return; - } - - /**** Normal output ****/ - - $html = '

    ' . wfMsg( 'smw_smwadmin_docu' ) . "

    \n"; - // creating tables and converting contents from older versions - $html .= '
    ' . "\n" . - '' . "\n"; - $html .= '

    ' . wfMsg( 'smw_smwadmin_db' ) . "

    \n" . - '

    ' . wfMsg( 'smw_smwadmin_dbdocu' ) . "

    \n"; - $html .= '

    ' . wfMsg( 'smw_smwadmin_permissionswarn' ) . "

    \n" . - '' . - '
    ' . "\n"; - - $html .= '

    ' . wfMsg( 'smw_smwadmin_datarefresh' ) . "

    \n" . - '

    ' . wfMsg( 'smw_smwadmin_datarefreshdocu' ) . "

    \n"; - if ( !is_null( $refreshjob ) ) { - $prog = $refreshjob->getProgress(); - $html .= '

    ' . wfMsg( 'smw_smwadmin_datarefreshprogress' ) . "

    \n" . - '

     ' . round( $prog * 100, 4 ) . '%



    '; - if ( $smwgAdminRefreshStore ) { - $html .= - '
    ' . - '' . - ' ' . - ' ' . htmlspecialchars( wfMsg( 'smw_smwadmin_datarefreshstopconfirm' ) ) . - '
    ' . "\n"; - } - } elseif ( $smwgAdminRefreshStore ) { - $html .= - '
    ' . - '' . - '' . - '' . - '
    ' . "\n"; - } - - $html .= '

    ' . wfMsg( 'smw_smwadmin_announce' ) . "

    \n" . - '

    ' . wfMsg( 'smw_smwadmin_announcedocu' ) . "

    \n" . - '

    ' . wfMsg( 'smw_smwadmin_announcebutton' ) . "

    \n" . - '
    ' . - '' . - '' . - '
    ' . "\n"; - - $html .= '

    ' . wfMsg( 'smw_smwadmin_support' ) . "

    \n" . - '

    ' . wfMsg( 'smw_smwadmin_supportdocu' ) . "

    \n" . - "
      \n" . - '
    • ' . wfMsg( 'smw_smwadmin_installfile' ) . "
    • \n" . - '
    • ' . wfMsg( 'smw_smwadmin_smwhomepage' ) . "
    • \n" . - '
    • ' . wfMsg( 'smw_smwadmin_mediazilla' ) . "
    • \n" . - '
    • ' . wfMsg( 'smw_smwadmin_questions' ) . "
    • \n" . - "
    \n"; - - $wgOut->addHTML( $html ); - } - -} - diff --git a/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialBrowse.php b/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialBrowse.php deleted file mode 100644 index 039428c..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialBrowse.php +++ /dev/null @@ -1,455 +0,0 @@ -setHeaders(); - // get the GET parameters - $this->articletext = $wgRequest->getVal( 'article' ); - // no GET parameters? Then try the URL - if ( is_null( $this->articletext ) ) { - $params = SMWInfolink::decodeParameters( $query, false ); - reset( $params ); - $this->articletext = current( $params ); - } - - $this->subject = SMWDataValueFactory::newTypeIDValue( '_wpg', $this->articletext ); - $offsettext = $wgRequest->getVal( 'offset' ); - $this->offset = ( is_null( $offsettext ) ) ? 0 : intval( $offsettext ); - - $dir = $wgRequest->getVal( 'dir' ); - - if ( $smwgBrowseShowAll ) { - $this->showoutgoing = true; - $this->showincoming = true; - } - - if ( $dir === 'both' || $dir === 'in' ) { - $this->showincoming = true; - } - - if ( $dir === 'in' ) { - $this->showoutgoing = false; - } - - if ( $dir === 'out' ) { - $this->showincoming = false; - } - - $wgOut->addHTML( $this->displayBrowse() ); - SMWOutputs::commitToOutputPage( $wgOut ); // make sure locally collected output data is pushed to the output! - } - - /** - * Create and output HTML including the complete factbox, based on the extracted - * parameters in the execute comment. - * - * @return string A HTML string with the factbox - */ - private function displayBrowse() { - global $wgContLang, $wgOut; - $html = "\n"; - $leftside = !( $wgContLang->isRTL() ); // For right to left languages, all is mirrored - - if ( $this->subject->isValid() ) { - $wgOut->addStyle( '../extensions/SemanticMediaWiki/skins/SMW_custom.css' ); - - $html .= $this->displayHead(); - - if ( $this->showoutgoing ) { - $data = smwfGetStore()->getSemanticData( $this->subject->getDataItem() ); - $html .= $this->displayData( $data, $leftside ); - $html .= $this->displayCenter(); - } - - if ( $this->showincoming ) { - list( $indata, $more ) = $this->getInData(); - global $smwgBrowseShowInverse; - - if ( !$smwgBrowseShowInverse ) { - $leftside = !$leftside; - } - - $html .= $this->displayData( $indata, $leftside, true ); - $html .= $this->displayBottom( $more ); - } - - $this->articletext = $this->subject->getWikiValue(); - - // Add a bit space between the factbox and the query form - if ( !$this->including() ) { - $html .= "

     

    \n"; - } - } - - if ( !$this->including() ) { - $html .= $this->queryForm(); - } - - $wgOut->addHTML( $html ); - } - - /** - * Creates the HTML table displaying the data of one subject. - * - * @param[in] $data SMWSemanticData The data to be displayed - * @param[in] $left bool Should properties be displayed on the left side? - * @param[in] $incoming bool Is this an incoming? Or an outgoing? - * - * @return A string containing the HTML with the factbox - */ - private function displayData( SMWSemanticData $data, $left = true, $incoming = false ) { - // Some of the CSS classes are different for the left or the right side. - // In this case, there is an "i" after the "smwb-". This is set here. - $ccsPrefix = $left ? 'smwb-' : 'smwb-i'; - - $html = "\n"; - - $diProperties = $data->getProperties(); - $noresult = true; - foreach ( $diProperties as $key => $diProperty ) { - $dvProperty = SMWDataValueFactory::newDataItemValue( $diProperty, null ); - - if ( $dvProperty->isVisible() ) { - $dvProperty->setCaption( $this->getPropertyLabel( $dvProperty, $incoming ) ); - $proptext = $dvProperty->getShortHTMLText( smwfGetLinker() ) . "\n"; - } elseif ( $diProperty->getKey() == '_INST' ) { - $proptext = smwfGetLinker()->specialLink( 'Categories' ); - } elseif ( $diProperty->getKey() == '_REDI' ) { - $proptext = smwfGetLinker()->specialLink( 'Listredirects', 'isredirect' ); - } else { - continue; // skip this line - } - - $head = '\n"; - - $body = "\n"; - - // display row - $html .= "\n" . - ( $left ? ( $head . $body ):( $body . $head ) ) . "\n"; - $noresult = false; - } // end foreach properties - - if ( $noresult ) { - $html .= "\n"; - } - $html .= "
    ' . $proptext . "\n"; - - $values = $data->getPropertyValues( $diProperty ); - - if ( $incoming && ( count( $values ) >= SMWSpecialBrowse::$incomingvaluescount ) ) { - $moreIncoming = true; - array_pop( $values ); - } else { - $moreIncoming = false; - } - - $first = true; - foreach ( $values as /* SMWDataItem */ $di ) { - if ( $first ) { - $first = false; - } else { - $body .= ', '; - } - - if ( $incoming ) { - $dv = SMWDataValueFactory::newDataItemValue( $di, null ); - } else { - $dv = SMWDataValueFactory::newDataItemValue( $di, $diProperty ); - } - - $body .= "" . - $this->displayValue( $dvProperty, $dv, $incoming ) . "\n"; - } - - if ( $moreIncoming ) { // link to the remaining incoming pages: - $body .= Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'SearchByProperty' )->getLocalURL( array( - 'property' => $dvProperty->getWikiValue(), - 'value' => $this->subject->getWikiValue() - ) ) - ), - wfMsg( 'smw_browse_more' ) - ); - - } - - $body .= "
      " . - wfMsg( $incoming ? 'smw_browse_no_incoming':'smw_browse_no_outgoing' ) . "
    \n"; - return $html; - } - - /** - * Displays a value, including all relevant links (browse and search by property) - * - * @param[in] $property SMWPropertyValue The property this value is linked to the subject with - * @param[in] $value SMWDataValue The actual value - * @param[in] $incoming bool If this is an incoming or outgoing link - * - * @return string HTML with the link to the article, browse, and search pages - */ - private function displayValue( SMWPropertyValue $property, SMWDataValue $dataValue, $incoming ) { - $linker = smwfGetLinker(); - - $html = $dataValue->getLongHTMLText( $linker ); - - if ( $dataValue->getTypeID() == '_wpg' ) { - $html .= " " . SMWInfolink::newBrowsingLink( '+', $dataValue->getLongWikiText() )->getHTML( $linker ); - } elseif ( $incoming && $property->isVisible() ) { - $html .= " " . SMWInfolink::newInversePropertySearchLink( '+', $dataValue->getTitle(), $property->getDataItem()->getLabel(), 'smwsearch' )->getHTML( $linker ); - } else { - $html .= $dataValue->getInfolinkText( SMW_OUTPUT_HTML, $linker ); - } - - return $html; - } - - /** - * Displays the subject that is currently being browsed to. - * - * @return A string containing the HTML with the subject line - */ - private function displayHead() { - global $wgOut; - - $wgOut->setHTMLTitle( $this->subject->getTitle() ); - $html = "\n" . - "\n
    \n" . - $this->subject->getLongHTMLText( smwfGetLinker() ) . "\n" . - "
    \n"; - - return $html; - } - - /** - * Creates the HTML for the center bar including the links with further navigation options. - * - * @return string HTMl with the center bar - */ - private function displayCenter() { - return "\n" . - "\n" . - "\n" . "
    \n" . - ( $this->showincoming ? - $this->linkHere( wfMsg( 'smw_browse_hide_incoming' ), true, false, 0 ): - $this->linkHere( wfMsg( 'smw_browse_show_incoming' ), true, true, $this->offset ) ) . - " \n" . "
    \n"; - } - - /** - * Creates the HTML for the bottom bar including the links with further navigation options. - * - * @param[in] $more bool Are there more inproperties to be displayed? - * @return string HTMl with the bottom bar - */ - private function displayBottom( $more ) { - $html = "\n" . - "\n" . "
    \n"; - global $smwgBrowseShowAll; - if ( !$smwgBrowseShowAll ) { - if ( ( $this->offset > 0 ) || $more ) { - $offset = max( $this->offset - SMWSpecialBrowse::$incomingpropertiescount + 1, 0 ); - $html .= ( $this->offset == 0 ) ? wfMsg( 'smw_result_prev' ): - $this->linkHere( wfMsg( 'smw_result_prev' ), $this->showoutgoing, true, $offset ); - $offset = $this->offset + SMWSpecialBrowse::$incomingpropertiescount - 1; - $html .= "     " . wfMsg( 'smw_result_results' ) . " " . ( $this->offset + 1 ) . - " – " . ( $offset ) . "     "; - $html .= $more ? $this->linkHere( wfMsg( 'smw_result_next' ), $this->showoutgoing, true, $offset ):wfMsg( 'smw_result_next' ); - } - } - $html .= " \n" . "
    \n"; - return $html; - } - - /** - * Creates the HTML for a link to this page, with some parameters set. - * - * @param[in] $text string The anchor text for the link - * @param[in] $out bool Should the linked to page include outgoing properties? - * @param[in] $in bool Should the linked to page include incoming properties? - * @param[in] $offset int What is the offset for the incoming properties? - * - * @return string HTML with the link to this page - */ - private function linkHere( $text, $out, $in, $offset ) { - $frag = ( $text == wfMsg( 'smw_browse_show_incoming' ) ) ? '#smw_browse_incoming' : ''; - - return Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'Browse' )->getLocalURL( array( - 'offset' => $offset, - 'dir' => $out ? ( $in ? 'both' : 'out' ) : 'in', - 'article' => $this->subject->getLongWikiText() - ) ) . $frag - ), - $text - ); - } - - /** - * Creates a Semantic Data object with the incoming properties instead of the - * usual outproperties. - * - * @return array(SMWSemanticData, bool) The semantic data including all inproperties, and if there are more inproperties left - */ - private function getInData() { - $indata = new SMWSemanticData( $this->subject->getDataItem() ); - $options = new SMWRequestOptions(); - $options->sort = true; - $options->limit = SMWSpecialBrowse::$incomingpropertiescount; - if ( $this->offset > 0 ) $options->offset = $this->offset; - - $inproperties = smwfGetStore()->getInProperties( $this->subject->getDataItem(), $options ); - - if ( count( $inproperties ) == SMWSpecialBrowse::$incomingpropertiescount ) { - $more = true; - array_pop( $inproperties ); // drop the last one - } else { - $more = false; - } - - $valoptions = new SMWRequestOptions(); - $valoptions->sort = true; - $valoptions->limit = SMWSpecialBrowse::$incomingvaluescount; - - foreach ( $inproperties as $property ) { - $values = smwfGetStore()->getPropertySubjects( $property, $this->subject->getDataItem(), $valoptions ); - foreach ( $values as $value ) { - $indata->addPropertyObjectValue( $property, $value ); - } - } - - return array( $indata, $more ); - } - - /** - * Figures out the label of the property to be used. For outgoing ones it is just - * the text, for incoming ones we try to figure out the inverse one if needed, - * either by looking for an explicitly stated one or by creating a default one. - * - * @param[in] $property SMWPropertyValue The property of interest - * @param[in] $incoming bool If it is an incoming property - * - * @return string The label of the property - */ - private function getPropertyLabel( SMWPropertyValue $property, $incoming = false ) { - global $smwgBrowseShowInverse; - - if ( $incoming && $smwgBrowseShowInverse ) { - $oppositeprop = SMWPropertyValue::makeUserProperty( wfMsg( 'smw_inverse_label_property' ) ); - $labelarray = &smwfGetStore()->getPropertyValues( $property->getDataItem()->getDiWikiPage(), $oppositeprop->getDataItem() ); - $rv = ( count( $labelarray ) > 0 ) ? $labelarray[0]->getLongWikiText(): - wfMsg( 'smw_inverse_label_default', $property->getWikiValue() ); - } else { - $rv = $property->getWikiValue(); - } - - return $this->unbreak( $rv ); - } - - /** - * Creates the query form in order to quickly switch to a specific article. - * - * @return A string containing the HTML for the form - */ - private function queryForm() { - self::addAutoComplete(); - $title = SpecialPage::getTitleFor( 'Browse' ); - return '
    ' . "\n" . - ' ' . - wfMsg( 'smw_browse_article' ) . "
    \n" . - ' ' . "\n" . - ' \n" . - "
    \n"; - } - - /** - * Creates the JS needed for adding auto-completion to queryForm(). Uses the - * MW API to fetch suggestions. - */ - private static function addAutoComplete() { - SMWOutputs::requireResource( 'jquery.ui.autocomplete' ); - - $javascript_autocomplete_text = << -jQuery(document).ready(function(){ - jQuery("#page_input_box").autocomplete({ - minLength: 3, - source: function(request, response) { - jQuery.getJSON(wgScriptPath+'/api.php?action=opensearch&limit=10&namespace=0&format=jsonfm&search='+request.term, function(data){ - response(data[1]); - }); - } - }); -}); - - -END; - - SMWOutputs::requireScript( 'smwAutocompleteSpecialBrowse', $javascript_autocomplete_text ); - } - - /** - * Replace the last two space characters with unbreakable spaces for beautification. - * - * @param[in] $text string Text to be transformed. Does not need to have spaces - * @return string Transformed text - */ - private function unbreak( $text ) { - $nonBreakingSpace = html_entity_decode( ' ', ENT_NOQUOTES, 'UTF-8' ); - $text = preg_replace( '/[\s]/u', $nonBreakingSpace, $text, - 1, $count ); - return $count > 2 ? preg_replace( '/($nonBreakingSpace)/u', ' ', $text, max( 0, $count - 2 ) ):$text; - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialPageProperty.php b/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialPageProperty.php deleted file mode 100644 index 01792ac..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialPageProperty.php +++ /dev/null @@ -1,161 +0,0 @@ -setHeaders(); - - // Get parameters - $pagename = $wgRequest->getVal( 'from' ); - $propname = $wgRequest->getVal( 'type' ); - $limit = $wgRequest->getVal( 'limit' ); - $offset = $wgRequest->getVal( 'offset' ); - - if ( $limit === '' ) $limit = 20; - if ( $offset === '' ) $offset = 0; - - if ( $propname === '' ) { // No GET parameters? Try the URL: - $queryparts = explode( '::', $query ); - $propname = $query; - if ( count( $queryparts ) > 1 ) { - $pagename = $queryparts[0]; - $propname = implode( '::', array_slice( $queryparts, 1 ) ); - } - } - - $subject = SMWDataValueFactory::newTypeIDValue( '_wpg', $pagename ); - $pagename = $subject->isValid() ? $subject->getPrefixedText() : ''; - $property = SMWPropertyValue::makeUserProperty( $propname ); - $propname = $property->isValid() ? $property->getWikiValue() : ''; - - // Produce output - $html = ''; - if ( ( $propname === '' ) ) { // no property given, show a message - $html .= wfMsg( 'smw_pp_docu' ) . "\n"; - } else { // property given, find and display results - // FIXME: very ugly, needs i18n - $wgOut->setPagetitle( ( $pagename !== '' ? $pagename . ' ':'' ) . $property->getWikiValue() ); - - // get results (get one more, to see if we have to add a link to more) - $options = new SMWRequestOptions(); - $options->limit = $limit + 1; - $options->offset = $offset; - $options->sort = true; - $results = smwfGetStore()->getPropertyValues( $pagename !== '' ? $subject->getDataItem() : null, $property->getDataItem(), $options ); - - // prepare navigation bar if needed - if ( ( $offset > 0 ) || ( count( $results ) > $limit ) ) { - if ( $offset > 0 ) { - $navigation = Html::element( - 'a', - array( - 'href' => $this->getTitle()->getLocalURL( array( - 'offset' => max( 0, $offset - $limit ), - 'limit' => $limit, - 'type' => $propname, - 'from' => $pagename - ) ) - ), - wfMsg( 'smw_result_prev' ) - ); - } else { - $navigation = wfMsg( 'smw_result_prev' ); - } - - $navigation .= - '     ' . - wfMsg( 'smw_result_results' ) . ' ' . - ( $offset + 1 ) . '– ' . ( $offset + min( count( $results ), $limit ) ) . - '    '; - - if ( count( $results ) == ( $limit + 1 ) ) { - $navigation = Html::element( - 'a', - array( - 'href' => $this->getTitle()->getLocalURL( array( - 'offset' => ( $offset + $limit ), - 'limit' => $limit, - 'type' => $propname, - 'from' => $pagename - ) ) - ), - wfMsg( 'smw_result_next' ) - ); - } else { - $navigation .= wfMsg( 'smw_result_next' ); - } - } else { - $navigation = ''; - } - - // display results - $html .= '
    ' . $navigation; - if ( count( $results ) == 0 ) { - $html .= wfMsg( 'smw_result_noresults' ); - } else { - $html .= "
      \n"; - $count = $limit + 1; - - foreach ( $results as $di ) { - $count--; - if ( $count < 1 ) continue; - - $dv = SMWDataValueFactory::newDataItemValue( $di, $property->getDataItem() ); - $html .= '
    • ' . $dv->getLongHTMLText( $linker ); // do not show infolinks, the magnifier "+" is ambiguous with the browsing '+' for '_wpg' (see below) - - if ( $property->getDataItem()->findPropertyTypeID() == '_wpg' ) { - $browselink = SMWInfolink::newBrowsingLink( '+', $dv->getLongWikiText() ); - $html .= '  ' . $browselink->getHTML( $linker ); - } - - $html .= "
    • \n"; - } - - $html .= "
    \n"; - } - - $html .= $navigation; - } - - // Display query form - $spectitle = $this->getTitle(); - $html .= '

     

    '; - $html .= '
    ' . "\n" . - '' ; - $html .= wfMsg( 'smw_pp_from' ) . ' ' . "   \n"; - $html .= wfMsg( 'smw_pp_type' ) . ' ' . "\n"; - $html .= '\n
    \n"; - - $wgOut->addHTML( $html ); - SMWOutputs::commitToOutputPage( $wgOut ); // make sure locally collected output data is pushed to the output! - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialSearchByProperty.php b/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialSearchByProperty.php deleted file mode 100644 index 65ac82e..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/SearchTriple/SMW_SpecialSearchByProperty.php +++ /dev/null @@ -1,448 +0,0 @@ -setHeaders(); - - // get the GET parameters - $this->propertystring = $wgRequest->getText( 'property' ); - $this->valuestring = $wgRequest->getText( 'value' ); - - $params = SMWInfolink::decodeParameters( $query, false ); - reset( $params ); - - // no GET parameters? Then try the URL - if ( $this->propertystring === '' ) $this->propertystring = current( $params ); - if ( $this->valuestring === '' ) $this->valuestring = next( $params ); - - $this->valuestring = str_replace( ' ', ' ', $this->valuestring ); - $this->valuestring = str_replace( ' ', ' ', $this->valuestring ); - - $this->property = SMWPropertyValue::makeUserProperty( $this->propertystring ); - if ( !$this->property->isValid() ) { - $this->propertystring = ''; - } else { - $this->propertystring = $this->property->getWikiValue(); - $this->value = SMWDataValueFactory::newPropertyObjectValue( $this->property->getDataItem(), $this->valuestring ); - - if ( $this->value->isValid() ) { - $this->valuestring = $this->value->getWikiValue(); - } else { - $this->value = null; - } - } - - $limitstring = $wgRequest->getVal( 'limit' ); - if ( is_numeric( $limitstring ) ) { - $this->limit = intval( $limitstring ); - } - - $offsetstring = $wgRequest->getVal( 'offset' ); - if ( is_numeric( $offsetstring ) ) { - $this->offset = intval( $offsetstring ); - } - - $wgOut->addHTML( $this->displaySearchByProperty() ); - $wgOut->addHTML( $this->queryForm() ); - - SMWOutputs::commitToOutputPage( $wgOut ); // make sure locally collected output data is pushed to the output! - } - - /** - * Returns the HTML for the complete search by property. - * - * @return string HTML of the search by property function - */ - private function displaySearchByProperty() { - global $wgOut, $smwgSearchByPropertyFuzzy; - $linker = smwfGetLinker(); - - if ( $this->propertystring === '' ) { - return '

    ' . wfMsg( 'smw_sbv_docu' ) . "

    \n"; - } - - if ( ( $this->value == null ) || !$this->value->isValid() ) { - return '

    ' . wfMsg( 'smw_sbv_novalue', $this->property->getShortHTMLText( $linker ) ) . "

    \n"; - } - - $wgOut->setPagetitle( $this->property->getWikiValue() . ' ' . $this->value->getShortHTMLText( null ) ); - $html = ''; - - $exact = $this->getExactResults(); - $count = count( $exact ); - - if ( ( $count < ( $this->limit / 3 ) ) && ( $this->value->isNumeric() ) && $smwgSearchByPropertyFuzzy ) { - $greater = $this->getNearbyResults( $count, true ); - $lesser = $this->getNearbyResults( $count, false ); - - // Calculate how many greater and lesser results should be displayed - $cG = count( $greater ); - $cL = count( $lesser ); - - if ( ( $cG + $cL + $count ) > $this->limit ) { - $l = $this->limit - $count; - $lhalf = round( $l / 2 ); - - if ( $lhalf < $cG ) { - if ( $lhalf < $cL ) { - $cL = $lhalf; $cG = $lhalf; - } else { - $cG = $this->limit - ( $count + $cL ); - } - } else { - $cL = $this->limit - ( $count + $cG ); - } - } - - if ( ( $cG + $cL + $count ) == 0 ) - $html .= wfMsg( 'smw_result_noresults' ); - else { - $html .= wfMsg( 'smw_sbv_displayresultfuzzy', $this->property->getShortHTMLText( $linker ), $this->value->getShortHTMLText( $linker ) ) . "
    \n"; - $html .= $this->displayResults( $lesser, $cL, false ); - - if ( $count == 0 ) { - $html .= "          (" . $this->value->getLongHTMLText() . ")\n"; - } else { - $html .= $this->displayResults( $exact, $count, true, true ); - } - - $html .= $this->displayResults( $greater, $cG ); - } - } else { - $html .= wfMsg( 'smw_sbv_displayresult', $this->property->getShortHTMLText( $linker ), $this->value->getShortHTMLText( $linker ) ) . "
    \n"; - - if ( 0 == $count ) { - $html .= wfMsg( 'smw_result_noresults' ); - } else { - $navi = $this->getNavigationBar( $count ); - if ( ( $this->offset > 0 ) || ( $count > $this->limit ) ) $html .= $navi; - $html .= $this->displayResults( $exact, $this->limit ); - if ( ( $this->offset > 0 ) || ( $count > $this->limit ) ) $html .= $navi; - } - } - - $html .= '

     

    '; - - return $html; - } - - /** - * Creates the HTML for a bullet list with all the results of the set query. - * - * @param[in] $results array of array of SMWWikiPageValue, SMWDataValue The entity and its datavalue - * @param[in] $number int How many results should be displayed? -1 for all - * @param[in] $first bool If less results should be displayed than given, should they show the first $number results, or the last $number results? - * @param[in] $highlight bool Should the results be highlighted? - * - * @return string HTML with the bullet list and a header - */ - private function displayResults( $results, $number = -1, $first = true, $highlight = false ) { - $html = "
      \n"; - - if ( !$first && ( $number > 0 ) ) { - // TODO: why is this reversed? - // I (jeroendedauw) replaced a loop using array_shift by this, which is equivalent. - $results = array_slice( array_reverse( $results ), 0, $number ); - } - - while ( $results && $number != 0 ) { - $result = array_shift( $results ); - - $html .= '
    • ' . $result[0]->getLongHTMLText( smwfGetLinker() ); - - if ( $result[0]->getTypeID() == '_wpg' ) { - $html .= '  ' . SMWInfolink::newBrowsingLink( '+', $result[0]->getLongWikiText() )->getHTML( smwfGetLinker() ); - } - - if ( array_key_exists( 1, $result ) && is_object( $result[1] ) && ( ( $this->value != $result[1] ) || $highlight ) ) { - $html .= " (" . $result[1]->getLongHTMLText( smwfGetLinker() ) . ")"; - } - - $html .= "
    • "; - - if ( $highlight ) { - $html = "" . $html . ""; - } - - $html .= "\n"; - $number--; - } - - $html .= "
    \n"; - - return $html; - } - - /** - * Creates the HTML for a Navigation bar for too many results. - * Most of the parameters are taken from the object members. - * - * @param[in] $count int How many results are currently displayed? - * @return string HTML with the navigation bar - */ - private function getNavigationBar( $count ) { - global $smwgQMaxInlineLimit; - - if ( $this->offset > 0 ) { - $navigation = Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'SearchByProperty' )->getLocalURL( array( - 'offset' => max( 0, $this->offset - $this->limit ), - 'limit' => $this->limit, - 'property' => $this->property->getWikiValue(), - 'value' => $this->value->getWikiValue() - ) ) - ), - wfMsg( 'smw_result_prev' ) - ); - } - else { - $navigation = wfMsg( 'smw_result_prev' ); - } - - $navigation .= - '     ' . - wfMsg( 'smw_result_results' ) . ' ' . - ( $this->offset + 1 ) . '– ' . - ( $this->offset + min( $count, $this->limit ) ) . - '    '; - - if ( $count > $this->limit ) { - $navigation .= Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'SearchByProperty' )->getLocalURL( array( - 'offset' => $this->offset + $this->limit, - 'limit' => $this->limit, - 'property' => $this->property->getWikiValue(), - 'value' => $this->value->getWikiValue() - ) ) - ), - wfMsg( 'smw_result_next' ) - ); - } else { - $navigation .= wfMsg( 'smw_result_next' ); - } - - $max = false; - $first = true; - - foreach ( array( 20, 50, 100, 250, 500 ) as $l ) { - if ( $max ) continue; - - if ( $first ) { - $navigation .= '        ('; - $first = false; - } else { - $navigation .= ' ' . wfMsgExt( 'pipe-separator' , 'escapenoentities' ) . ' '; - } - - if ( $l > $smwgQMaxInlineLimit ) { - $l = $smwgQMaxInlineLimit; - $max = true; - } - - if ( $this->limit != $l ) { - $navigation .= Html::element( - 'a', - array( - 'href' => SpecialPage::getSafeTitleFor( 'SearchByProperty' )->getLocalURL( array( - 'offset' => $this->offset, - 'limit' => $l, - 'property' => $this->property->getWikiValue(), - 'value' => $this->value->getWikiValue() - ) ) - ), - $l - ); - } else { - $navigation .= '' . $l . ''; - } - } - - $navigation .= ')'; - - return $navigation; - } - - /** - * Returns all results that have exactly the value on the property. - * - * @return array of array of SMWWikiPageValue, SMWDataValue with the first being the entity, and the second the value - */ - private function getExactResults() { - $options = new SMWRequestOptions(); - $options->limit = $this->limit + 1; - $options->offset = $this->offset; - $options->sort = true; - - $res = smwfGetStore()->getPropertySubjects( $this->property->getDataItem(), $this->value->getDataItem(), $options ); - $results = array(); - - foreach ( $res as $result ) { - array_push( $results, array( - SMWDataValueFactory::newDataItemValue( $result, null ), - $this->value - ) ); - } - - return $results; - } - - /** - * Returns all results that have a value near to the searched for value - * on the property, ordered, and sorted by ending with the smallest one. - * - * @param[in] $count int How many entities have the exact same value on the property? - * @param[in] $greater bool Should the values be bigger? Set false for smaller values - * - * @return array of array of SMWWikiPageValue, SMWDataValue with the first being the entity, and the second the value - */ - private function getNearbyResults( $count, $greater = true ) { - $options = new SMWRequestOptions(); - $options->limit = $this->limit + 1; - $options->sort = true; - - // Note: printrequests change the caption of properties they get (they expect properties to be given to them) - // Since we want to continue using the property for our purposes, we give a clone to the print request. - $printrequest = new SMWPrintRequest( SMWPrintRequest::PRINT_PROP, '', clone $this->property ); - - $params = array(); - $params['format'] = 'ul'; - $params['sort'] = $this->propertystring; - $params['order'] = 'DESC'; - if ( $greater ) $params['order'] = 'ASC'; - $cmp = '<'; - if ( $greater ) $cmp = '>'; - - $querystring = '[[' . $this->propertystring . '::' . $cmp . $this->valuestring . ']]'; - - $printouts = array( $printrequest ); - - SMWQueryProcessor::addThisPrintout( $printouts, $params ); - $params = SMWQueryProcessor::getProcessedParams( $params, $printouts ); - $queryobj = SMWQueryProcessor::createQuery( $querystring, $params, SMWQueryProcessor::SPECIAL_PAGE, 'ul', $printouts ); - $queryobj->querymode = SMWQuery::MODE_INSTANCES; - $queryobj->setLimit( $this->limit ); - $queryobj->setOffset( $count ); - - $results = smwfGetStore()->getQueryResult( $queryobj ); - - /* array of SMWResultArray */ $result = $results->getNext(); - $ret = array(); - - while ( $result ) { - $r = array( $result[0]->getNextDataValue() ); - - if ( array_key_exists( 1, $result ) ) { - $r[] = $result[1]->getNextDataValue(); - } - - $ret[] = $r; - - $result = $results->getNext(); - } - - if ( !$greater ) { - $ret = array_reverse( $ret ); - } - - return $ret; - } - - /** - * Creates the HTML for the query form for this special page. - * - * @return string HTML for the query form - */ - private function queryForm() { - self::addAutoComplete(); - $spectitle = SpecialPage::getTitleFor( 'SearchByProperty' ); - $html = '
    ' . "\n" . - '' ; - $html .= wfMsg( 'smw_sbv_property' ) . ' ' . "   \n"; - $html .= wfMsg( 'smw_sbv_value' ) . ' ' . "\n"; - $html .= '\n
    \n"; - - return $html; - } - - /** - * Creates the JS needed for adding auto-completion to queryForm(). Uses the - * MW API to fetch suggestions. - * - */ - protected static function addAutoComplete() { - SMWOutputs::requireResource( 'jquery.ui.autocomplete' ); - - $javascript_autocomplete_text = << -jQuery(document).ready(function(){ - jQuery("#property_box").autocomplete({ - minLength: 2, - source: function(request, response) { - jQuery.getJSON(wgScriptPath+'/api.php?action=opensearch&limit=10&namespace='+wgNamespaceIds['property']+'&format=jsonfm&search='+request.term, function(data){ - //remove the word 'Property:' from returned data - for(i=0;i - -END; - - SMWOutputs::requireScript( 'smwAutocompleteSpecialSearchByProperty', $javascript_autocomplete_text ); - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/Statistics/SMW_SpecialStatistics.php b/documentacion/extensions/SemanticMediaWiki/specials/Statistics/SMW_SpecialStatistics.php deleted file mode 100644 index 8f4fb0b..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/Statistics/SMW_SpecialStatistics.php +++ /dev/null @@ -1,45 +0,0 @@ -setPageTitle( wfMsg( 'semanticstatistics' ) ); - - $semanticStatistics = smwfGetStore()->getStatistics(); - - $dbr = wfGetDB( DB_SLAVE ); - - $propertyPageAmount = $dbr->estimateRowCount( - 'page', - '*', - array( - 'page_namespace' => SMW_NS_PROPERTY - ) - ); - - $out = wfMsgExt( 'smw_semstats_text', array( 'parse' ), - $wgLang->formatNum( $semanticStatistics['PROPUSES'] ), $wgLang->formatNum( $semanticStatistics['USEDPROPS'] ), - $wgLang->formatNum( $propertyPageAmount ), $wgLang->formatNum( $semanticStatistics['DECLPROPS'] ) - ); - - $wgOut->addHTML( $out ); - } - -} diff --git a/documentacion/extensions/SemanticMediaWiki/specials/URIResolver/SMW_SpecialURIResolver.php b/documentacion/extensions/SemanticMediaWiki/specials/URIResolver/SMW_SpecialURIResolver.php deleted file mode 100644 index 144ca65..0000000 --- a/documentacion/extensions/SemanticMediaWiki/specials/URIResolver/SMW_SpecialURIResolver.php +++ /dev/null @@ -1,52 +0,0 @@ -redirect( SpecialPage::getTitleFor( 'ExportRDF' )->getFullURL( 'stats=1' ), '303' ); - } else { - $this->setHeaders(); - $wgOut->addHTML( '

    ' . wfMsg( 'smw_uri_doc' ) . "

    " ); - } - } else { - $query = SMWExporter::decodeURI( $query ); - $query = str_replace( "_", "%20", $query ); - $query = urldecode( $query ); - $title = Title::newFromText( $query ); - - $wgOut->redirect( stristr( $_SERVER['HTTP_ACCEPT'], 'RDF' ) - ? SpecialPage::getTitleFor( 'ExportRDF', $title->getPrefixedText() )->getFullURL( 'xmlmime=rdf' ) - : $title->getFullURL(), '303' ); - } - - wfProfileOut( 'SpecialURIResolver::execute (SMW)' ); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/SMWSeleniumTestSuite.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/SMWSeleniumTestSuite.php deleted file mode 100644 index 40b71de..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/SMWSeleniumTestSuite.php +++ /dev/null @@ -1,55 +0,0 @@ - Empty wiki (pages may also have been deleted, simply) - * => Vector Skin - * - * @author Benedikt Kämpgen, Jonas Wäckerle - * - */ -class SMWSeleniumTestSuite extends SeleniumTestSuite -{ - public function setUp() { - $this->setLoginBeforeTests( true ); - parent::setUp(); - } - public function addTests() { - $testFiles = array( - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/AvoidPropertyCreationTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CreatePropertyPageTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineAllowedValuesTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineTypeOfPropertyTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/MakePropertySubpropertyOfAnotherOneTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertiesListedOnSpecialPageTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertyTypePageIsDefaultTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithNumericValueTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithStringValueTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ShowFactboxTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/UnusedPropertiesOnSpecialPageTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/WantedPropertiesOnSpecialPageTestCase.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildChainOfPropertiesInAQuery.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/EmbedValueWithShowParserFunction.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshLinkForEveryPage.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyAnnotationByWildcard.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyValue.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshInlineQuery.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildInTypeNumber.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ChangeSeparatorForTypeNumber.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CopyQuerySyntaxFromSpecialAsk.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSearchByProperty.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSpecialBrowse.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxShowsProperties.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SpecialAskProvidesGUIForQueries.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ViewValuesOfPropertyOnSpecialPage.php', - 'extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/AnnotatePageWithProperty.php' - - ); - parent::addTestFiles( $testFiles ); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/TemplateTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/TemplateTestCase.php deleted file mode 100644 index cbada39..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/TemplateTestCase.php +++ /dev/null @@ -1,35 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPerson Judith Silver"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPerson Judith Silver"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. __SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->open($this->getUrl() ."index.php/TestPerson_Judith_Silver"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. __SHOWFACTBOX__\n[[Favored drink::Martini]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Favored drink")); - - - $this->assertTrue($this->isElementPresent("//div[@id='mw-data-after-content']/div/table/tbody/tr/td[2]/a")); - - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Martini")); - - } - - public function testTest02() { - $this->open($this->getUrl() ."index.php/TestPerson_Judith_Silver"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]\n{{#set:Favored pizza=Funghi|Favored pasta=Aglio e Oglio}}"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertFalse($this->isTextPresent("pizza")); - - - $this->assertFalse($this->isTextPresent("Funghi")); - - - $this->assertFalse($this->isTextPresent("pasta")); - - - $this->assertFalse($this->isTextPresent("Aglio e Oglio")); - - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]\n{{#set:Favored pizza=Funghi|Favored pasta=Aglio e Oglio}}\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Favored pasta")); - - - $this->assertTrue($this->isElementPresent("link=Favored pizza")); - - - $this->assertTrue($this->isElementPresent("link=Aglio e Oglio")); - - - $this->assertTrue($this->isElementPresent("link=Funghi")); - - } - - public function testTest03() { - $this->open($this->getUrl() ."index.php/TestPerson_Judith_Silver"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]\n{{#set:Favored pizza=Funghi|Favored pasta=Aglio e Oglio}}\n__SHOWFACTBOX__\n[[Is child of::Margareth Silver|Maggie Silver]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Maggie Silver")); - - - $this->assertTrue($this->isElementPresent("link=Margareth Silver")); - - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]\n{{#set:Favored pizza=Funghi|Favored pasta=Aglio e Oglio}}\n[[Is child of::Margareth Silver|Maggie Silver]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Maggie Silver")); - - - $this->assertFalse($this->isElementPresent("link=Margareth Silver")); - - } - - public function testTest04() { - $this->open($this->getUrl() ."index.php/TestPerson_Judith_Silver"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]\n{{#set:Favored pizza=Funghi|Favored pasta=Aglio e Oglio}}\n[[Is child of::Margareth Silver|Maggie Silver]]\n[[Is working for::Drives car from::Toyota]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - try { - $this->assertTrue($this->isElementPresent("link=Toyota")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - //array_push($this->verificationErrors, $e->toString()); - } - try { - $this->assertFalse($this->isElementPresent("link=Drives car from")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - //array_push($this->verificationErrors, $e->toString()); - } - try { - $this->assertFalse($this->isElementPresent("link=Is working for")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - //array_push($this->verificationErrors, $e->toString()); - } - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]\n{{#set:Favored pizza=Funghi|Favored pasta=Aglio e Oglio}}\n[[Is child of::Margareth Silver|Maggie Silver]]\n[[Is working for::Drives car from::Toyota]]\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - try { - $this->assertTrue($this->isElementPresent("link=Drives car from")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - //array_push($this->verificationErrors, $e->toString()); - } - try { - $this->assertTrue($this->isElementPresent("link=Is working for")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - //array_push($this->verificationErrors, $e->toString()); - } - } - - public function testTest05() { - $this->open($this->getUrl() ."index.php/TestPerson_Judith_Silver"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "Some text for Judith. \n[[Favored drink::Martini]]\n{{#set:Favored pizza=Funghi|Favored pasta=Aglio e Oglio}}\n[[Is child of::Margareth Silver|Maggie Silver]]\n[[Is working for::Drives car from::Toyota]]\n__SHOWFACTBOX__\n[[Lives together with::Jeremy Green-White]] [[Lives together with::Julia Pink-Red]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Lives together with")); - - - $this->assertTrue($this->isElementPresent("//div[@id='mw-data-after-content']/div/table/tbody/tr[7]/td[2]/a[1]")); - - - $this->assertTrue($this->isElementPresent("//div[@id='mw-data-after-content']/div/table/tbody/tr[7]/td[2]/a[2]")); - - - $this->assertTrue($this->isTextPresent("and")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/TestPerson_Judith_Silver"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/AvoidPropertyCreationTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/AvoidPropertyCreationTestCase.php deleted file mode 100644 index 66282ae..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/AvoidPropertyCreationTestCase.php +++ /dev/null @@ -1,40 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "AvoidPropertyCreationTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=AvoidPropertyCreationTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "This is a test page.\n\n[[:Avoid::Property]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function testTest() - { - $this->open($this->getUrl() ."index.php/AvoidPropertyCreationTest"); - - $this->assertEquals("Avoid::Property", $this->getText("link=exact:Avoid::Property")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/AvoidPropertyCreationTest"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildChainOfPropertiesInAQuery.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildChainOfPropertiesInAQuery.php deleted file mode 100644 index 91604e2..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildChainOfPropertiesInAQuery.php +++ /dev/null @@ -1,104 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Testing person Michael Green"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Testing person Michael Green"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[In love with::Testing person Laura Blue]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->click("link=Testing person Laura Blue"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[Daughter of::Testing person Jimmy Red]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Testing person Sarah Yellow"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Testing person Sarah Yellow"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[In love with::Testing person Denise Grey]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->click("link=Testing person Denise Grey"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[Daughter of::Testing person Jimmy Red]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Testing person Mary Pink"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Testing person Mary Pink"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[In love with::Testing person Jimmy Red]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function testTest() -{ - $this->open($this->getUrl() ."index.php/Special:Ask"); - $this->type("q", "[[In love with.Daughter of::Testing person Jimmy Red]]"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("30000"); - try { - $this->assertTrue($this->isTextPresent("Testing person Michael Green")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $e->toString()); - } - try { - $this->assertTrue($this->isTextPresent("Testing person Sarah Yellow")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $e->toString()); - } - try { - $this->assertFalse($this->isTextPresent("Testing person Mary Pink")); - } catch (PHPUnit_Framework_AssertionFailedError $e) { - array_push($this->verificationErrors, $e->toString()); - } - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Testing person Michael Green"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - - $this->open($this->getUrl() ."index.php/Testing person Laura Blue"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - - $this->open($this->getUrl() ."index.php/Testing person Sarah Yellow"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - - $this->open($this->getUrl() ."index.php/Testing person Denise Grey"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - - $this->open($this->getUrl() ."index.php/Testing person Mary Pink"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildInTypeNumber.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildInTypeNumber.php deleted file mode 100644 index 163e262..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuildInTypeNumber.php +++ /dev/null @@ -1,100 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:AnyNewNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=exact:Property:AnyNewNumber"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[Has type::Number]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestAnyNewNumber1"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestAnyNewNumber1"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[AnyNewNumber::445000]] __SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestAnyNewNumber2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestAnyNewNumber2"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[AnyNewNumber::445 000]] __SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function test01() - { - $this->open($this->getUrl() ."index.php/TestAnyNewNumber2"); - - $this->assertTrue($this->isTextPresent("445,000")); - - $this->open($this->getUrl() ."index.php/TestAnyNewNumber1"); - - $this->assertTrue($this->isTextPresent("445,000")); - - } - - public function test02() - { - $this->open($this->getUrl() ."index.php/Special:Ask"); - $this->type("q", "[[AnyNewNumber::445,000]]"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=TestAnyNewNumber1")); - - - $this->assertTrue($this->isElementPresent("link=TestAnyNewNumber2")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/TestAnyNewNumber1"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestAnyNewNumber2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "Property:AnyNewNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuiltInTypeString.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuiltInTypeString.php deleted file mode 100644 index c817feb..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/BuiltInTypeString.php +++ /dev/null @@ -1,70 +0,0 @@ -open("/bka/SeleniumSMW_AUT/SeleniumSMW/index.php/Main_Page"); - $this->type("searchInput", "ABoldString"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=ABoldString"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[TestAnyString::This is a longer text with some '''bold''' characters| ]] __SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=This is a longer text with some bold characters")); - - $this->click("link=TestAnyString"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[Has type::String]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->open("/bka/SeleniumSMW_AUT/SeleniumSMW/index.php/ABoldString"); - - $this->assertTrue($this->isTextPresent("This is a longer text with some bold characters")); - - - $this->assertFalse($this->isElementPresent("link=This is a longer text with some bold characters")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open("/bka/SeleniumSMW_AUT/SeleniumSMW/index.php/ABoldString"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "Property:TestAnyString"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ChangeSeparatorForTypeNumber.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ChangeSeparatorForTypeNumber.php deleted file mode 100644 index 5925235..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ChangeSeparatorForTypeNumber.php +++ /dev/null @@ -1,113 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:AnyNewNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=exact:Property:AnyNewNumber"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[Has type::Number]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "Property:AnyOtherNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=exact:Property:AnyOtherNumber"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[Has type::Number]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestAnyNewNumber1"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestAnyNewNumber1"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[AnyNewNumber::445000.000]] __SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isTextPresent("445,000")); - - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->open($this->getUrl() ."index.php/MediaWiki:Smw_kiloseparator"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "."); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "MediaWiki:Smw_decseparator"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", ","); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - public function testTest2() - { - $this->open($this->getUrl() ."index.php/TestAnyNewNumber1"); - - $this->assertTrue($this->isTextPresent("445.000.000")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/TestAnyNewNumber1"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "Property:AnyNewNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "Property:AnyOtherNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->open($this->getUrl() ."index.php/MediaWiki:Smw_kiloseparator"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->open($this->getUrl() ."index.php/MediaWiki:smw_decseparator"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CopyQuerySyntaxFromSpecialAsk.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CopyQuerySyntaxFromSpecialAsk.php deleted file mode 100644 index b365313..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CopyQuerySyntaxFromSpecialAsk.php +++ /dev/null @@ -1,51 +0,0 @@ -open($this->getUrl() ."index.php/Special:Ask"); - $this->type("q", "[["); - $this->type("q", "[[We want::to test]]\n[[The query::syntax]]\n[[Category:Test case]]"); - $this->type("add_property", "?Question\n?Mark"); - $this->click("link=[Add sorting condition]"); - $this->type("sort[0]", "?Mark"); - $this->select("formatSelector", "label=Table"); - $this->type("p[limit]", "50"); - $this->select("p[headers]", "label=show"); - $this->type("p[mainlabel]", "Test table"); - $this->type("p[default]", "Test default"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->click("link=Show embed code"); - - $this->assertTrue($this->isTextPresent("exact:{{#ask:[[We want::to test]] [[The query::syntax]] [[Category:Test case]] |?Question |?Mark |format=broadtable |limit=50 |headers=show |mainlabel=Test table |link=all |default=Test default |order=ASC |sort=?Mark |offset=0 }}")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->click("//div[@id='p-logo']/a"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CreatePropertyPageTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CreatePropertyPageTestCase.php deleted file mode 100644 index 92a304a..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/CreatePropertyPageTestCase.php +++ /dev/null @@ -1,87 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:Create1"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:Create1"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "This is a test property."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "CreateTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=CreateTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[Create1::Yes]]\n[[Create2::Yes]]\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_checkfactbox_CreatePropertyPage() - { - $this->open($this->getUrl() ."index.php/CreateTest"); - - $this->assertTrue($this->isElementPresent("link=Create1")); - - - $this->assertTrue($this->isElementPresent("link=Create2")); - - } - - public function test_checkpropertypages_CreatePropertyPage() - { - $this->open($this->getUrl() ."index.php/Property:Create1"); - - $this->assertTrue($this->isElementPresent("link=CreateTest")); - - $this->open($this->getUrl() ."index.php/Property:Create2"); - - $this->assertTrue($this->isElementPresent("link=CreateTest")); - - } - - public function test_redlink_CreatePropertyPage() - { - $this->open($this->getUrl() ."index.php/CreateTest"); - $this->click("link=Create2"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "This is also a test property."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Property:Create1"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:Create2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "CreateTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='p-logo']/a"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineAllowedValuesTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineAllowedValuesTestCase.php deleted file mode 100644 index fd3249c..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineAllowedValuesTestCase.php +++ /dev/null @@ -1,87 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:YesOrNo"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Property:YesOrNo"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[Allows value::Yes]]\n[[Allows value::No]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "YesTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=YesTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[YesOrNo::Yes]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "MaybeTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=MaybeTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[YesOrNo::Maybe]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_checkmaybe_DefineAllowedValues() - { - $this->open($this->getUrl() ."index.php/MaybeTest"); - - $this->assertFalse($this->isElementPresent("link=Maybe")); - - } - - public function test_checktooltip_DefineAllowedValues() - { - $this->open($this->getUrl() ."index.php/MaybeTest"); - $this->click("//div[@id='bodyContent']/p/span/img"); - - $this->assertTrue($this->isTextPresent("\"Maybe\" is not in the list of possible values (Yes, No) for this property.")); - - } - - public function test_checkyes_DefineAllowedValues() - { - $this->open($this->getUrl() ."index.php/YesTest"); - - $this->assertEquals("Yes", $this->getText("link=Yes")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/YesTest"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "MaybeTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:YesOrNo"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='p-logo']/a"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineTypeOfPropertyTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineTypeOfPropertyTestCase.php deleted file mode 100644 index 176ead8..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/DefineTypeOfPropertyTestCase.php +++ /dev/null @@ -1,77 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:TestNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:TestNumber"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "Test property."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "ChangeType"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=ChangeType"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[TestNumber::123456]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - - $this->assertTrue($this->isElementPresent("link=123456")); - - } - - public function test_hastype_DefineTypeOfProperty() - { - $this->open($this->getUrl() ."index.php/Property:TestNumber"); - $this->click("link=Edit"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "Test property.\n[[Has type::Number]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_verifynolink_DefineTypeOfProperty() - { - $this->open($this->getUrl() ."index.php/Property:TestNumber"); - - $this->assertFalse($this->isElementPresent("link=123456")); - - $this->click("link=ChangeType"); - $this->waitForPageToLoad("30000"); - $this->click("link=Refresh"); - $this->waitForPageToLoad("30000"); - - $this->assertFalse($this->isElementPresent("link=123456")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/ChangeType"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:TestNumber"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/EmbedValueWithShowParserFunction.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/EmbedValueWithShowParserFunction.php deleted file mode 100644 index cb4b330..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/EmbedValueWithShowParserFunction.php +++ /dev/null @@ -1,65 +0,0 @@ -open($this->getUrl() ."index.php/TC_Embed_value_with_show_parser_function"); - $this->type("searchInput", "PleaseShowMyValues"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=PleaseShowMyValues"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[EmbedThisValue::succesful]]\n[[EmbedThisValue::prosperous]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - public function test01() - { - $this->open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "EmbedValueToThisTestPage"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=EmbedValueToThisTestPage"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "{{#show: PleaseShowMyValues | ?EmbedThisValue}}"); - $this->type("wpTextbox1", "This test was {{#show: PleaseShowMyValues | ?EmbedThisValue}}."); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - public function test02() - { - $this->open($this->getUrl() ."index.php/EmbedValueToThisTestPage"); - - $this->assertTrue($this->isElementPresent("link=Succesful")); - - - $this->assertTrue($this->isElementPresent("link=Prosperous")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/EmbedValueToThisTestPage"); - $this->click("//div[@id='p-cactions']/h5/a"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "PleaseShowMyValues"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSearchByProperty.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSearchByProperty.php deleted file mode 100644 index bef8aac..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSearchByProperty.php +++ /dev/null @@ -1,61 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPerson James Orange"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPerson James Orange"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[Has dad::TestPerson Mike Orange]]\n[[Has mum::TestPerson Sandra Red-Orange]]\n[[Has half sister::TestPerson Olivia Red]]\n[[Has half sister::TestPerson Michelle Orange]]\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->open($this->getUrl() ."index.php/TestPerson_James_Orange"); - $this->click("//div[@id='mw-data-after-content']/div/table/tbody/tr[2]/td[2]/span[1]/a"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isTextPresent("A list of all pages that have property \"Has half sister\" with value \"TestPerson Olivia Red\"")); - - $this->click("link=TestPerson James Orange"); - $this->waitForPageToLoad("10000"); - $this->click("link=+"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isTextPresent("A list of all pages that have property \"Has dad\" with value \"TestPerson Mike Orange\"")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/TestPerson_James_Orange"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSpecialBrowse.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSpecialBrowse.php deleted file mode 100644 index 6bb2ba9..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxLinksToSpecialBrowse.php +++ /dev/null @@ -1,57 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPerson James Orange"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPerson James Orange"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[Has dad::TestPerson Mike Orange]]\n[[Has mum::TestPerson Sandra Red-Orange]]\n[[Has half sister::TestPerson Olivia Red]]\n[[Has half sister::TestPerson Michelle Orange]]\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->open($this->getUrl() ."index.php/TestPerson_James_Orange"); - $this->click("link=TestPerson James Orange"); - $this->waitForPageToLoad("10000"); - - $this->assertEquals("Browse wiki", $this->getText("firstHeading")); - - - $this->assertTrue($this->isTextPresent("No properties link to this page.")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/TestPerson_James_Orange"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxShowsProperties.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxShowsProperties.php deleted file mode 100644 index 59f5170..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/FactboxShowsProperties.php +++ /dev/null @@ -1,61 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPerson James Orange"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPerson James Orange"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[Has dad::TestPerson Mike Orange]]\n[[Has mum::TestPerson Sandra Red-Orange]]\n[[Has half sister::TestPerson Olivia Red]]\n[[Has half sister::TestPerson Michelle Orange]]\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->open($this->getUrl() ."index.php/TestPerson_James_Orange"); - - $this->assertTrue($this->isTextPresent("Has dad")); - - - $this->assertTrue($this->isTextPresent("TestPerson Mike Orange +")); - - - $this->assertTrue($this->isElementPresent("link=Has mum")); - - - $this->assertTrue($this->isTextPresent("and")); - - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/TestPerson_James_Orange"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/MakePropertySubpropertyOfAnotherOneTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/MakePropertySubpropertyOfAnotherOneTestCase.php deleted file mode 100644 index 2ca42b1..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/MakePropertySubpropertyOfAnotherOneTestCase.php +++ /dev/null @@ -1,99 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:TeamMemberTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:TeamMemberTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "This describes team members of a project."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:TeamLeaderTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:TeamLeaderTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[subproperty of::Property:TeamMemberTest]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Chris"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Chris"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[TeamMemberTest::Subproperty Project]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Ben"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Ben"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[TeamLeaderTest::Subproperty Project]]\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_factbox_MakePropertySubpropertyOfAnotherOne() - { - $this->open($this->getUrl() ."index.php/Ben"); - - $this->assertTrue($this->isElementPresent("link=TeamLeaderTest")); - - - $this->assertFalse($this->isElementPresent("link=TeamMemberTest")); - - } - - public function test_semanticsearch_MakePropertySubpropertyOfAnotherOne() - { - $this->open($this->getUrl() ."index.php/Special:Ask"); - $this->type("q", "[[TeamMemberTest::Subproperty Project]]"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("30000"); - - $this->assertTrue($this->isElementPresent("link=Ben")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Ben"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Chris"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:TeamLeaderTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:TeamMemberTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertiesListedOnSpecialPageTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertiesListedOnSpecialPageTestCase.php deleted file mode 100644 index f4743a6..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertiesListedOnSpecialPageTestCase.php +++ /dev/null @@ -1,106 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "PropertyListTest1"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=PropertyListTest1"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[AaaProperty::FirstUse]]\nTest page."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "PropertyListTest2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=PropertyListTest2"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[AaaProperty::SecondUse]]\nTest page."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:AabProperty"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:AabProperty"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "This is a unused property."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_linkspresent_PropertiesListedOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:Properties"); - - $this->assertTrue($this->isElementPresent("link=AaaProperty")); - - - $this->assertTrue($this->isElementPresent("link=Page")); - - } - - public function test_numberofusage_PropertiesListedOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:Properties"); - - $this->assertTrue($this->isTextPresent("AaaProperty of type Page (2)")); - - } - - public function test_textpresent_PropertiesListedOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:Properties"); - - $this->assertTrue($this->isTextPresent("AaaProperty of type Page")); - - } - - public function test_tooltipicon_PropertiesListedOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:Properties"); - $this->click("//div[@id='bodyContent']/ol/li[1]/span[2]/img"); - $this->click("//div[9]"); - } - - public function test_unusedpropertynotpresent_PropertiesListedOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:Properties"); - - $this->assertFalse($this->isTextPresent("AabProperty")); - - } - - public function testTeardown() - { - $this->type("searchInput", "Property:AabProperty"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "PropertyListTest1"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "PropertyListTest2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertyTypePageIsDefaultTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertyTypePageIsDefaultTestCase.php deleted file mode 100644 index 9d09fd6..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/PropertyTypePageIsDefaultTestCase.php +++ /dev/null @@ -1,69 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:AaaDefaultType"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:AaaDefaultType"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "Test Property."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "TestDefaultType"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=TestDefaultType"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[AaaDefaultType::CheckLink]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_checkpropertylist_PropertyTypePageIsDefault() - { - $this->open($this->getUrl() ."index.php/TestDefaultType"); - $this->type("searchInput", "Special:Properties"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - - $this->assertTrue($this->isTextPresent("AaaDefaultType of type Page")); - - } - - public function test_verifylink_PropertyTypePageIsDefault() - { - $this->open($this->getUrl() ."index.php/TestDefaultType"); - - $this->assertTrue($this->isElementPresent("link=CheckLink")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Special:Properties"); - $this->type("searchInput", "TestDefaultType"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:AaaDefaultType"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshInlineQuery.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshInlineQuery.php deleted file mode 100644 index 16e2281..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshInlineQuery.php +++ /dev/null @@ -1,66 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "SCFBestTeamInWorld"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=SCFBestTeamInWorld"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[BTIWProperty::SCF]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageForRefreshing"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPageForRefreshing"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "The best football team in world is {{#show: SCFBestTeamInWorld | ?BTIWProperty }}"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - public function testTest() - { - $this->open($this->getUrl() ."index.php/SCFBestTeamInWorld"); - $this->click("link=Edit"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[BTIWProperty::SC Freiburg]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageForRefreshing"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - - $this->click("link=Refresh"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isTextPresent("SC Freiburg")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php?title=TestPageForRefreshing&action=purge"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "SCFBestTeamInWorld"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshLinkForEveryPage.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshLinkForEveryPage.php deleted file mode 100644 index 55a11b6..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/RefreshLinkForEveryPage.php +++ /dev/null @@ -1,38 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->click("link=Random page"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Refresh")); - - $this->click("link=Random page"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Refresh")); - - $this->click("link=Random page"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isElementPresent("link=Refresh")); - - } - - public function testTeardown() - { - ; - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithNumericValueTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithNumericValueTestCase.php deleted file mode 100644 index 2d8734d..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithNumericValueTestCase.php +++ /dev/null @@ -1,107 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:NumericTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:NumericTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[Has type::Number]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "NumericTestPage1"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=NumericTestPage1"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[NumericTest::123]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "NumericTestPage2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=NumericTestPage2"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[NumericTest::234]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "NumericTestPage3"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=NumericTestPage3"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[NumericTest::345]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function testTest() - { - $this->open($this->getUrl() ."index.php/Special:SearchByProperty"); - $this->type("property", "NumericTest"); - $this->type("value", "123"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("30000"); - - $this->assertEquals("NumericTest 123", $this->getText("firstHeading")); - - - $this->assertTrue($this->isElementPresent("link=NumericTestPage1")); - - - $this->assertTrue($this->isElementPresent("link=NumericTestPage2")); - - - $this->assertTrue($this->isElementPresent("link=NumericTestPage3")); - - - $this->assertTrue($this->isTextPresent("345")); - - - $this->assertEquals("NumericTest", $this->getValue("property")); - - - $this->assertEquals("123", $this->getValue("value")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/NumericTestPage1"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "NumericTestPage2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "NumericTestPage3"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "Property:NumericTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithStringValueTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithStringValueTestCase.php deleted file mode 100644 index 1d25ce6..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SearchByPropertyWithStringValueTestCase.php +++ /dev/null @@ -1,71 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "FirstPageToMatch"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=FirstPageToMatch"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[TestSBP::Yes]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "SecondPageToMatch"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=SecondPageToMatch"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[TestSBP::Yes]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function testTest() - { - $this->open($this->getUrl() ."index.php/Special:SearchByProperty"); - $this->type("property", "TestSBP"); - $this->type("value", "Yes"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("30000"); - - $this->assertEquals("TestSBP Yes", $this->getText("firstHeading")); - - - $this->assertTrue($this->isElementPresent("link=FirstPageToMatch")); - - - $this->assertTrue($this->isElementPresent("link=SecondPageToMatch")); - - - $this->assertEquals("TestSBP", $this->getValue("property")); - - - $this->assertEquals("Yes", $this->getValue("value")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/FirstPageToMatch"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "SecondPageToMatch"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyAnnotationByWildcard.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyAnnotationByWildcard.php deleted file mode 100644 index b76c926..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyAnnotationByWildcard.php +++ /dev/null @@ -1,82 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPageABCDEF"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPageABCDEF"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[ThreeLetters::ABC]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageCDEFGH"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPageCDEFGH"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[ThreeLetters::DEF]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageEFGHIJ"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPageEFGHIJ"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[ThreeLetters::GHI]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - public function testTest() - { - $this->open($this->getUrl() ."index.php/Special:Ask"); - $this->type("q", "[[ThreeLetters::+]]"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isTextPresent("TestPageABCDEF")); - - - $this->assertTrue($this->isTextPresent("TestPageCDEFGH")); - - - $this->assertTrue($this->isTextPresent("TestPageEFGHIJ")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPageABCDEF"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageCDEFGH"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageEFGHIJ"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyValue.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyValue.php deleted file mode 100644 index 704475a..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SelectPagesByPropertyValue.php +++ /dev/null @@ -1,82 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPageABCDEF"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPageABCDEF"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[ThreeLetters::ABC]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageCDEFGH"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPageCDEFGH"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[ThreeLetters::ABC]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageEFGHIJ"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=TestPageEFGHIJ"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[ThreeLetters::GHI]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - public function testTest() - { - $this->open($this->getUrl() ."index.php/Special:Ask"); - $this->type("q", "[[ThreeLetters::ABC]]"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - - $this->assertTrue($this->isTextPresent("TestPageABCDEF")); - - - $this->assertTrue($this->isTextPresent("TestPageCDEFGH")); - - - $this->assertFalse($this->isTextPresent("TestPageEFGHIJ")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "TestPageABCDEF"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageCDEFGH"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "TestPageEFGHIJ"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ShowFactboxTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ShowFactboxTestCase.php deleted file mode 100644 index 8afabe2..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ShowFactboxTestCase.php +++ /dev/null @@ -1,40 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Factboxtest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Factboxtest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[Factbox::is shown]]\n__SHOWFACTBOX__"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function testTest() - { - $this->open($this->getUrl() ."index.php/Factboxtest"); - - $this->assertTrue($this->isTextPresent("Facts about")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Factboxtest"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("//div[@id='p-logo']/a"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SpecialAskProvidesGUIForQueries.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SpecialAskProvidesGUIForQueries.php deleted file mode 100644 index 62d455c..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/SpecialAskProvidesGUIForQueries.php +++ /dev/null @@ -1,60 +0,0 @@ -open($this->getUrl() ."index.php/Special:Ask"); - - $this->assertEquals("Semantic search", $this->getTitle()); - - } - - public function testTest2() - { - $this->open($this->getUrl() ."index.php/Special:Ask"); - - $this->assertTrue($this->isElementPresent("q")); - - - $this->assertTrue($this->isElementPresent("add_property")); - - - $this->assertTrue($this->isElementPresent("link=[Add sorting condition]")); - - $this->select("formatSelector", "label=Enumeration"); - - $this->assertTrue($this->isElementPresent("//div[@id='other_options']/div[2]")); - - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - $this->click("//div[@id='p-logo']/a"); - $this->waitForPageToLoad("10000"); - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - ; - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/UnusedPropertiesOnSpecialPageTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/UnusedPropertiesOnSpecialPageTestCase.php deleted file mode 100644 index 09d7d0f..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/UnusedPropertiesOnSpecialPageTestCase.php +++ /dev/null @@ -1,65 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "Property:NoPageWillUseMe"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=exact:Property:NoPageWillUseMe"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "This is a test property..."); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "UseProp"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=UseProp"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[NoPageWillUseMe::Not right]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_propertyused_UnusedPropertiesOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:UnusedProperties"); - - $this->assertFalse($this->isElementPresent("link=NoPageWillUseMe")); - - } - - public function test_propertynotused_UnusedPropertiesOnSpecialPage() - { - $this->type("searchInput", "UseProp"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->open($this->getUrl() ."index.php/Special:UnusedProperties"); - - $this->assertTrue($this->isElementPresent("link=NoPageWillUseMe")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/Special:UnusedProperties"); - $this->click("link=NoPageWillUseMe"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ViewValuesOfPropertyOnSpecialPage.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ViewValuesOfPropertyOnSpecialPage.php deleted file mode 100644 index 47db972..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/ViewValuesOfPropertyOnSpecialPage.php +++ /dev/null @@ -1,120 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "FirstPageAnnotated"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=FirstPageAnnotated"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[CheckValuePP::Or get]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "SecondPageAnnotated"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=SecondPageAnnotated"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[CheckValuePP::Get one value]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "ThirdPageAnnotated"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=ThirdPageAnnotated"); - $this->waitForPageToLoad("10000"); - $this->type("wpTextbox1", "[[CheckValuePP::Three values]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("10000"); - } - - /** - * Each of these methods... - * * should have one assertion. - * * should start with test, e.g., testTest(). - */ - public function testTest() - { - $this->open($this->getUrl() ."index.php/Special:PageProperty"); - $this->type("from", "SecondPageAnnotated"); - $this->type("type", "CheckValuePP"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - - $this->assertEquals("SecondPageAnnotated CheckValuePP", $this->getText("firstHeading")); - - - $this->assertTrue($this->isElementPresent("link=Get one value")); - - - $this->assertFalse($this->isElementPresent("link=Or get")); - - $this->type("from", ""); - $this->type("type", ""); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - } - - public function testTest2() - { - $this->open($this->getUrl() ."index.php/Special:PageProperty"); - $this->type("type", "CheckValuePP"); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - - $this->assertEquals("CheckValuePP", $this->getText("firstHeading")); - - - $this->assertTrue($this->isElementPresent("link=Get one value")); - - - $this->assertTrue($this->isElementPresent("link=Or get")); - - - $this->assertTrue($this->isElementPresent("link=Three values")); - - $this->type("from", ""); - $this->type("type", ""); - $this->click("//input[@value='Find results']"); - $this->waitForPageToLoad("10000"); - } - - /** - * Done at the end to purge the test data. - */ - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/FirstPageAnnotated"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "SecondPageAnnotated"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->type("searchInput", "ThirdPageAnnotated"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("10000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("10000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("10000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("10000"); - } -} diff --git a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/WantedPropertiesOnSpecialPageTestCase.php b/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/WantedPropertiesOnSpecialPageTestCase.php deleted file mode 100644 index d476f9c..0000000 --- a/documentacion/extensions/SemanticMediaWiki/tests/selenium/suites/cases_SMWSeleniumTestSuite/WantedPropertiesOnSpecialPageTestCase.php +++ /dev/null @@ -1,63 +0,0 @@ -open($this->getUrl() ."index.php/Main_Page"); - $this->type("searchInput", "WantedPropertyTest"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=WantedPropertyTest"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[RedLinkProperty::Is used]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "WantedPropertyTest2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=WantedPropertyTest2"); - $this->waitForPageToLoad("30000"); - $this->type("wpTextbox1", "[[RedLinkProperty::Is used]]"); - $this->click("wpSave"); - $this->waitForPageToLoad("30000"); - } - - public function test_numberofuses_WantedPropertiesOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:WantedProperties"); - - $this->assertTrue($this->isTextPresent("RedLinkProperty (2 uses)")); - - } - - public function test_showsproperty_WantedPropertiesOnSpecialPage() - { - $this->open($this->getUrl() ."index.php/Special:WantedProperties"); - - $this->assertTrue($this->isElementPresent("link=RedLinkProperty")); - - } - - public function testTeardown() - { - $this->open($this->getUrl() ."index.php/WantedPropertyTest"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->type("searchInput", "WantedPropertyTest2"); - $this->click("searchGoButton"); - $this->waitForPageToLoad("30000"); - $this->click("link=Delete"); - $this->waitForPageToLoad("30000"); - $this->click("wpConfirmB"); - $this->waitForPageToLoad("30000"); - $this->click("link=Main Page"); - $this->waitForPageToLoad("30000"); - } -} diff --git a/documentacion/extensions/SemanticResultFormats/Array/SRF_Array.php b/documentacion/extensions/SemanticResultFormats/Array/SRF_Array.php deleted file mode 100644 index 57c99e4..0000000 --- a/documentacion/extensions/SemanticResultFormats/Array/SRF_Array.php +++ /dev/null @@ -1,467 +0,0 @@ - - * - * Doesn't require 'Arrays' nor 'HashTables' exytensions but has additional features - * ('name' parameter in either result format) if they are available. - * - * Arrays 2.0+ and HashTables 1.0+ are recommended but not necessary. - */ - -/** - * Array format - */ -class SRFArray extends SMWResultPrinter { - - protected static $mDefaultSeps = array(); - protected $mSep; - protected $mPropSep; - protected $mManySep; - protected $mRecordSep; - protected $mHeaderSep; - protected $mArrayName = null; - protected $mShowPageTitles; - - protected $mHideRecordGaps; - protected $mHidePropertyGaps; - - /** - * @var Boolean true if 'mainlabel' parameter is set to '-' - */ - protected $mMainLabelHack = false; - - public function __construct( $format, $inline, $useValidator = true ) { - parent::__construct( $format, $inline, $useValidator ); - //overwrite parent default behavior for linking: - $this->mLinkFirst = false; - $this->mLinkOthers = false; - } - - public function getQueryMode($context) { - return SMWQuery::MODE_INSTANCES; - } - - public function getName() { - return wfMsg( 'srf_printername_' . $this->mFormat ); - } - - /* - // By overwriting this function, we disable default searchlabel handling? - public function getResult( SMWQueryResult $results, array $params, $outputmode ) { - $this->handleParameters( $params, $outputmode ); - return $this->getResultText( $results, $outputmode ); - } - */ - - protected function getResultText( SMWQueryResult $res, $outputmode ) { - /* - * @ToDo: - * labels of requested properties could define default values. Seems not possible at the moment because - * SMWPrintRequest::getLable() always returns the property name even if no specific label is defined. - */ - - $perPage_items = array(); - - //for each page: - while( $row = $res->getNext() ) { - $perProperty_items = array(); - - /** - * first field is always the page title, except, mainlabel is set to '-' - * @ToDo: Is there some other way to check the data value directly for being the - * page title or not? SMWs behavior could change on mainlabel handling... - */ - $isPageTitle = !$this->mMainLabelHack; - - //for each property on that page: - foreach( $row as $field ) { // $row is array(), $field of type SMWResultArray - $manyValue_items = array(); - $isMissingProperty = false; - - $manyValues = $field->getContent(); - - //If property is not set (has no value) on a page: - if( empty( $manyValues ) ) { - $delivery = $this->deliverMissingProperty( $field ); - $manyValue_items = $this->fillDeliveryArray( $manyValue_items, $delivery ); - $isMissingProperty = true; - } else - //otherwise collect property value (potentially many values): - while( $obj = $field->getNextDataValue() ) { - - $value_items = array(); - $isRecord = false; - - // handle page Title: - if( $isPageTitle ) { - if( ! $this->mShowPageTitles ) { - $isPageTitle = false; - continue 2; //next property - } - $value_items = $this->fillDeliveryArray( $value_items, $this->deliverPageTitle( $obj, $this->mLinkFirst ) ); - } - // handle record values: - elseif( $obj instanceof SMWRecordValue ) { - $recordItems = $obj->getDataItems(); - // walk all single values of the record set: - foreach( $recordItems as $dataItem ) { - $recordField = $dataItem !== null ? SMWDataValueFactory::newDataItemValue( $dataItem, null ) : null; - $value_items = $this->fillDeliveryArray( $value_items, $this->deliverRecordField( $recordField, $this->mLinkOthers ) ); - } - $isRecord = true; - } - // handle normal data values: - else { - $value_items = $this->fillDeliveryArray( $value_items, $this->deliverSingleValue( $obj, $this->mLinkOthers ) ); - } - $delivery = $this->deliverSingleManyValuesData( $value_items, $isRecord, $isPageTitle ); - $manyValue_items = $this->fillDeliveryArray( $manyValue_items, $delivery ); - } // foreach... - $delivery = $this->deliverPropertiesManyValues( $manyValue_items, $isMissingProperty, $isPageTitle, $field ); - $perProperty_items = $this->fillDeliveryArray( $perProperty_items, $delivery ); - $isPageTitle = false; // next one could be record or normal value - } // foreach... - $delivery = $this->deliverPageProperties( $perProperty_items ); - $perPage_items = $this->fillDeliveryArray( $perPage_items, $delivery ); - } // while... - - $output = $this->deliverQueryResultPages( $perPage_items ); - - return $output; - } - - protected function fillDeliveryArray( $array = array(), $value = null ) { - if( ! is_null( $value ) ) { //don't create any empty entries - $array[] = $value; - } - return $array; - } - - protected function deliverPageTitle( $value, $link = false ) { - return $this->deliverSingleValue( $value, $link ); - } - protected function deliverRecordField( $value, $link = false ) { - if( $value !== null ) // contains value - return $this->deliverSingleValue( $value, $link ); - elseif( $this->mHideRecordGaps ) - return null; // hide gap - else - return ''; // empty string will make sure that record value separators are generated - } - protected function deliverSingleValue( $value, $link = false ) { - //return trim( $value->getShortWikiText( $link ) ); - return trim( Sanitizer::decodeCharReferences( $value->getShortWikiText( $link ) ) ); // decode: better for further processing with array extension - } - // Property not declared on a page: - protected function deliverMissingProperty( SMWResultArray $field ) { - if( $this->mHidePropertyGaps ) - return null; - else - return ''; //empty string will make sure that array separator will be generated - /** @ToDo: System for Default values?... **/ - } - //represented by an array of record fields or just a single array value: - protected function deliverSingleManyValuesData( $value_items, $containsRecord, $isPageTitle ) { - if( empty( $value_items ) ) //happens when one of the higher functions delivers null - return null; - return implode( $this->mRecordSep, $value_items ); - } - protected function deliverPropertiesManyValues( $manyValue_items, $isMissingProperty, $isPageTitle, SMWResultArray $data ) { - if( empty( $manyValue_items ) ) - return null; - - $text = implode( $this->mManySep, $manyValue_items ); - - // if property names should be displayed and this is not the page titles value: - if( $this->mShowHeaders != SMW_HEADERS_HIDE && ! $isPageTitle ) { - $linker = $this->mShowHeaders == SMW_HEADERS_PLAIN ? null : $this->mLinker; - $text = $data->getPrintRequest()->getText( SMW_OUTPUT_WIKI, $linker ) . $this->mHeaderSep . $text; - } - return $text; - } - protected function deliverPageProperties( $perProperty_items ) { - if( empty( $perProperty_items ) ) - return null; - return implode( $this->mPropSep, $perProperty_items ); - } - protected function deliverQueryResultPages( $perPage_items ) { - if( $this->mArrayName !== null ) { - $this->createArray( $perPage_items ); //create Array - return ''; - } else { - return implode( $this->mSep, $perPage_items ); - } - } - - /** - * Helper function to create a new Array within 'Arrays' extension. Takes care of different versions - * as well as the old 'ArrayExtension'. - */ - protected function createArray( $array ) { - global $wgArrayExtension; - - $arrayId = $this->mArrayName; - - if( defined( 'ExtArrays::VERSION' ) ) { - // 'Arrays' extension 2+ - global $wgParser; /** ToDo: is there a way to get the actual parser which has started the query? */ - ExtArrays::get( $wgParser )->createArray( $arrayId, $array ); - return true; - } - - // compatbility to 'ArrayExtension' extension before 2.0: - - if( ! isset( $wgArrayExtension ) ) { - //Hash extension is not installed in this wiki - return false; - } - $version = null; - if( defined( 'ArrayExtension::VERSION' ) ) { - $version = ExtArrayExtension::VERSION; - } elseif( defined( 'ExtArrayExtension::VERSION' ) ) { - $version = ExtArrayExtension::VERSION; - } - if( $version !== null && version_compare( $version, '1.3.2', '>=' ) ) { - // ArrayExtension 1.3.2+ - $wgArrayExtension->createArray( $arrayId, $array ); - } else { - // dirty way - $wgArrayExtension->mArrays[ trim( $arrayId ) ] = $array; - } - return true; - } - - protected function initializeCfgValue( $dfltVal, $dfltCacheKey ) { - $cache = &self::$mDefaultSeps[ $dfltCacheKey ]; - if( ! isset( $cache ) ) { - $cache = $this->getCfgSepText( $dfltVal ); - if( $cache === null ) { - // cache can't be initialized, propably function-reference in userconfig - // but format is not used in inline context, use fallback in this case: - global $srfgArraySepTextualFallbacks; - $cache = $srfgArraySepTextualFallbacks[ $dfltCacheKey ]; - } - } - return $cache; - } - protected function getCfgSepText( $obj ) { - if( is_array( $obj ) ) { - // invalid definition: - if( ! array_key_exists( 0, $obj ) ) - return null; - - // check for config-defined arguments to pass to the page before processing it: - if( array_key_exists( 'args', $obj ) && is_array( $obj['args'] ) ) - $params = $obj['args']; - else - $params = array(); // no arguments - - // create title of page whose text should be used as separator: - $obj = Title::newFromText( $obj[0], ( array_key_exists( 1, $obj ) ? $obj[1] : NS_MAIN ) ); - } - if( $obj instanceof Title ) { - $article = new Article( $obj ); - } elseif( $obj instanceof Article ) { - $article = obj; - } else { - return $obj; //only text - } - - global $wgParser; - /* - * Feature to use page value as separator only works if Parser::parse() is running! - * That's not the case on semantic search special page for example! - */ - // can't use $this->mInline here since SMW 1.6.2 had a bug setting it to false in most cases! - if( ! isset( $wgParser->mOptions ) ) { - //if( ! $this->mInline ) { - return null; - } - - /* - * parse page as if it were included like a template. Never use Parser::recursiveTagParse() or similar - * for this since it would call hooks we don't want to call and won't return wiki text for inclusion! - */ - $frame = $wgParser->getPreprocessor()->newCustomFrame( $params ); - $text = $wgParser->preprocessToDom( $article->getRawText(), Parser::PTD_FOR_INCLUSION ); - $text = trim( $frame->expand( $text ) ); - - return $text; - } - - protected function handleParameters( array $params, $outputmode ) { - // does the link parameter: - parent::handleParameters( $params, $outputmode ); - - $wgParser; - //die( isset( $wgParser->mOptions ) ); - - //separators: - $this->mSep = $params['sep']; - $this->mPropSep = $params['propsep']; - $this->mManySep = $params['manysep']; - $this->mRecordSep = $params['recordsep']; - $this->mHeaderSep = $params['headersep']; - - // only use this in inline mode, if text is given. Since SMW 1.6.2 '' is given, so if - // we wouldn't check, we would always end up with an array instead of visible output - if( $params['name'] !== false && ( $this->mInline || trim( $params['name'] ) !== '' ) ) { - $this->mArrayName = trim( $params['name'] ); - $this->createArray( array() ); //create empty array in case we get no result so we won't have an undefined array in the end. - } - - // if mainlabel set to '-', this will cause the titles not to appear, so make sure we catch this! - $this->mMainLabelHack = trim( $params['mainlabel'] ) === '-'; - - // whether or not to display the page title: - $this->mShowPageTitles = strtolower( $params['titles'] ) != 'hide'; - - switch( strtolower( $params['hidegaps'] ) ) { - case 'none': - $this->mHideRecordGaps = false; - $this->mHidePropertyGaps = false; - break; - case 'all': - $this->mHideRecordGaps = true; - $this->mHidePropertyGaps = true; - break; - case 'property': case 'prop': case 'attribute': case 'attr': - $this->mHideRecordGaps = false; - $this->mHidePropertyGaps = true; - break; - case 'record': case 'rec': case 'rcrd': case 'n-ary': case 'nary': - $this->mHideRecordGaps = true; - $this->mHidePropertyGaps = false; - break; - } - } - - public function getParameters() { - global $smwgQMaxInlineLimit; - - $params = array(); - $dfltParams = SMWQueryProcessor::getParameters(); - - ### adjusted basic SMW params: ### - - $params['limit'] = $dfltParams['limit']; - $params['limit']->setDefault( $smwgQMaxInlineLimit ); - - $params['link'] = $dfltParams['link']; - $params['link']->setDefault( 'none' ); - - $params['headers'] = $dfltParams['headers']; - $params['headers']->setDefault( 'hide' ); - - ### new params: ### - - $params['titles'] = new Parameter( 'titles' ); - $params['titles']->setMessage( 'srf_paramdesc_pagetitle' ); - $params['titles']->addCriteria( new CriterionInArray( 'show', 'hide' ) ); - $params['titles']->addAliases( 'pagetitle', 'pagetitles' ); - $params['titles']->setDefault( 'show' ); - - $params['hidegaps'] = new Parameter( 'hidegaps' ); - $params['hidegaps']->setMessage( 'srf_paramdesc_hidegaps' ); - $params['hidegaps']->addCriteria( new CriterionInArray( 'none', 'all', 'property', 'record' ) ); - $params['hidegaps']->setDefault( 'none' ); - - # name to create 'real' array with if set (empty string '' counts as set!): - $params['name'] = new Parameter( 'name' ); - $params['name']->setMessage( 'srf_paramdesc_arrayname' ); - $params['name']->setDefault( false, false ); - - # separators (default values are defined in the following globals:) - global $srfgArraySep, $srfgArrayPropSep, $srfgArrayManySep, $srfgArrayRecordSep, $srfgArrayHeaderSep; - - $params['sep'] = new Parameter( 'sep' ); - $params['sep']->setMessage( 'smw_paramdesc_sep' ); - $params['sep']->setDefault( $this->initializeCfgValue( $srfgArraySep, 'sep' ) ); - - $params['propsep'] = new Parameter( 'propsep' ); - $params['propsep']->setMessage( 'srf_paramdesc_propsep' ); - $params['propsep']->setDefault( $this->initializeCfgValue( $srfgArrayPropSep, 'propsep' ) ); - - $params['manysep'] = new Parameter( 'manysep' ); - $params['manysep']->setMessage( 'srf_paramdesc_manysep' ); - $params['manysep']->setDefault( $this->initializeCfgValue( $srfgArrayManySep, 'manysep' ) ); - - $params['recordsep'] = new Parameter( 'recordsep' ); - $params['recordsep']->setMessage( 'srf_paramdesc_recordsep' ); - $params['recordsep']->addAliases( 'narysep', 'rcrdsep', 'recsep' ); - $params['recordsep']->setDefault( $this->initializeCfgValue( $srfgArrayRecordSep, 'recordsep' ) ); - - $params['headersep'] = new Parameter( 'headersep' ); - $params['headersep']->setMessage( 'srf_paramdesc_headersep' ); - $params['headersep']->addAliases( 'narysep', 'rcrdsep', 'recsep' ); - $params['headersep']->setDefault( $this->initializeCfgValue( $srfgArrayHeaderSep, 'headersep' ) ); - - return $params; - } -} - -class SRFHash extends SRFArray { - protected $mLastPageTitle; - - protected function deliverPageTitle( $value, $link = false ) { - $this->mLastPageTitle = $this->deliverSingleValue( $value, $link ); //remember the page title - return null; //don't add page title into property list - } - protected function deliverPageProperties( $perProperty_items ) { - if( count( $perProperty_items ) < 1 ) - return null; - return array( $this->mLastPageTitle, implode( $this->mPropSep, $perProperty_items ) ); - } - protected function deliverQueryResultPages( $perPage_items ) { - $hash = array(); - foreach( $perPage_items as $page ) { - $hash[ $page[0] ] = $page[1]; //name of page as key, Properties as value - } - return parent::deliverQueryResultPages( $hash ); - } - - protected function createArray( $hash ) { - global $wgHashTables; - - $hashId = $this->mArrayName; - $version = null; - if( defined( 'ExtHashTables::VERSION' ) ) { - $version = ExtHashTables::VERSION; - } - if( $version !== null && version_compare( $version, '0.999', '>=' ) ) { - // Version 1.0+, doesn't use $wgHashTables anymore - global $wgParser; /** ToDo: is there a way to get the actual parser which has started the query? */ - ExtHashTables::get( $wgParser )->createHash( $hashId, $hash ); - } - elseif( ! isset( $wgHashTables ) ) { - // Hash extension is not installed in this wiki - return false; - } - elseif( $version !== null && version_compare( $version, '0.6', '>=' ) ) { - // HashTables 0.6 to 1.0 - $wgHashTables->createHash( $hashId, $hash ); - } - else { - // old HashTables, dirty way - $wgHashTables->mHashTables[ trim( $hashId ) ] = $hash; - } - return true; - } - - protected function handleParameters( array $params, $outputmode ) { - parent::handleParameters( $params, $outputmode ); - $this->mShowPageTitles = true; - } - - public function getParameters() { - $params = parent::getParameters(); - - unset( $params['pagetitle'] ); // page title is Hash key, otherwise, just use Array format! - $params['name']->setMessage( 'srf_paramdesc_hashname' ); - - return $params; - } -} diff --git a/documentacion/extensions/SemanticResultFormats/BibTeX/SRF_BibTeX.php b/documentacion/extensions/SemanticResultFormats/BibTeX/SRF_BibTeX.php deleted file mode 100644 index 02485fc..0000000 --- a/documentacion/extensions/SemanticResultFormats/BibTeX/SRF_BibTeX.php +++ /dev/null @@ -1,387 +0,0 @@ -getSearchLabel( SMW_OUTPUT_WIKI ) != '' ) { - return str_replace( ' ', '_', $this->getSearchLabel( SMW_OUTPUT_WIKI ) ) . '.bib'; - } else { - return 'BibTeX.bib'; - } - } - - public function getQueryMode( $context ) { - return ( $context == SMWQueryProcessor::SPECIAL_PAGE ) ? SMWQuery::MODE_INSTANCES:SMWQuery::MODE_NONE; - } - - public function getName() { - return wfMsg( 'srf_printername_bibtex' ); - } - - protected function getResultText( SMWQueryResult $res, $outputmode ) { - global $wgSitename; - $result = ''; - - if ( $outputmode == SMW_OUTPUT_FILE ) { // make file - if ( $this->m_title == '' ) { - $this->m_title = $wgSitename; - } - - $items = array(); - - while ( $row = $res->getNext() ) { - $items[] = $this->getItemForResultRow( $row )->text(); - } - - $result = implode( '', $items ); - } else { // just make link to export - if ( $this->getSearchLabel( $outputmode ) ) { - $label = $this->getSearchLabel( $outputmode ); - } else { - $label = wfMsgForContent( 'srf_bibtex_link' ); - } - - $link = $res->getQueryLink( $label ); - $link->setParameter( 'bibtex', 'format' ); - - if ( $this->getSearchLabel( SMW_OUTPUT_WIKI ) != '' ) { - $link->setParameter( $this->getSearchLabel( SMW_OUTPUT_WIKI ), 'searchlabel' ); - } - - $result .= $link->getText( $outputmode, $this->mLinker ); - $this->isHTML = ( $outputmode == SMW_OUTPUT_HTML ); // yes, our code can be viewed as HTML if requested, no more parsing needed - } - - return $result; - } - - /** - * Gets a SMWBibTeXEntry for the row. - * - * @since 1.6 - * - * @param array of SMWResultArray $row - * - * @return SMWBibTeXEntry - */ - protected function getItemForResultRow( array /* of SMWResultArray */ $row ) { - $type = ''; - $address = ''; - $annote = ''; - $author = ''; - $booktitle = ''; - $chapter = ''; - $crossref = ''; - $doi = ''; - $edition = ''; - $editor = ''; - $eprint = ''; - $howpublished = ''; - $institution = ''; - $journal = ''; - $key = ''; - $month = ''; - $note = ''; - $number = ''; - $organization = ''; - $pages = ''; - $publisher = ''; - $school = ''; - $series = ''; - $title = ''; - $type = ''; - $url = ''; - $volume = ''; - $year = ''; - - foreach ( $row as /* SMWResultArray */ $field ) { - $req = $field->getPrintRequest(); - $label = strtolower( $req->getLabel() ); - $var = false; - - switch ( $label ) { - case 'type': $var =& $type; break; - case 'address': $var =& $address; break; - case 'annote': $var =& $annote; break; - case 'booktitle': $var =& $booktitle; break; - case 'chapter': $var =& $chapter; break; - case 'crossref': $var =& $crossref; break; - case 'doi': $var =& $doi; break; - case 'edition': $var =& $edition; break; - case 'eprint': $var =& $eprint; break; - case 'howpublished': $var =& $howpublished; break; - case 'institution': $var =& $institution; break; - case 'journal': $var =& $journal; break; - case 'key': $var =& $key; break; - case 'note': $var =& $note; break; - case 'number': $var =& $number; break; - case 'organization': $var =& $organization; break; - case 'pages': $var =& $pages; break; - case 'publisher': $var =& $publisher; break; - case 'school': $var =& $school; break; - case 'series': $var =& $series; break; - case 'title': $var =& $title; break; - case 'url': $var =& $url; break; - case 'year': $var =& $year; break; - case 'month': $var =& $month; break; - case 'volume': case 'journal_volume': $var =& $volume; break; - } - - if ( $var !== false ) { - $dataValue = $field->getNextDataValue(); - - if ( $dataValue !== false ) { - $var = $dataValue->getShortWikiText(); - } - - unset( $var ); - } - else { - switch ( $label ) { - case 'author': case 'authors': case 'editor' : case 'editors': - $wikiTexts = array(); - while ( ( /* SMWDataValue */ $dataValue = $field->getNextDataValue() ) !== false ) { - $wikiTexts[] = $dataValue->getShortWikiText(); - } - $wikiText = $GLOBALS['wgLang']->listToText( $wikiTexts ); - - if ( $label == 'author' || $label == 'authors' ) { - $author = $wikiText; - } - else { - $author = $editor; - } - break; - case 'date': - $dataValue = $field->getNextDataValue(); - - if ( $dataValue !== false && get_class( $dataValue ) == 'SMWTimeValue' ) { - $year = $dataValue->getYear(); - $month = $dataValue->getMonth(); - } - break; - } - } - } - - return new SMWBibTeXEntry( $type, $address, $annote, $author, $booktitle, $chapter, $crossref, $doi, $edition, $editor, $eprint, $howpublished, $institution, $journal, $key, $month, $note, $number, $organization, $pages, $publisher, $school, $series, $title, $url, $volume, $year ); - } - - public function getParameters() { - return array_merge( parent::getParameters(), $this->exportFormatParameters() ); - } - -} - -/** - * Represents a single entry in an BibTeX - * @ingroup SMWQuery - */ -class SMWBibTeXEntry { - private $bibTeXtype; - private $URI; - private $fields = array(); - - public function __construct( $type, $address, $annote, $author, $booktitle, $chapter, $crossref, $doi, $edition, $editor, $eprint, $howpublished, $institution, $journal, $key, $month, $note, $number, $organization, $pages, $publisher, $school, $series, $title, $url, $volume, $year ) { - if ( $type ) $this->bibTeXtype = ucfirst( $type ); else $this->bibTeXtype = 'Book'; - - $fields = array(); - - if ( $address ) $fields['address'] = $address; - if ( $annote ) $fields['annote'] = $annote; - if ( $author ) $fields['author'] = $author; - if ( $booktitle ) $fields['booktitle'] = $booktitle; - if ( $chapter ) $fields['chapter'] = $chapter; - if ( $crossref ) $fields['crossref'] = $crossref; - if ( $doi ) $fields['doi'] = $doi; - if ( $edition ) $fields['edition'] = $edition; - if ( $editor ) $fields['editor'] = $editor; - if ( $eprint ) $fields['eprint'] = $eprint; - if ( $howpublished ) $fields['howpublished'] = $howpublished; - if ( $institution ) $fields['institution'] = $institution; - if ( $journal ) $fields['journal'] = $journal; - if ( $key ) $fields['key'] = $key; - if ( $month ) $fields['month'] = $month; - if ( $note ) $fields['note'] = $note; - if ( $number ) $fields['number'] = $number; - if ( $organization ) $fields['organization'] = $organization; - if ( $pages ) $fields['pages'] = $pages; - if ( $publisher ) $fields['publisher'] = $publisher; - if ( $school ) $fields['school'] = $school; - if ( $series ) $fields['series'] = $series; - if ( $title ) $fields['title'] = $title; - if ( $url ) $fields['url'] = $url; - if ( $volume ) $fields['volume'] = $volume; - if ( $year ) $fields['year'] = $year; - - $this->fields = $fields; - - // generating the URI: author last name + year + first letters of title - $URI = ''; - if ( $author ) { - $authors = explode( ',', $author ); - $authors = explode( wfMsg( 'and' ), $authors[0] ); - $arrayAuthor = explode( ' ', $authors[0], 2 ); - $URI .= str_replace( ' ', '', $arrayAuthor[array_key_exists( 1, $arrayAuthor ) ? 1 : 0] ); - } - - if ( $year ) { - $URI .= $year; - } - - if ( $title ) { - foreach ( explode( ' ', $title ) as $titleWord ) { - $charsTitleWord = preg_split( '//', $titleWord, - 1, PREG_SPLIT_NO_EMPTY ); - - if ( !empty( $charsTitleWord ) ) { - $URI .= $charsTitleWord[0]; - } - } - } - - $this->URI = strtolower( $URI ); - } - - - /** - * Creates the BibTeX output for a single item. - */ - public function text() { - $text = '@' . $this->bibTeXtype . '{' . $this->URI . ",\r\n"; - - foreach ( $this->fields as $key => $value ) { - $text .= ' ' . $key . ' = "' . $value . '", ' . "\r\n"; - } - - $text .= "}\r\n\r\n"; - - return $text; - } - -} - -/* -info from http://en.wikipedia.org/wiki/Bibtex - -# address: Publisher's address (usually just the city, but can be the full address for lesser-known publishers) -# annote: An annotation for annotated bibliography styles (not typical) -# author: The name(s) of the author(s) (in the case of more than one author, separated by and) -# booktitle: The title of the book, if only part of it is being cited -# chapter: The chapter number -# crossref: The key of the cross-referenced entry -# doi: The DOI number of the entry -# edition: The edition of a book, long form (such as "first" or "second") -# editor: The name(s) of the editor(s) -# eprint: A specification of an electronic publication, often a preprint or a technical report -# howpublished: How it was published, if the publishing method is nonstandard -# institution: The institution that was involved in the publishing, but not necessarily the publisher -# journal: The journal or magazine the work was published in -# key: A hidden field used for specifying or overriding the alphabetical order of entries (when the "author" and "editor" fields are missing). Note that this is very different from the key (mentioned just after this list) that is used to cite or cross-reference the entry. -# month: The month of publication (or, if unpublished, the month of creation) -# note: Miscellaneous extra information -# number: The "number" of a journal, magazine, or tech-report, if applicable. (Most publications have a "volume", but no "number" field.) -# organization: The conference sponsor -# pages: Page numbers, separated either by commas or double-hyphens. For books, the total number of pages. -# publisher: The publisher's name -# school: The school where the thesis was written -# series: The series of books the book was published in (e.g. "The Hardy Boys" or "Lecture Notes in Computer Science") -# title: The title of the work -# type: The type of tech-report, for example, "Research Note" -# url: The WWW address -# volume: The volume of a journal or multi-volume book -# year: The year of publication (or, if unpublished, the year of creation) - - - -article - An article from a journal or magazine. - Required fields: author, title, journal, year - Optional fields: volume, number, pages, month, note, key -book - A book with an explicit publisher. - Required fields: author/editor, title, publisher, year - Optional fields: volume, series, address, edition, month, note, key, pages -booklet - A work that is printed and bound, but without a named publisher or sponsoring institution. - Required fields: title - Optional fields: author, howpublished, address, month, year, note, key -conference - The same as inproceedings, included for Scribe compatibility. - Required fields: author, title, booktitle, year - Optional fields: editor, pages, organization, publisher, address, month, note, key -inbook - A part of a book, usually untitled. May be a chapter (or section or whatever) and/or a range of pages. - Required fields: author/editor, title, chapter/pages, publisher, year - Optional fields: volume, series, address, edition, month, note, key -incollection - A part of a book having its own title. - Required fields: author, title, booktitle, year - Optional fields: editor, pages, organization, publisher, address, month, note, key -inproceedings - An article in a conference proceedings. - Required fields: author, title, booktitle, year - Optional fields: editor, pages, organization, publisher, address, month, note, key -manual - Technical documentation. - Required fields: title - Optional fields: author, organization, address, edition, month, year, note, key -mastersthesis - A Master's thesis. - Required fields: author, title, school, year - Optional fields: address, month, note, key -misc - For use when nothing else fits. - Required fields: none - Optional fields: author, title, howpublished, month, year, note, key -phdthesis - A Ph.D. thesis. - Required fields: author, title, school, year - Optional fields: address, month, note, key -proceedings - The proceedings of a conference. - Required fields: title, year - Optional fields: editor, publisher, organization, address, month, note, key -techreport - A report published by a school or other institution, usually numbered within a series. - Required fields: author, title, institution, year - Optional fields: type, number, address, month, note, key -unpublished - A document having an author and title, but not formally published. - Required fields: author, title, note - Optional fields: month, year, key -*/ diff --git a/documentacion/extensions/SemanticResultFormats/COPYING b/documentacion/extensions/SemanticResultFormats/COPYING deleted file mode 100644 index f1537d1..0000000 --- a/documentacion/extensions/SemanticResultFormats/COPYING +++ /dev/null @@ -1,347 +0,0 @@ -The license text below "----" applies to all files within this distribution, other -than those that are in a directory which contains files named "LICENSE" or -"COPYING", or a subdirectory thereof. For those files, the license text contained in -said file overrides any license information contained in directories of smaller depth. -Alternative licenses are typically used for software that is provided by external -parties, and merely packaged with the Semantic MediaWiki release for convenience. ----- - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/documentacion/extensions/SemanticResultFormats/Calendar/SRFC_HistoricalDate.php b/documentacion/extensions/SemanticResultFormats/Calendar/SRFC_HistoricalDate.php deleted file mode 100644 index 953be69..0000000 --- a/documentacion/extensions/SemanticResultFormats/Calendar/SRFC_HistoricalDate.php +++ /dev/null @@ -1,92 +0,0 @@ -createFromJulian( $year, $month, $day ); - } else { - $this->createFromGregorian( $year, $month, $day ); - } - } - - static protected function leap_gregorian( $year ) { - return ( ( $year % 4 ) == 0 ) && ( !( ( ( $year % 100 ) == 0 ) && ( ( $year % 400 ) != 0 ) ) ); - } - - static protected function leap_julian( $year ) { - return ( ( $year % 4 ) == ( ( $year > 0 ) ? 0 : 3 ) ); - } - - static protected function leap_jul_greg( $year ) { - return ( ( $year < 1582 ) ? SRFCHistoricalDate::leap_julian( $year ) : SRFCHistoricalDate::leap_gregorian( $year ) ); - } - - protected function createFromGregorian( $year, $month, $day ) { - $this->m_date = ( self::GREGORIAN_EPOCH - 1 ) + - ( 365 * ( $year - 1 ) ) + - floor( ( $year - 1 ) / 4 ) + - ( - floor( ( $year - 1 ) / 100 ) ) + - floor( ( $year - 1 ) / 400 ) + - floor( ( ( ( 367 * $month ) - 362 ) / 12 ) + - ( ( $month <= 2 ) ? 0 : - ( SRFCHistoricalDate::leap_gregorian( $year ) ? - 1 : - 2 ) - ) + $day ); - } - - protected function createFromJulian( $year, $month, $day ) { - - /* Adjust negative common era years to the zero-based notation we use. */ - if ( $year < 1 ) { - $year++; - } - - /* Algorithm as given in Meeus, Astronomical Algorithms, Chapter 7, page 61 */ - if ( $month <= 2 ) { - $year--; - $month += 12; - } - - $this->m_date = ( ( floor( ( 365.25 * ( $year + 4716 ) ) ) + - floor( ( 30.6001 * ( $month + 1 ) ) ) + - $day ) - 1524.5 ); - } - - public function getDayOfWeek() { - return ( floor( $this->m_date + 1.5 ) % 7 ); - } - - static function daysInMonth( $year, $month ) { - if ( $month == 4 || $month == 6 || $month == 9 || $month == 11 ) - return 30; - if ( $month == 2 ) - return ( SRFCHistoricalDate::leap_jul_greg( $year ) ) ? 29 : 28; - return 31; - } - -} diff --git a/documentacion/extensions/SemanticResultFormats/Calendar/SRF_Calendar.php b/documentacion/extensions/SemanticResultFormats/Calendar/SRF_Calendar.php deleted file mode 100644 index 2007313..0000000 --- a/documentacion/extensions/SemanticResultFormats/Calendar/SRF_Calendar.php +++ /dev/null @@ -1,553 +0,0 @@ -', $colorElem ); - if ( count( $propAndColor ) == 2 ) { - $colors[$propAndColor[0]] = $propAndColor[1]; - } - } - $this->mColors = $colors; - } - - protected function handleParameters( array $params, $outputmode ) { - parent::handleParameters( $params, $outputmode ); - - $this->mTemplate = trim( $params['template'] ); - $this->mUserParam = trim( $params['userparam'] ); - - if ( $params['lang'] !== false ) { - global $wgLang; - // Store the actual user's language, so we can revert - // back to it after printing the calendar. - $this->mRealUserLang = clone ( $wgLang ); - $wgLang = Language::factory( trim( $params['lang'] ) ); - } - - $this->setColors( $params['colors'] ); - } - - public function getName() { - return wfMsg( 'srf_printername_calendar' ); - } - - public function getResult( SMWQueryResult $results, array $params, $outputmode ) { - $this->isHTML = false; - $this->hasTemplates = false; - - // Skip checks - results with 0 entries are normal. - $this->handleParameters( $params, $outputmode ); - return $this->getResultText( $results, SMW_OUTPUT_HTML ); - } - - /** - * (non-PHPdoc) - * @see SMWResultPrinter::getResultText() - * - * TODO: split up megamoth - */ - protected function getResultText( SMWQueryResult $res, $outputmode ) { - $events = array(); - - // Print all result rows. - while ( $row = $res->getNext() ) { - $dates = array(); - $title = $text = $color = ''; - - if ( $this->mTemplate != '' ) { - // Build template code - $this->hasTemplates = true; - - if ( $this->mUserParam ) { - $text = "|userparam=$this->mUserParam"; - } - - foreach ( $row as $i => $field ) { - $pr = $field->getPrintRequest(); - $text .= '|' . ( $i + 1 ) . '='; - - while ( ( $object = $field->getNextDataValue() ) !== false ) { - if ( $object->getTypeID() == '_dat' ) { - $text .= $object->getLongWikiText(); - } elseif ( $object->getTypeID() == '_wpg' ) { // use shorter "LongText" for wikipage - // handling of "link=" param - if ( $this->mLinkOthers ) { - $text .= $object->getLongText( $outputmode, null ); - } else { - $text .= $object->getWikiValue(); - } - } else { - $text .= $object->getShortText( $outputmode, null ); - } - - if ( $pr->getMode() == SMWPrintRequest::PRINT_PROP && $pr->getTypeID() == '_dat' ) { - $dates[] = $this->formatDateStr( $object ); - } - } - } - } else { - // Build simple text. - $numNonDateProperties = 0; - // Cycle through a 'row', which is the page - // name (the first field) plus all its - // properties. - foreach ( $row as $i => $field ) { - $pr = $field->getPrintRequest(); - // A property can have more than one - // value - cycle through all the values - // for this property. - $textForProperty = ''; - - while ( ( $object = $field->getNextDataValue() ) !== false ) { - if ( $object->getTypeID() == '_dat' ) { - // Don't add date values to the display. - } elseif ( $object->getTypeID() == '_wpg' ) { // use shorter "LongText" for wikipage - if ( $i == 0 ) { - $title = Title::newFromText( $object->getShortWikiText( false ) ); - } else { - $numNonDateProperties++; - - // handling of "headers=" param - if ( $this->mShowHeaders == SMW_HEADERS_SHOW ) { - $textForProperty .= $pr->getHTMLText( smwfGetLinker() ) . ' '; - } elseif ( $this->mShowHeaders == SMW_HEADERS_PLAIN ) { - $textForProperty .= $pr->getLabel() . ' '; - } - - // If $this->mShowHeaders == SMW_HEADERS_HIDE, print nothing. - // handling of "link=" param - if ( $this->mLinkOthers ) { - $textForProperty .= $object->getLongText( $outputmode, smwfGetLinker() ); - } else { - $textForProperty .= $object->getWikiValue(); - } - } - } else { - $numNonDateProperties++; - $textForProperty .= $pr->getHTMLText( smwfGetLinker() ) . ' ' . $object->getShortText( $outputmode, smwfGetLinker() ); - } - if ( $pr->getMode() == SMWPrintRequest::PRINT_PROP && $pr->getTypeID() == '_dat' ) { - $datePropLabel = $pr->getLabel(); - if ( !array_key_exists( $datePropLabel, $dates ) ) { - $dates[$datePropLabel] = array(); - } - $dates[$datePropLabel][] = $this->formatDateStr( $object ); - } - } - - // Add the text for this property to - // the main text, adding on parentheses - // or commas as needed. - if ( $numNonDateProperties == 1 ) { - $text .= ' ('; - } elseif ( $numNonDateProperties > 1 ) { - $text .= ', '; - } - $text .= $textForProperty; - } - if ( $numNonDateProperties > 0 ) { - $text .= ')'; - } - } - - if ( count( $dates ) > 0 ) { - // Handle the 'color=' value, whether it came - // from a compound query or a regular one. - $res_subject = $field->getResultSubject(); - if ( isset( $res_subject->display_options ) - && is_array( $res_subject->display_options ) ) { - if ( array_key_exists( 'color', $res_subject->display_options ) ) { - $color = $res_subject->display_options['color']; - } - if ( array_key_exists( 'colors', $res_subject->display_options ) ) { - $this->setColors( $res_subject->display_options['colors'] ); - } - } - - foreach ( $dates as $label => $datesForLabel ) { - foreach ( $datesForLabel as $date ) { - $curText = $text; - // If there's more than one - // label, i.e. more than one - // date property being displayed, - // show the name of the current - // property in parentheses. - if ( count( $dates ) > 1 ) { - $curText = "($label) " . $curText; - } - $curColor = $color; - if ( array_key_exists( $label, $this->mColors ) ) { - $curColor = $this->mColors[$label]; - } - $events[] = array( $title, $curText, $date, $curColor ); - } - } - } - } - - $result = $this->displayCalendar( $events ); - - // Go back to the actual user's language, in case a different - // language had been specified for this calendar. - if ( ! is_null( $this->mRealUserLang ) ) { - global $wgLang; - $wgLang = $this->mRealUserLang; - } - - global $wgParser; - - if ( is_null( $wgParser->getTitle() ) ) { - return $result; - } else { - return array( $result, 'noparse' => 'true', 'isHTML' => 'true' ); - } - } - - protected static function intToMonth( $int ) { - $months = array( - '1' => 'january', - '2' => 'february', - '3' => 'march', - '4' => 'april', - '5' => 'may_long', - '6' => 'june', - '7' => 'july', - '8' => 'august', - '9' => 'september', - '10' => 'october', - '11' => 'november', - '12' => 'december', - ); - - return wfMsgForContent( array_key_exists( $int, $months ) ? $months[$int] : 'january' ); - } - - function formatDateStr( $object ) { - // For some reason, getMonth() and getDay() sometimes return a - // number with a leading zero - get rid of it using (int) - return $object->getYear() . '-' . (int)$object->getMonth() . '-' . (int)$object->getDay(); - } - - function displayCalendar( $events ) { - global $wgOut, $srfgScriptPath, $wgParser, $wgRequest; - global $srfgFirstDayOfWeek; - - $wgParser->disableCache(); - - $wgOut->addLink( array( - 'rel' => 'stylesheet', - 'type' => 'text/css', - 'media' => 'screen, print', - 'href' => $srfgScriptPath . '/Calendar/skins/SRFC_main.css' - ) ); - - // Set variables differently depending on whether this is - // being called from a regular page, via #ask, or from a - // special page: most likely either Special:Ask or - // Special:RunQuery. - $page_title = $wgParser->getTitle(); - $additional_query_string = ''; - $hidden_inputs = ''; - $in_special_page = is_null( $page_title ) || $page_title->isSpecialPage(); - - if ( $in_special_page ) { - global $wgTitle; - $page_title = $wgTitle; - global $wgUser; - $skin = $wgUser->getSkin(); - $request_values = $wgRequest->getValues(); - // Also go through the predefined PHP variable - // $_REQUEST, because $wgRequest->getValues() for - // some reason doesn't return array values - is - // there a better (less hacky) way to do this? - foreach ( $_REQUEST as $key => $value ) { - if ( is_array( $value ) ) { - foreach ($value as $k2 => $v2 ) { - $new_key = $key . '[' . $k2 . ']'; - $request_values[$new_key] = $v2; - } - } - } - - foreach ( $request_values as $key => $value ) { - if ( $key != 'month' && $key != 'year' - // values from 'RunQuery' - && $key != 'query' && $key != 'free_text' - ) { - $additional_query_string .= "&$key=$value"; - $hidden_inputs .= ""; - } - } - } else { - $skin = $wgParser->getOptions()->getSkin(); - } - - // Set days of the week. - $week_day_names = array( - 1 => wfMsg( 'sunday' ), - 2 => wfMsg( 'monday' ), - 3 => wfMsg( 'tuesday' ), - 4 => wfMsg( 'wednesday' ), - 5 => wfMsg( 'thursday' ), - 6 => wfMsg( 'friday' ), - 7 => wfMsg( 'saturday' ) - ); - if ( empty( $srfgFirstDayOfWeek ) ) { - $firstDayOfWeek = 1; - $lastDayOfWeek = 7; - } else { - $firstDayOfWeek = array_search( $srfgFirstDayOfWeek, $week_day_names ); - if ( $firstDayOfWeek === false ) { - // Bad value for $srfgFirstDayOfWeek! - print 'Warning: Bad value for $srfgFirstDayOfWeek ("' . $srfgFirstDayOfWeek . '")'; - $firstDayOfWeek = 1; - } - if ( $firstDayOfWeek == 1 ) { - $lastDayOfWeek = 7; - } else { - $lastDayOfWeek = $firstDayOfWeek - 1; - } - } - - // Now create the actual array of days of the week, based on - // the start day - $week_days = array(); - for ( $i = 1; $i <= 7; $i++ ) { - $curDay = ( ( $firstDayOfWeek + $i - 2 ) % 7 ) + 1; - $week_days[$i] = $week_day_names[$curDay]; - } - - // Get all the date-based values we need - the current month - // and year (i.e., the one the user is looking at - not - // necessarily the "current" ones), the previous and next months - // and years (same - note that the previous or next month could - // be in a different year), the number of days in the current, - // previous and next months, etc. - $cur_month_num = date( 'n', time() ); - if ( $wgRequest->getCheck( 'month' ) ) { - $query_month = $wgRequest->getVal( 'month' ); - if ( is_numeric( $query_month ) && ( intval( $query_month ) == $query_month ) && $query_month >= 1 && $query_month <= 12 ) { - $cur_month_num = $wgRequest->getVal( 'month' ); - } - } - - $cur_month = self::intToMonth( $cur_month_num ); - $cur_year = date( 'Y', time() ); - if ( $wgRequest->getCheck( 'year' ) ) { - $query_year = $wgRequest->getVal( 'year' ); - if ( is_numeric( $query_year ) && intval( $query_year ) == $query_year ) { - $cur_year = $wgRequest->getVal( 'year' ); - } - } - - if ( $cur_month_num == '1' ) { - $prev_month_num = '12'; - $prev_year = $cur_year - 1; - } else { - $prev_month_num = $cur_month_num - 1; - $prev_year = $cur_year; - } - - if ( $cur_month_num == '12' ) { - $next_month_num = '1'; - $next_year = $cur_year + 1; - } else { - $next_month_num = $cur_month_num + 1; - $next_year = $cur_year; - } - - // There's no year '0' - change it to '1' or '-1'. - if ( $cur_year == '0' ) { $cur_year = '1'; } - if ( $next_year == '0' ) { $next_year = '1'; } - if ( $prev_year == '0' ) { $prev_year = '-1'; } - - $prev_month_url = $page_title->getLocalURL( "month=$prev_month_num&year=$prev_year" . $additional_query_string ); - $next_month_url = $page_title->getLocalURL( "month=$next_month_num&year=$next_year" . $additional_query_string ); - $today_url = $page_title->getLocalURL( $additional_query_string ); - - $today_text = wfMsg( 'srfc_today' ); - $prev_month_text = wfMsg( 'srfc_previousmonth' ); - $next_month_text = wfMsg( 'srfc_nextmonth' ); - $go_to_month_text = wfMsg( 'srfc_gotomonth' ); - - // Get day of the week that the first of this month falls on. - $first_day = new SRFCHistoricalDate(); - $first_day->create( $cur_year, $cur_month_num, 1 ); - $day_of_week_of_1 = $first_day->getDayOfWeek(); - $start_day = $firstDayOfWeek - $day_of_week_of_1; - if ( $start_day > 0 ) { $start_day -= 7; } - $days_in_prev_month = SRFCHistoricalDate::daysInMonth( $prev_year, $prev_month_num ); - $days_in_cur_month = SRFCHistoricalDate::daysInMonth( $cur_year, $cur_month_num ); - $today_string = date( 'Y n j', time() ); - $page_name = $page_title->getPrefixedDbKey(); - - // Create table for holding title and navigation information. - $text = << - -$cur_month $cur_year - - -  -$today_text -  - - - -
    - - -$hidden_inputs - -
    - - - - - - - -END; - // First row of the main table holds the days of the week - foreach ( $week_days as $week_day ) { - $text .= ""; - } - $text .= "\n"; - - // Now, create the calendar itself - - // loop through a set of weeks, from a "Sunday" (which might be - // before the beginning of the month) to a "Saturday" (which - // might be after the end of the month). - // "Sunday" and "Saturday" are in quotes because the actual - // start and end days of the week can be set by the admin. - $day_of_the_week = $firstDayOfWeek; - $is_last_week = false; - for ( $day = $start_day; ( ! $is_last_week || $day_of_the_week != $firstDayOfWeek ); $day++ ) { - if ( $day_of_the_week == $firstDayOfWeek ) { - $text .= "\n"; - } - if ( "$cur_year $cur_month_num $day" == $today_string ) { - $text .= " - -END; - if ( $day_of_the_week == $lastDayOfWeek ) { - $text .= "\n"; - } - if ( $day_of_the_week == 7 ) { - $day_of_the_week = 1; - } else { - $day_of_the_week++; - } - } - $text .= "
    $week_day
    \n"; - } elseif ( $day_of_the_week == 1 || $day_of_the_week == 7 ) { - $text .= "\n"; - } else { - $text .= "\n"; - } - if ( $day == $days_in_cur_month || $day > 50 ) { $is_last_week = true; } - // If this day is before or after the current month, - // set a "display day" to show on the calendar, and - // use a different CSS style for it. - if ( $day > $days_in_cur_month || $day < 1 ) { - if ( $day < 1 ) { - $display_day = $day + $days_in_prev_month; - $date_str = $prev_year . '-' . $prev_month_num . '-' . $display_day; - } - if ( $day > $days_in_cur_month ) { - $display_day = $day - $days_in_cur_month; - $date_str = $next_year . '-' . $next_month_num . '-' . $display_day; - } - $text .= "
    $display_day
    \n"; - } else { - $date_str = $cur_year . '-' . $cur_month_num . '-' . $day; - $text .= "
    $day
    \n"; - } - // Finally, the most important step - get the events - // that match this date, and the given set of criteria, - // and display them in this date's box. - $text .= "
    \n"; - if ( $events == null ) { - $events = array(); - } - foreach ( $events as $event ) { - list( $event_title, $other_text, $event_date, $color ) = $event; - if ( $event_date == $date_str ) { - if ( $this->mTemplate != '' ) { - $templatetext = '{{' . $this->mTemplate . $other_text . '|thisdate=' . $date_str . '}}'; - $templatetext = $wgParser->replaceVariables( $templatetext ); - $templatetext = $wgParser->recursiveTagParse( $templatetext ); - $text .= $templatetext; - } else { - $event_str = $skin->makeLinkObj( $event_title ); - if ( $color != '' ) { - $text .= "

    $event_str $other_text

    \n"; - } else { - $text .= "$event_str $other_text\n\n"; - } - } - } - } - $text .= << -
    \n"; - - return $text; - } - - /** - * (non-PHPdoc) - * @see SMWResultPrinter::getParameters() - */ - public function getParameters() { - $params = parent::getParameters(); - - $params['lang'] = new Parameter( 'lang' ); - $params['lang']->setMessage( 'srf_paramdesc_calendarlang' ); - $params['lang']->setDefault( false, false ); - - $params['template'] = new Parameter( 'template' ); - $params['template']->setDefault( '' ); - - $params['userparam'] = new Parameter( 'userparam' ); - $params['userparam']->setDefault( '' ); - - $params['color'] = new Parameter( 'color' ); - $params['color']->setDefault( '' ); - - $params['colors'] = new Parameter( 'colors' ); - $params['colors']->setMessage( 'srf_paramdesc_calendarcolors' ); - $params['colors']->setDefault( '' ); - - return $params; - } - -} diff --git a/documentacion/extensions/SemanticResultFormats/Calendar/skins/SRFC_main.css b/documentacion/extensions/SemanticResultFormats/Calendar/skins/SRFC_main.css deleted file mode 100644 index 5209883..0000000 --- a/documentacion/extensions/SemanticResultFormats/Calendar/skins/SRFC_main.css +++ /dev/null @@ -1,100 +0,0 @@ -/** - * The main CSS file for the Semantic Calendar extension. - */ - -table.navigation_table { - width: 100%; - padding-bottom: 20px; -} -table.navigation_table tr td.month_name { - font-size: xx-large; -} -table.navigation_table tr td.nav_links { - text-align: center; - font-weight: bold; -} -table.navigation_table tr td.nav_form { - text-align: right; -} -table.month_calendar { - border-collapse: collapse; -} -table.month_calendar tr { -} -table.month_calendar td { - width: 150px; - border: 1px #888888 solid; - padding: 0px; - vertical-align: top; -} -table.month_calendar td div.day { - background: white; - min-height: 15px; - min-width: 15px; - padding: 5px; - margin: 0px 0px 3px 3px; - float: right; - text-align: center; - vertical-align: middle; - font-weight: bold; - font-size: larger; - color: #555555; - border-left: 1px #cccccc solid; - border-bottom: 1px #cccccc solid; -} -table.month_calendar td div.day_other_month { - background: #eeeeee; - color: #aaaaaa; - border: none; -} -table.month_calendar td div.day_other_month { - background: #fcffb1; - color: #aaaaaa; -} -table.month_calendar td div.main { - min-height: 80px; - padding: 4px; - height: 100%; -} -table.month_calendar td div.main p { - line-height: 125%; -} -table.month_calendar td.today div.day { - background: #dbe8f9; - color: black; - border-left: 1px #999999 solid; - border-bottom: 1px #999999 solid; -} -table.month_calendar td.today div.main { - background: #f9f9f9; -} -table.month_calendar tr.header { - vertical-align: middle; -} -table.month_calendar tr.header td { - padding: 30px 10px 10px 10px; - border: 0; - text-align: center; - font-size: x-large; -} -table.month_calendar tr.weekdays { - border-top: 1px black solid; - font-weight: bold; - background: #dbe8f9; -} -table.month_calendar tr.weekdays td { - border: 0; - text-align: center; - vertical-align: middle; - color: #555555; - padding: 8px 2px 2px 2px; -} -table.month_calendar td div.colored-entry { - border: 1px #f4f4d2 solid; - background: #ffffdd; - margin: 4px 0 4px 0; -} -table.month_calendar td div.colored-entry p { - margin: 0; - padding: 2px 0 2px 6px; -} diff --git a/documentacion/extensions/SemanticResultFormats/Calendar/skins/left-arrow.png b/documentacion/extensions/SemanticResultFormats/Calendar/skins/left-arrow.png deleted file mode 100644 index f48c7c860a2bea44d6600ac71075dfb63db72f72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp@KrG0?3?vN|udM@8nE^f_uK)l4H>L}Cti<&LXsJ?3 zkY6yvXK_a6L(!`@E9`!gEv=gJq4?Wewx(ZtXUe{-Wyx)if4k=D;!l%-s)IaT978JN ze2<6nH8}9F9$5GAo!d6IIieJVF!rDjOZGoa}Vp00i_>zopr0J*th Ap8x;= diff --git a/documentacion/extensions/SemanticResultFormats/Calendar/skins/right-arrow.png b/documentacion/extensions/SemanticResultFormats/Calendar/skins/right-arrow.png deleted file mode 100644 index bbb48c57d974d9240385af1057e1e01c3d8cd0ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp@KrG0?3?vN|udM@8X#qYVuK)l4H>N!}6C2b8v{A7n z$S;^-jriw7jLaWmcBj0_*(|O4twdq&uO_xLdf&^`vbM{;jrW|=*#uM^wNzRe}$sL~rSJG&q|0 y8E;)P=k~V)bKgC%t*$EDnfI+G?(m;~zZpuF@G)iB)p7t$XYh3Ob6Mw<&;$Tb-d)@P diff --git a/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Bar.php b/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Bar.php deleted file mode 100644 index 7e6c40c..0000000 --- a/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Bar.php +++ /dev/null @@ -1,248 +0,0 @@ - 1 ) { - return; - } - - global $wgOut; - $wgOut->addModules( 'ext.srf.d3core' ); - } - - /** - * Get the JS and HTML that needs to be added to the output to create the chart. - * - * @since 1.7 - * - * @param array $data label => value - */ - protected function getFormatOutput( array $data ) { - global $wgOut; - - $this->isHTML = true; - - $maxValue = count( $data ) == 0 ? 0 : max( $data ); - - if ( $this->params['min'] === false ) { - $minValue = count( $data ) == 0 ? 0 : min( $data ); - } - else { - $minValue = $this->params['min']; - } - - $barID = 'bar' . self::$m_barchartnum; - self::$m_barchartnum++; - - $labels_str = FormatJson::encode( array_keys( $data ) ); - $numbers_str = FormatJson::encode( array_values( $data ) ); - - $labels_axis = 'xaxis'; - $numbers_axis = 'yaxis'; - - $angle_val = -40; - $barmargin = 6; - - $barwidth = 20; // width of each bar - $bardistance = 4; // distance between two bars - - // Calculate the tick values for the numbers, based on the - // lowest and highest number. jqPlot has its own option for - // calculating ticks automatically - "autoscale" - but it - // currently (September 2010) fails for numbers less than 1, - // and negative numbers. - // If both max and min are 0, just escape now. - if ( $maxValue == 0 && $minValue == 0 ) { - return null; - } - // Make the max and min slightly larger and bigger than the - // actual max and min, so that the bars don't directly touch - // the top and bottom of the graph - if ( $maxValue > 0 ) { $maxValue += .001; } - if ( $minValue < 0 ) { $minValue -= .001; } - if ( $maxValue == 0 ) { - $multipleOf10 = 0; - $maxAxis = 0; - } else { - $multipleOf10 = pow( 10, floor( log( $maxValue, 10 ) ) ); - $maxAxis = ceil( $maxValue / $multipleOf10 ) * $multipleOf10; - } - - if ( $minValue == 0 ) { - $negativeMultipleOf10 = 0; - $minAxis = 0; - } else { - $negativeMultipleOf10 = -1 * pow( 10, floor( log( $minValue, 10 ) ) ); - $minAxis = ceil( $minValue / $negativeMultipleOf10 ) * $negativeMultipleOf10; - } - - $numbers_ticks = ''; - $biggerMultipleOf10 = max( $multipleOf10, -1 * $negativeMultipleOf10 ); - $lowestTick = floor( $minAxis / $biggerMultipleOf10 + .001 ); - $highestTick = ceil( $maxAxis / $biggerMultipleOf10 - .001 ); - - for ( $i = $lowestTick; $i <= $highestTick; $i++ ) { - $numbers_ticks .= ($i * $biggerMultipleOf10) . ', '; - } - -# $pointlabels = FormatJson::encode( $this->params['pointlabels'] ); - - $width = $this->params['width']; - $height = $this->params['height']; - $charttitle = $this->patams['charttitle']; - - $js_bar =<< -$(document).ready(function() { -//Examples based on http://www.verisi.com/resources/d3-tutorial-basic-charts.htm -//Alternating to form a single series. Bar Color will switch back & forth -//var data = d3.range(10).map(Math.random); -var data = {$numbers_str}; -var colorlist = ["steelblue", "lightblue"]; -var labellist = ($labels_str); - -var w = $width, - h = $height - 20 , - labelpad = $width / 3, - barwidth = 20, - x = d3.scale.linear().domain([0, 100]).range([0, w]), - y = d3.scale.ordinal().domain(d3.range(data.length)).rangeBands([0, h], .2); - -var vis = d3.select("#$barID") - .append("svg:svg") - .attr("width", $width - $barwidth ) - .attr("height", h + 20) - .append("svg:g") - .attr("transform", "translate(20,0)") - .attr("class", "chart"); - -var bars = vis.selectAll("g.bar") - .data(data) - .enter().append("svg:g") - .attr("class", "bar") - .attr("transform", function(d, i) { return "translate(" + labelpad + "," + y(i) + ")"; }); - -bars.append("svg:rect") - .attr("fill", function(d, i) { return colorlist[i % 2]; } ) //Alternate colors - .attr("width", x ) - .attr("height", y.rangeBand()) - .text(function(d) { return d; }); - -bars.append("svg:text") - .attr("x", 0) - .attr("y", -2 + y.rangeBand() / 2) - .attr("dx", -16) - .attr("dy", ".55em") - .attr("class", "barlabel") - .attr("text-anchor", "end") - .text(function(d, i) { return labellist[i]; }); - -//Generate labels for each bar -var labels = vis.selectAll("g.bar") - .append("svg:text") - .attr("class", "barvalue") - .attr("x", 3) -// .attr("x", function(d) { return x(d) + 2; }) - .attr("y", -5 + y.rangeBand() / 2 + 10 ) - .attr("text-anchor", "right") - .attr("transform", function(d) { return "translate(" + x(d) + ", 0)"; }) - .style("width", function(d) { return d * 10 + "px"; }) - .text(function(d) { return d; }); - -//END Generate labels for each bar - -var rules = vis.selectAll("g.rule") - .data(x.ticks(10)) - .enter().append("svg:g") - .attr("class", "rule") - .attr("transform", function(d) { return "translate(" + x(d) + ", 0)"; }); - -// --------------------------------------- -// Add Title, then Legend -// --------------------------------------- -vis.append("svg:text") - .attr("x", 0) - .attr("y", 25 ) - .attr("class", "chartitle") - .text('{$charttitle}'); - -rules.append("svg:line") - .attr("y1", h) - .attr("y2", h + 6) - .attr("x1", labelpad) - .attr("x2", labelpad) - .attr("stroke", "black"); - -rules.append("svg:line") - .attr("y1", 0) - .attr("y2", h) - .attr("x1", labelpad) - .attr("x2", labelpad) - .attr("stroke", "white") - .attr("stroke-opacity", .3); - -rules.append("svg:text") - .attr("y", h + 2 ) - .attr("x", labelpad) - .attr("dy", ".71em") - .attr("text-anchor", "middle") - .text(x.tickFormat(10)); - -}); - -END; - $wgOut->addScript( $js_bar ); - - return Html::element( - 'div', - array( - 'id' => $barID, - 'style' => Sanitizer::checkCss( "margin-top: 20px; margin-left: 20px; margin-right: 20px; width: {$width}px; height: {$height}px;" ) - ) - ); - } - - /** - * @see SMWResultPrinter::getParameters - */ - public function getParameters() { - $params = parent::getParameters(); - - $params['height'] = new Parameter( 'height', Parameter::TYPE_INTEGER, 400 ); - $params['height']->setMessage( 'srf_paramdesc_chartheight' ); - - // TODO: this is a string to allow for %, but better handling would be nice - $params['width'] = new Parameter( 'width', Parameter::TYPE_STRING, '400' ); - $params['width']->setMessage( 'srf_paramdesc_chartwidth' ); - - $params['charttitle'] = new Parameter( 'charttitle', Parameter::TYPE_STRING, ' ' ); - $params['charttitle']->setMessage( 'srf_paramdesc_charttitle' ); - - $params['min'] = new Parameter( 'min', Parameter::TYPE_INTEGER ); - $params['min']->setMessage( 'srf-paramdesc-minvalue' ); - $params['min']->setDefault( false, false ); - - return $params; - } - -} diff --git a/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Line.php b/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Line.php deleted file mode 100644 index 3fbfd5b..0000000 --- a/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Line.php +++ /dev/null @@ -1,213 +0,0 @@ - 1 ) { - return; - } - - global $wgOut; - $wgOut->addModules( 'ext.srf.d3core' ); - } - - /** - * Get the JS and HTML that needs to be added to the output to create the chart. - * - * @since 1.7 - * - * @param array $data label => value - */ - protected function getFormatOutput( array $data ) { - global $wgOut; - - $this->isHTML = true; - - $maxValue = count( $data ) == 0 ? 0 : max( $data ); - - if ( $this->params['min'] === false ) { - $minValue = count( $data ) == 0 ? 0 : min( $data ); - } - else { - $minValue = $this->params['min']; - } - - $lineID = 'line' . self::$m_barchartnum; - self::$m_barchartnum++; - - $labels_str = FormatJson::encode( array_keys( $data ) ); - $numbers_str = FormatJson::encode( array_values( $data ) ); - - $labels_axis = 'xaxis'; - $numbers_axis = 'yaxis'; - - $angle_val = -40; - $barmargin = 6; - - $barwidth = 20; // width of each bar - $bardistance = 4; // distance between two bars - - // Calculate the tick values for the numbers, based on the - // lowest and highest number. jqPlot has its own option for - // calculating ticks automatically - "autoscale" - but it - // currently (September 2010) fails for numbers less than 1, - // and negative numbers. - // If both max and min are 0, just escape now. - if ( $maxValue == 0 && $minValue == 0 ) { - return null; - } - // Make the max and min slightly larger and bigger than the - // actual max and min, so that the bars don't directly touch - // the top and bottom of the graph - if ( $maxValue > 0 ) { $maxValue += .001; } - if ( $minValue < 0 ) { $minValue -= .001; } - if ( $maxValue == 0 ) { - $multipleOf10 = 0; - $maxAxis = 0; - } else { - $multipleOf10 = pow( 10, floor( log( $maxValue, 10 ) ) ); - $maxAxis = ceil( $maxValue / $multipleOf10 ) * $multipleOf10; - } - - if ( $minValue == 0 ) { - $negativeMultipleOf10 = 0; - $minAxis = 0; - } else { - $negativeMultipleOf10 = -1 * pow( 10, floor( log( $minValue, 10 ) ) ); - $minAxis = ceil( $minValue / $negativeMultipleOf10 ) * $negativeMultipleOf10; - } - - $numbers_ticks = ''; - $biggerMultipleOf10 = max( $multipleOf10, -1 * $negativeMultipleOf10 ); - $lowestTick = floor( $minAxis / $biggerMultipleOf10 + .001 ); - $highestTick = ceil( $maxAxis / $biggerMultipleOf10 - .001 ); - - for ( $i = $lowestTick; $i <= $highestTick; $i++ ) { - $numbers_ticks .= ($i * $biggerMultipleOf10) . ', '; - } - -# $pointlabels = FormatJson::encode( $this->params['pointlabels'] ); - - $width = $this->params['width']; - $height = $this->params['height']; - - $js_line =<< -$(document).ready(function() { -//http://dealloc.me/2011/06/24/d3-is-not-a-graphing-library.html -var data, h, max, pb, pl, pr, pt, ticks, version, vis, w, x, y, _ref; - version = Number(document.location.hash.replace('#', '')); - data = {$numbers_str}; - _ref = [20, 20, 20, 20], pt = _ref[0], pl = _ref[1], pr = _ref[2], pb = _ref[3]; - w = $width - (pl + pr); - h = $height - (pt + pb); - max = d3.max(data); - x = d3.scale.linear().domain([0, data.length - 1]).range([0, w]); - y = d3.scale.linear().domain([0, max]).range([h, 0]); - vis = d3.select('#$lineID').style('margin', '20px auto').style('width', "" + w + "px").append('svg:svg').attr('width', w + (pl + pr)).attr('height', h + pt + pb).attr('class', 'viz').append('svg:g').attr('transform', "translate(" + pl + "," + pt + ")"); - vis.selectAll('path.line').data([data]).enter().append("svg:path").attr("d", d3.svg.line().x(function(d, i) { - return x(i); - }).y(y)); - if (version < 2 && version !== 0) { - return; - } - ticks = vis.selectAll('.ticky').data(y.ticks(7)).enter().append('svg:g').attr('transform', function(d) { - return "translate(0, " + (y(d)) + ")"; - }).attr('class', 'ticky'); - ticks.append('svg:line').attr('y1', 0).attr('y2', 0).attr('x1', 0).attr('x2', w); - ticks.append('svg:text').text(function(d) { - return d; - }).attr('text-anchor', 'end').attr('dy', 2).attr('dx', -4); - ticks = vis.selectAll('.tickx').data(x.ticks(data.length)).enter().append('svg:g').attr('transform', function(d, i) { - return "translate(" + (x(i)) + ", 0)"; - }).attr('class', 'tickx'); - ticks.append('svg:line').attr('y1', h).attr('y2', 0).attr('x1', 0).attr('x2', 0); - ticks.append('svg:text').text(function(d, i) { - return i; - }).attr('y', h).attr('dy', 15).attr('dx', -2); - if (version < 3 && version !== 0) { - return; - } - return vis.selectAll('.point').data(data).enter().append("svg:circle").attr("class", function(d, i) { - if (d === max) { - return 'point max'; - } else { - return 'point'; - } - }).attr("r", function(d, i) { - if (d === max) { - return 6; - } else { - return 4; - } - }).attr("cx", function(d, i) { - return x(i); - }).attr("cy", function(d) { - return y(d); - }).on('mouseover', function() { - return d3.select(this).attr('r', 8); - }).on('mouseout', function() { - return d3.select(this).attr('r', 4); - }).on('click', function(d, i) { - return console.log(d, i); - }); - }); - -END; - $wgOut->addScript( $js_line ); - - return Html::element( - 'div', - array( - 'id' => $lineID, - 'style' => Sanitizer::checkCss( "margin-top: 20px; margin-left: 20px; margin-right: 20px; width: {$width}px; height: {$height}px;" ) - ) - ); - } - - /** - * @see SMWResultPrinter::getParameters - */ - public function getParameters() { - $params = parent::getParameters(); - - $params['height'] = new Parameter( 'height', Parameter::TYPE_INTEGER, 400 ); - $params['height']->setMessage( 'srf_paramdesc_chartheight' ); - - // TODO: this is a string to allow for %, but better handling would be nice - $params['width'] = new Parameter( 'width', Parameter::TYPE_STRING, '400' ); - $params['width']->setMessage( 'srf_paramdesc_chartwidth' ); - - $params['charttitle'] = new Parameter( 'charttitle', Parameter::TYPE_STRING, ' ' ); - $params['charttitle']->setMessage( 'srf_paramdesc_charttitle' ); - - $params['barcolor'] = new Parameter( 'barcolor', Parameter::TYPE_STRING, '#85802b' ); - $params['barcolor']->setMessage( 'srf_paramdesc_barcolor' ); - - $params['min'] = new Parameter( 'min', Parameter::TYPE_INTEGER ); - $params['min']->setMessage( 'srf-paramdesc-minvalue' ); - $params['min']->setDefault( false, false ); - - return $params; - } - -} diff --git a/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Treemap.php b/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Treemap.php deleted file mode 100644 index cd82043..0000000 --- a/documentacion/extensions/SemanticResultFormats/D3/SRF_D3Treemap.php +++ /dev/null @@ -1,234 +0,0 @@ - 1 ) { - return; - } - - global $wgOut; - $wgOut->addModules( 'ext.srf.d3treemap' ); - } - - /** - * Get the JS and HTML that needs to be added to the output to create the chart. - * - * @since 1.7 - * - * @param array $data label => value - */ - protected function getFormatOutput( array $data ) { - global $wgOut; - - $this->isHTML = true; - - $maxValue = count( $data ) == 0 ? 0 : max( $data ); - - if ( $this->params['min'] === false ) { - $minValue = count( $data ) == 0 ? 0 : min( $data ); - } - else { - $minValue = $this->params['min']; - } - - foreach ( $data as $i => &$nr ) { - if ( $this->params['bardirection'] == 'horizontal' ) { - $nr = array( $nr, $i ); - } - } - - $treemapID = 'treemap' . self::$m_barchartnum; - self::$m_barchartnum++; - - $labels_str = FormatJson::encode( array_keys( $data ) ); - $numbers_str = FormatJson::encode( array_values( $data ) ); - - $labels_axis = 'xaxis'; - $numbers_axis = 'yaxis'; - - $angle_val = -40; - $barmargin = 6; - - if ( $this->params['bardirection'] == 'horizontal' ) { - $labels_axis = 'yaxis'; - $numbers_axis = 'xaxis'; - $angle_val = 0; - $barmargin = 8 ; - } - - $barwidth = 20; // width of each bar - $bardistance = 4; // distance between two bars - - // Calculate the tick values for the numbers, based on the - // lowest and highest number. jqPlot has its own option for - // calculating ticks automatically - "autoscale" - but it - // currently (September 2010) fails for numbers less than 1, - // and negative numbers. - // If both max and min are 0, just escape now. - if ( $maxValue == 0 && $minValue == 0 ) { - return null; - } - // Make the max and min slightly larger and bigger than the - // actual max and min, so that the bars don't directly touch - // the top and bottom of the graph - if ( $maxValue > 0 ) { $maxValue += .001; } - if ( $minValue < 0 ) { $minValue -= .001; } - if ( $maxValue == 0 ) { - $multipleOf10 = 0; - $maxAxis = 0; - } else { - $multipleOf10 = pow( 10, floor( log( $maxValue, 10 ) ) ); - $maxAxis = ceil( $maxValue / $multipleOf10 ) * $multipleOf10; - } - - if ( $minValue == 0 ) { - $negativeMultipleOf10 = 0; - $minAxis = 0; - } else { - $negativeMultipleOf10 = -1 * pow( 10, floor( log( $minValue, 10 ) ) ); - $minAxis = ceil( $minValue / $negativeMultipleOf10 ) * $negativeMultipleOf10; - } - - $numbers_ticks = ''; - $biggerMultipleOf10 = max( $multipleOf10, -1 * $negativeMultipleOf10 ); - $lowestTick = floor( $minAxis / $biggerMultipleOf10 + .001 ); - $highestTick = ceil( $maxAxis / $biggerMultipleOf10 - .001 ); - - for ( $i = $lowestTick; $i <= $highestTick; $i++ ) { - $numbers_ticks .= ($i * $biggerMultipleOf10) . ', '; - } - -# $pointlabels = FormatJson::encode( $this->params['pointlabels'] ); - - $width = $this->params['width']; - $height = $this->params['height']; - - - $js_treemap =<< -$(document).ready(function() { -//http://dealloc.me/2011/06/24/d3-is-not-a-graphing-library.html -var data, h, max, pb, pl, pr, pt, ticks, version, vis, w, x, y, _ref; - version = Number(document.location.hash.replace('#', '')); - data = {$numbers_str}; - _ref = [20, 20, 20, 20], pt = _ref[0], pl = _ref[1], pr = _ref[2], pb = _ref[3]; - w = $width - (pl + pr); - h = $height - (pt + pb); - max = d3.max(data); - x = d3.scale.linear().domain([0, data.length - 1]).range([0, w]); - y = d3.scale.linear().domain([0, max]).range([h, 0]); - vis = d3.select('#$treemapID').style('margin', '20px auto').style('width', "" + w + "px").append('svg:svg').attr('width', w + (pl + pr)).attr('height', h + pt + pb).attr('class', 'viz').append('svg:g').attr('transform', "translate(" + pl + "," + pt + ")"); - vis.selectAll('path.line').data([data]).enter().append("svg:path").attr("d", d3.svg.line().x(function(d, i) { - return x(i); - }).y(y)); - if (version < 2 && version !== 0) { - return; - } - ticks = vis.selectAll('.ticky').data(y.ticks(7)).enter().append('svg:g').attr('transform', function(d) { - return "translate(0, " + (y(d)) + ")"; - }).attr('class', 'ticky'); - ticks.append('svg:line').attr('y1', 0).attr('y2', 0).attr('x1', 0).attr('x2', w); - ticks.append('svg:text').text(function(d) { - return d; - }).attr('text-anchor', 'end').attr('dy', 2).attr('dx', -4); - ticks = vis.selectAll('.tickx').data(x.ticks(data.length)).enter().append('svg:g').attr('transform', function(d, i) { - return "translate(" + (x(i)) + ", 0)"; - }).attr('class', 'tickx'); - ticks.append('svg:line').attr('y1', h).attr('y2', 0).attr('x1', 0).attr('x2', 0); - ticks.append('svg:text').text(function(d, i) { - return i; - }).attr('y', h).attr('dy', 15).attr('dx', -2); - if (version < 3 && version !== 0) { - return; - } - return vis.selectAll('.point').data(data).enter().append("svg:circle").attr("class", function(d, i) { - if (d === max) { - return 'point max'; - } else { - return 'point'; - } - }).attr("r", function(d, i) { - if (d === max) { - return 6; - } else { - return 4; - } - }).attr("cx", function(d, i) { - return x(i); - }).attr("cy", function(d) { - return y(d); - }).on('mouseover', function() { - return d3.select(this).attr('r', 8); - }).on('mouseout', function() { - return d3.select(this).attr('r', 4); - }).on('click', function(d, i) { - return console.log(d, i); - }); - }); - -END; - $wgOut->addScript( $js_treemap ); - - return Html::element( - 'div', - array( - 'id' => $treemapID, - 'style' => Sanitizer::checkCss( "margin-top: 20px; margin-left: 20px; margin-right: 20px; width: {$width}px; height: {$height}px;" ) - ) - ); - } - - /** - * @see SMWResultPrinter::getParameters - */ - public function getParameters() { - $params = parent::getParameters(); - - $params['height'] = new Parameter( 'height', Parameter::TYPE_INTEGER, 400 ); - $params['height']->setMessage( 'srf_paramdesc_chartheight' ); - - // TODO: this is a string to allow for %, but better handling would be nice - $params['width'] = new Parameter( 'width', Parameter::TYPE_STRING, '400' ); - $params['width']->setMessage( 'srf_paramdesc_chartwidth' ); - - $params['charttitle'] = new Parameter( 'charttitle', Parameter::TYPE_STRING, ' ' ); - $params['charttitle']->setMessage( 'srf_paramdesc_charttitle' ); - - $params['barcolor'] = new Parameter( 'barcolor', Parameter::TYPE_STRING, '#85802b' ); - $params['barcolor']->setMessage( 'srf_paramdesc_barcolor' ); - - $params['bardirection'] = new Parameter( 'bardirection', Parameter::TYPE_STRING, 'vertical' ); - $params['bardirection']->setMessage( 'srf_paramdesc_bardirection' ); - $params['bardirection']->addCriteria( new CriterionInArray( 'horizontal', 'vertical' ) ); - - $params['numbersaxislabel'] = new Parameter( 'numbersaxislabel', Parameter::TYPE_STRING, ' ' ); - $params['numbersaxislabel']->setMessage( 'srf_paramdesc_barnumbersaxislabel' ); - - $params['min'] = new Parameter( 'min', Parameter::TYPE_INTEGER ); - $params['min']->setMessage( 'srf-paramdesc-minvalue' ); - $params['min']->setDefault( false, false ); - - return $params; - } - -} diff --git a/documentacion/extensions/SemanticResultFormats/D3/d3.css b/documentacion/extensions/SemanticResultFormats/D3/d3.css deleted file mode 100644 index b47189a..0000000 --- a/documentacion/extensions/SemanticResultFormats/D3/d3.css +++ /dev/null @@ -1,58 +0,0 @@ -.rule line { - stroke: #eee; - shape-rendering: crispEdges; -} - -.rule line.axis { - stroke: #000; -} - -.line { - fill: none; - stroke: steelblue; - stroke-width: 1.5px; -} - -circle.line { - fill: #fff; -} - -path { - stroke: steelblue; - stroke-width: 2; - fill: none; -} - -.tickx line, -.ticky line { - stroke-width: 1px; - stroke: #333; - stroke-opacity: 0.4; - shape-rendering: crispedges; -} - -.tickx text, -.ticky text { - fill: #444; - font-size: 10px; -} - -.point { - fill: rgb(200,0,0); - stroke-width: 2px; - stroke: rgb(255,255,255); -} - -.point.max { - fill: rgb(51, 156, 255); - stroke-width: 2px; -} - -.cell { - border: solid 1px white; - font: 10px sans-serif; - line-height: 12px; - overflow: hidden; - position: absolute; - text-indent: 2px; -} \ No newline at end of file diff --git a/documentacion/extensions/SemanticResultFormats/D3/d3.js b/documentacion/extensions/SemanticResultFormats/D3/d3.js deleted file mode 100644 index 9f986ce..0000000 --- a/documentacion/extensions/SemanticResultFormats/D3/d3.js +++ /dev/null @@ -1,4615 +0,0 @@ -(function(){if (!Date.now) Date.now = function() { - return +new Date; -}; -try { - document.createElement("div").style.setProperty("opacity", 0, ""); -} catch (error) { - var d3_style_prototype = CSSStyleDeclaration.prototype, - d3_style_setProperty = d3_style_prototype.setProperty; - d3_style_prototype.setProperty = function(name, value, priority) { - d3_style_setProperty.call(this, name, value + "", priority); - }; -} -d3 = {version: "2.5.0"}; // semver -var d3_array = d3_arraySlice; // conversion for NodeLists - -function d3_arrayCopy(pseudoarray) { - var i = -1, n = pseudoarray.length, array = []; - while (++i < n) array.push(pseudoarray[i]); - return array; -} - -function d3_arraySlice(pseudoarray) { - return Array.prototype.slice.call(pseudoarray); -} - -try { - d3_array(document.documentElement.childNodes)[0].nodeType; -} catch(e) { - d3_array = d3_arrayCopy; -} - -var d3_arraySubclass = [].__proto__? - -// Until ECMAScript supports array subclassing, prototype injection works well. -function(array, prototype) { - array.__proto__ = prototype; -}: - -// And if your browser doesn't support __proto__, we'll use direct extension. -function(array, prototype) { - for (var property in prototype) array[property] = prototype[property]; -}; -function d3_this() { - return this; -} -d3.functor = function(v) { - return typeof v === "function" ? v : function() { return v; }; -}; -// A getter-setter method that preserves the appropriate `this` context. -d3.rebind = function(object, method) { - return function() { - var x = method.apply(object, arguments); - return arguments.length ? object : x; - }; -}; -d3.ascending = function(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; -}; -d3.descending = function(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; -}; -d3.mean = function(array, f) { - var n = array.length, - a, - m = 0, - i = -1, - j = 0; - if (arguments.length === 1) { - while (++i < n) if (d3_number(a = array[i])) m += (a - m) / ++j; - } else { - while (++i < n) if (d3_number(a = f.call(array, array[i], i))) m += (a - m) / ++j; - } - return j ? m : undefined; -}; -d3.median = function(array, f) { - if (arguments.length > 1) array = array.map(f); - array = array.filter(d3_number); - return array.length ? d3.quantile(array.sort(d3.ascending), .5) : undefined; -}; -d3.min = function(array, f) { - var i = -1, - n = array.length, - a, - b; - if (arguments.length === 1) { - while (++i < n && ((a = array[i]) == null || a != a)) a = undefined; - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } else { - while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined; - while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; - } - return a; -}; -d3.max = function(array, f) { - var i = -1, - n = array.length, - a, - b; - if (arguments.length === 1) { - while (++i < n && ((a = array[i]) == null || a != a)) a = undefined; - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } else { - while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined; - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; - } - return a; -}; -d3.extent = function(array, f) { - var i = -1, - n = array.length, - a, - b, - c; - if (arguments.length === 1) { - while (++i < n && ((a = c = array[i]) == null || a != a)) a = c = undefined; - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } else { - while (++i < n && ((a = c = f.call(array, array[i], i)) == null || a != a)) a = undefined; - while (++i < n) if ((b = f.call(array, array[i], i)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - return [a, c]; -}; -d3.random = { - normal: function(mean, deviation) { - if (arguments.length < 2) deviation = 1; - if (arguments.length < 1) mean = 0; - return function() { - var x, y, r; - do { - x = Math.random() * 2 - 1; - y = Math.random() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - return mean + deviation * x * Math.sqrt(-2 * Math.log(r) / r); - }; - } -}; -function d3_number(x) { - return x != null && !isNaN(x); -} -d3.sum = function(array, f) { - var s = 0, - n = array.length, - a, - i = -1; - - if (arguments.length === 1) { - while (++i < n) if (!isNaN(a = +array[i])) s += a; - } else { - while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a; - } - - return s; -}; -// R-7 per -d3.quantile = function(values, p) { - var H = (values.length - 1) * p + 1, - h = Math.floor(H), - v = values[h - 1], - e = H - h; - return e ? v + e * (values[h] - v) : v; -}; -d3.zip = function() { - if (!(n = arguments.length)) return []; - for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m;) { - for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n;) { - zip[j] = arguments[j][i]; - } - } - return zips; -}; - -function d3_zipLength(d) { - return d.length; -} -// Locate the insertion point for x in a to maintain sorted order. The -// arguments lo and hi may be used to specify a subset of the array which should -// be considered; by default the entire array is used. If x is already present -// in a, the insertion point will be before (to the left of) any existing -// entries. The return value is suitable for use as the first argument to -// `array.splice` assuming that a is already sorted. -// -// The returned insertion point i partitions the array a into two halves so that -// all v < x for v in a[lo:i] for the left side and all v >= x for v in a[i:hi] -// for the right side. -d3.bisectLeft = function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = (lo + hi) >> 1; - if (a[mid] < x) lo = mid + 1; - else hi = mid; - } - return lo; -}; - -// Similar to bisectLeft, but returns an insertion point which comes after (to -// the right of) any existing entries of x in a. -// -// The returned insertion point i partitions the array into two halves so that -// all v <= x for v in a[lo:i] for the left side and all v > x for v in a[i:hi] -// for the right side. -d3.bisect = -d3.bisectRight = function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = (lo + hi) >> 1; - if (x < a[mid]) hi = mid; - else lo = mid + 1; - } - return lo; -}; -d3.first = function(array, f) { - var i = 0, - n = array.length, - a = array[0], - b; - if (arguments.length === 1) f = d3.ascending; - while (++i < n) { - if (f.call(array, a, b = array[i]) > 0) { - a = b; - } - } - return a; -}; -d3.last = function(array, f) { - var i = 0, - n = array.length, - a = array[0], - b; - if (arguments.length === 1) f = d3.ascending; - while (++i < n) { - if (f.call(array, a, b = array[i]) <= 0) { - a = b; - } - } - return a; -}; -d3.nest = function() { - var nest = {}, - keys = [], - sortKeys = [], - sortValues, - rollup; - - function map(array, depth) { - if (depth >= keys.length) return rollup - ? rollup.call(nest, array) : (sortValues - ? array.sort(sortValues) - : array); - - var i = -1, - n = array.length, - key = keys[depth++], - keyValue, - object, - o = {}; - - while (++i < n) { - if ((keyValue = key(object = array[i])) in o) { - o[keyValue].push(object); - } else { - o[keyValue] = [object]; - } - } - - for (keyValue in o) { - o[keyValue] = map(o[keyValue], depth); - } - - return o; - } - - function entries(map, depth) { - if (depth >= keys.length) return map; - - var a = [], - sortKey = sortKeys[depth++], - key; - - for (key in map) { - a.push({key: key, values: entries(map[key], depth)}); - } - - if (sortKey) a.sort(function(a, b) { - return sortKey(a.key, b.key); - }); - - return a; - } - - nest.map = function(array) { - return map(array, 0); - }; - - nest.entries = function(array) { - return entries(map(array, 0), 0); - }; - - nest.key = function(d) { - keys.push(d); - return nest; - }; - - // Specifies the order for the most-recently specified key. - // Note: only applies to entries. Map keys are unordered! - nest.sortKeys = function(order) { - sortKeys[keys.length - 1] = order; - return nest; - }; - - // Specifies the order for leaf values. - // Applies to both maps and entries array. - nest.sortValues = function(order) { - sortValues = order; - return nest; - }; - - nest.rollup = function(f) { - rollup = f; - return nest; - }; - - return nest; -}; -d3.keys = function(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; -}; -d3.values = function(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; -}; -d3.entries = function(map) { - var entries = []; - for (var key in map) entries.push({key: key, value: map[key]}); - return entries; -}; -d3.permute = function(array, indexes) { - var permutes = [], - i = -1, - n = indexes.length; - while (++i < n) permutes[i] = array[indexes[i]]; - return permutes; -}; -d3.merge = function(arrays) { - return Array.prototype.concat.apply([], arrays); -}; -d3.split = function(array, f) { - var arrays = [], - values = [], - value, - i = -1, - n = array.length; - if (arguments.length < 2) f = d3_splitter; - while (++i < n) { - if (f.call(values, value = array[i], i)) { - values = []; - } else { - if (!values.length) arrays.push(values); - values.push(value); - } - } - return arrays; -}; - -function d3_splitter(d) { - return d == null; -} -function d3_collapse(s) { - return s.replace(/(^\s+)|(\s+$)/g, "").replace(/\s+/g, " "); -} -/** - * @param {number} start - * @param {number=} stop - * @param {number=} step - */ -d3.range = function(start, stop, step) { - if (arguments.length < 3) { - step = 1; - if (arguments.length < 2) { - stop = start; - start = 0; - } - } - if ((stop - start) / step == Infinity) throw new Error("infinite range"); - var range = [], - i = -1, - j; - if (step < 0) while ((j = start + step * ++i) > stop) range.push(j); - else while ((j = start + step * ++i) < stop) range.push(j); - return range; -}; -d3.requote = function(s) { - return s.replace(d3_requote_re, "\\$&"); -}; - -var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; -d3.round = function(x, n) { - return n - ? Math.round(x * Math.pow(10, n)) * Math.pow(10, -n) - : Math.round(x); -}; -d3.xhr = function(url, mime, callback) { - var req = new XMLHttpRequest; - if (arguments.length < 3) callback = mime; - else if (mime && req.overrideMimeType) req.overrideMimeType(mime); - req.open("GET", url, true); - req.onreadystatechange = function() { - if (req.readyState === 4) callback(req.status < 300 ? req : null); - }; - req.send(null); -}; -d3.text = function(url, mime, callback) { - function ready(req) { - callback(req && req.responseText); - } - if (arguments.length < 3) { - callback = mime; - mime = null; - } - d3.xhr(url, mime, ready); -}; -d3.json = function(url, callback) { - d3.text(url, "application/json", function(text) { - callback(text ? JSON.parse(text) : null); - }); -}; -d3.html = function(url, callback) { - d3.text(url, "text/html", function(text) { - if (text != null) { // Treat empty string as valid HTML. - var range = document.createRange(); - range.selectNode(document.body); - text = range.createContextualFragment(text); - } - callback(text); - }); -}; -d3.xml = function(url, mime, callback) { - function ready(req) { - callback(req && req.responseXML); - } - if (arguments.length < 3) { - callback = mime; - mime = null; - } - d3.xhr(url, mime, ready); -}; -d3.ns = { - - prefix: { - svg: "http://www.w3.org/2000/svg", - xhtml: "http://www.w3.org/1999/xhtml", - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }, - - qualify: function(name) { - var i = name.indexOf(":"); - return i < 0 ? name : { - space: d3.ns.prefix[name.substring(0, i)], - local: name.substring(i + 1) - }; - } - -}; -d3.dispatch = function() { - var dispatch = new d3_dispatch(), - i = -1, - n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(); - return dispatch; -}; - -function d3_dispatch() {} - -d3_dispatch.prototype.on = function(type, listener) { - var i = type.indexOf("."), - name = ""; - - // Extract optional namespace, e.g., "click.foo" - if (i > 0) { - name = type.substring(i + 1); - type = type.substring(0, i); - } - - this[type].on(name, listener); -}; - -function d3_dispatch_event() { - var listeners = [], - listenerByName = {}; - - function dispatch() { - var z = listeners, // defensive reference - i = -1, - n = z.length, - l; - while (++i < n) if ((l = z[i])._on) l.apply(this, arguments); - } - - dispatch.on = function(name, listener) { - var l, i; - - // remove the old listener, if any - if (l = listenerByName[name]) { - l._on = false; - listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); - delete listenerByName[name]; - } - - // add the new listener, if any - if (listener) { - listener._on = true; - listeners.push(listener); - listenerByName[name] = listener; - } - - return dispatch; - }; - - return dispatch; -}; -// TODO align -d3.format = function(specifier) { - var match = d3_format_re.exec(specifier), - fill = match[1] || " ", - sign = match[3] || "", - zfill = match[5], - width = +match[6], - comma = match[7], - precision = match[8], - type = match[9], - scale = 1, - suffix = "", - integer = false; - - if (precision) precision = +precision.substring(1); - - if (zfill) { - fill = "0"; // TODO align = "="; - if (comma) width -= Math.floor((width - 1) / 4); - } - - switch (type) { - case "n": comma = true; type = "g"; break; - case "%": scale = 100; suffix = "%"; type = "f"; break; - case "p": scale = 100; suffix = "%"; type = "r"; break; - case "d": integer = true; precision = 0; break; - case "s": scale = -1; type = "r"; break; - } - - // If no precision is specified for r, fallback to general notation. - if (type == "r" && !precision) type = "g"; - - type = d3_format_types[type] || d3_format_typeDefault; - - return function(value) { - - // Return the empty string for floats formatted as ints. - if (integer && (value % 1)) return ""; - - // Convert negative to positive, and record the sign prefix. - var negative = (value < 0) && (value = -value) ? "\u2212" : sign; - - // Apply the scale, computing it from the value's exponent for si format. - if (scale < 0) { - var prefix = d3.formatPrefix(value, precision); - value *= prefix.scale; - suffix = prefix.symbol; - } else { - value *= scale; - } - - // Convert to the desired precision. - value = type(value, precision); - - // If the fill character is 0, the sign and group is applied after the fill. - if (zfill) { - var length = value.length + negative.length; - if (length < width) value = new Array(width - length + 1).join(fill) + value; - if (comma) value = d3_format_group(value); - value = negative + value; - } - - // Otherwise (e.g., space-filling), the sign and group is applied before. - else { - if (comma) value = d3_format_group(value); - value = negative + value; - var length = value.length; - if (length < width) value = new Array(width - length + 1).join(fill) + value; - } - - return value + suffix; - }; -}; - -// [[fill]align][sign][#][0][width][,][.precision][type] -var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?(#)?(0)?([0-9]+)?(,)?(\.[0-9]+)?([a-zA-Z%])?/; - -var d3_format_types = { - g: function(x, p) { return x.toPrecision(p); }, - e: function(x, p) { return x.toExponential(p); }, - f: function(x, p) { return x.toFixed(p); }, - r: function(x, p) { return d3.round(x, p = d3_format_precision(x, p)).toFixed(Math.max(0, Math.min(20, p))); } -}; - -function d3_format_precision(x, p) { - return p - (x ? 1 + Math.floor(Math.log(x + Math.pow(10, 1 + Math.floor(Math.log(x) / Math.LN10) - p)) / Math.LN10) : 1); -} - -function d3_format_typeDefault(x) { - return x + ""; -} - -// Apply comma grouping for thousands. -function d3_format_group(value) { - var i = value.lastIndexOf("."), - f = i >= 0 ? value.substring(i) : (i = value.length, ""), - t = []; - while (i > 0) t.push(value.substring(i -= 3, i + 3)); - return t.reverse().join(",") + f; -} -var d3_formatPrefixes = ["y","z","a","f","p","n","μ","m","","k","M","G","T","P","E","Z","Y"].map(d3_formatPrefix); - -d3.formatPrefix = function(value, precision) { - var i = 0; - if (value) { - if (value < 0) value *= -1; - if (precision) value = d3.round(value, d3_format_precision(value, precision)); - i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); - i = Math.max(-24, Math.min(24, Math.floor((i <= 0 ? i + 1 : i - 1) / 3) * 3)); - } - return d3_formatPrefixes[8 + i / 3]; -}; - -function d3_formatPrefix(d, i) { - return { - scale: Math.pow(10, (8 - i) * 3), - symbol: d - }; -} - -/* - * TERMS OF USE - EASING EQUATIONS - * - * Open source under the BSD License. - * - * Copyright 2001 Robert Penner - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * - Neither the name of the author nor the names of contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -var d3_ease_quad = d3_ease_poly(2), - d3_ease_cubic = d3_ease_poly(3); - -var d3_ease = { - linear: function() { return d3_ease_linear; }, - poly: d3_ease_poly, - quad: function() { return d3_ease_quad; }, - cubic: function() { return d3_ease_cubic; }, - sin: function() { return d3_ease_sin; }, - exp: function() { return d3_ease_exp; }, - circle: function() { return d3_ease_circle; }, - elastic: d3_ease_elastic, - back: d3_ease_back, - bounce: function() { return d3_ease_bounce; } -}; - -var d3_ease_mode = { - "in": function(f) { return f; }, - "out": d3_ease_reverse, - "in-out": d3_ease_reflect, - "out-in": function(f) { return d3_ease_reflect(d3_ease_reverse(f)); } -}; - -d3.ease = function(name) { - var i = name.indexOf("-"), - t = i >= 0 ? name.substring(0, i) : name, - m = i >= 0 ? name.substring(i + 1) : "in"; - return d3_ease_clamp(d3_ease_mode[m](d3_ease[t].apply(null, Array.prototype.slice.call(arguments, 1)))); -}; - -function d3_ease_clamp(f) { - return function(t) { - return t <= 0 ? 0 : t >= 1 ? 1 : f(t); - }; -} - -function d3_ease_reverse(f) { - return function(t) { - return 1 - f(1 - t); - }; -} - -function d3_ease_reflect(f) { - return function(t) { - return .5 * (t < .5 ? f(2 * t) : (2 - f(2 - 2 * t))); - }; -} - -function d3_ease_linear(t) { - return t; -} - -function d3_ease_poly(e) { - return function(t) { - return Math.pow(t, e); - } -} - -function d3_ease_sin(t) { - return 1 - Math.cos(t * Math.PI / 2); -} - -function d3_ease_exp(t) { - return Math.pow(2, 10 * (t - 1)); -} - -function d3_ease_circle(t) { - return 1 - Math.sqrt(1 - t * t); -} - -function d3_ease_elastic(a, p) { - var s; - if (arguments.length < 2) p = 0.45; - if (arguments.length < 1) { a = 1; s = p / 4; } - else s = p / (2 * Math.PI) * Math.asin(1 / a); - return function(t) { - return 1 + a * Math.pow(2, 10 * -t) * Math.sin((t - s) * 2 * Math.PI / p); - }; -} - -function d3_ease_back(s) { - if (!s) s = 1.70158; - return function(t) { - return t * t * ((s + 1) * t - s); - }; -} - -function d3_ease_bounce(t) { - return t < 1 / 2.75 ? 7.5625 * t * t - : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 - : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 - : 7.5625 * (t -= 2.625 / 2.75) * t + .984375; -} -d3.event = null; - -function d3_eventCancel() { - d3.event.stopPropagation(); - d3.event.preventDefault(); -} -d3.interpolate = function(a, b) { - var i = d3.interpolators.length, f; - while (--i >= 0 && !(f = d3.interpolators[i](a, b))); - return f; -}; - -d3.interpolateNumber = function(a, b) { - b -= a; - return function(t) { return a + b * t; }; -}; - -d3.interpolateRound = function(a, b) { - b -= a; - return function(t) { return Math.round(a + b * t); }; -}; - -d3.interpolateString = function(a, b) { - var m, // current match - i, // current index - j, // current index (for coallescing) - s0 = 0, // start index of current string prefix - s1 = 0, // end index of current string prefix - s = [], // string constants and placeholders - q = [], // number interpolators - n, // q.length - o; - - // Reset our regular expression! - d3_interpolate_number.lastIndex = 0; - - // Find all numbers in b. - for (i = 0; m = d3_interpolate_number.exec(b); ++i) { - if (m.index) s.push(b.substring(s0, s1 = m.index)); - q.push({i: s.length, x: m[0]}); - s.push(null); - s0 = d3_interpolate_number.lastIndex; - } - if (s0 < b.length) s.push(b.substring(s0)); - - // Find all numbers in a. - for (i = 0, n = q.length; (m = d3_interpolate_number.exec(a)) && i < n; ++i) { - o = q[i]; - if (o.x == m[0]) { // The numbers match, so coallesce. - if (o.i) { - if (s[o.i + 1] == null) { // This match is followed by another number. - s[o.i - 1] += o.x; - s.splice(o.i, 1); - for (j = i + 1; j < n; ++j) q[j].i--; - } else { // This match is followed by a string, so coallesce twice. - s[o.i - 1] += o.x + s[o.i + 1]; - s.splice(o.i, 2); - for (j = i + 1; j < n; ++j) q[j].i -= 2; - } - } else { - if (s[o.i + 1] == null) { // This match is followed by another number. - s[o.i] = o.x; - } else { // This match is followed by a string, so coallesce twice. - s[o.i] = o.x + s[o.i + 1]; - s.splice(o.i + 1, 1); - for (j = i + 1; j < n; ++j) q[j].i--; - } - } - q.splice(i, 1); - n--; - i--; - } else { - o.x = d3.interpolateNumber(parseFloat(m[0]), parseFloat(o.x)); - } - } - - // Remove any numbers in b not found in a. - while (i < n) { - o = q.pop(); - if (s[o.i + 1] == null) { // This match is followed by another number. - s[o.i] = o.x; - } else { // This match is followed by a string, so coallesce twice. - s[o.i] = o.x + s[o.i + 1]; - s.splice(o.i + 1, 1); - } - n--; - } - - // Special optimization for only a single match. - if (s.length === 1) { - return s[0] == null ? q[0].x : function() { return b; }; - } - - // Otherwise, interpolate each of the numbers and rejoin the string. - return function(t) { - for (i = 0; i < n; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; -}; - -d3.interpolateTransform = function(a, b) { - return d3.interpolateString(d3.transform(a) + "", d3.transform(b) + ""); -}; - -d3.interpolateRgb = function(a, b) { - a = d3.rgb(a); - b = d3.rgb(b); - var ar = a.r, - ag = a.g, - ab = a.b, - br = b.r - ar, - bg = b.g - ag, - bb = b.b - ab; - return function(t) { - return "#" - + d3_rgb_hex(Math.round(ar + br * t)) - + d3_rgb_hex(Math.round(ag + bg * t)) - + d3_rgb_hex(Math.round(ab + bb * t)); - }; -}; - -// interpolates HSL space, but outputs RGB string (for compatibility) -d3.interpolateHsl = function(a, b) { - a = d3.hsl(a); - b = d3.hsl(b); - var h0 = a.h, - s0 = a.s, - l0 = a.l, - h1 = b.h - h0, - s1 = b.s - s0, - l1 = b.l - l0; - return function(t) { - return d3_hsl_rgb(h0 + h1 * t, s0 + s1 * t, l0 + l1 * t).toString(); - }; -}; - -d3.interpolateArray = function(a, b) { - var x = [], - c = [], - na = a.length, - nb = b.length, - n0 = Math.min(a.length, b.length), - i; - for (i = 0; i < n0; ++i) x.push(d3.interpolate(a[i], b[i])); - for (; i < na; ++i) c[i] = a[i]; - for (; i < nb; ++i) c[i] = b[i]; - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; -}; - -d3.interpolateObject = function(a, b) { - var i = {}, - c = {}, - k; - for (k in a) { - if (k in b) { - i[k] = d3_interpolateByName(k)(a[k], b[k]); - } else { - c[k] = a[k]; - } - } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; -} - -var d3_interpolate_number = /[-+]?(?:\d*\.?\d+)(?:[eE][-+]?\d+)?/g; - -function d3_interpolateByName(n) { - return n == "transform" - ? d3.interpolateTransform - : d3.interpolate; -} - -d3.interpolators = [ - d3.interpolateObject, - function(a, b) { return (b instanceof Array) && d3.interpolateArray(a, b); }, - function(a, b) { return (typeof b === "string") && d3.interpolateString(a + "", b); }, - function(a, b) { return (typeof b === "string" ? b in d3_rgb_names || /^(#|rgb\(|hsl\()/.test(b) : b instanceof d3_Rgb || b instanceof d3_Hsl) && d3.interpolateRgb(a + "", b); }, - function(a, b) { return (typeof b === "number") && d3.interpolateNumber(+a, b); } -]; -function d3_uninterpolateNumber(a, b) { - b = b - (a = +a) ? 1 / (b - a) : 0; - return function(x) { return (x - a) * b; }; -} - -function d3_uninterpolateClamp(a, b) { - b = b - (a = +a) ? 1 / (b - a) : 0; - return function(x) { return Math.max(0, Math.min(1, (x - a) * b)); }; -} -d3.rgb = function(r, g, b) { - return arguments.length === 1 - ? (r instanceof d3_Rgb ? d3_rgb(r.r, r.g, r.b) - : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb)) - : d3_rgb(~~r, ~~g, ~~b); -}; - -function d3_rgb(r, g, b) { - return new d3_Rgb(r, g, b); -} - -function d3_Rgb(r, g, b) { - this.r = r; - this.g = g; - this.b = b; -} - -d3_Rgb.prototype.brighter = function(k) { - k = Math.pow(0.7, arguments.length ? k : 1); - var r = this.r, - g = this.g, - b = this.b, - i = 30; - if (!r && !g && !b) return d3_rgb(i, i, i); - if (r && r < i) r = i; - if (g && g < i) g = i; - if (b && b < i) b = i; - return d3_rgb( - Math.min(255, Math.floor(r / k)), - Math.min(255, Math.floor(g / k)), - Math.min(255, Math.floor(b / k))); -}; - -d3_Rgb.prototype.darker = function(k) { - k = Math.pow(0.7, arguments.length ? k : 1); - return d3_rgb( - Math.floor(k * this.r), - Math.floor(k * this.g), - Math.floor(k * this.b)); -}; - -d3_Rgb.prototype.hsl = function() { - return d3_rgb_hsl(this.r, this.g, this.b); -}; - -d3_Rgb.prototype.toString = function() { - return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); -}; - -function d3_rgb_hex(v) { - return v < 0x10 - ? "0" + Math.max(0, v).toString(16) - : Math.min(255, v).toString(16); -} - -function d3_rgb_parse(format, rgb, hsl) { - var r = 0, // red channel; int in [0, 255] - g = 0, // green channel; int in [0, 255] - b = 0, // blue channel; int in [0, 255] - m1, // CSS color specification match - m2, // CSS color specification type (e.g., rgb) - name; - - /* Handle hsl, rgb. */ - m1 = /([a-z]+)\((.*)\)/i.exec(format); - if (m1) { - m2 = m1[2].split(","); - switch (m1[1]) { - case "hsl": { - return hsl( - parseFloat(m2[0]), // degrees - parseFloat(m2[1]) / 100, // percentage - parseFloat(m2[2]) / 100 // percentage - ); - } - case "rgb": { - return rgb( - d3_rgb_parseNumber(m2[0]), - d3_rgb_parseNumber(m2[1]), - d3_rgb_parseNumber(m2[2]) - ); - } - } - } - - /* Named colors. */ - if (name = d3_rgb_names[format]) return rgb(name.r, name.g, name.b); - - /* Hexadecimal colors: #rgb and #rrggbb. */ - if (format != null && format.charAt(0) === "#") { - if (format.length === 4) { - r = format.charAt(1); r += r; - g = format.charAt(2); g += g; - b = format.charAt(3); b += b; - } else if (format.length === 7) { - r = format.substring(1, 3); - g = format.substring(3, 5); - b = format.substring(5, 7); - } - r = parseInt(r, 16); - g = parseInt(g, 16); - b = parseInt(b, 16); - } - - return rgb(r, g, b); -} - -function d3_rgb_hsl(r, g, b) { - var min = Math.min(r /= 255, g /= 255, b /= 255), - max = Math.max(r, g, b), - d = max - min, - h, - s, - l = (max + min) / 2; - if (d) { - s = l < .5 ? d / (max + min) : d / (2 - max - min); - if (r == max) h = (g - b) / d + (g < b ? 6 : 0); - else if (g == max) h = (b - r) / d + 2; - else h = (r - g) / d + 4; - h *= 60; - } else { - s = h = 0; - } - return d3_hsl(h, s, l); -} - -function d3_rgb_parseNumber(c) { // either integer or percentage - var f = parseFloat(c); - return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; -} - -var d3_rgb_names = { - aliceblue: "#f0f8ff", - antiquewhite: "#faebd7", - aqua: "#00ffff", - aquamarine: "#7fffd4", - azure: "#f0ffff", - beige: "#f5f5dc", - bisque: "#ffe4c4", - black: "#000000", - blanchedalmond: "#ffebcd", - blue: "#0000ff", - blueviolet: "#8a2be2", - brown: "#a52a2a", - burlywood: "#deb887", - cadetblue: "#5f9ea0", - chartreuse: "#7fff00", - chocolate: "#d2691e", - coral: "#ff7f50", - cornflowerblue: "#6495ed", - cornsilk: "#fff8dc", - crimson: "#dc143c", - cyan: "#00ffff", - darkblue: "#00008b", - darkcyan: "#008b8b", - darkgoldenrod: "#b8860b", - darkgray: "#a9a9a9", - darkgreen: "#006400", - darkgrey: "#a9a9a9", - darkkhaki: "#bdb76b", - darkmagenta: "#8b008b", - darkolivegreen: "#556b2f", - darkorange: "#ff8c00", - darkorchid: "#9932cc", - darkred: "#8b0000", - darksalmon: "#e9967a", - darkseagreen: "#8fbc8f", - darkslateblue: "#483d8b", - darkslategray: "#2f4f4f", - darkslategrey: "#2f4f4f", - darkturquoise: "#00ced1", - darkviolet: "#9400d3", - deeppink: "#ff1493", - deepskyblue: "#00bfff", - dimgray: "#696969", - dimgrey: "#696969", - dodgerblue: "#1e90ff", - firebrick: "#b22222", - floralwhite: "#fffaf0", - forestgreen: "#228b22", - fuchsia: "#ff00ff", - gainsboro: "#dcdcdc", - ghostwhite: "#f8f8ff", - gold: "#ffd700", - goldenrod: "#daa520", - gray: "#808080", - green: "#008000", - greenyellow: "#adff2f", - grey: "#808080", - honeydew: "#f0fff0", - hotpink: "#ff69b4", - indianred: "#cd5c5c", - indigo: "#4b0082", - ivory: "#fffff0", - khaki: "#f0e68c", - lavender: "#e6e6fa", - lavenderblush: "#fff0f5", - lawngreen: "#7cfc00", - lemonchiffon: "#fffacd", - lightblue: "#add8e6", - lightcoral: "#f08080", - lightcyan: "#e0ffff", - lightgoldenrodyellow: "#fafad2", - lightgray: "#d3d3d3", - lightgreen: "#90ee90", - lightgrey: "#d3d3d3", - lightpink: "#ffb6c1", - lightsalmon: "#ffa07a", - lightseagreen: "#20b2aa", - lightskyblue: "#87cefa", - lightslategray: "#778899", - lightslategrey: "#778899", - lightsteelblue: "#b0c4de", - lightyellow: "#ffffe0", - lime: "#00ff00", - limegreen: "#32cd32", - linen: "#faf0e6", - magenta: "#ff00ff", - maroon: "#800000", - mediumaquamarine: "#66cdaa", - mediumblue: "#0000cd", - mediumorchid: "#ba55d3", - mediumpurple: "#9370db", - mediumseagreen: "#3cb371", - mediumslateblue: "#7b68ee", - mediumspringgreen: "#00fa9a", - mediumturquoise: "#48d1cc", - mediumvioletred: "#c71585", - midnightblue: "#191970", - mintcream: "#f5fffa", - mistyrose: "#ffe4e1", - moccasin: "#ffe4b5", - navajowhite: "#ffdead", - navy: "#000080", - oldlace: "#fdf5e6", - olive: "#808000", - olivedrab: "#6b8e23", - orange: "#ffa500", - orangered: "#ff4500", - orchid: "#da70d6", - palegoldenrod: "#eee8aa", - palegreen: "#98fb98", - paleturquoise: "#afeeee", - palevioletred: "#db7093", - papayawhip: "#ffefd5", - peachpuff: "#ffdab9", - peru: "#cd853f", - pink: "#ffc0cb", - plum: "#dda0dd", - powderblue: "#b0e0e6", - purple: "#800080", - red: "#ff0000", - rosybrown: "#bc8f8f", - royalblue: "#4169e1", - saddlebrown: "#8b4513", - salmon: "#fa8072", - sandybrown: "#f4a460", - seagreen: "#2e8b57", - seashell: "#fff5ee", - sienna: "#a0522d", - silver: "#c0c0c0", - skyblue: "#87ceeb", - slateblue: "#6a5acd", - slategray: "#708090", - slategrey: "#708090", - snow: "#fffafa", - springgreen: "#00ff7f", - steelblue: "#4682b4", - tan: "#d2b48c", - teal: "#008080", - thistle: "#d8bfd8", - tomato: "#ff6347", - turquoise: "#40e0d0", - violet: "#ee82ee", - wheat: "#f5deb3", - white: "#ffffff", - whitesmoke: "#f5f5f5", - yellow: "#ffff00", - yellowgreen: "#9acd32" -}; - -for (var d3_rgb_name in d3_rgb_names) { - d3_rgb_names[d3_rgb_name] = d3_rgb_parse( - d3_rgb_names[d3_rgb_name], - d3_rgb, - d3_hsl_rgb); -} -d3.hsl = function(h, s, l) { - return arguments.length === 1 - ? (h instanceof d3_Hsl ? d3_hsl(h.h, h.s, h.l) - : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl)) - : d3_hsl(+h, +s, +l); -}; - -function d3_hsl(h, s, l) { - return new d3_Hsl(h, s, l); -} - -function d3_Hsl(h, s, l) { - this.h = h; - this.s = s; - this.l = l; -} - -d3_Hsl.prototype.brighter = function(k) { - k = Math.pow(0.7, arguments.length ? k : 1); - return d3_hsl(this.h, this.s, this.l / k); -}; - -d3_Hsl.prototype.darker = function(k) { - k = Math.pow(0.7, arguments.length ? k : 1); - return d3_hsl(this.h, this.s, k * this.l); -}; - -d3_Hsl.prototype.rgb = function() { - return d3_hsl_rgb(this.h, this.s, this.l); -}; - -d3_Hsl.prototype.toString = function() { - return this.rgb().toString(); -}; - -function d3_hsl_rgb(h, s, l) { - var m1, - m2; - - /* Some simple corrections for h, s and l. */ - h = h % 360; if (h < 0) h += 360; - s = s < 0 ? 0 : s > 1 ? 1 : s; - l = l < 0 ? 0 : l > 1 ? 1 : l; - - /* From FvD 13.37, CSS Color Module Level 3 */ - m2 = l <= .5 ? l * (1 + s) : l + s - l * s; - m1 = 2 * l - m2; - - function v(h) { - if (h > 360) h -= 360; - else if (h < 0) h += 360; - if (h < 60) return m1 + (m2 - m1) * h / 60; - if (h < 180) return m2; - if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; - return m1; - } - - function vv(h) { - return Math.round(v(h) * 255); - } - - return d3_rgb(vv(h + 120), vv(h), vv(h - 120)); -} -function d3_selection(groups) { - d3_arraySubclass(groups, d3_selectionPrototype); - return groups; -} - -var d3_select = function(s, n) { return n.querySelector(s); }, - d3_selectAll = function(s, n) { return n.querySelectorAll(s); }; - -// Prefer Sizzle, if available. -if (typeof Sizzle === "function") { - d3_select = function(s, n) { return Sizzle(s, n)[0]; }; - d3_selectAll = function(s, n) { return Sizzle.uniqueSort(Sizzle(s, n)); }; -} - -var d3_selectionPrototype = []; - -d3.selection = function() { - return d3_selectionRoot; -}; - -d3.selection.prototype = d3_selectionPrototype; -d3_selectionPrototype.select = function(selector) { - var subgroups = [], - subgroup, - subnode, - group, - node; - - if (typeof selector !== "function") selector = d3_selection_selector(selector); - - for (var j = -1, m = this.length; ++j < m;) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = -1, n = group.length; ++i < n;) { - if (node = group[i]) { - subgroup.push(subnode = selector.call(node, node.__data__, i)); - if (subnode && "__data__" in node) subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - - return d3_selection(subgroups); -}; - -function d3_selection_selector(selector) { - return function() { - return d3_select(selector, this); - }; -} -d3_selectionPrototype.selectAll = function(selector) { - var subgroups = [], - subgroup, - node; - - if (typeof selector !== "function") selector = d3_selection_selectorAll(selector); - - for (var j = -1, m = this.length; ++j < m;) { - for (var group = this[j], i = -1, n = group.length; ++i < n;) { - if (node = group[i]) { - subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i))); - subgroup.parentNode = node; - } - } - } - - return d3_selection(subgroups); -}; - -function d3_selection_selectorAll(selector) { - return function() { - return d3_selectAll(selector, this); - }; -} -d3_selectionPrototype.attr = function(name, value) { - name = d3.ns.qualify(name); - - // If no value is specified, return the first value. - if (arguments.length < 2) { - var node = this.node(); - return name.local - ? node.getAttributeNS(name.space, name.local) - : node.getAttribute(name); - } - - function attrNull() { - this.removeAttribute(name); - } - - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - - function attrConstant() { - this.setAttribute(name, value); - } - - function attrConstantNS() { - this.setAttributeNS(name.space, name.local, value); - } - - function attrFunction() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttribute(name); - else this.setAttribute(name, x); - } - - function attrFunctionNS() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttributeNS(name.space, name.local); - else this.setAttributeNS(name.space, name.local, x); - } - - return this.each(value == null - ? (name.local ? attrNullNS : attrNull) : (typeof value === "function" - ? (name.local ? attrFunctionNS : attrFunction) - : (name.local ? attrConstantNS : attrConstant))); -}; -d3_selectionPrototype.classed = function(name, value) { - var names = name.split(d3_selection_classedWhitespace), - n = names.length, - i = -1; - if (arguments.length > 1) { - while (++i < n) d3_selection_classed.call(this, names[i], value); - return this; - } else { - while (++i < n) if (!d3_selection_classed.call(this, names[i])) return false; - return true; - } -}; - -var d3_selection_classedWhitespace = /\s+/g; - -function d3_selection_classed(name, value) { - var re = new RegExp("(^|\\s+)" + d3.requote(name) + "(\\s+|$)", "g"); - - // If no value is specified, return the first value. - if (arguments.length < 2) { - var node = this.node(); - if (c = node.classList) return c.contains(name); - var c = node.className; - re.lastIndex = 0; - return re.test(c.baseVal != null ? c.baseVal : c); - } - - function classedAdd() { - if (c = this.classList) return c.add(name); - var c = this.className, - cb = c.baseVal != null, - cv = cb ? c.baseVal : c; - re.lastIndex = 0; - if (!re.test(cv)) { - cv = d3_collapse(cv + " " + name); - if (cb) c.baseVal = cv; - else this.className = cv; - } - } - - function classedRemove() { - if (c = this.classList) return c.remove(name); - var c = this.className, - cb = c.baseVal != null, - cv = cb ? c.baseVal : c; - cv = d3_collapse(cv.replace(re, " ")); - if (cb) c.baseVal = cv; - else this.className = cv; - } - - function classedFunction() { - (value.apply(this, arguments) - ? classedAdd - : classedRemove).call(this); - } - - return this.each(typeof value === "function" - ? classedFunction : value - ? classedAdd - : classedRemove); -} -d3_selectionPrototype.style = function(name, value, priority) { - if (arguments.length < 3) priority = ""; - - // If no value is specified, return the first value. - if (arguments.length < 2) return window - .getComputedStyle(this.node(), null) - .getPropertyValue(name); - - function styleNull() { - this.style.removeProperty(name); - } - - function styleConstant() { - this.style.setProperty(name, value, priority); - } - - function styleFunction() { - var x = value.apply(this, arguments); - if (x == null) this.style.removeProperty(name); - else this.style.setProperty(name, x, priority); - } - - return this.each(value == null - ? styleNull : (typeof value === "function" - ? styleFunction : styleConstant)); -}; -d3_selectionPrototype.property = function(name, value) { - - // If no value is specified, return the first value. - if (arguments.length < 2) return this.node()[name]; - - function propertyNull() { - delete this[name]; - } - - function propertyConstant() { - this[name] = value; - } - - function propertyFunction() { - var x = value.apply(this, arguments); - if (x == null) delete this[name]; - else this[name] = x; - } - - return this.each(value == null - ? propertyNull : (typeof value === "function" - ? propertyFunction : propertyConstant)); -}; -d3_selectionPrototype.text = function(value) { - return arguments.length < 1 ? this.node().textContent - : (this.each(typeof value === "function" - ? function() { this.textContent = value.apply(this, arguments); } - : function() { this.textContent = value; })); -}; -d3_selectionPrototype.html = function(value) { - return arguments.length < 1 ? this.node().innerHTML - : (this.each(typeof value === "function" - ? function() { this.innerHTML = value.apply(this, arguments); } - : function() { this.innerHTML = value; })); -}; -// TODO append(node)? -// TODO append(function)? -d3_selectionPrototype.append = function(name) { - name = d3.ns.qualify(name); - - function append() { - return this.appendChild(document.createElement(name)); - } - - function appendNS() { - return this.appendChild(document.createElementNS(name.space, name.local)); - } - - return this.select(name.local ? appendNS : append); -}; -// TODO insert(node, function)? -// TODO insert(function, string)? -// TODO insert(function, function)? -d3_selectionPrototype.insert = function(name, before) { - name = d3.ns.qualify(name); - - function insert() { - return this.insertBefore( - document.createElement(name), - d3_select(before, this)); - } - - function insertNS() { - return this.insertBefore( - document.createElementNS(name.space, name.local), - d3_select(before, this)); - } - - return this.select(name.local ? insertNS : insert); -}; -// TODO remove(selector)? -// TODO remove(node)? -// TODO remove(function)? -d3_selectionPrototype.remove = function() { - return this.each(function() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - }); -}; -// TODO data(null) for clearing data? -d3_selectionPrototype.data = function(data, join) { - var enter = [], - update = [], - exit = []; - - function bind(group, groupData) { - var i, - n = group.length, - m = groupData.length, - n0 = Math.min(n, m), - n1 = Math.max(n, m), - updateNodes = [], - enterNodes = [], - exitNodes = [], - node, - nodeData; - - if (join) { - var nodeByKey = {}, - keys = [], - key, - j = groupData.length; - - for (i = -1; ++i < n;) { - key = join.call(node = group[i], node.__data__, i); - if (key in nodeByKey) { - exitNodes[j++] = node; // duplicate key - } else { - nodeByKey[key] = node; - } - keys.push(key); - } - - for (i = -1; ++i < m;) { - node = nodeByKey[key = join.call(groupData, nodeData = groupData[i], i)]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - enterNodes[i] = exitNodes[i] = null; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - updateNodes[i] = exitNodes[i] = null; - } - delete nodeByKey[key]; - } - - for (i = -1; ++i < n;) { - if (keys[i] in nodeByKey) { - exitNodes[i] = group[i]; - } - } - } else { - for (i = -1; ++i < n0;) { - node = group[i]; - nodeData = groupData[i]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - enterNodes[i] = exitNodes[i] = null; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - updateNodes[i] = exitNodes[i] = null; - } - } - for (; i < m; ++i) { - enterNodes[i] = d3_selection_dataNode(groupData[i]); - updateNodes[i] = exitNodes[i] = null; - } - for (; i < n1; ++i) { - exitNodes[i] = group[i]; - enterNodes[i] = updateNodes[i] = null; - } - } - - enterNodes.update - = updateNodes; - - enterNodes.parentNode - = updateNodes.parentNode - = exitNodes.parentNode - = group.parentNode; - - enter.push(enterNodes); - update.push(updateNodes); - exit.push(exitNodes); - } - - var i = -1, - n = this.length, - group; - if (typeof data === "function") { - while (++i < n) { - bind(group = this[i], data.call(group, group.parentNode.__data__, i)); - } - } else { - while (++i < n) { - bind(group = this[i], data); - } - } - - var selection = d3_selection(update); - selection.enter = function() { return d3_selection_enter(enter); }; - selection.exit = function() { return d3_selection(exit); }; - return selection; -}; - -function d3_selection_dataNode(data) { - return {__data__: data}; -} -// TODO preserve null elements to maintain index? -d3_selectionPrototype.filter = function(filter) { - var subgroups = [], - subgroup, - group, - node; - - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i)) { - subgroup.push(node); - } - } - } - - return d3_selection(subgroups); -}; -d3_selectionPrototype.map = function(map) { - return this.each(function() { - this.__data__ = map.apply(this, arguments); - }); -}; -d3_selectionPrototype.sort = function(comparator) { - comparator = d3_selection_sortComparator.apply(this, arguments); - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j].sort(comparator), i = 1, n = group.length, prev = group[0]; i < n; i++) { - var node = group[i]; - if (node) { - if (prev) prev.parentNode.insertBefore(node, prev.nextSibling); - prev = node; - } - } - } - return this; -}; - -function d3_selection_sortComparator(comparator) { - if (!arguments.length) comparator = d3.ascending; - return function(a, b) { - return comparator(a && a.__data__, b && b.__data__); - }; -} -// type can be namespaced, e.g., "click.foo" -// listener can be null for removal -d3_selectionPrototype.on = function(type, listener, capture) { - if (arguments.length < 3) capture = false; - - // parse the type specifier - var name = "__on" + type, i = type.indexOf("."); - if (i > 0) type = type.substring(0, i); - - // if called with only one argument, return the current listener - if (arguments.length < 2) return (i = this.node()[name]) && i._; - - // remove the old event listener, and add the new event listener - return this.each(function(d, i) { - var node = this; - - if (node[name]) node.removeEventListener(type, node[name], capture); - if (listener) node.addEventListener(type, node[name] = l, capture); - - // wrapped event listener that preserves i - function l(e) { - var o = d3.event; // Events can be reentrant (e.g., focus). - d3.event = e; - try { - listener.call(node, node.__data__, i); - } finally { - d3.event = o; - } - } - - // stash the unwrapped listener for retrieval - l._ = listener; - }); -}; -d3_selectionPrototype.each = function(callback) { - for (var j = -1, m = this.length; ++j < m;) { - for (var group = this[j], i = -1, n = group.length; ++i < n;) { - var node = group[i]; - if (node) callback.call(node, node.__data__, i, j); - } - } - return this; -}; -// -// Note: assigning to the arguments array simultaneously changes the value of -// the corresponding argument! -// -// TODO The `this` argument probably shouldn't be the first argument to the -// callback, anyway, since it's redundant. However, that will require a major -// version bump due to backwards compatibility, so I'm not changing it right -// away. -// -d3_selectionPrototype.call = function(callback) { - callback.apply(this, (arguments[0] = this, arguments)); - return this; -}; -d3_selectionPrototype.empty = function() { - return !this.node(); -}; -d3_selectionPrototype.node = function(callback) { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) return node; - } - } - return null; -}; -d3_selectionPrototype.transition = function() { - var subgroups = [], - subgroup, - node; - - for (var j = -1, m = this.length; ++j < m;) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n;) { - subgroup.push((node = group[i]) ? {node: node, delay: 0, duration: 250} : null); - } - } - - return d3_transition(subgroups, d3_transitionInheritId || ++d3_transitionId, Date.now()); -}; -var d3_selectionRoot = d3_selection([[document]]); - -d3_selectionRoot[0].parentNode = document.documentElement; - -// TODO fast singleton implementation! -// TODO select(function) -d3.select = function(selector) { - return typeof selector === "string" - ? d3_selectionRoot.select(selector) - : d3_selection([[selector]]); // assume node -}; - -// TODO selectAll(function) -d3.selectAll = function(selector) { - return typeof selector === "string" - ? d3_selectionRoot.selectAll(selector) - : d3_selection([d3_array(selector)]); // assume node[] -}; -function d3_selection_enter(selection) { - d3_arraySubclass(selection, d3_selection_enterPrototype); - return selection; -} - -var d3_selection_enterPrototype = []; - -d3_selection_enterPrototype.append = d3_selectionPrototype.append; -d3_selection_enterPrototype.insert = d3_selectionPrototype.insert; -d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; -d3_selection_enterPrototype.node = d3_selectionPrototype.node; -d3_selection_enterPrototype.select = function(selector) { - var subgroups = [], - subgroup, - subnode, - upgroup, - group, - node; - - for (var j = -1, m = this.length; ++j < m;) { - upgroup = (group = this[j]).update; - subgroups.push(subgroup = []); - subgroup.parentNode = group.parentNode; - for (var i = -1, n = group.length; ++i < n;) { - if (node = group[i]) { - subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i)); - subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - - return d3_selection(subgroups); -}; -function d3_transition(groups, id, time) { - d3_arraySubclass(groups, d3_transitionPrototype); - - var tweens = {}, - event = d3.dispatch("start", "end"), - ease = d3_transitionEase; - - groups.id = id; - - groups.time = time; - - groups.tween = function(name, tween) { - if (arguments.length < 2) return tweens[name]; - if (tween == null) delete tweens[name]; - else tweens[name] = tween; - return groups; - }; - - groups.ease = function(value) { - if (!arguments.length) return ease; - ease = typeof value === "function" ? value : d3.ease.apply(d3, arguments); - return groups; - }; - - groups.each = function(type, listener) { - if (arguments.length < 2) return d3_transition_each.call(groups, type); - event.on(type, listener); - return groups; - }; - - d3.timer(function(elapsed) { - groups.each(function(d, i, j) { - var tweened = [], - node = this, - delay = groups[j][i].delay, - duration = groups[j][i].duration, - lock = node.__transition__ || (node.__transition__ = {active: 0, count: 0}); - - ++lock.count; - - delay <= elapsed ? start(elapsed) : d3.timer(start, delay, time); - - function start(elapsed) { - if (lock.active > id) return stop(); - lock.active = id; - - for (var tween in tweens) { - if (tween = tweens[tween].call(node, d, i)) { - tweened.push(tween); - } - } - - event.start.call(node, d, i); - if (!tick(elapsed)) d3.timer(tick, 0, time); - return 1; - } - - function tick(elapsed) { - if (lock.active !== id) return stop(); - - var t = (elapsed - delay) / duration, - e = ease(t), - n = tweened.length; - - while (n > 0) { - tweened[--n].call(node, e); - } - - if (t >= 1) { - stop(); - d3_transitionInheritId = id; - event.end.call(node, d, i); - d3_transitionInheritId = 0; - return 1; - } - } - - function stop() { - if (!--lock.count) delete node.__transition__; - return 1; - } - }); - return 1; - }, 0, time); - - return groups; -} - -var d3_transitionRemove = {}; - -function d3_transitionNull(d, i, a) { - return a != "" && d3_transitionRemove; -} - -function d3_transitionTween(name, b) { - var interpolate = d3_interpolateByName(name); - - function transitionFunction(d, i, a) { - var v = b.call(this, d, i); - return v == null - ? a != "" && d3_transitionRemove - : a != v && interpolate(a, v); - } - - function transitionString(d, i, a) { - return a != b && interpolate(a, b); - } - - return typeof b === "function" ? transitionFunction - : b == null ? d3_transitionNull - : (b += "", transitionString); -} - -var d3_transitionPrototype = [], - d3_transitionId = 0, - d3_transitionInheritId = 0, - d3_transitionEase = d3.ease("cubic-in-out"); - -d3_transitionPrototype.call = d3_selectionPrototype.call; - -d3.transition = function() { - return d3_selectionRoot.transition(); -}; - -d3.transition.prototype = d3_transitionPrototype; -d3_transitionPrototype.select = function(selector) { - var subgroups = [], - subgroup, - subnode, - node; - - if (typeof selector !== "function") selector = d3_selection_selector(selector); - - for (var j = -1, m = this.length; ++j < m;) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n;) { - if ((node = group[i]) && (subnode = selector.call(node.node, node.node.__data__, i))) { - if ("__data__" in node.node) subnode.__data__ = node.node.__data__; - subgroup.push({node: subnode, delay: node.delay, duration: node.duration}); - } else { - subgroup.push(null); - } - } - } - - return d3_transition(subgroups, this.id, this.time).ease(this.ease()); -}; -d3_transitionPrototype.selectAll = function(selector) { - var subgroups = [], - subgroup, - subnodes, - node; - - if (typeof selector !== "function") selector = d3_selection_selectorAll(selector); - - for (var j = -1, m = this.length; ++j < m;) { - for (var group = this[j], i = -1, n = group.length; ++i < n;) { - if (node = group[i]) { - subnodes = selector.call(node.node, node.node.__data__, i); - subgroups.push(subgroup = []); - for (var k = -1, o = subnodes.length; ++k < o;) { - subgroup.push({node: subnodes[k], delay: node.delay, duration: node.duration}); - } - } - } - } - - return d3_transition(subgroups, this.id, this.time).ease(this.ease()); -}; -d3_transitionPrototype.attr = function(name, value) { - return this.attrTween(name, d3_transitionTween(name, value)); -}; - -d3_transitionPrototype.attrTween = function(nameNS, tween) { - var name = d3.ns.qualify(nameNS); - - function attrTween(d, i) { - var f = tween.call(this, d, i, this.getAttribute(name)); - return f === d3_transitionRemove - ? (this.removeAttribute(name), null) - : f && function(t) { this.setAttribute(name, f(t)); }; - } - - function attrTweenNS(d, i) { - var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); - return f === d3_transitionRemove - ? (this.removeAttributeNS(name.space, name.local), null) - : f && function(t) { this.setAttributeNS(name.space, name.local, f(t)); }; - } - - return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); -}; -d3_transitionPrototype.style = function(name, value, priority) { - if (arguments.length < 3) priority = ""; - return this.styleTween(name, d3_transitionTween(name, value), priority); -}; - -d3_transitionPrototype.styleTween = function(name, tween, priority) { - if (arguments.length < 3) priority = ""; - return this.tween("style." + name, function(d, i) { - var f = tween.call(this, d, i, window.getComputedStyle(this, null).getPropertyValue(name)); - return f === d3_transitionRemove - ? (this.style.removeProperty(name), null) - : f && function(t) { this.style.setProperty(name, f(t), priority); }; - }); -}; -d3_transitionPrototype.text = function(value) { - return this.tween("text", function(d, i) { - this.textContent = typeof value === "function" - ? value.call(this, d, i) - : value; - }); -}; -d3_transitionPrototype.remove = function() { - return this.each("end", function() { - var p; - if (!this.__transition__ && (p = this.parentNode)) p.removeChild(this); - }); -}; -d3_transitionPrototype.delay = function(value) { - var groups = this; - return groups.each(typeof value === "function" - ? function(d, i, j) { groups[j][i].delay = +value.apply(this, arguments); } - : (value = +value, function(d, i, j) { groups[j][i].delay = value; })); -}; -d3_transitionPrototype.duration = function(value) { - var groups = this; - return groups.each(typeof value === "function" - ? function(d, i, j) { groups[j][i].duration = +value.apply(this, arguments); } - : (value = +value, function(d, i, j) { groups[j][i].duration = value; })); -}; -function d3_transition_each(callback) { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) callback.call(node = node.node, node.__data__, i, j); - } - } - return this; -} -d3_transitionPrototype.transition = function() { - return this.select(d3_this); -}; -var d3_timer_queue = null, - d3_timer_interval, // is an interval (or frame) active? - d3_timer_timeout; // is a timeout active? - -// The timer will continue to fire until callback returns true. -d3.timer = function(callback, delay, then) { - var found = false, - t0, - t1 = d3_timer_queue; - - if (arguments.length < 3) { - if (arguments.length < 2) delay = 0; - else if (!isFinite(delay)) return; - then = Date.now(); - } - - // See if the callback's already in the queue. - while (t1) { - if (t1.callback === callback) { - t1.then = then; - t1.delay = delay; - found = true; - break; - } - t0 = t1; - t1 = t1.next; - } - - // Otherwise, add the callback to the queue. - if (!found) d3_timer_queue = { - callback: callback, - then: then, - delay: delay, - next: d3_timer_queue - }; - - // Start animatin'! - if (!d3_timer_interval) { - d3_timer_timeout = clearTimeout(d3_timer_timeout); - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } -} - -function d3_timer_step() { - var elapsed, - now = Date.now(), - t1 = d3_timer_queue; - - while (t1) { - elapsed = now - t1.then; - if (elapsed >= t1.delay) t1.flush = t1.callback(elapsed); - t1 = t1.next; - } - - var delay = d3_timer_flush() - now; - if (delay > 24) { - if (isFinite(delay)) { - clearTimeout(d3_timer_timeout); - d3_timer_timeout = setTimeout(d3_timer_step, delay); - } - d3_timer_interval = 0; - } else { - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } -} - -d3.timer.flush = function() { - var elapsed, - now = Date.now(), - t1 = d3_timer_queue; - - while (t1) { - elapsed = now - t1.then; - if (!t1.delay) t1.flush = t1.callback(elapsed); - t1 = t1.next; - } - - d3_timer_flush(); -}; - -// Flush after callbacks, to avoid concurrent queue modification. -function d3_timer_flush() { - var t0 = null, - t1 = d3_timer_queue, - then = Infinity; - while (t1) { - if (t1.flush) { - t1 = t0 ? t0.next = t1.next : d3_timer_queue = t1.next; - } else { - then = Math.min(then, t1.then + t1.delay); - t1 = (t0 = t1).next; - } - } - return then; -} - -var d3_timer_frame = window.requestAnimationFrame - || window.webkitRequestAnimationFrame - || window.mozRequestAnimationFrame - || window.oRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 17); }; -d3.transform = function(string) { - d3_transformG.setAttribute("transform", string); - return new d3_transform(d3_transformG.transform.baseVal.consolidate().matrix); -}; - -// Compute x-scale and normalize the first row. -// Compute shear and make second row orthogonal to first. -// Compute y-scale and normalize the second row. -// Finally, compute the rotation. -function d3_transform(m) { - var r0 = [m.a, m.b], - r1 = [m.c, m.d], - kx = d3_transformNormalize(r0), - kz = d3_transformDot(r0, r1), - ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)); - this.translate = [m.e, m.f]; - this.rotate = Math.atan2(m.b, m.a) * d3_transformDegrees; - this.scale = [kx, ky || 0]; - this.skew = ky ? kz / ky * d3_transformDegrees : 0; -}; - -d3_transform.prototype.toString = function() { - return "translate(" + this.translate - + ")rotate(" + this.rotate - + ")skewX(" + this.skew - + ")scale(" + this.scale - + ")"; -}; - -function d3_transformDot(a, b) { - return a[0] * b[0] + a[1] * b[1]; -} - -function d3_transformNormalize(a) { - var k = Math.sqrt(d3_transformDot(a, a)); - a[0] /= k; - a[1] /= k; - return k; -} - -function d3_transformCombine(a, b, k) { - a[0] += k * b[0]; - a[1] += k * b[1]; - return a; -} - -var d3_transformG = document.createElementNS(d3.ns.prefix.svg, "g"), - d3_transformDegrees = 180 / Math.PI; -function d3_noop() {} -d3.scale = {}; - -function d3_scaleExtent(domain) { - var start = domain[0], stop = domain[domain.length - 1]; - return start < stop ? [start, stop] : [stop, start]; -} -function d3_scale_nice(domain, nice) { - var i0 = 0, - i1 = domain.length - 1, - x0 = domain[i0], - x1 = domain[i1], - dx; - - if (x1 < x0) { - dx = i0; i0 = i1; i1 = dx; - dx = x0; x0 = x1; x1 = dx; - } - - if (dx = x1 - x0) { - nice = nice(dx); - domain[i0] = nice.floor(x0); - domain[i1] = nice.ceil(x1); - } - - return domain; -} - -function d3_scale_niceDefault() { - return Math; -} -d3.scale.linear = function() { - return d3_scale_linear([0, 1], [0, 1], d3.interpolate, false); -}; - -function d3_scale_linear(domain, range, interpolate, clamp) { - var output, - input; - - function rescale() { - var linear = domain.length == 2 ? d3_scale_bilinear : d3_scale_polylinear, - uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; - output = linear(domain, range, uninterpolate, interpolate); - input = linear(range, domain, uninterpolate, d3.interpolate); - return scale; - } - - function scale(x) { - return output(x); - } - - // Note: requires range is coercible to number! - scale.invert = function(y) { - return input(y); - }; - - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(Number); - return rescale(); - }; - - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - - scale.rangeRound = function(x) { - return scale.range(x).interpolate(d3.interpolateRound); - }; - - scale.clamp = function(x) { - if (!arguments.length) return clamp; - clamp = x; - return rescale(); - }; - - scale.interpolate = function(x) { - if (!arguments.length) return interpolate; - interpolate = x; - return rescale(); - }; - - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - - scale.tickFormat = function(m) { - return d3_scale_linearTickFormat(domain, m); - }; - - scale.nice = function() { - d3_scale_nice(domain, d3_scale_linearNice); - return rescale(); - }; - - scale.copy = function() { - return d3_scale_linear(domain, range, interpolate, clamp); - }; - - return rescale(); -}; - -function d3_scale_linearRebind(scale, linear) { - scale.range = d3.rebind(scale, linear.range); - scale.rangeRound = d3.rebind(scale, linear.rangeRound); - scale.interpolate = d3.rebind(scale, linear.interpolate); - scale.clamp = d3.rebind(scale, linear.clamp); - return scale; -} - -function d3_scale_linearNice(dx) { - dx = Math.pow(10, Math.round(Math.log(dx) / Math.LN10) - 1); - return { - floor: function(x) { return Math.floor(x / dx) * dx; }, - ceil: function(x) { return Math.ceil(x / dx) * dx; } - }; -} - -// TODO Dates? Ugh. -function d3_scale_linearTickRange(domain, m) { - var extent = d3_scaleExtent(domain), - span = extent[1] - extent[0], - step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), - err = m / span * step; - - // Filter ticks to get closer to the desired count. - if (err <= .15) step *= 10; - else if (err <= .35) step *= 5; - else if (err <= .75) step *= 2; - - // Round start and stop values to step interval. - extent[0] = Math.ceil(extent[0] / step) * step; - extent[1] = Math.floor(extent[1] / step) * step + step * .5; // inclusive - extent[2] = step; - return extent; -} - -function d3_scale_linearTicks(domain, m) { - return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); -} - -function d3_scale_linearTickFormat(domain, m) { - return d3.format(",." + Math.max(0, -Math.floor(Math.log(d3_scale_linearTickRange(domain, m)[2]) / Math.LN10 + .01)) + "f"); -} -function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { - var u = uninterpolate(domain[0], domain[1]), - i = interpolate(range[0], range[1]); - return function(x) { - return i(u(x)); - }; -} -function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { - var u = [], - i = [], - j = 0, - n = domain.length; - - while (++j < n) { - u.push(uninterpolate(domain[j - 1], domain[j])); - i.push(interpolate(range[j - 1], range[j])); - } - - return function(x) { - var j = d3.bisect(domain, x, 1, domain.length - 1) - 1; - return i[j](u[j](x)); - }; -} -d3.scale.log = function() { - return d3_scale_log(d3.scale.linear(), d3_scale_logp); -}; - -function d3_scale_log(linear, log) { - var pow = log.pow; - - function scale(x) { - return linear(log(x)); - } - - scale.invert = function(x) { - return pow(linear.invert(x)); - }; - - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(pow); - log = x[0] < 0 ? d3_scale_logn : d3_scale_logp; - pow = log.pow; - linear.domain(x.map(log)); - return scale; - }; - - scale.nice = function() { - linear.domain(d3_scale_nice(linear.domain(), d3_scale_niceDefault)); - return scale; - }; - - scale.ticks = function() { - var extent = d3_scaleExtent(linear.domain()), - ticks = []; - if (extent.every(isFinite)) { - var i = Math.floor(extent[0]), - j = Math.ceil(extent[1]), - u = Math.round(pow(extent[0])), - v = Math.round(pow(extent[1])); - if (log === d3_scale_logn) { - ticks.push(pow(i)); - for (; i++ < j;) for (var k = 9; k > 0; k--) ticks.push(pow(i) * k); - } else { - for (; i < j; i++) for (var k = 1; k < 10; k++) ticks.push(pow(i) * k); - ticks.push(pow(i)); - } - for (i = 0; ticks[i] < u; i++) {} // strip small values - for (j = ticks.length; ticks[j - 1] > v; j--) {} // strip big values - ticks = ticks.slice(i, j); - } - return ticks; - }; - - scale.tickFormat = function(n, format) { - if (arguments.length < 2) format = d3_scale_logFormat; - if (arguments.length < 1) return format; - var k = n / scale.ticks().length, - f = log === d3_scale_logn ? (e = -1e-15, Math.floor) : (e = 1e-15, Math.ceil), - e; - return function(d) { - return d / pow(f(log(d) + e)) < k ? format(d) : ""; - }; - }; - - scale.copy = function() { - return d3_scale_log(linear.copy(), log); - }; - - return d3_scale_linearRebind(scale, linear); -}; - -var d3_scale_logFormat = d3.format("e"); - -function d3_scale_logp(x) { - return Math.log(x) / Math.LN10; -} - -function d3_scale_logn(x) { - return -Math.log(-x) / Math.LN10; -} - -d3_scale_logp.pow = function(x) { - return Math.pow(10, x); -}; - -d3_scale_logn.pow = function(x) { - return -Math.pow(10, -x); -}; -d3.scale.pow = function() { - return d3_scale_pow(d3.scale.linear(), 1); -}; - -function d3_scale_pow(linear, exponent) { - var powp = d3_scale_powPow(exponent), - powb = d3_scale_powPow(1 / exponent); - - function scale(x) { - return linear(powp(x)); - } - - scale.invert = function(x) { - return powb(linear.invert(x)); - }; - - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(powb); - linear.domain(x.map(powp)); - return scale; - }; - - scale.ticks = function(m) { - return d3_scale_linearTicks(scale.domain(), m); - }; - - scale.tickFormat = function(m) { - return d3_scale_linearTickFormat(scale.domain(), m); - }; - - scale.nice = function() { - return scale.domain(d3_scale_nice(scale.domain(), d3_scale_linearNice)); - }; - - scale.exponent = function(x) { - if (!arguments.length) return exponent; - var domain = scale.domain(); - powp = d3_scale_powPow(exponent = x); - powb = d3_scale_powPow(1 / exponent); - return scale.domain(domain); - }; - - scale.copy = function() { - return d3_scale_pow(linear.copy(), exponent); - }; - - return d3_scale_linearRebind(scale, linear); -}; - -function d3_scale_powPow(e) { - return function(x) { - return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); - }; -} -d3.scale.sqrt = function() { - return d3.scale.pow().exponent(.5); -}; -d3.scale.ordinal = function() { - return d3_scale_ordinal([], {t: "range", x: []}); -}; - -function d3_scale_ordinal(domain, ranger) { - var index, - range, - rangeBand; - - function scale(x) { - return range[((index[x] || (index[x] = domain.push(x))) - 1) % range.length]; - } - - function steps(start, step) { - return d3.range(domain.length).map(function(i) { return start + step * i; }); - } - - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = []; - index = {}; - var i = -1, n = x.length, xi; - while (++i < n) if (!index[xi = x[i]]) index[xi] = domain.push(xi); - return scale[ranger.t](ranger.x, ranger.p); - }; - - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - rangeBand = 0; - ranger = {t: "range", x: x}; - return scale; - }; - - scale.rangePoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], - stop = x[1], - step = (stop - start) / (domain.length - 1 + padding); - range = steps(domain.length < 2 ? (start + stop) / 2 : start + step * padding / 2, step); - rangeBand = 0; - ranger = {t: "rangePoints", x: x, p: padding}; - return scale; - }; - - scale.rangeBands = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], - stop = x[1], - step = (stop - start) / (domain.length + padding); - range = steps(start + step * padding, step); - rangeBand = step * (1 - padding); - ranger = {t: "rangeBands", x: x, p: padding}; - return scale; - }; - - scale.rangeRoundBands = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], - stop = x[1], - step = Math.floor((stop - start) / (domain.length + padding)); - range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); - rangeBand = Math.round(step * (1 - padding)); - ranger = {t: "rangeRoundBands", x: x, p: padding}; - return scale; - }; - - scale.rangeBand = function() { - return rangeBand; - }; - - scale.copy = function() { - return d3_scale_ordinal(domain, ranger); - }; - - return scale.domain(domain); -}; -/* - * This product includes color specifications and designs developed by Cynthia - * Brewer (http://colorbrewer.org/). See lib/colorbrewer for more information. - */ - -d3.scale.category10 = function() { - return d3.scale.ordinal().range(d3_category10); -}; - -d3.scale.category20 = function() { - return d3.scale.ordinal().range(d3_category20); -}; - -d3.scale.category20b = function() { - return d3.scale.ordinal().range(d3_category20b); -}; - -d3.scale.category20c = function() { - return d3.scale.ordinal().range(d3_category20c); -}; - -var d3_category10 = [ - "#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", - "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf" -]; - -var d3_category20 = [ - "#1f77b4", "#aec7e8", - "#ff7f0e", "#ffbb78", - "#2ca02c", "#98df8a", - "#d62728", "#ff9896", - "#9467bd", "#c5b0d5", - "#8c564b", "#c49c94", - "#e377c2", "#f7b6d2", - "#7f7f7f", "#c7c7c7", - "#bcbd22", "#dbdb8d", - "#17becf", "#9edae5" -]; - -var d3_category20b = [ - "#393b79", "#5254a3", "#6b6ecf", "#9c9ede", - "#637939", "#8ca252", "#b5cf6b", "#cedb9c", - "#8c6d31", "#bd9e39", "#e7ba52", "#e7cb94", - "#843c39", "#ad494a", "#d6616b", "#e7969c", - "#7b4173", "#a55194", "#ce6dbd", "#de9ed6" -]; - -var d3_category20c = [ - "#3182bd", "#6baed6", "#9ecae1", "#c6dbef", - "#e6550d", "#fd8d3c", "#fdae6b", "#fdd0a2", - "#31a354", "#74c476", "#a1d99b", "#c7e9c0", - "#756bb1", "#9e9ac8", "#bcbddc", "#dadaeb", - "#636363", "#969696", "#bdbdbd", "#d9d9d9" -]; -d3.scale.quantile = function() { - return d3_scale_quantile([], []); -}; - -function d3_scale_quantile(domain, range) { - var thresholds; - - function rescale() { - var k = 0, - n = domain.length, - q = range.length; - thresholds = []; - while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); - return scale; - } - - function scale(x) { - if (isNaN(x = +x)) return NaN; - return range[d3.bisect(thresholds, x)]; - } - - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.filter(function(d) { return !isNaN(d); }).sort(d3.ascending); - return rescale(); - }; - - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - - scale.quantiles = function() { - return thresholds; - }; - - scale.copy = function() { - return d3_scale_quantile(domain, range); // copy on write! - }; - - return rescale(); -}; -d3.scale.quantize = function() { - return d3_scale_quantize(0, 1, [0, 1]); -}; - -function d3_scale_quantize(x0, x1, range) { - var kx, i; - - function scale(x) { - return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; - } - - function rescale() { - kx = range.length / (x1 - x0); - i = range.length - 1; - return scale; - } - - scale.domain = function(x) { - if (!arguments.length) return [x0, x1]; - x0 = +x[0]; - x1 = +x[x.length - 1]; - return rescale(); - }; - - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - - scale.copy = function() { - return d3_scale_quantize(x0, x1, range); // copy on write - }; - - return rescale(); -}; -d3.svg = {}; -d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, - outerRadius = d3_svg_arcOuterRadius, - startAngle = d3_svg_arcStartAngle, - endAngle = d3_svg_arcEndAngle; - - function arc() { - var r0 = innerRadius.apply(this, arguments), - r1 = outerRadius.apply(this, arguments), - a0 = startAngle.apply(this, arguments) + d3_svg_arcOffset, - a1 = endAngle.apply(this, arguments) + d3_svg_arcOffset, - da = (a1 < a0 && (da = a0, a0 = a1, a1 = da), a1 - a0), - df = da < Math.PI ? "0" : "1", - c0 = Math.cos(a0), - s0 = Math.sin(a0), - c1 = Math.cos(a1), - s1 = Math.sin(a1); - return da >= d3_svg_arcMax - ? (r0 - ? "M0," + r1 - + "A" + r1 + "," + r1 + " 0 1,1 0," + (-r1) - + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 - + "M0," + r0 - + "A" + r0 + "," + r0 + " 0 1,0 0," + (-r0) - + "A" + r0 + "," + r0 + " 0 1,0 0," + r0 - + "Z" - : "M0," + r1 - + "A" + r1 + "," + r1 + " 0 1,1 0," + (-r1) - + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 - + "Z") - : (r0 - ? "M" + r1 * c0 + "," + r1 * s0 - + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 - + "L" + r0 * c1 + "," + r0 * s1 - + "A" + r0 + "," + r0 + " 0 " + df + ",0 " + r0 * c0 + "," + r0 * s0 - + "Z" - : "M" + r1 * c0 + "," + r1 * s0 - + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 - + "L0,0" - + "Z"); - } - - arc.innerRadius = function(v) { - if (!arguments.length) return innerRadius; - innerRadius = d3.functor(v); - return arc; - }; - - arc.outerRadius = function(v) { - if (!arguments.length) return outerRadius; - outerRadius = d3.functor(v); - return arc; - }; - - arc.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3.functor(v); - return arc; - }; - - arc.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3.functor(v); - return arc; - }; - - arc.centroid = function() { - var r = (innerRadius.apply(this, arguments) - + outerRadius.apply(this, arguments)) / 2, - a = (startAngle.apply(this, arguments) - + endAngle.apply(this, arguments)) / 2 + d3_svg_arcOffset; - return [Math.cos(a) * r, Math.sin(a) * r]; - }; - - return arc; -}; - -var d3_svg_arcOffset = -Math.PI / 2, - d3_svg_arcMax = 2 * Math.PI - 1e-6; - -function d3_svg_arcInnerRadius(d) { - return d.innerRadius; -} - -function d3_svg_arcOuterRadius(d) { - return d.outerRadius; -} - -function d3_svg_arcStartAngle(d) { - return d.startAngle; -} - -function d3_svg_arcEndAngle(d) { - return d.endAngle; -} -function d3_svg_line(projection) { - var x = d3_svg_lineX, - y = d3_svg_lineY, - interpolate = "linear", - interpolator = d3_svg_lineInterpolators[interpolate], - tension = .7; - - function line(d) { - return d.length < 1 ? null : "M" + interpolator(projection(d3_svg_linePoints(this, d, x, y)), tension); - } - - line.x = function(v) { - if (!arguments.length) return x; - x = v; - return line; - }; - - line.y = function(v) { - if (!arguments.length) return y; - y = v; - return line; - }; - - line.interpolate = function(v) { - if (!arguments.length) return interpolate; - interpolator = d3_svg_lineInterpolators[interpolate = v]; - return line; - }; - - line.tension = function(v) { - if (!arguments.length) return tension; - tension = v; - return line; - }; - - return line; -} - -d3.svg.line = function() { - return d3_svg_line(Object); -}; - -// Converts the specified array of data into an array of points -// (x-y tuples), by evaluating the specified `x` and `y` functions on each -// data point. The `this` context of the evaluated functions is the specified -// "self" object; each function is passed the current datum and index. -function d3_svg_linePoints(self, d, x, y) { - var points = [], - i = -1, - n = d.length, - fx = typeof x === "function", - fy = typeof y === "function", - value; - if (fx && fy) { - while (++i < n) points.push([ - x.call(self, value = d[i], i), - y.call(self, value, i) - ]); - } else if (fx) { - while (++i < n) points.push([x.call(self, d[i], i), y]); - } else if (fy) { - while (++i < n) points.push([x, y.call(self, d[i], i)]); - } else { - while (++i < n) points.push([x, y]); - } - return points; -} - -// The default `x` property, which references d[0]. -function d3_svg_lineX(d) { - return d[0]; -} - -// The default `y` property, which references d[1]. -function d3_svg_lineY(d) { - return d[1]; -} - -// The various interpolators supported by the `line` class. -var d3_svg_lineInterpolators = { - "linear": d3_svg_lineLinear, - "step-before": d3_svg_lineStepBefore, - "step-after": d3_svg_lineStepAfter, - "basis": d3_svg_lineBasis, - "basis-open": d3_svg_lineBasisOpen, - "basis-closed": d3_svg_lineBasisClosed, - "bundle": d3_svg_lineBundle, - "cardinal": d3_svg_lineCardinal, - "cardinal-open": d3_svg_lineCardinalOpen, - "cardinal-closed": d3_svg_lineCardinalClosed, - "monotone": d3_svg_lineMonotone -}; - -// Linear interpolation; generates "L" commands. -function d3_svg_lineLinear(points) { - var i = 0, - n = points.length, - p = points[0], - path = [p[0], ",", p[1]]; - while (++i < n) path.push("L", (p = points[i])[0], ",", p[1]); - return path.join(""); -} - -// Step interpolation; generates "H" and "V" commands. -function d3_svg_lineStepBefore(points) { - var i = 0, - n = points.length, - p = points[0], - path = [p[0], ",", p[1]]; - while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); - return path.join(""); -} - -// Step interpolation; generates "H" and "V" commands. -function d3_svg_lineStepAfter(points) { - var i = 0, - n = points.length, - p = points[0], - path = [p[0], ",", p[1]]; - while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); - return path.join(""); -} - -// Open cardinal spline interpolation; generates "C" commands. -function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 - ? d3_svg_lineLinear(points) - : points[1] + d3_svg_lineHermite(points.slice(1, points.length - 1), - d3_svg_lineCardinalTangents(points, tension)); -} - -// Closed cardinal spline interpolation; generates "C" commands. -function d3_svg_lineCardinalClosed(points, tension) { - return points.length < 3 - ? d3_svg_lineLinear(points) - : points[0] + d3_svg_lineHermite((points.push(points[0]), points), - d3_svg_lineCardinalTangents([points[points.length - 2]] - .concat(points, [points[1]]), tension)); -} - -// Cardinal spline interpolation; generates "C" commands. -function d3_svg_lineCardinal(points, tension, closed) { - return points.length < 3 - ? d3_svg_lineLinear(points) - : points[0] + d3_svg_lineHermite(points, - d3_svg_lineCardinalTangents(points, tension)); -} - -// Hermite spline construction; generates "C" commands. -function d3_svg_lineHermite(points, tangents) { - if (tangents.length < 1 - || (points.length != tangents.length - && points.length != tangents.length + 2)) { - return d3_svg_lineLinear(points); - } - - var quad = points.length != tangents.length, - path = "", - p0 = points[0], - p = points[1], - t0 = tangents[0], - t = t0, - pi = 1; - - if (quad) { - path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) - + "," + p[0] + "," + p[1]; - p0 = points[1]; - pi = 2; - } - - if (tangents.length > 1) { - t = tangents[1]; - p = points[pi]; - pi++; - path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) - + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) - + "," + p[0] + "," + p[1]; - for (var i = 2; i < tangents.length; i++, pi++) { - p = points[pi]; - t = tangents[i]; - path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) - + "," + p[0] + "," + p[1]; - } - } - - if (quad) { - var lp = points[pi]; - path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) - + "," + lp[0] + "," + lp[1]; - } - - return path; -} - -// Generates tangents for a cardinal spline. -function d3_svg_lineCardinalTangents(points, tension) { - var tangents = [], - a = (1 - tension) / 2, - p0, - p1 = points[0], - p2 = points[1], - i = 1, - n = points.length; - while (++i < n) { - p0 = p1; - p1 = p2; - p2 = points[i]; - tangents.push([a * (p2[0] - p0[0]), a * (p2[1] - p0[1])]); - } - return tangents; -} - -// B-spline interpolation; generates "C" commands. -function d3_svg_lineBasis(points) { - if (points.length < 3) return d3_svg_lineLinear(points); - var i = 1, - n = points.length, - pi = points[0], - x0 = pi[0], - y0 = pi[1], - px = [x0, x0, x0, (pi = points[1])[0]], - py = [y0, y0, y0, pi[1]], - path = [x0, ",", y0]; - d3_svg_lineBasisBezier(path, px, py); - while (++i < n) { - pi = points[i]; - px.shift(); px.push(pi[0]); - py.shift(); py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - i = -1; - while (++i < 2) { - px.shift(); px.push(pi[0]); - py.shift(); py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); -} - -// Open B-spline interpolation; generates "C" commands. -function d3_svg_lineBasisOpen(points) { - if (points.length < 4) return d3_svg_lineLinear(points); - var path = [], - i = -1, - n = points.length, - pi, - px = [0], - py = [0]; - while (++i < 3) { - pi = points[i]; - px.push(pi[0]); - py.push(pi[1]); - } - path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) - + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); - --i; while (++i < n) { - pi = points[i]; - px.shift(); px.push(pi[0]); - py.shift(); py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); -} - -// Closed B-spline interpolation; generates "C" commands. -function d3_svg_lineBasisClosed(points) { - var path, - i = -1, - n = points.length, - m = n + 4, - pi, - px = [], - py = []; - while (++i < 4) { - pi = points[i % n]; - px.push(pi[0]); - py.push(pi[1]); - } - path = [ - d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", - d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) - ]; - --i; while (++i < m) { - pi = points[i % n]; - px.shift(); px.push(pi[0]); - py.shift(); py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); -} - -function d3_svg_lineBundle(points, tension) { - var n = points.length - 1, - x0 = points[0][0], - y0 = points[0][1], - dx = points[n][0] - x0, - dy = points[n][1] - y0, - i = -1, - p, - t; - while (++i <= n) { - p = points[i]; - t = i / n; - p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); - p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); - } - return d3_svg_lineBasis(points); -} - -// Returns the dot product of the given four-element vectors. -function d3_svg_lineDot4(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; -} - -// Matrix to transform basis (b-spline) control points to bezier -// control points. Derived from FvD 11.2.8. -var d3_svg_lineBasisBezier1 = [0, 2/3, 1/3, 0], - d3_svg_lineBasisBezier2 = [0, 1/3, 2/3, 0], - d3_svg_lineBasisBezier3 = [0, 1/6, 2/3, 1/6]; - -// Pushes a "C" Bézier curve onto the specified path array, given the -// two specified four-element arrays which define the control points. -function d3_svg_lineBasisBezier(path, x, y) { - path.push( - "C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), - ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), - ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), - ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), - ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), - ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); -} - -// Computes the slope from points p0 to p1. -function d3_svg_lineSlope(p0, p1) { - return (p1[1] - p0[1]) / (p1[0] - p0[0]); -} - -// Compute three-point differences for the given points. -// http://en.wikipedia.org/wiki/Cubic_Hermite_spline#Finite_difference -function d3_svg_lineFiniteDifferences(points) { - var i = 0, - j = points.length - 1, - m = [], - p0 = points[0], - p1 = points[1], - d = m[0] = d3_svg_lineSlope(p0, p1); - while (++i < j) { - m[i] = d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1])); - } - m[i] = d; - return m; -} - -// Interpolates the given points using Fritsch-Carlson Monotone cubic Hermite -// interpolation. Returns an array of tangent vectors. For details, see -// http://en.wikipedia.org/wiki/Monotone_cubic_interpolation -function d3_svg_lineMonotoneTangents(points) { - var tangents = [], - d, - a, - b, - s, - m = d3_svg_lineFiniteDifferences(points), - i = -1, - j = points.length - 1; - - // The first two steps are done by computing finite-differences: - // 1. Compute the slopes of the secant lines between successive points. - // 2. Initialize the tangents at every point as the average of the secants. - - // Then, for each segment… - while (++i < j) { - d = d3_svg_lineSlope(points[i], points[i + 1]); - - // 3. If two successive yk = y{k + 1} are equal (i.e., d is zero), then set - // mk = m{k + 1} = 0 as the spline connecting these points must be flat to - // preserve monotonicity. Ignore step 4 and 5 for those k. - - if (Math.abs(d) < 1e-6) { - m[i] = m[i + 1] = 0; - } else { - // 4. Let ak = mk / dk and bk = m{k + 1} / dk. - a = m[i] / d; - b = m[i + 1] / d; - - // 5. Prevent overshoot and ensure monotonicity by restricting the - // magnitude of vector to a circle of radius 3. - s = a * a + b * b; - if (s > 9) { - s = d * 3 / Math.sqrt(s); - m[i] = s * a; - m[i + 1] = s * b; - } - } - } - - // Compute the normalized tangent vector from the slopes. Note that if x is - // not monotonic, it's possible that the slope will be infinite, so we protect - // against NaN by setting the coordinate to zero. - i = -1; while (++i <= j) { - s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) - / (6 * (1 + m[i] * m[i])); - tangents.push([s || 0, m[i] * s || 0]); - } - - return tangents; -} - -function d3_svg_lineMonotone(points) { - return points.length < 3 - ? d3_svg_lineLinear(points) - : points[0] + - d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); -} -d3.svg.line.radial = function() { - var line = d3_svg_line(d3_svg_lineRadial); - line.radius = line.x, delete line.x; - line.angle = line.y, delete line.y; - return line; -}; - -function d3_svg_lineRadial(points) { - var point, - i = -1, - n = points.length, - r, - a; - while (++i < n) { - point = points[i]; - r = point[0]; - a = point[1] + d3_svg_arcOffset; - point[0] = r * Math.cos(a); - point[1] = r * Math.sin(a); - } - return points; -} -function d3_svg_area(projection) { - var x0 = d3_svg_lineX, - x1 = d3_svg_lineX, - y0 = 0, - y1 = d3_svg_lineY, - interpolate, - i0, - i1, - tension = .7; - - function area(d) { - if (d.length < 1) return null; - var points0 = d3_svg_linePoints(this, d, x0, y0), - points1 = d3_svg_linePoints(this, d, x0 === x1 ? d3_svg_areaX(points0) : x1, y0 === y1 ? d3_svg_areaY(points0) : y1); - return "M" + i0(projection(points1), tension) - + "L" + i1(projection(points0.reverse()), tension) - + "Z"; - } - - area.x = function(x) { - if (!arguments.length) return x1; - x0 = x1 = x; - return area; - }; - - area.x0 = function(x) { - if (!arguments.length) return x0; - x0 = x; - return area; - }; - - area.x1 = function(x) { - if (!arguments.length) return x1; - x1 = x; - return area; - }; - - area.y = function(y) { - if (!arguments.length) return y1; - y0 = y1 = y; - return area; - }; - - area.y0 = function(y) { - if (!arguments.length) return y0; - y0 = y; - return area; - }; - - area.y1 = function(y) { - if (!arguments.length) return y1; - y1 = y; - return area; - }; - - area.interpolate = function(x) { - if (!arguments.length) return interpolate; - i0 = d3_svg_lineInterpolators[interpolate = x]; - i1 = i0.reverse || i0; - return area; - }; - - area.tension = function(x) { - if (!arguments.length) return tension; - tension = x; - return area; - }; - - return area.interpolate("linear"); -} - -d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; -d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; - -d3.svg.area = function() { - return d3_svg_area(Object); -}; - -function d3_svg_areaX(points) { - return function(d, i) { - return points[i][0]; - }; -} - -function d3_svg_areaY(points) { - return function(d, i) { - return points[i][1]; - }; -} -d3.svg.area.radial = function() { - var area = d3_svg_area(d3_svg_lineRadial); - area.radius = area.x, delete area.x; - area.innerRadius = area.x0, delete area.x0; - area.outerRadius = area.x1, delete area.x1; - area.angle = area.y, delete area.y; - area.startAngle = area.y0, delete area.y0; - area.endAngle = area.y1, delete area.y1; - return area; -}; -d3.svg.chord = function() { - var source = d3_svg_chordSource, - target = d3_svg_chordTarget, - radius = d3_svg_chordRadius, - startAngle = d3_svg_arcStartAngle, - endAngle = d3_svg_arcEndAngle; - - // TODO Allow control point to be customized. - - function chord(d, i) { - var s = subgroup(this, source, d, i), - t = subgroup(this, target, d, i); - return "M" + s.p0 - + arc(s.r, s.p1) + (equals(s, t) - ? curve(s.r, s.p1, s.r, s.p0) - : curve(s.r, s.p1, t.r, t.p0) - + arc(t.r, t.p1) - + curve(t.r, t.p1, s.r, s.p0)) - + "Z"; - } - - function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), - r = radius.call(self, subgroup, i), - a0 = startAngle.call(self, subgroup, i) + d3_svg_arcOffset, - a1 = endAngle.call(self, subgroup, i) + d3_svg_arcOffset; - return { - r: r, - a0: a0, - a1: a1, - p0: [r * Math.cos(a0), r * Math.sin(a0)], - p1: [r * Math.cos(a1), r * Math.sin(a1)] - }; - } - - function equals(a, b) { - return a.a0 == b.a0 && a.a1 == b.a1; - } - - function arc(r, p) { - return "A" + r + "," + r + " 0 0,1 " + p; - } - - function curve(r0, p0, r1, p1) { - return "Q 0,0 " + p1; - } - - chord.radius = function(v) { - if (!arguments.length) return radius; - radius = d3.functor(v); - return chord; - }; - - chord.source = function(v) { - if (!arguments.length) return source; - source = d3.functor(v); - return chord; - }; - - chord.target = function(v) { - if (!arguments.length) return target; - target = d3.functor(v); - return chord; - }; - - chord.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3.functor(v); - return chord; - }; - - chord.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3.functor(v); - return chord; - }; - - return chord; -}; - -function d3_svg_chordSource(d) { - return d.source; -} - -function d3_svg_chordTarget(d) { - return d.target; -} - -function d3_svg_chordRadius(d) { - return d.radius; -} - -function d3_svg_chordStartAngle(d) { - return d.startAngle; -} - -function d3_svg_chordEndAngle(d) { - return d.endAngle; -} -d3.svg.diagonal = function() { - var source = d3_svg_chordSource, - target = d3_svg_chordTarget, - projection = d3_svg_diagonalProjection; - - function diagonal(d, i) { - var p0 = source.call(this, d, i), - p3 = target.call(this, d, i), - m = (p0.y + p3.y) / 2, - p = [p0, {x: p0.x, y: m}, {x: p3.x, y: m}, p3]; - p = p.map(projection); - return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; - } - - diagonal.source = function(x) { - if (!arguments.length) return source; - source = d3.functor(x); - return diagonal; - }; - - diagonal.target = function(x) { - if (!arguments.length) return target; - target = d3.functor(x); - return diagonal; - }; - - diagonal.projection = function(x) { - if (!arguments.length) return projection; - projection = x; - return diagonal; - }; - - return diagonal; -}; - -function d3_svg_diagonalProjection(d) { - return [d.x, d.y]; -} -d3.svg.diagonal.radial = function() { - var diagonal = d3.svg.diagonal(), - projection = d3_svg_diagonalProjection, - projection_ = diagonal.projection; - - diagonal.projection = function(x) { - return arguments.length - ? projection_(d3_svg_diagonalRadialProjection(projection = x)) - : projection; - }; - - return diagonal; -}; - -function d3_svg_diagonalRadialProjection(projection) { - return function() { - var d = projection.apply(this, arguments), - r = d[0], - a = d[1] + d3_svg_arcOffset; - return [r * Math.cos(a), r * Math.sin(a)]; - }; -} -d3.svg.mouse = function(container) { - return d3_svg_mousePoint(container, d3.event); -}; - -// https://bugs.webkit.org/show_bug.cgi?id=44083 -var d3_mouse_bug44083 = /WebKit/.test(navigator.userAgent) ? -1 : 0; - -function d3_svg_mousePoint(container, e) { - var point = (container.ownerSVGElement || container).createSVGPoint(); - if ((d3_mouse_bug44083 < 0) && (window.scrollX || window.scrollY)) { - var svg = d3.select(document.body) - .append("svg:svg") - .style("position", "absolute") - .style("top", 0) - .style("left", 0); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - if (d3_mouse_bug44083) { - point.x = e.pageX; - point.y = e.pageY; - } else { - point.x = e.clientX; - point.y = e.clientY; - } - point = point.matrixTransform(container.getScreenCTM().inverse()); - return [point.x, point.y]; -}; -d3.svg.touches = function(container, touches) { - if (arguments.length < 2) touches = d3.event.touches; - - return touches ? d3_array(touches).map(function(touch) { - var point = d3_svg_mousePoint(container, touch); - point.identifier = touch.identifier; - return point; - }) : []; -}; -d3.svg.symbol = function() { - var type = d3_svg_symbolType, - size = d3_svg_symbolSize; - - function symbol(d, i) { - return (d3_svg_symbols[type.call(this, d, i)] - || d3_svg_symbols.circle) - (size.call(this, d, i)); - } - - symbol.type = function(x) { - if (!arguments.length) return type; - type = d3.functor(x); - return symbol; - }; - - // size of symbol in square pixels - symbol.size = function(x) { - if (!arguments.length) return size; - size = d3.functor(x); - return symbol; - }; - - return symbol; -}; - -function d3_svg_symbolSize() { - return 64; -} - -function d3_svg_symbolType() { - return "circle"; -} - -// TODO cross-diagonal? -var d3_svg_symbols = { - "circle": function(size) { - var r = Math.sqrt(size / Math.PI); - return "M0," + r - + "A" + r + "," + r + " 0 1,1 0," + (-r) - + "A" + r + "," + r + " 0 1,1 0," + r - + "Z"; - }, - "cross": function(size) { - var r = Math.sqrt(size / 5) / 2; - return "M" + -3 * r + "," + -r - + "H" + -r - + "V" + -3 * r - + "H" + r - + "V" + -r - + "H" + 3 * r - + "V" + r - + "H" + r - + "V" + 3 * r - + "H" + -r - + "V" + r - + "H" + -3 * r - + "Z"; - }, - "diamond": function(size) { - var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), - rx = ry * d3_svg_symbolTan30; - return "M0," + -ry - + "L" + rx + ",0" - + " 0," + ry - + " " + -rx + ",0" - + "Z"; - }, - "square": function(size) { - var r = Math.sqrt(size) / 2; - return "M" + -r + "," + -r - + "L" + r + "," + -r - + " " + r + "," + r - + " " + -r + "," + r - + "Z"; - }, - "triangle-down": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), - ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + ry - + "L" + rx +"," + -ry - + " " + -rx + "," + -ry - + "Z"; - }, - "triangle-up": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), - ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + -ry - + "L" + rx +"," + ry - + " " + -rx + "," + ry - + "Z"; - } -}; - -d3.svg.symbolTypes = d3.keys(d3_svg_symbols); - -var d3_svg_symbolSqrt3 = Math.sqrt(3), - d3_svg_symbolTan30 = Math.tan(30 * Math.PI / 180); -d3.svg.axis = function() { - var scale = d3.scale.linear(), - orient = "bottom", - tickMajorSize = 6, - tickMinorSize = 6, - tickEndSize = 6, - tickPadding = 3, - tickArguments_ = [10], - tickFormat_, - tickSubdivide = 0; - - function axis(selection) { - selection.each(function(d, i, j) { - var g = d3.select(this); - - // If selection is a transition, create subtransitions. - var transition = selection.delay ? function(o) { - var id = d3_transitionInheritId; - try { - d3_transitionInheritId = selection.id; - return o.transition() - .delay(selection[j][i].delay) - .duration(selection[j][i].duration) - .ease(selection.ease()); - } finally { - d3_transitionInheritId = id; - } - } : Object; - - // Ticks. - var ticks = scale.ticks.apply(scale, tickArguments_), - tickFormat = tickFormat_ == null ? scale.tickFormat.apply(scale, tickArguments_) : tickFormat_; - - // Minor ticks. - var subticks = d3_svg_axisSubdivide(scale, ticks, tickSubdivide), - subtick = g.selectAll(".minor").data(subticks, String), - subtickEnter = subtick.enter().insert("svg:line", "g").attr("class", "tick minor").style("opacity", 1e-6), - subtickExit = transition(subtick.exit()).style("opacity", 1e-6).remove(), - subtickUpdate = transition(subtick).style("opacity", 1); - - // Major ticks. - var tick = g.selectAll("g").data(ticks, String), - tickEnter = tick.enter().insert("svg:g", "path").style("opacity", 1e-6), - tickExit = transition(tick.exit()).style("opacity", 1e-6).remove(), - tickUpdate = transition(tick).style("opacity", 1), - tickTransform; - - // Domain. - var range = d3_scaleExtent(scale.range()), - path = g.selectAll(".domain").data([0]), - pathEnter = path.enter().append("svg:path").attr("class", "domain"), - pathUpdate = transition(path); - - // Stash the new scale and grab the old scale. - var scale0 = this.__chart__ || scale; - this.__chart__ = scale.copy(); - - tickEnter.append("svg:line").attr("class", "tick"); - tickEnter.append("svg:text"); - tickUpdate.select("text").text(tickFormat); - - switch (orient) { - case "bottom": { - tickTransform = d3_svg_axisX; - subtickUpdate.attr("x2", 0).attr("y2", tickMinorSize); - tickUpdate.select("line").attr("x2", 0).attr("y2", tickMajorSize); - tickUpdate.select("text").attr("x", 0).attr("y", Math.max(tickMajorSize, 0) + tickPadding).attr("dy", ".71em").attr("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + tickEndSize + "V0H" + range[1] + "V" + tickEndSize); - break; - } - case "top": { - tickTransform = d3_svg_axisX; - subtickUpdate.attr("x2", 0).attr("y2", -tickMinorSize); - tickUpdate.select("line").attr("x2", 0).attr("y2", -tickMajorSize); - tickUpdate.select("text").attr("x", 0).attr("y", -(Math.max(tickMajorSize, 0) + tickPadding)).attr("dy", "0em").attr("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + -tickEndSize + "V0H" + range[1] + "V" + -tickEndSize); - break; - } - case "left": { - tickTransform = d3_svg_axisY; - subtickUpdate.attr("x2", -tickMinorSize).attr("y2", 0); - tickUpdate.select("line").attr("x2", -tickMajorSize).attr("y2", 0); - tickUpdate.select("text").attr("x", -(Math.max(tickMajorSize, 0) + tickPadding)).attr("y", 0).attr("dy", ".32em").attr("text-anchor", "end"); - pathUpdate.attr("d", "M" + -tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + -tickEndSize); - break; - } - case "right": { - tickTransform = d3_svg_axisY; - subtickUpdate.attr("x2", tickMinorSize).attr("y2", 0); - tickUpdate.select("line").attr("x2", tickMajorSize).attr("y2", 0); - tickUpdate.select("text").attr("x", Math.max(tickMajorSize, 0) + tickPadding).attr("y", 0).attr("dy", ".32em").attr("text-anchor", "start"); - pathUpdate.attr("d", "M" + tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + tickEndSize); - break; - } - } - - tickEnter.call(tickTransform, scale0); - tickUpdate.call(tickTransform, scale); - tickExit.call(tickTransform, scale); - - subtickEnter.call(tickTransform, scale0); - subtickUpdate.call(tickTransform, scale); - subtickExit.call(tickTransform, scale); - }); - } - - axis.scale = function(x) { - if (!arguments.length) return scale; - scale = x; - return axis; - }; - - axis.orient = function(x) { - if (!arguments.length) return orient; - orient = x; - return axis; - }; - - axis.ticks = function() { - if (!arguments.length) return tickArguments_; - tickArguments_ = arguments; - return axis; - }; - - axis.tickFormat = function(x) { - if (!arguments.length) return tickFormat_; - tickFormat_ = x; - return axis; - }; - - axis.tickSize = function(x, y, z) { - if (!arguments.length) return tickMajorSize; - var n = arguments.length - 1; - tickMajorSize = +x; - tickMinorSize = n > 1 ? +y : tickMajorSize; - tickEndSize = n > 0 ? +arguments[n] : tickMajorSize; - return axis; - }; - - axis.tickPadding = function(x) { - if (!arguments.length) return tickPadding; - tickPadding = +x; - return axis; - }; - - axis.tickSubdivide = function(x) { - if (!arguments.length) return tickSubdivide; - tickSubdivide = +x; - return axis; - }; - - return axis; -}; - -function d3_svg_axisX(selection, x) { - selection.attr("transform", function(d) { return "translate(" + x(d) + ",0)"; }); -} - -function d3_svg_axisY(selection, y) { - selection.attr("transform", function(d) { return "translate(0," + y(d) + ")"; }); -} - -function d3_svg_axisSubdivide(scale, ticks, m) { - subticks = []; - if (m && ticks.length > 1) { - var extent = d3_scaleExtent(scale.domain()), - subticks, - i = -1, - n = ticks.length, - d = (ticks[1] - ticks[0]) / ++m, - j, - v; - while (++i < n) { - for (j = m; --j > 0;) { - if ((v = +ticks[i] - j * d) >= extent[0]) { - subticks.push(v); - } - } - } - for (--i, j = 0; ++j < m && (v = +ticks[i] + j * d) < extent[1];) { - subticks.push(v); - } - } - return subticks; -} -d3.svg.brush = function() { - var event = d3.dispatch("brushstart", "brush", "brushend"), - x, // x-scale, optional - y, // y-scale, optional - extent = [[0, 0], [0, 0]]; // [x0, y0], [x1, y1] - - function brush(g) { - var resizes = x && y ? ["n", "e", "s", "w", "nw", "ne", "se", "sw"] - : x ? ["e", "w"] - : y ? ["n", "s"] - : []; - - g.each(function() { - var g = d3.select(this).on("mousedown.brush", down), - bg = g.selectAll(".background").data([,]), - fg = g.selectAll(".extent").data([,]), - tz = g.selectAll(".resize").data(resizes, String), - e; - - // An invisible, mouseable area for starting a new brush. - bg.enter().append("svg:rect") - .attr("class", "background") - .style("visibility", "hidden") - .style("pointer-events", "all") - .style("cursor", "crosshair"); - - // The visible brush extent; style this as you like! - fg.enter().append("svg:rect") - .attr("class", "extent") - .style("cursor", "move"); - - // More invisible rects for resizing the extent. - tz.enter().append("svg:rect") - .attr("class", function(d) { return "resize " + d; }) - .attr("width", 6) - .attr("height", 6) - .style("visibility", "hidden") - .style("pointer-events", brush.empty() ? "none" : "all") - .style("cursor", function(d) { return d3_svg_brushCursor[d]; }); - - // Remove any superfluous resizers. - tz.exit().remove(); - - // Initialize the background to fill the defined range. - // If the range isn't defined, you can post-process. - if (x) { - e = d3_scaleExtent(x.range()); - bg.attr("x", e[0]).attr("width", e[1] - e[0]); - d3_svg_brushRedrawX(g, extent); - } - if (y) { - e = d3_scaleExtent(y.range()); - bg.attr("y", e[0]).attr("height", e[1] - e[0]); - d3_svg_brushRedrawY(g, extent); - } - }); - } - - function down() { - var target = d3.select(d3.event.target); - - // Store some global state for the duration of the brush gesture. - d3_svg_brush = brush; - d3_svg_brushTarget = this; - d3_svg_brushExtent = extent; - d3_svg_brushOffset = d3.svg.mouse(d3_svg_brushTarget); - - // If the extent was clicked on, drag rather than brush; - // store the offset between the mouse and extent origin instead. - if (d3_svg_brushDrag = target.classed("extent")) { - d3_svg_brushOffset[0] = extent[0][0] - d3_svg_brushOffset[0]; - d3_svg_brushOffset[1] = extent[0][1] - d3_svg_brushOffset[1]; - } - - // If a resizer was clicked on, record which side is to be resized. - // Also, set the offset to the opposite side. - else if (target.classed("resize")) { - d3_svg_brushResize = d3.event.target.__data__; - d3_svg_brushOffset[0] = extent[+/w$/.test(d3_svg_brushResize)][0]; - d3_svg_brushOffset[1] = extent[+/^n/.test(d3_svg_brushResize)][1]; - } - - // If the ALT key is down when starting a brush, the center is at the mouse. - else if (d3.event.altKey) { - d3_svg_brushCenter = d3_svg_brushOffset.slice(); - } - - // Restrict which dimensions are resized. - d3_svg_brushX = !/^(n|s)$/.test(d3_svg_brushResize) && x; - d3_svg_brushY = !/^(e|w)$/.test(d3_svg_brushResize) && y; - - // Notify listeners. - d3_svg_brushDispatch = dispatcher(this, arguments); - d3_svg_brushDispatch("brushstart"); - d3_svg_brushMove(); - d3_eventCancel(); - } - - function dispatcher(that, argumentz) { - return function(type) { - var e = d3.event; - try { - d3.event = {type: type, target: brush}; - event[type].apply(that, argumentz); - } finally { - d3.event = e; - } - }; - } - - brush.x = function(z) { - if (!arguments.length) return x; - x = z; - return brush; - }; - - brush.y = function(z) { - if (!arguments.length) return y; - y = z; - return brush; - }; - - brush.extent = function(z) { - var x0, x1, y0, y1, t; - - // Invert the pixel extent to data-space. - if (!arguments.length) { - if (x) { - x0 = x.invert(extent[0][0]), x1 = x.invert(extent[1][0]); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - } - if (y) { - y0 = y.invert(extent[0][1]), y1 = y.invert(extent[1][1]); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - } - return x && y ? [[x0, y0], [x1, y1]] : x ? [x0, x1] : y && [y0, y1]; - } - - // Scale the data-space extent to pixels. - if (x) { - x0 = z[0], x1 = z[1]; - if (y) x0 = x0[0], x1 = x1[0]; - x0 = x(x0), x1 = x(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - extent[0][0] = x0, extent[1][0] = x1; - } - if (y) { - y0 = z[0], y1 = z[1]; - if (x) y0 = y0[1], y1 = y1[1]; - y0 = y(y0), y1 = y(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - extent[0][1] = y0, extent[1][1] = y1; - } - - return brush; - }; - - brush.clear = function() { - extent[0][0] = - extent[0][1] = - extent[1][0] = - extent[1][1] = 0; - return brush; - }; - - brush.empty = function() { - return (x && extent[0][0] === extent[1][0]) - || (y && extent[0][1] === extent[1][1]); - }; - - brush.on = function(type, listener) { - event.on(type, listener); - return brush; - }; - - d3.select(window) - .on("mousemove.brush", d3_svg_brushMove) - .on("mouseup.brush", d3_svg_brushUp) - .on("keydown.brush", d3_svg_brushKeydown) - .on("keyup.brush", d3_svg_brushKeyup); - - return brush; -}; - -var d3_svg_brush, - d3_svg_brushDispatch, - d3_svg_brushTarget, - d3_svg_brushX, - d3_svg_brushY, - d3_svg_brushExtent, - d3_svg_brushDrag, - d3_svg_brushResize, - d3_svg_brushCenter, - d3_svg_brushOffset; - -function d3_svg_brushRedrawX(g, extent) { - g.select(".extent").attr("x", extent[0][0]); - g.selectAll(".n,.s,.w,.nw,.sw").attr("x", extent[0][0] - 2); - g.selectAll(".e,.ne,.se").attr("x", extent[1][0] - 3); - g.selectAll(".extent,.n,.s").attr("width", extent[1][0] - extent[0][0]); -} - -function d3_svg_brushRedrawY(g, extent) { - g.select(".extent").attr("y", extent[0][1]); - g.selectAll(".n,.e,.w,.nw,.ne").attr("y", extent[0][1] - 3); - g.selectAll(".s,.se,.sw").attr("y", extent[1][1] - 4); - g.selectAll(".extent,.e,.w").attr("height", extent[1][1] - extent[0][1]); -} - -function d3_svg_brushKeydown() { - if (d3.event.keyCode == 32 && d3_svg_brushTarget && !d3_svg_brushDrag) { - d3_svg_brushCenter = null; - d3_svg_brushOffset[0] -= d3_svg_brushExtent[1][0]; - d3_svg_brushOffset[1] -= d3_svg_brushExtent[1][1]; - d3_svg_brushDrag = 2; - d3_eventCancel(); - } -} - -function d3_svg_brushKeyup() { - if (d3.event.keyCode == 32 && d3_svg_brushDrag == 2) { - d3_svg_brushOffset[0] += d3_svg_brushExtent[1][0]; - d3_svg_brushOffset[1] += d3_svg_brushExtent[1][1]; - d3_svg_brushDrag = 0; - d3_eventCancel(); - } -} - -function d3_svg_brushMove() { - if (d3_svg_brushOffset) { - var mouse = d3.svg.mouse(d3_svg_brushTarget), - g = d3.select(d3_svg_brushTarget); - - if (!d3_svg_brushDrag) { - - // If needed, determine the center from the current extent. - if (d3.event.altKey) { - if (!d3_svg_brushCenter) { - d3_svg_brushCenter = [ - (d3_svg_brushExtent[0][0] + d3_svg_brushExtent[1][0]) / 2, - (d3_svg_brushExtent[0][1] + d3_svg_brushExtent[1][1]) / 2 - ]; - } - - // Update the offset, for when the ALT key is released. - d3_svg_brushOffset[0] = d3_svg_brushExtent[+(mouse[0] < d3_svg_brushCenter[0])][0]; - d3_svg_brushOffset[1] = d3_svg_brushExtent[+(mouse[1] < d3_svg_brushCenter[1])][1]; - } - - // When the ALT key is released, we clear the center. - else d3_svg_brushCenter = null; - } - - // Update the brush extent for each dimension. - if (d3_svg_brushX) { - d3_svg_brushMove1(mouse, d3_svg_brushX, 0); - d3_svg_brushRedrawX(g, d3_svg_brushExtent); - } - if (d3_svg_brushY) { - d3_svg_brushMove1(mouse, d3_svg_brushY, 1); - d3_svg_brushRedrawY(g, d3_svg_brushExtent); - } - - // Notify listeners. - d3_svg_brushDispatch("brush"); - } -} - -function d3_svg_brushMove1(mouse, scale, i) { - var range = d3_scaleExtent(scale.range()), - offset = d3_svg_brushOffset[i], - size = d3_svg_brushExtent[1][i] - d3_svg_brushExtent[0][i], - min, - max; - - // When dragging, reduce the range by the extent size and offset. - if (d3_svg_brushDrag) { - range[0] -= offset; - range[1] -= size + offset; - } - - // Clamp the mouse so that the extent fits within the range extent. - min = Math.max(range[0], Math.min(range[1], mouse[i])); - - // Compute the new extent bounds. - if (d3_svg_brushDrag) { - max = (min += offset) + size; - } else { - - // If the ALT key is pressed, then preserve the center of the extent. - if (d3_svg_brushCenter) offset = Math.max(range[0], Math.min(range[1], 2 * d3_svg_brushCenter[i] - min)); - - // Compute the min and max of the offset and mouse. - if (offset < min) { - max = min; - min = offset; - } else { - max = offset; - } - } - - // Update the stored bounds. - d3_svg_brushExtent[0][i] = min; - d3_svg_brushExtent[1][i] = max; -} - -function d3_svg_brushUp() { - if (d3_svg_brushOffset) { - d3_svg_brushMove(); - d3.select(d3_svg_brushTarget).selectAll(".resize").style("pointer-events", d3_svg_brush.empty() ? "none" : "all"); - d3_svg_brushDispatch("brushend"); - d3_svg_brush = - d3_svg_brushDispatch = - d3_svg_brushTarget = - d3_svg_brushX = - d3_svg_brushY = - d3_svg_brushExtent = - d3_svg_brushDrag = - d3_svg_brushResize = - d3_svg_brushCenter = - d3_svg_brushOffset = null; - d3_eventCancel(); - } -} - -var d3_svg_brushCursor = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" -}; -d3.behavior = {}; -d3.behavior.drag = function() { - var event = d3.dispatch("drag", "dragstart", "dragend"); - - function drag() { - this - .on("mousedown.drag", mousedown) - .on("touchstart.drag", mousedown); - - d3.select(window) - .on("mousemove.drag", d3_behavior_dragMove) - .on("touchmove.drag", d3_behavior_dragMove) - .on("mouseup.drag", d3_behavior_dragUp, true) - .on("touchend.drag", d3_behavior_dragUp, true) - .on("click.drag", d3_behavior_dragClick, true); - } - - // snapshot the local context for subsequent dispatch - function start() { - d3_behavior_dragEvent = event; - d3_behavior_dragEventTarget = d3.event.target; - d3_behavior_dragOffset = d3_behavior_dragPoint((d3_behavior_dragTarget = this).parentNode); - d3_behavior_dragMoved = 0; - d3_behavior_dragArguments = arguments; - } - - function mousedown() { - start.apply(this, arguments); - d3_behavior_dragDispatch("dragstart"); - } - - drag.on = function(type, listener) { - event.on(type, listener); - return drag; - }; - - return drag; -}; - -var d3_behavior_dragEvent, - d3_behavior_dragEventTarget, - d3_behavior_dragTarget, - d3_behavior_dragArguments, - d3_behavior_dragOffset, - d3_behavior_dragMoved, - d3_behavior_dragStopClick; - -function d3_behavior_dragDispatch(type) { - var o = d3.event, p = d3_behavior_dragTarget.parentNode, dx = 0, dy = 0; - - if (p) { - p = d3_behavior_dragPoint(p); - dx = p[0] - d3_behavior_dragOffset[0]; - dy = p[1] - d3_behavior_dragOffset[1]; - d3_behavior_dragOffset = p; - d3_behavior_dragMoved |= dx | dy; - } - - try { - d3.event = {dx: dx, dy: dy}; - d3_behavior_dragEvent[type].apply(d3_behavior_dragTarget, d3_behavior_dragArguments); - } finally { - d3.event = o; - } - - o.preventDefault(); -} - -function d3_behavior_dragPoint(container, type) { - // TODO Track touch points by identifier. - var t = d3.event.changedTouches; - return t ? d3.svg.touches(container, t)[0] : d3.svg.mouse(container); -} - -function d3_behavior_dragMove() { - if (!d3_behavior_dragTarget) return; - var parent = d3_behavior_dragTarget.parentNode; - - // O NOES! The drag element was removed from the DOM. - if (!parent) return d3_behavior_dragUp(); - - d3_behavior_dragDispatch("drag"); - d3_eventCancel(); -} - -function d3_behavior_dragUp() { - if (!d3_behavior_dragTarget) return; - d3_behavior_dragDispatch("dragend"); - d3_behavior_dragTarget = null; - - // If the node was moved, prevent the mouseup from propagating. - // Also prevent the subsequent click from propagating (e.g., for anchors). - if (d3_behavior_dragMoved && d3_behavior_dragEventTarget === d3.event.target) { - d3_behavior_dragStopClick = true; - d3_eventCancel(); - } -} - -function d3_behavior_dragClick() { - if (d3_behavior_dragStopClick && d3_behavior_dragEventTarget === d3.event.target) { - d3_eventCancel(); - d3_behavior_dragStopClick = false; - d3_behavior_dragEventTarget = null; - } -} -// TODO unbind zoom behavior? -d3.behavior.zoom = function() { - var xyz = [0, 0, 0], - event = d3.dispatch("zoom"), - extent = d3_behavior_zoomInfiniteExtent; - - function zoom() { - this - .on("mousedown.zoom", mousedown) - .on("mousewheel.zoom", mousewheel) - .on("DOMMouseScroll.zoom", mousewheel) - .on("dblclick.zoom", dblclick) - .on("touchstart.zoom", touchstart); - - d3.select(window) - .on("mousemove.zoom", d3_behavior_zoomMousemove) - .on("mouseup.zoom", d3_behavior_zoomMouseup) - .on("touchmove.zoom", d3_behavior_zoomTouchmove) - .on("touchend.zoom", d3_behavior_zoomTouchup) - .on("click.zoom", d3_behavior_zoomClick, true); - } - - // snapshot the local context for subsequent dispatch - function start() { - d3_behavior_zoomXyz = xyz; - d3_behavior_zoomExtent = extent; - d3_behavior_zoomDispatch = event.zoom; - d3_behavior_zoomEventTarget = d3.event.target; - d3_behavior_zoomTarget = this; - d3_behavior_zoomArguments = arguments; - } - - function mousedown() { - start.apply(this, arguments); - d3_behavior_zoomPanning = d3_behavior_zoomLocation(d3.svg.mouse(d3_behavior_zoomTarget)); - d3_behavior_zoomMoved = false; - d3.event.preventDefault(); - window.focus(); - } - - // store starting mouse location - function mousewheel() { - start.apply(this, arguments); - if (!d3_behavior_zoomZooming) d3_behavior_zoomZooming = d3_behavior_zoomLocation(d3.svg.mouse(d3_behavior_zoomTarget)); - d3_behavior_zoomTo(d3_behavior_zoomDelta() + xyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomZooming); - } - - function dblclick() { - start.apply(this, arguments); - var mouse = d3.svg.mouse(d3_behavior_zoomTarget); - d3_behavior_zoomTo(d3.event.shiftKey ? Math.ceil(xyz[2] - 1) : Math.floor(xyz[2] + 1), mouse, d3_behavior_zoomLocation(mouse)); - } - - // doubletap detection - function touchstart() { - start.apply(this, arguments); - var touches = d3_behavior_zoomTouchup(), - touch, - now = Date.now(); - if ((touches.length === 1) && (now - d3_behavior_zoomLast < 300)) { - d3_behavior_zoomTo(1 + Math.floor(xyz[2]), touch = touches[0], d3_behavior_zoomLocations[touch.identifier]); - } - d3_behavior_zoomLast = now; - } - - zoom.extent = function(x) { - if (!arguments.length) return extent; - extent = x == null ? d3_behavior_zoomInfiniteExtent : x; - return zoom; - }; - - zoom.on = function(type, listener) { - event.on(type, listener); - return zoom; - }; - - return zoom; -}; - -var d3_behavior_zoomDiv, - d3_behavior_zoomPanning, - d3_behavior_zoomZooming, - d3_behavior_zoomLocations = {}, // identifier -> location - d3_behavior_zoomLast = 0, - d3_behavior_zoomXyz, - d3_behavior_zoomExtent, - d3_behavior_zoomDispatch, - d3_behavior_zoomEventTarget, - d3_behavior_zoomTarget, - d3_behavior_zoomArguments, - d3_behavior_zoomMoved, - d3_behavior_zoomStopClick; - -function d3_behavior_zoomLocation(point) { - return [ - point[0] - d3_behavior_zoomXyz[0], - point[1] - d3_behavior_zoomXyz[1], - d3_behavior_zoomXyz[2] - ]; -} - -// detect the pixels that would be scrolled by this wheel event -function d3_behavior_zoomDelta() { - - // mousewheel events are totally broken! - // https://bugs.webkit.org/show_bug.cgi?id=40441 - // not only that, but Chrome and Safari differ in re. to acceleration! - if (!d3_behavior_zoomDiv) { - d3_behavior_zoomDiv = d3.select("body").append("div") - .style("visibility", "hidden") - .style("top", 0) - .style("height", 0) - .style("width", 0) - .style("overflow-y", "scroll") - .append("div") - .style("height", "2000px") - .node().parentNode; - } - - var e = d3.event, delta; - try { - d3_behavior_zoomDiv.scrollTop = 1000; - d3_behavior_zoomDiv.dispatchEvent(e); - delta = 1000 - d3_behavior_zoomDiv.scrollTop; - } catch (error) { - delta = e.wheelDelta || (-e.detail * 5); - } - - return delta * .005; -} - -// Note: Since we don't rotate, it's possible for the touches to become -// slightly detached from their original positions. Thus, we recompute the -// touch points on touchend as well as touchstart! -function d3_behavior_zoomTouchup() { - var touches = d3.svg.touches(d3_behavior_zoomTarget), - i = -1, - n = touches.length, - touch; - while (++i < n) d3_behavior_zoomLocations[(touch = touches[i]).identifier] = d3_behavior_zoomLocation(touch); - return touches; -} - -function d3_behavior_zoomTouchmove() { - var touches = d3.svg.touches(d3_behavior_zoomTarget); - switch (touches.length) { - - // single-touch pan - case 1: { - var touch = touches[0]; - d3_behavior_zoomTo(d3_behavior_zoomXyz[2], touch, d3_behavior_zoomLocations[touch.identifier]); - break; - } - - // double-touch pan + zoom - case 2: { - var p0 = touches[0], - p1 = touches[1], - p2 = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2], - l0 = d3_behavior_zoomLocations[p0.identifier], - l1 = d3_behavior_zoomLocations[p1.identifier], - l2 = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2, l0[2]]; - d3_behavior_zoomTo(Math.log(d3.event.scale) / Math.LN2 + l0[2], p2, l2); - break; - } - } -} - -function d3_behavior_zoomMousemove() { - d3_behavior_zoomZooming = null; - if (d3_behavior_zoomPanning) { - d3_behavior_zoomMoved = true; - d3_behavior_zoomTo(d3_behavior_zoomXyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomPanning); - } -} - -function d3_behavior_zoomMouseup() { - if (d3_behavior_zoomPanning) { - if (d3_behavior_zoomMoved && d3_behavior_zoomEventTarget === d3.event.target) { - d3_behavior_zoomStopClick = true; - } - d3_behavior_zoomMousemove(); - d3_behavior_zoomPanning = null; - } -} - -function d3_behavior_zoomClick() { - if (d3_behavior_zoomStopClick && d3_behavior_zoomEventTarget === d3.event.target) { - d3.event.stopPropagation(); - d3.event.preventDefault(); - d3_behavior_zoomStopClick = false; - d3_behavior_zoomEventTarget = null; - } -} - -function d3_behavior_zoomTo(z, x0, x1) { - z = d3_behavior_zoomExtentClamp(z, 2); - var j = Math.pow(2, d3_behavior_zoomXyz[2]), - k = Math.pow(2, z), - K = Math.pow(2, (d3_behavior_zoomXyz[2] = z) - x1[2]), - x_ = d3_behavior_zoomXyz[0], - y_ = d3_behavior_zoomXyz[1], - x = d3_behavior_zoomXyz[0] = d3_behavior_zoomExtentClamp((x0[0] - x1[0] * K), 0, k), - y = d3_behavior_zoomXyz[1] = d3_behavior_zoomExtentClamp((x0[1] - x1[1] * K), 1, k), - o = d3.event; // Events can be reentrant (e.g., focus). - - d3.event = { - scale: k, - translate: [x, y], - transform: function(sx, sy) { - if (sx) transform(sx, x_, x); - if (sy) transform(sy, y_, y); - } - }; - - function transform(scale, a, b) { - scale.domain(scale.range().map(function(v) { return scale.invert(((v - b) * j) / k + a); })); - } - - try { - d3_behavior_zoomDispatch.apply(d3_behavior_zoomTarget, d3_behavior_zoomArguments); - } finally { - d3.event = o; - } - - o.preventDefault(); -} - -var d3_behavior_zoomInfiniteExtent = [ - [-Infinity, Infinity], - [-Infinity, Infinity], - [-Infinity, Infinity] -]; - -function d3_behavior_zoomExtentClamp(x, i, k) { - var range = d3_behavior_zoomExtent[i], - r0 = range[0], - r1 = range[1]; - return arguments.length === 3 - ? Math.max(r1 * (r1 === Infinity ? -Infinity : 1 / k - 1), - Math.min(r0 === -Infinity ? Infinity : r0, x / k)) * k - : Math.max(r0, Math.min(r1, x)); -} -})(); diff --git a/documentacion/extensions/SemanticResultFormats/D3/d3.layout.min.js b/documentacion/extensions/SemanticResultFormats/D3/d3.layout.min.js deleted file mode 100644 index 6704ca9..0000000 --- a/documentacion/extensions/SemanticResultFormats/D3/d3.layout.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){function a(a){var b=a.source,d=a.target,e=c(b,d),f=[b];while(b!==e)b=b.parent,f.push(b);var g=f.length;while(d!==e)f.splice(g,0,d),d=d.parent;return f}function b(a){var b=[],c=a.parent;while(c!=null)b.push(a),a=c,c=c.parent;return b.push(a),b}function c(a,c){if(a===c)return a;var d=b(a),e=b(c),f=d.pop(),g=e.pop(),h=null;while(f===g)h=f,f=d.pop(),g=e.pop();return h}function g(a){a.fixed|=2}function h(a){a!==f&&(a.fixed&=1)}function i(){j(),f.fixed&=1,e=f=null}function j(){f.px+=d3.event.dx,f.py+=d3.event.dy,e.resume()}function k(a,b,c){var d=0,e=0;a.charge=0;if(!a.leaf){var f=a.nodes,g=f.length,h=-1,i;while(++hd&&(c=b,d=e);return c}function u(a){return a.reduce(v,0)}function v(a,b){return a+b[1]}function w(a,b){return x(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function x(a,b){var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];while(++c<=b)f[c]=e*c+d;return f}function y(a){return[d3.min(a),d3.max(a)]}function z(a,b){return a.sort=d3.rebind(a,b.sort),a.children=d3.rebind(a,b.children),a.links=D,a.value=d3.rebind(a,b.value),a.nodes=function(b){return E=!0,(a.nodes=a)(b)},a}function A(a){return a.children}function B(a){return a.value}function C(a,b){return b.value-a.value}function D(a){return d3.merge(a.map(function(a){return(a.children||[]).map(function(b){return{source:a,target:b}})}))}function F(a,b){return a.value-b.value}function G(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function H(a,b){a._pack_next=b,b._pack_prev=a}function I(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return e*e-c*c-d*d>.001}function J(a){function l(a){b=Math.min(a.x-a.r,b),c=Math.max(a.x+a.r,c),d=Math.min(a.y-a.r,d),e=Math.max(a.y+a.r,e)}var b=Infinity,c=-Infinity,d=Infinity,e=-Infinity,f=a.length,g,h,i,j,k;a.forEach(K),g=a[0],g.x=-g.r,g.y=0,l(g);if(f>1){h=a[1],h.x=h.r,h.y=0,l(h);if(f>2){i=a[2],O(g,h,i),l(i),G(g,i),g._pack_prev=i,G(i,h),h=g._pack_next;for(var m=3;m0?(H(g,j),h=j,m--):(H(j,h),g=j,m--)}}}var q=(b+c)/2,r=(d+e)/2,s=0;for(var m=0;m0&&(a=d)}return a}function X(a,b){return a.x-b.x}function Y(a,b){return b.x-a.x}function Z(a,b){return a.depth-b.depth}function $(a,b){function c(a,d){var e=a.children;if(e&&(i=e.length)){var f,g=null,h=-1,i;while(++h=0)f=d[e]._tree,f.prelim+=b,f.mod+=b,b+=f.shift+(c+=f.change)}function ba(a,b,c){a=a._tree,b=b._tree;var d=c/(b.number-a.number);a.change+=d,b.change-=d,b.shift+=c,b.prelim+=c,b.mod+=c}function bb(a,b,c){return a._tree.ancestor.parent==b.parent?a._tree.ancestor:c}function bc(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function bd(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return e<0&&(c+=e/2,e=0),f<0&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}d3.layout={},d3.layout.bundle=function(){return function(b){var c=[],d=-1,e=b.length;while(++de&&(e=h),d.push(h)}for(g=0;g=i[0]&&o<=i[1]&&(k=g[d3.bisect(j,o,1,m)-1],k.y+=n,k.push(e[f]));return g}var a=!0,b=Number,c=y,d=w;return e.value=function(a){return arguments.length?(b=a,e):b},e.range=function(a){return arguments.length?(c=d3.functor(a),e):c},e.bins=function(a){return arguments.length?(d=typeof a=="number"?function(b){return x(b,a)}:d3.functor(a),e):d},e.frequency=function(b){return arguments.length?(a=!!b,e):a},e},d3.layout.hierarchy=function(){function e(f,h,i){var j=b.call(g,f,h),k=E?f:{data:f};k.depth=h,i.push(k);if(j&&(m=j.length)){var l=-1,m,n=k.children=[],o=0,p=h+1;while(++l0&&(ba(bb(g,a,d),a,m),i+=m,j+=m),k+=g._tree.mod,i+=e._tree.mod,l+=h._tree.mod,j+=f._tree.mod;g&&!V(f)&&(f._tree.thread=g,f._tree.mod+=k-j),e&&!U(h)&&(h._tree.thread=e,h._tree.mod+=i-l,d=a)}return d}var f=a.call(this,d,e),g=f[0];$(g,function(a,b){a._tree={ancestor:a,prelim:0,mod:0,change:0,shift:0,number:b?b._tree.number+1:0}}),h(g),i(g,-g._tree.prelim);var k=W(g,Y),l=W(g,X),m=W(g,Z),n=k.x-b(k,l)/2,o=l.x+b(l,k)/2,p=m.depth||1;return $(g,function(a){a.x=(a.x-n)/(o-n)*c[0],a.y=a.depth/p*c[1],delete a._tree}),f}var a=d3.layout.hierarchy().sort(null).value(null),b=T,c=[1,1];return d.separation=function(a){return arguments.length?(b=a,d):b},d.size=function(a){return arguments.length?(c=a,d):c},z(d,a)},d3.layout.treemap=function(){function i(a,b){var c=-1,d=a.length,e,f;while(++c0)d.push(g=f[o-1]),d.area+=g.area,(k=l(d,n))<=h?(f.pop(),h=k):(d.area-=d.pop().area,m(d,n,c,!1),n=Math.min(c.dx,c.dy),d.length=d.area=0,h=Infinity);d.length&&(m(d,n,c,!0),d.length=d.area=0),b.forEach(j)}}function k(a){var b=a.children;if(b&&b.length){var c=e(a),d=b.slice(),f,g=[];i(d,c.dx*c.dy/a.value),g.area=0;while(f=d.pop())g.push(f),g.area+=f.area,f.z!=null&&(m(g,f.z?c.dx:c.dy,c,!d.length),g.length=g.area=0);b.forEach(k)}}function l(a,b){var c=a.area,d,e=0,f=Infinity,g=-1,i=a.length;while(++ge&&(e=d)}return c*=c,b*=b,c?Math.max(b*e*h/c,c/(b*f*h)):Infinity}function m(a,c,d,e){var f=-1,g=a.length,h=d.x,i=d.y,j=c?b(a.area/c):0,k;if(c==d.dx){if(e||j>d.dy)j=j?d.dy:0;while(++fd.dx)j=j?d.dx:0;while(++f 0) { - var name = columns[c].substring(0, split); - var valueType = columns[c].substring((split + 1), columns[c].length); - ths[c].setAttribute('ex:valueType', valueType); - } else { var name = columns[c]; } - ths[c].setAttribute('ex:name', name); - } - } else { - ths[0].setAttribute('ex:name', 'label'); - for (var c = 1; c < ths.length; c++) { - //Safari uses innerText instead of textContent, so: - var thetext = ths[c].textContent || ths[c].innerText; - var label = thetext.toLowerCase(); - label = label.replace(/\s/g,''); - ths[c].setAttribute('ex:name', label); - } - } - Exhibit.HtmlTableImporter.loadTable(dataTable, window.database); - }} - - window.database.loadDataLinks(); //load JSON files in addition - - var exhibitDiv = document.getElementById('exhibitLocation'); - exhibitDiv.innerHTML = "
    ";//
    "; - - /* - * Configuration: We're creating HTML strings that specify the configurations, - * formatted in the same form as specifications in the HTML of a regular exhibit. - */ - if (ex_facets) {//facets - for (var index in ex_facets) { - var facet = ex_facets[index]; - var position = facet.position; - var innerHTML = "
    "; - if (position == "top") { - var facetDiv = document.getElementById('top-facets') - facetDiv.innerHTML = facetDiv.innerHTML + innerHTML; - } - if (position == "bottom") { - var facetDiv = document.getElementById('bottom-facets'); - facetDiv.innerHTML = facetDiv.innerHTML + innerHTML; - } - if (position == "left") { - var facetTd = document.getElementById('left-facets'); - facetTd.innerHTML = facetTd.innerHTML + innerHTML; - facetTd.setAttribute('width', '24%'); - } - if (position == "right") { - var facetTd = document.getElementById('right-facets'); - facetTd.innerHTML = facetTd.innerHTML + innerHTML; - facetTd.setAttribute('width', '24%'); - } - } - } - - if (ex_views && (ex_views[0] !== "")) {//views - var viewHTML = '
    '+ex_lens+'
    '; - for (var i = 0; i < ex_views.length; i++) { - viewHTML = viewHTML + '
    '; - } - viewHTML = viewHTML + '
    '; - document.getElementById("view").innerHTML = viewHTML; - } else { - document.getElementById("view").innerHTML = '
    '; - } - - for(var i = 0; i < ex_lenscounter; i++){ //lenses - var test = document.getElementById("lenscontent"+i); - if(test.innerHTML.indexOf('|')>=0){ - var commands = test.innerHTML.split('|'); - test.setAttribute('ex:formats','date { template:\'' + commands[1] +'\' }'); - test.innerHTML = commands[0]; - } - test.setAttribute('ex:content','.' + test.innerHTML.replace(' ','_').toLowerCase()); - test.setAttribute('class',"inlines"); - test.innerHTML = ''; - } - for(var i = 0; i < ex_linkcounter; i++){ //lenses - var test = document.getElementById("linkcontent"+i); - var newlink = document.createElement('a'); - newlink.setAttribute('ex:href-subcontent',wgServer + wgScript + '?title={{urlenc(.' + test.innerHTML + ')}}'); - newlink.setAttribute('ex:content','.' + test.innerHTML); - test.innerHTML = ''; - test.appendChild(newlink); - } - for(var i = 0; i < ex_imagecounter; i++){ //lenses - var test = document.getElementById("imagecontent"+i); - var newimage = document.createElement('img'); - newimage.setAttribute('ex:src-content','.' + test.innerHTML); - newimage.setAttribute('height','100'); - test.innerHTML = ''; - test.appendChild(newimage); - } - - window.exhibit.configureFromDOM(); -} - -addOnloadHook(createExhibit); - - diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/SRF_Exhibit.php b/documentacion/extensions/SemanticResultFormats/Exhibit/SRF_Exhibit.php deleted file mode 100644 index eae3397..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/SRF_Exhibit.php +++ /dev/null @@ -1,456 +0,0 @@ - "text", "_num" => "number", "_dat" => "date", "_geo" => "text", "_uri" => "url" ); - - protected static $exhibitRunningNumber = 0; // not sufficient since there might be multiple pages rendered within one PHP run; but good enough now - - // /overwrite function to allow execution of result printer even if no results are available (in case remote query yields no results in local wiki) - public function getResult( $results, $params, $outputmode ) { - $this->readParameters( $params, $outputmode ); - $result = $this->getResultText( $results, $outputmode ); - return $result; - } - - // /function aligns the format of SMW's property names to Exhibit's format - protected function encodePropertyName( $property ) { - return strtolower( str_replace( " ", "_", trim( $property ) ) ); - } - - // /Tries to determine the namespace in the event it got lost - protected function determineNamespace( $res ) { - $row = $res->getNext(); - if ( $row != null ) { - $tmp = clone $row[0]; - $object = $tmp->getNextDataValue(); - - if ( $object instanceof SMWWikiPageValue ) { - $value = $object->getPrefixedText(); - if ( strpos( $value, ':' ) ) { - $value = explode( ':', $value, 2 ); - return $value[0] . ':'; - } - } - return ""; - } - } - - protected function getResultText( SMWQueryResult $res, $outputmode ) { - - global $smwgIQRunningNumber, $wgScriptPath, $wgGoogleMapsKey, $srfgScriptPath; - - if ( defined( 'MW_SUPPORTS_RESOURCE_MODULES' ) ) { - SMWOutputs::requireHeadItem( 'exhibit-compat', Html::linkedScript( "$wgScriptPath/common/wikibits.js" ) ); - } - - // ////////////////////////////// - // ///////REMOTE STUFF/////////// - // ////////////////////////////// - - $remote = false; - - // in case the remote parameter is set, a link to the JSON export of the remote wiki is included in the header as data source for Exhibit - // this section creates the link - if ( array_key_exists( 'remote', $this->m_params ) && srfgExhibitRemote == true ) { - - $remote = true; - - // fetch interwiki link - $dbr = &wfGetDB( DB_SLAVE ); - $cl = $dbr->tableName( 'interwiki' ); - $dbres = $dbr->select( $cl, 'iw_url', "iw_prefix='" . $this->m_params['remote'] . "'", __METHOD__, array() ); - $row = $dbr->fetchRow( $dbres ); - $extlinkpattern = $row[iw_url]; - $dbr->freeResult( $dbres ); - - $newheader = 'getPrintRequests() as $pr ) { - $colstack[] = $this->encodePropertyName( $pr->getLabel() ) . ':' . ( array_key_exists( $pr->getTypeID(), $this->m_types ) ? $this->m_types[$pr->getTypeID()]:'text' ) ; - } - array_shift( $colstack ); - array_unshift( $colstack, 'label' ); - - if ( SRFExhibit::$exhibitRunningNumber == 0 ) { - $sourcesrc = "var ex_sources = { source" . ( $smwgIQRunningNumber -1 ) . ": { id: 'querytable" . $smwgIQRunningNumber . "' , columns: '" . implode( ',', $colstack ) . "'.split(','), hideTable: '1', type: 'Item', label: 'Item', pluralLabel: 'Items' } };"; - } - else { - $sourcesrc = "sources.source" . $smwgIQRunningNumber . " = { id: 'querytable" . $smwgIQRunningNumber . "' , columns: '" . implode( ',', $colstack ) . "'.split(','), hideTable: '1', type: 'Item', label: 'Item', pluralLabel: 'Items' };"; - } - $sourcesrc = ""; - - // prepare facets - $facetcounter = 0; - if ( array_key_exists( 'facets', $this->m_params ) ) { - $facets = explode( ',', $this->m_params['facets'] ); - $facetstack = array(); - $params = array( 'height' ); - $facparams = array(); - foreach ( $params as $param ) { - if ( array_key_exists( $param, $this->m_params ) ) $facparams[] = 'ex:' . $param . '="' . $this->encodePropertyName( $this->m_params[$param] ) . '" '; - } - foreach ( $facets as $facet ) { - $facet = trim( $facet ); - $fieldcounter = 0; - if ( strtolower( $facet ) == "search" ) { // special facet (text search) - $facetstack[] = ' facet' . $facetcounter++ . ': { position : "right", innerHTML: \'ex:role="facet" ex:showMissing="false" ex:facetClass="TextSearch" ex:facetLabel="' . $facet . '"\'}'; - } else { // usual facet - foreach ( $res->getPrintRequests() as $pr ) { - if ( $this->encodePropertyName( $pr->getLabel() ) == $this->encodePropertyName( $facet ) ) { - switch( $pr->getTypeID() ) { - case '_num': - $facetstack[] = ' facet' . $facetcounter++ . ': { position : "right", innerHTML: \'ex:role="facet" ex:showMissing="false" ex:expression=".' . $this->encodePropertyName( $facet ) . '" ex:facetLabel="' . $facet . '" ex:facetClass="Slider"\'}'; - break; - default: - $facetstack[] = ' facet' . $facetcounter++ . ': { position : "right", innerHTML: \'ex:role="facet" ex:showMissing="false" ' . implode( " ", $facparams ) . ' ex:expression=".' . $this->encodePropertyName( $facet ) . '" ex:facetLabel="' . $facet . '"\'}'; - } - } - - } - } - $fieldcounter++; - } - $facetstring = implode( ',', $facetstack ); - } - else $facetstring = ''; - $facetsrc = "var ex_facets = {" . $facetstring . " };"; - - - // prepare views - $stylesrc = ''; - $viewcounter = 0; - if ( array_key_exists( 'views', $this->m_params ) ) $views = explode( ',', $this->m_params['views'] ); - else $views[] = 'tiles'; - - foreach ( $views as $view ) { - switch( trim( $view ) ) { - case 'tabular':// table view (the columns are automatically defined by the selected properties) - $thstack = array(); - foreach ( $res->getPrintRequests() as $pr ) { - $thstack[] = "." . $this->encodePropertyName( $pr->getLabel() ); - } - array_shift( $thstack ); - array_unshift( $thstack, '.label' ); - $stylesrc = 'var myStyler = function(table, database) {table.className=\'smwtable\';};'; // assign SMWtable CSS to Exhibit tabular view - $viewstack[] = 'ex:role=\'view\' ex:viewClass=\'Tabular\' ex:showSummary=\'false\' ex:sortAscending=\'true\' ex:tableStyler=\'myStyler\' ex:label=\'Table\' ex:columns=\'' . implode( ',', $thstack ) . '\' ex:sortAscending=\'false\'' ; - break; - case 'timeline':// timeline view - $timeline = true; - $exparams = array( 'start', 'end', 'proxy', 'colorkey' ); // parameters expecting an Exhibit graph expression - $usparams = array( 'timelineheight', 'topbandheight', 'bottombandheight', 'bottombandunit', 'topbandunit' ); // parametes expecting a textual or numeric value - $tlparams = array(); - foreach ( $exparams as $param ) { - if ( array_key_exists( $param, $this->m_params ) ) $tlparams[] = 'ex:' . $param . '=\'.' . $this->encodePropertyName( $this->m_params[$param] ) . '\' '; - } - foreach ( $usparams as $param ) { - if ( array_key_exists( $param, $this->m_params ) ) $tlparams[] = 'ex:' . $param . '=\'' . $this->encodePropertyName( $this->m_params[$param] ) . '\' '; - } - if ( !array_key_exists( 'start', $this->m_params ) ) {// find out if a start and/or end date is specified - $dates = array(); - foreach ( $res->getPrintRequests() as $pr ) { - if ( $pr->getTypeID() == '_dat' ) { - $dates[] = $pr; - if ( sizeof( $dates ) > 2 ) break; - } - } - if ( sizeof( $dates ) == 1 ) { - $tlparams[] = 'ex:start=\'.' . $this->encodePropertyName( $dates[0]->getLabel() ) . '\' '; - } - elseif ( sizeof( $dates ) == 2 ) { - $tlparams[] = 'ex:start=\'.' . $this->encodePropertyName( $dates[0]->getLabel() ) . '\' '; - $tlparams[] = 'ex:end=\'.' . $this->encodePropertyName( $dates[1]->getLabel() ) . '\' '; - } - } - $viewstack[] = 'ex:role=\'view\' ex:viewClass=\'Timeline\' ex:label=\'Timeline\' ex:showSummary=\'false\' ' . implode( " ", $tlparams ); - break; - case 'map':// map view - if ( isset( $wgGoogleMapsKey ) ) { - $map = true; - $exparams = array( 'latlng', 'colorkey' ); - $usparams = array( 'type', 'center', 'zoom', 'size', 'scalecontrol', 'overviewcontrol', 'mapheight' ); - $mapparams = array(); - foreach ( $exparams as $param ) { - if ( array_key_exists( $param, $this->m_params ) ) $mapparams[] = 'ex:' . $param . '=\'.' . $this->encodePropertyName( $this->m_params[$param] ) . '\' '; - } - foreach ( $usparams as $param ) { - if ( array_key_exists( $param, $this->m_params ) ) $mapparams[] = 'ex:' . $param . '=\'' . $this->encodePropertyName( $this->m_params[$param] ) . '\' '; - } - if ( !array_key_exists( 'start', $this->m_params ) && !array_key_exists( 'end', $this->m_params ) ) { // find out if a geographic coordinate is available - foreach ( $res->getPrintRequests() as $pr ) { - if ( $pr->getTypeID() == '_geo' ) { - $mapparams[] = 'ex:latlng=\'.' . $this->encodePropertyName( $pr->getLabel() ) . '\' '; - break; - } - } - } - $viewstack[] .= 'ex:role=\'view\' ex:viewClass=\'Map\' ex:showSummary=\'false\' ex:label=\'Map\' ' . implode( " ", $mapparams ); - } - break; - default: case 'tiles':// tile view - $sortstring = ''; - if ( array_key_exists( 'sort', $this->m_params ) ) { - $sortfields = explode( ",", $this->m_params['sort'] ); - foreach ( $sortfields as $field ) { - $sortkeys[] = "." . $this->encodePropertyName( trim( $field ) ); - } - $sortstring = 'ex:orders=\'' . implode( ",", $sortkeys ) . '\' '; - if ( array_key_exists( 'order', $this->m_params ) ) $sortstring .= ' ex:directions=\'' . $this->encodePropertyName( $this->m_params['order'] ) . '\''; - if ( array_key_exists( 'grouped', $this->m_params ) ) $sortstring .= ' ex:grouped=\'' . $this->encodePropertyName( $this->m_params['grouped'] ) . '\''; - } - $viewstack[] = 'ex:role=\'view\' ex:showSummary=\'false\' ' . $sortstring; - break; - } - } - - $viewsrc = 'var ex_views = "' . implode( "/", $viewstack ) . '".split(\'/\');;'; - - - - // prepare automatic lenses - - global $wgParser; - $lenscounter = 0; - $linkcounter = 0; - $imagecounter = 0; - - if ( array_key_exists( 'lens', $this->m_params ) ) {// a customized lens is specified via the lens parameter within the query - $lenstitle = Title::newFromText( "Template:" . $this->m_params['lens'] ); - $lensarticle = new Article( $lenstitle ); - $lenswikitext = $lensarticle->getContent(); - - if ( preg_match_all( "/[\[][\[][Ii][m][a][g][e][:][{][{][{][1-9A-z\-[:space:]]*[}][}][}][\]][\]]/u", $lenswikitext, $matches ) ) { - foreach ( $matches as $match ) { - foreach ( $match as $value ) { - $strippedvalue = trim( substr( $value, 8 ), "[[{}]]" ); - $lenswikitext = str_replace( $value, '
    ' . $this->encodePropertyName( strtolower( str_replace( "\n", "", $strippedvalue ) ) ) . '
    ', $lenswikitext ); - $imagecounter++; - } - } - } - - if ( preg_match_all( "/[\[][\[][{][{][{][1-9A-z\-[:space:]]*[}][}][}][\]][\]]/u", $lenswikitext, $matches ) ) { - foreach ( $matches as $match ) { - foreach ( $match as $value ) { - $strippedvalue = trim( $value, "[[{}]]" ); - $lenswikitext = str_replace( $value, '
    ' . $this->encodePropertyName( strtolower( str_replace( "\n", "", $strippedvalue ) ) ) . '
    ', $lenswikitext ); - $linkcounter++; - } - } - } - - if ( preg_match_all( "/[{][{][{][1-9A-z\:\|\/\=\-[:space:]]*[}][}][}]/u", $lenswikitext, $matches ) ) { - foreach ( $matches as $match ) { - foreach ( $match as $value ) { - $strippedvalue = trim( $value, "{}" ); - $lenswikitext = str_replace( $value, '
    ' . $this->encodePropertyName( strtolower( str_replace( "\n", "", $strippedvalue ) ) ) . '
    ', $lenswikitext ); - $lenscounter++; - } - } - } - - $lenshtml = $wgParser->internalParse( $lenswikitext );// $wgParser->parse($lenswikitext, $lenstitle, new ParserOptions(), true, true)->getText(); - - $lenssrc = "var ex_lens = '" . str_replace( "\n", "", $lenshtml ) . "';ex_lenscounter =" . $lenscounter . ";ex_linkcounter=" . $linkcounter . ";ex_imagecounter=" . $imagecounter . ";"; - } else {// generic lens (creates links to further content (property-pages, pages about values) - foreach ( $res->getPrintRequests() as $pr ) { - if ( $remote ) { - $wikiurl = str_replace( "$1", "", $extlinkpattern ); - } else { - $wikiurl = $wgScriptPath . "/index.php?title="; - } - if ( $pr->getTypeID() == '_wpg' ) { - $prefix = ''; - if ( $pr->getLabel() == 'Category' ) $prefix = "Category:"; - $lensstack[] = '' . $pr->getText( 0, $this->mLinker ) . '
    '; - } - else { - $lensstack[] = '' . $pr->getText( 0, $this->mLinker ) . '
    '; - } - } - array_shift( $lensstack ); - $lenssrc = 'var ex_lens = \'
    ' . implode( "", $lensstack ) . '
    \'; ex_lenscounter = 0; ex_linkcounter=0; ex_imagecounter=0;'; - } - - if ( $remote ) { - $varremote = 'true'; - } else { - $varremote = 'false'; - } - - // Handling special formats like date - $formatssrc = 'var formats =\'\''; - if ( array_key_exists( 'date', $this->m_params ) ) $formatssrc = 'var formats = \'ex:formats="date { mode:' . $this->m_params['date'] . '; show:date }"\';'; - - // create a URL pointing to the corresponding JSON feed - $label = ''; - $JSONlink = $res->getQueryLink( $label ); - if ( $this->getSearchLabel( SMW_OUTPUT_WIKI ) != '' ) { // used as a file name - $link->setParameter( $this->getSearchLabel( SMW_OUTPUT_WIKI ), 'searchlabel' ); - } - if ( array_key_exists( 'limit', $this->m_params ) ) { - $JSONlink->setParameter( htmlspecialchars( $this->m_params['limit'] ), 'limit' ); - } - $JSONlink->setParameter( 'json', 'format' ); - $stringtoedit = explode( "|", $JSONlink->getText( $outputmode, $this->mLinker ) ); - $stringtoedit = substr( $stringtoedit[0], 3 ); - $JSONlinksrc = "var JSONlink = '" . $stringtoedit . "';"; - - // create script header with variables containing the Exhibit markup - $headervars = ""; - - - // To run Exhibit some links to the scripts of the API need to be included in the header - - $ExhibitScriptSrc1 = ''; - $ExhibitScriptSrc2 = ''; - $CSSSrc = ''; - - SMWOutputs::requireHeadItem( 'CSS', $CSSSrc ); // include CSS - SMWOutputs::requireHeadItem( 'EXHIBIT1', $ExhibitScriptSrc1 ); // include Exhibit API - SMWOutputs::requireHeadItem( 'EXHIBIT2', $ExhibitScriptSrc2 ); // includes javascript overwriting the Exhibit start-up functions - SMWOutputs::requireHeadItem( 'SOURCES' . $smwgIQRunningNumber, $sourcesrc );// include sources variable - SMWOutputs::requireHeadItem( 'VIEWSFACETS', $headervars );// include views and facets variable - - - if ( !$remote ) { - - // print input table - // print header - if ( 'broadtable' == $this->mFormat ) $widthpara = ' width="100%"'; - else $widthpara = ''; - $result = "\n"; - if ( $this->mShowHeaders ) { // building headers - $result .= "\t\n"; - foreach ( $res->getPrintRequests() as $pr ) { - if ( $pr->getText( $outputmode, $this->getLinker( 0 ) ) == '' ) $headerlabel = "Name"; - else $headerlabel = $pr->getText( $outputmode, $this->getLinker( 0 ) ); - $result .= "\t\t\n"; - } - $result .= "\t\n"; - } - - // print all result rows - while ( $row = $res->getNext() ) { - $result .= "\t\n"; - foreach ( $row as $field ) { - $result .= "\t\t\n"; - } - else $result .= "\n"; - } - $result .= "\t\n"; - } - $result .= "
    " . $headerlabel . "
    "; - $textstack = array(); - while ( ( $object = $field->getNextDataValue() ) !== false ) { - switch( $object->getTypeID() ) { - case '_wpg': - $textstack[] = $object->getLongText( $outputmode, $this->getLinker( 0 ) ); - break; - case '_geo': - $c = $object->getDBKeys(); - $textstack[] = $c[0] . "," . $c[1]; - break; - case '_num': - if ( method_exists( $object, 'getValueKey' ) ) { - $textstack[] = $object->getValueKey( $outputmode, $this->getLinker( 0 ) ); - } - else { - $textstack[] = $object->getNumericValue( $outputmode, $this->getLinker( 0 ) ); - } - break; - case '_dat': - $textstack[] = $object->getYear() . "-" . str_pad( $object->getMonth(), 2, '0', STR_PAD_LEFT ) . "-" . str_pad( $object->getDay(), 2, '0', STR_PAD_LEFT ) . " " . $object->getTimeString(); - break; - case '_ema': - $textstack[] = $object->getShortWikiText( $this->getLinker( 0 ) ); - break; - case '_tel': case '_anu': case '_uri': - $textstack[] = $object->getWikiValue(); - break; - case '__sin': - $tmp = $object->getShortText( $outputmode, null ); - if ( strpos( $tmp, ":" ) ) { - $tmp = explode( ":", $tmp, 2 ); - $tmp = $tmp[1]; - } - $textstack[] = $tmp; - break; - case '_txt': case '_cod': case '_str': - $textstack[] = $object->getWikiValue(); - break; - default: - $textstack[] = $object->getLongHTMLText( $this->getLinker( 0 ) ); - } - } - - if ( $textstack != null ) { - $result .= implode( ';', $textstack ) . "
    \n"; } - - if ( SRFExhibit::$exhibitRunningNumber == 0 ) $result .= "
    "; // print placeholder (just print it one time) - $this->isHTML = ( $outputmode == SMW_OUTPUT_HTML ); // yes, our code can be viewed as HTML if requested, no more parsing needed - SRFExhibit::$exhibitRunningNumber++; - return $result; - } - - public function getParameters() { - $params = parent::getParameters(); - $params[] = array( 'name' => 'views', 'type' => 'enum-list', 'description' => wfMsg( 'srf_paramdesc_views' ), 'values' => array( 'tiles', 'tabular', 'timeline', 'maps' ) ); - $params[] = array( 'name' => 'facets', 'type' => 'string', 'description' => wfMsg( 'srf_paramdesc_facets' ) ); - $params[] = array( 'name' => 'lens', 'type' => 'string', 'description' => wfMsg( 'srf_paramdesc_lens' ) ); - return $params; - } - -} diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/LICENSE.txt b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/LICENSE.txt deleted file mode 100644 index 2f3e050..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/LICENSE.txt +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) Copyright The SIMILE Project 2006. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-epilog.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-epilog.js deleted file mode 100644 index d1a7092..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-epilog.js +++ /dev/null @@ -1,16 +0,0 @@ -(function() { - var f = null; - if ("SimileWidgets_onLoad" in window) { - if (typeof SimileWidgets_onLoad == "string") { - f = eval(SimileWidgets_onLoad); - SimileWidgets_onLoad = null; - } else if (typeof SimileWidgets_onLoad == "function") { - f = SimileWidgets_onLoad; - SimileWidgets_onLoad = null; - } - } - - if (f != null) { - f(); - } -})(); \ No newline at end of file diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-prolog.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-prolog.js deleted file mode 100644 index 5c5cd68..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/compile-prolog.js +++ /dev/null @@ -1 +0,0 @@ -window.SimileAjax_isCompiled = true; \ No newline at end of file diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/content/history.html b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/content/history.html deleted file mode 100644 index a30fbd8..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/content/history.html +++ /dev/null @@ -1,7 +0,0 @@ - - - Dummy Page for Keeping Track of History - - - - \ No newline at end of file diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-down.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-down.png deleted file mode 100644 index 9fefa0208139f54e5a3e76e186a98c38238c3e86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 988 zcmeAS@N?(olHy`uVBq!ia0vp^hCrOc!3-oN7&WpO7#QONd_r9R|NjpZp)-h$jYYGO zlasTms;a!aJS;2>C`SIh&rAwC@8ynA^JGXrK@}*0cZr;54+qZA;-@otd?EL-v_x$C*x4jg#=`0>Ag|4y7Zv3m9D+qZ8|nl!1ct!?Mdoed2Q zZ=|lB1X>nW666;Q400xBR(2K+9yU%cK5l*)0TCfVQ85W|X=Qm84Fz>!eMw$TB@;yh z9c?W|o$?j=dP^j>B|h9}+3RnlYmvI$xJdO(-tH1(wauH-V$|hqgl9{cT1stg{v{4H z`I@JTV@O5Zn@gd^j|~LaKOEb1Vp#SkL?wmn!mhj_5YnW1g#&PUse^|^jv#3zgNJt<`vt&murT7Z|${sWVi4{ zYckhAr@lXuE}T{I{z~TEN*RvT2YQyL*EL1hmDlAxOsZa`UVFYY zEA)`bq}X3f3-!J~-))>IEaiUn&=Ie7cBelteYmwXZ=-|LYS*(lD!cxD3f)(;*!pIp zdr-?J4zCuUynSb{=an8)KjWNoL+#9#ijwNLk3abR&bx6Uh;#BLu9i-TJMlliEx1~B z)HG-Et&2ziTl~bKqf}P7`8?khK7A_ z4;5;v`ADy8@i%b@V`RyEl=;{==|ILpPKj8FVCFZ61PnxiUoqY2yTCSK^?p8v*&4hG z8yMa!G6{G(fB)M9hK#_(a!BF#@@+@_BA6H$EZF}DlsFvj+Xob8@O1TaS?83{1OOF= BfL;Iq diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-left.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-left.png deleted file mode 100644 index 6a430faf7f0dd2bd256327234fd88b0a96de52e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 zcmeAS@N?(olHy`uVBq!ia0vp^DL`z;EV*FfdvK_=LFr|NkE-LN@UA^~Iw% zH8r&s4C?CYDk>^~WK~s_s;X*!em;-^BM0;8USQ-aBzf&ha;bm@;DKQ3Op*wWI{ z(9rPn=g;NKmtVPZrLnQ`;lqdL&Yf#-Z{NIm^Q~LA=Fgu$VZwxO-@aYFdiBqrKV4m2 zD^{#Hefsp7GiO$STZrQvas>6b8+(VbBM@@ zO9~0{3n<8QOQ?uy2n)C9Z3|niFB-K$?f&#gg_QNuE_2w$q~w%!GB;-)Sf`PdVQ6y`J5A zwUKLdef?yur+XXSx24MNUc8r!J6ZIfcF(0SkB%0Pbnk+ez=ReSM-f901&&2JXPYKC zc=&#^uXPfrpS|S7otmF-+lpBp2`BG;ynVggbA^_kN5`Js{mss((6aIE+`Fq^b2Bw~ z#2>D$cp}ref%W;)QADhc6tAd+ZTmFX~5If&t;uc GLK6UHW+Ea0 diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-right.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-arrow-point-right.png deleted file mode 100644 index e9625403705ec6e84ad782bfe12f29ffa8fdf886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 939 zcmeAS@N?(olHy`uVBq!ia0vp^DL`z;EV*Ffhgh_=LFr|NkE-GJv4Ex>{Xb z9pZq(!a^XUtgNi2rbbXuP*+!1N=mA@xERP)R#vvKumCEqt*y<>%uG&B1_~Aw6!`l3 zW@Tjob>-*hS5;L3^+rWS2@4BD4Aj=v1~RgA!05Wp%^$r+?YT3 zIk(U1`3+`EHf7E>2)l5&!q&`GNXtmL!&cvLd%UiuN#KUELqMaKd%8G=RK&f#cC~Mb zgGj@}yO~m%3kotzrx%u&N9W3yPyg<}Ou=Wy%h#)x=>L#!&}a8J_p?!7fBowGtJN$Y z1^7QsuvtfqI z*_sl9H%?~e_NQp9NN}EaUiz%1p2Mxh4;l8yA`Ig~%$cP_Nuk9}|6lMPA<2 zEwaW_-h_V=@;2_+?^*l*!3L4;qjj0BF(ynQ&Idk}UllHTxPDpY%=$D9rcI89xx7tM zo~k~P(~8qfrt++I416@#al$)c0Z-mGr{<3;8d|$%Y~$gwTqJgwp`oB&Oi1YXrTJ_@ zF6K>Li&%R1Fmy7Uyup^`BE%9X!gBIvWQ+3x*NAz~f4qC!Ev5L@_>ky_xh_+xS0*^t peE7J*Zq4!7?^9nX+0LAPoqg*pbMAQMfn;W8CQw;WP!LeBhlfXGWF(MLUtbSY?BL)4Q~+dDS62ho#K*@2 zNpo{^pde6fH5(%vazsp z@^J8R2?UBtbMtG+$%+Vx^NI7g_Wjct8{_5suUeS=ik!lvP&r+tr9~}@;lP*L z%4wGbT)7yGg!Wt!o3YIEO0Po7mbUc6bBfh?8=^cM!e3WZno1g%W_oN{knAY>vG(|e zRzVg8rvS4Mrz6h~wy5@;(+K2NkcwZo_{GB|Gfo^=?G(yU`ml7zyrOg&?Ytr{2Tcum zjfHOt^Y%?B{Iu;{h||1F;`SeQUslzhUf3hC+{^Lish#%)rf!`Qej;kyI>CUB4^!4i ztyyjsbKGF2(~02O<`QMQx6ZwHHtLgDiCE71H|9q#|2w$wx!R*gVeW$SxTzopr05@tLivR!s diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom-left.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom-left.png deleted file mode 100644 index a8c5148883ad60b7492b0d2ff487e1f1727cb2db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=3?wxlRx|^tKLI`=uK)l42Qp~~Dk>_ftE++L z2L%O{l#~<|71h_**VWZ=adE}R$Cs9tR#sMKWMlvpn46meNo8eaWXAv%AailC8yXrK z8ykQ8`0?h=o7JmVU%7Gx=&wJ2{ycm3Z1UvEPo6y4yLa!~w{O?3UEAE;eC*hGfQjRT5Ww3Q$-zJDJ2ORfeq}NCIU@i^mK6ysfc@fE;RqJfkf*= zJwxj!1zpK$X&J|P{{P><=C4WSt+P4zeWULEc7JYCcfL??@!#9>fAyVSyjf~GbN43I ztVeg-dUnoPF;m=Isrl>mbni#)*4NFB9Bgu({5U_1MewOF@4RL*|oXMO%uN;>z_ZhW$W(i zH|;M78Z`0vUi9O;9QOUijRuPu&7IZio|UuAN?FnlT-ea{dGi|^L&XFY?u-|qg%e+M zN{A~vMl4wL;m~Cv1A~?pl{5TP=GE{gnuJW6A?UEc;Q2BZ5rgd?r>_Er{co0_rJjKe SbHtB>BFod&&t;ucLK6U+JKtUa diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom-right.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom-right.png deleted file mode 100644 index 0096633e3f13f0661644ab555928ff2764165f24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 823 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=3?wxlRx~p(Fe(T5gt-3y{~stagg|6uWKvR6 zVPPS}%~e%ZSy@?fa&mQbbv!&gQBhG96%|0)kdP2IHa4J|oSYnpN@HW=hK7d5#>Ta4 z*Iv4G>FU+1t5&T7djH9jCwuqqee>o`b93{vXU~5A{5f^%)IWdztX{qP{rmUFjvb4d zzU3&;2>+5GzhGdnF|qP;2r+Y7vPiPY3#uDxuq*I$tMG_R$a3k6nDQBzt4eE$+3OfN zh{~y%$p|P}nCL0mYFkO^HqO{BZ2V}Q?>C3eTL&AQY&P0iN9|qNc@Su1iKmNWNJZS+ z^H+-=8%VT0JYwi+n4EOHj3@D#$aKj`scpaacTK(eWr6Y9H}l^3r2moof4(N@<>jem z0atk%lNn+cdYPBBcPLqISG1Qq>+Eym&Xd=FPwZB$tQV_XoEW?Asrq}rrpGsYJ+}s( zbNyFSz30WP$=|MA`aJ3W@(tH#sqVXZ!u#L8sQ!!ZTR*D_RBEyR{F?e-?B45JKeS8a zKK*>&+kyiT(Wd@bN#-bmzrXWRTfyDVCj^`i3l-Dyed zV-g!!y4^WkE{nKI9{uK1)c@*V>jOzopr0FE^wb^rhX diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-bottom.png deleted file mode 100644 index 6875a4486c42ddb69f36acad068effe725285875..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmeAS@N?(olHy`uVBq!ia0y~yV15B)8?i70N!tT&K$LEPPl)UP|NntZf&i$jp`n3& z;>}+`rMx9Ue!&b5mKq9%LcE-;OpKC(Uo$TNC3bqcIEGZjy}4+}$iTpHV8Pe-8REtj z+@cxx7VdPkx-_w`WQnruOAmJl^YSKUb|wY}1D?an3R-_}?oCw4?OH6;_sK%axr%s~4E8WO*odnmR(VfuOeMaxyr<&*Q-`8Eakt5%>0_Auodg2g8QQnUXvTY`D m?|YhlWryi8iR2zbvWd%0*}YLs59Aht9Odci=d#Wzp$Pz~>q6)N diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-right.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-right.png deleted file mode 100644 index 7d937f5bc5b0a27e184deeac1ada80abe84b4721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^MhpzhFIbp?th|^FVL(bNz$e7@|Ns9$CVtS+&;V4n zAzn^aCPqnP|9$6x;u)SUjv*CsZ%-QXGAIbJZ1{Y%jbqCK zR&$O@eIA_%h0N>A*4@25L%VgTe~DWM4ftdvH_ diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-top-left.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-top-left.png deleted file mode 100644 index 08739c4df8c39799c26835106d6885223814ff8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=3?wxlRx|^t2?0JKuK)l42QqPiy1KgR>gtAu z1|XxpzTVv2JTfw}wzjskw6vzC2FP%8bE~SV0y2QIK!9ux&}5*-OP4OKUcLI?zkkim z&7VGf`u+R&+O=zs9zELF*!bqno5_Ca$&)85R;+mT?AgwpJ2U6(+zvEFt|Z7W zn1O+jiJ66+m5pOY$e-nB*?A|ZB-e4rt+@G-lZ%_j;PmGXpvvi3o$wJ zxCBaMp3%Ekt$T0w@B4hBlLK6WCcZlUcUAWPw8&|xkzd!#urnlmnyI|#yVIoahRX!F z7*F!w$lP-4Y?tta8bb^FYv*+fnGP}S-urs4g(l;h>Fb$Kb{4-lEj+P}fzN!2qK@0{ zy_0@?oM>{yvS;$vz6Srx-II|?xXR#`yyjazykjY73o$vJ@k)9bK^=&UG ONIYHrT-G@yGywqWsiuqo diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-top-right.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/bubble-top-right.png deleted file mode 100644 index bd49cf7420c76131503967d9f307697b20793c31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=3?wxlRx|^tw*fvOuK)l42QsM(N=r*C!5|_c zqQ1T!$Sf)cF{CV=^$?xC48yg!}uU`HB{rk6X-~Rje@7c3wD^{#%Zf?F;mz4~( z#+{?9KbPLAKmD|5XN=sm|2N+s`Ol}?S>WS!Ou~riViflYiK9QK zpHd0VSi66tg#kXiX9PNHrM6u#nC}y3cg)wItyxj1dUsSl>%_20erd0-M$KtyGCr?7>G|4I zUYXMAE1u+~m*>l;@u&-1=N|A0XgmGl$%741)>>IxSuE`=*Bzopr01KmLX#KgqM$H&9N!>X#P!NI}D$H%m^w3nBczP`Srqoaz7 zin_YG$jHdW#l?Ppez&)`b8~aEv$Jb!YiVg|p`oE+VPTb(m5hvxTwGjQT3UK~dUA4d zYHDg@V`E-kURqjO%*@Q_=;*h%x9REW)z#IGj*jQ&=aQ0=>gwv7o13w*vE1C;+S=OC z(9o=`tl!_?*4EbL<>k7%x`Ba#-QC?#P*8n+eW|Ibyu7^E*VnJFualFLadB~Zd3oO6 z-sa}!+1c5xt*yDaxvs9RqobplnVFA|kB5hcaBy(L!^6bH#Ov$pjg5_igM)Q-b!BB` z)YR0yy}iM~!P3&wprD|foSd?qNIc%Bvoc48i$sViBA)>3Lgh>1?w2%z6nFB?u%*>fKQbF%W0001@Nkl5Q6%h6IVG80&kD%FX?~w$Xx>nf<&=Y zX31*p@eCmdH=3i8 OS_V&7KbLh*2~7Y=gd^Vo diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-bottom-left.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-bottom-left.png deleted file mode 100644 index 4f8c64a1c70f819e43b58d8d6c5b6cf97060f0f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1068 zcmeAS@N?(olHy`uVBq!ia0vp^IzVjB!3-oFyd$z17#Ljwd_r7-TnPB`z_Y=S6;pnC_7=oPG{%%rlyU%cVA9P=|6q??z(lS3kv3!m#;c==HA=49}5Z= z?Av#B-n>Kk`Sa(@Iq>r3`!8R<0accjt*oh8TV1{8!-vn7mVpHY3mY2NZ`ySB-n|zO z9=rm|Mn={b7A|US-L!V?>Ep+5-Msl!SXde;n3p%Vq+}UTYRi`MAt4nR8B>5(6c;ZA zqTRc%Y}jxnEo~yu@jwS`{=M)bkd<8$0BqgL|W#pt4F3Kw@EB;ftviU*tO`nKMf3CgX`PJap)AR=~7yr6{b>))}OFmq` zod4$U->XJjf4{tS^L@mDpRXR?k&Ib(Ywh#UuI<+jKY5v^s#EgInt_2y$J50zq#|za z#q?;YKmpbVjHYbDM>@8IDhRq9opi7I{oe0!&;Qq-zjM=CZu>*KbI-redHyC=OQh@Q z$CD@b2LJwcehUAYYpd5veGXb0q&d|~xG4GEx0dbPHv6LQoM>NeyYJBP;)j;){vWH< z^p1QKteePuo+HmJOM1^tdHHAF-Ulvl+T70B()UU7=qlkI89Q`#-1>Fk@Z=j4yOwV& z_|Uq)?^uv+?*0!F^LNjd;g$K>%Dw-`_6IG?Zp2@F&hhV4XZ8v{ev4l+2mfU5%e;D_ zZSncQXp7&I&PSV?{A@oa{_4d~Zks(FS@kXYM>1|++;@h5{UR&gWcTH@bKA|gMDa^3 z&TS7V&o{ikk6HHUHs|_9A>ZHKea>Dl*J zPCc=(d3~Jm=h@re-%~Hx64llb_vgn;s+Q|0?SLgo}b&zkeWGr(Va?82Itp8_O7?D zdN;Ub6nqp~am;YbH0yVJSX3NWN?e| z?lG-8u&}qgoY6O66`S~aMq96}g0E5+nA_Oe`IQ46aOMln@abc5=}~TA_V{S=K-Q+O eY)_4axV`By40fVaCM}Ic1L!hKNBF zls$whC?E;5AR;>nUP8W-gS$&~9zolyPA7_XXC% zUi5{!N?2*2GbK>%n+snHy&A4I9Ip<@O925T95HHsbP3pVIa!P=ZkEM(uE(&z(oWgp z$DoRg(7ZFH3jMVB_R?{?3Rqi@g5r`<^sCC}rx_M9!aH|AwA*{8QrDaDsf>Y5sb&{a z{uC{K4_(Jj30fhf>GQ9j&%Tjy-;LHp?)D(zhaGXoy(dt_+n(GNeSY#od*y~)5RjAi z0~byq`rK~i*br~KafRFT6CXFuZ;{mZS98#?L?;B&2<#w7OcfdUF=(XF93`r1cbF|5 zw6k~foE0BWtXP4iUm6Xoyoww&d{Q)AHlNmw)p}uO^H7$yqHJ{cMx?zN%j9>euqhI2 z7_F)OiS>;n!ihw4O^?xNteh}ks^;08k8iS5@K2D%)4~3cK~zn3^N7qY6@)OT-Z_zz zRS%M(SPtOejtII2=D_k0e*dM7gcO#_ZLxCZ&1#FRO;iGx_e^G+7`x%xIwXio)~E2x6S@xl7n8H@IM<;Z% z_V@Kmj!1iVHg9+N)6?YW9&vF~!8CF+ggFSeu+yb1dicK;jbP2Ux2`waS`))^O_F#x zzcV_QUT@Fd8CSISUir!QOdNEU>ZD|9J2g*&Fx3K}@V(X102o09k>V3T3isC9QAOn^ zZl1&VRw147;OncBqiv`U-b752U(TvdS4yXm4*IBSZ7I#89Kj5^t>;=+0!swzWmSShr?gT{?v)6P3$6S4Z4o1Orhd&FP48VFV<8h_8PkPi29; zqx^27>w1Nl=Y7AN+`&9UH@elO@|?NxZCXLqH_KiyK}$V*A>>QllKn&*KzjYlM#GXl z`*?lNfRbV%AexAg%_>_QXJzomMU&Q4-@yNLpM{D$F6#2DNy4*w@A32%UuP?h^#hlp zL2-_J9@MWOBCyUDVgz&=K!JBQ*GD=A&Z5VTsT3rucdW;JV(TkO8O=^EsbW4t-?i18$ RjQHpO189^3vc?LN@HcJ6+_eAz diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-left.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-left.png deleted file mode 100644 index b6416aabbfd23ea3b342829e7f2ecc1e733a02c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^IzXJl!3-o%1u7W9DY$0Ay@YBfkb68`{an^LB{Ts5viwW- diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-right.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-right.png deleted file mode 100644 index 729524bba4e7f4cd15a5a927a8cb0c54ac75c768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7Pr*JR>Nq0#je<0-%;1lBd`Sa&5U%q_(`t|$w z?>~P00189E&!0bGOu}?|`6{`K4(osl#Y=+xg0Ee@a`_Sq6XQi;J|1o^4t6$Her7>Y zk-w_U^*|-3JzX3_D&pQ=JT7|3K!jm~%C=x`+4uW34G!ARR$sf|-TDjvdEzyf&iNek zy1Me-^<4XNr@w}sN|sr^(%I_LZ1umYvAarMdbnF%ns`qSLid#{QI>@=zsx}5z?sgM zCL$|>i1T}b3_%mORe_lV*F3TB%LF72oT+@t-i)_qf!r%^aIks0`njxgN@xNAI46tI diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-top-left.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-top-left.png deleted file mode 100644 index b05013413acb866f508d900eda5ac8e5b6efb42a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmeAS@N?(olHy`uVBq!ia0vp^IzX(*!3-p)9@+Vpfq{`Jz$e5N$c2F4zkdT6zkdDt z`}Z%9@&Et-pFe;8`0)eC{{Hg~ zMorDylPB+f{rV#*sdw(&L+{>w*|_mse*XNDl4a%Pt4d3kS68q3{rgWr!NR1ZZlJD$ zf(2W)TmWjEH}4Qou)co%$B*BDDuHaE;NHF0^77^a89#siZfV&BG-TVhi+At7R8cW` z_3C40=CuC)opp8V3kw%LeE0@P0u`J%ai^?o<->=sfx3X^fB5jFxp^a)z3Th-pFlSQ z4QDG4IS6EhmIV0)0|Vte^M!LP3>Po4US_+(&cVse#ryB^3!b}|*PdNHOeh&;MNc>;~@@m#@F;u1BoBfBpLG_m_Sx{B?m( za_6#1z~J`wba4!+i0eK7JnE2xNK2xUmjI{d1f?6*@ArPcclyr%wL2_zd~WnU`2M^0 znWg&Fv&;TXe{6AgqqZ4x&LCGy^eWX;(C{y;9VNmOLgZc#NKV_^wbocY{M+Q zh4J|_clU1#l$NQ67S*rm(?|-6TKM`ngWqal@zau_GSMYj5^du_{n4@s{Y6>?ub)%Sw5tn%xq2mD#*+ zf2Z!oDMyywJ$6nnb90?^^*ni*2OBbH2dLiIgTe~DWM4f;Z$>+ diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-top-right.png b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/images/message-top-right.png deleted file mode 100644 index 01a82ab2b242240b76bc7646547560b3596636be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1088 zcmYk5X;2eJ7>1V|Bpl%o5XxmUG8|KD(~4z=`$|Jv4M%{g0|hdzXiFhXLlU_nm(p5E z3s!I-7O)6W2@OR?fyh8@K`D?BG@vAs0g)g=pa~%fAzg<*-P!r(`QCl^{r1m(pFknu ztlg~v06217Y!Uz#8pwDo5>~e#`9DDcop3CfsMTtXMx()CFqur-+uJ&w4jSOn>-BrE zS2dcq*Ue`0|HVCKvv2qJPftwD!&V^pr>94pm-j1+#TN=EN=v(#%#Qs0R@knsX?VP0 z*cy#Ha=B`3OaYm}xLHupPNz51=`GMhqg}dw{jEo<-Da_FZES3DI9>2aBzg)(xFPHH z#)=AIZZ5C4S5j1Tr?RqpWo5(1Cs3(e<#O+zJ$n_7qtPypj?TgG;^I!2qg1|TGWlw? z29AIsI-MSh5TF6R8M1oL*$q-EBZ)$to)k|^Ni7f(6cTOu1ON=y%ElVEyCAn+UJ4t3 zWxRhvDqZiKoRJIIO))3e@N0jFcO*M$3xf^hNdslcq@Tvgw6UdLFFH*tGTGF6qu9{G zw>zm2Is<^XLXM3}W`D6N5jp~ZLPn-ARtG!LbCMr+tn)JQ!n#NGhrjE~@LL`r*N+zo zNhAK?Ji$4Jcja`4Zm?6(#-Q(e%<;o6QreLL6Ry%XUYQXc_=ArZE~$>kg>q(Y)H#7n z2kiNC?}QRetj797_q?j5!_7Qt$%U%I!gftVR!W#cqL4-uG0va>76HV+VH7GvLe8n< z1gw!u`~5@2NSAv5Cw&9l+c)m`_~awey?sirIasmEU`U+&Log6?!qA6dC{1i9V$nPIHds}a~n zN4ce7!mnv;EfcDk{^#5_DkLmL4ogZ{3&X#GQRrIS!kt?CNaOr|}>8E5dz6Iq7Hm{$AH| zcWXdsiIDn15GapyCT=)|e;t`NW1Criv_UoKyx%De;3AiL>6?mYoaC1^D-$vPPcBBc zyRX_8*N= z*j9IA#~OZ-|3W^U*g_2}N@1x*FXx4=)VjjTh`Ut3ATUgDAX?FEzIk^sGX4<4N|#|B z?lVfZy2`PMKf)ZUu&3&lJ!_M;njid`CFTDc>AQLIEg6Pch{{TqO2mk;8 diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/loader.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/loader.js deleted file mode 100644 index 86ba5ac..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/loader.js +++ /dev/null @@ -1,34 +0,0 @@ -(function() { - if ("SimileWidgets_styles" in window) { - var head = document.getElementsByTagName("head")[0]; - var styles = SimileWidgets_styles; - for (var i = 0; i < styles.length; i++) { - var link = document.createElement("link"); - link.href = styles[i]; - link.rel = "stylesheet"; - link.type = "text/css"; - head.appendChild(link); - } - } - if ("SimileWidgets_scripts" in window) { - var onLoad = window.SimileWidgets_onLoad; - - var scripts = SimileWidgets_scripts; - var i = 0; - var next = function() { - if (i < scripts.length) { - var url = scripts[i++]; - - window.SimileWidgets_onLoad = arguments.callee; - - var script = document.createElement("script"); - script.src = url; - script.type = "text/javascript"; - document.body.appendChild(script); - } else { - onLoad(); - } - }; - next(); - } -})(); \ No newline at end of file diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/ajax.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/ajax.js deleted file mode 100644 index 7172609..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/ajax.js +++ /dev/null @@ -1,45 +0,0 @@ -/*================================================== - * General, miscellaneous SimileAjax stuff - *================================================== - */ - -SimileAjax.ListenerQueue = function(wildcardHandlerName) { - this._listeners = []; - this._wildcardHandlerName = wildcardHandlerName; -}; - -SimileAjax.ListenerQueue.prototype.add = function(listener) { - this._listeners.push(listener); -}; - -SimileAjax.ListenerQueue.prototype.remove = function(listener) { - var listeners = this._listeners; - for (var i = 0; i < listeners.length; i++) { - if (listeners[i] == listener) { - listeners.splice(i, 1); - break; - } - } -}; - -SimileAjax.ListenerQueue.prototype.fire = function(handlerName, args) { - var listeners = [].concat(this._listeners); - for (var i = 0; i < listeners.length; i++) { - var listener = listeners[i]; - if (handlerName in listener) { - try { - listener[handlerName].apply(listener, args); - } catch (e) { - SimileAjax.Debug.exception("Error firing event of name " + handlerName, e); - } - } else if (this._wildcardHandlerName != null && - this._wildcardHandlerName in listener) { - try { - listener[this._wildcardHandlerName].apply(listener, [ handlerName ]); - } catch (e) { - SimileAjax.Debug.exception("Error firing event of name " + handlerName + " to wildcard handler", e); - } - } - } -}; - diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/data-structure.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/data-structure.js deleted file mode 100644 index e789cb4..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/data-structure.js +++ /dev/null @@ -1,447 +0,0 @@ -/** - * A basic set (in the mathematical sense) data structure - * - * @constructor - * @param {Array or SimileAjax.Set} [a] an initial collection - */ -SimileAjax.Set = function(a) { - this._hash = {}; - this._count = 0; - - if (a instanceof Array) { - for (var i = 0; i < a.length; i++) { - this.add(a[i]); - } - } else if (a instanceof SimileAjax.Set) { - this.addSet(a); - } -} - -/** - * Adds the given object to this set, assuming there it does not already exist - * - * @param {Object} o the object to add - * @return {Boolean} true if the object was added, false if not - */ -SimileAjax.Set.prototype.add = function(o) { - if (!(o in this._hash)) { - this._hash[o] = true; - this._count++; - return true; - } - return false; -} - -/** - * Adds each element in the given set to this set - * - * @param {SimileAjax.Set} set the set of elements to add - */ -SimileAjax.Set.prototype.addSet = function(set) { - for (var o in set._hash) { - this.add(o); - } -} - -/** - * Removes the given element from this set - * - * @param {Object} o the object to remove - * @return {Boolean} true if the object was successfully removed, - * false otherwise - */ -SimileAjax.Set.prototype.remove = function(o) { - if (o in this._hash) { - delete this._hash[o]; - this._count--; - return true; - } - return false; -} - -/** - * Removes the elements in this set that correspond to the elements in the - * given set - * - * @param {SimileAjax.Set} set the set of elements to remove - */ -SimileAjax.Set.prototype.removeSet = function(set) { - for (var o in set._hash) { - this.remove(o); - } -} - -/** - * Removes all elements in this set that are not present in the given set, i.e. - * modifies this set to the intersection of the two sets - * - * @param {SimileAjax.Set} set the set to intersect - */ -SimileAjax.Set.prototype.retainSet = function(set) { - for (var o in this._hash) { - if (!set.contains(o)) { - delete this._hash[o]; - this._count--; - } - } -} - -/** - * Returns whether or not the given element exists in this set - * - * @param {SimileAjax.Set} o the object to test for - * @return {Boolean} true if the object is present, false otherwise - */ -SimileAjax.Set.prototype.contains = function(o) { - return (o in this._hash); -} - -/** - * Returns the number of elements in this set - * - * @return {Number} the number of elements in this set - */ -SimileAjax.Set.prototype.size = function() { - return this._count; -} - -/** - * Returns the elements of this set as an array - * - * @return {Array} a new array containing the elements of this set - */ -SimileAjax.Set.prototype.toArray = function() { - var a = []; - for (var o in this._hash) { - a.push(o); - } - return a; -} - -/** - * Iterates through the elements of this set, order unspecified, executing the - * given function on each element until the function returns true - * - * @param {Function} f a function of form f(element) - */ -SimileAjax.Set.prototype.visit = function(f) { - for (var o in this._hash) { - if (f(o) == true) { - break; - } - } -} - -/** - * A sorted array data structure - * - * @constructor - */ -SimileAjax.SortedArray = function(compare, initialArray) { - this._a = (initialArray instanceof Array) ? initialArray : []; - this._compare = compare; -}; - -SimileAjax.SortedArray.prototype.add = function(elmt) { - var sa = this; - var index = this.find(function(elmt2) { - return sa._compare(elmt2, elmt); - }); - - if (index < this._a.length) { - this._a.splice(index, 0, elmt); - } else { - this._a.push(elmt); - } -}; - -SimileAjax.SortedArray.prototype.remove = function(elmt) { - var sa = this; - var index = this.find(function(elmt2) { - return sa._compare(elmt2, elmt); - }); - - while (index < this._a.length && this._compare(this._a[index], elmt) == 0) { - if (this._a[index] == elmt) { - this._a.splice(index, 1); - return true; - } else { - index++; - } - } - return false; -}; - -SimileAjax.SortedArray.prototype.removeAll = function() { - this._a = []; -}; - -SimileAjax.SortedArray.prototype.elementAt = function(index) { - return this._a[index]; -}; - -SimileAjax.SortedArray.prototype.length = function() { - return this._a.length; -}; - -SimileAjax.SortedArray.prototype.find = function(compare) { - var a = 0; - var b = this._a.length; - - while (a < b) { - var mid = Math.floor((a + b) / 2); - var c = compare(this._a[mid]); - if (mid == a) { - return c < 0 ? a+1 : a; - } else if (c < 0) { - a = mid; - } else { - b = mid; - } - } - return a; -}; - -SimileAjax.SortedArray.prototype.getFirst = function() { - return (this._a.length > 0) ? this._a[0] : null; -}; - -SimileAjax.SortedArray.prototype.getLast = function() { - return (this._a.length > 0) ? this._a[this._a.length - 1] : null; -}; - -/*================================================== - * Event Index - *================================================== - */ - -SimileAjax.EventIndex = function(unit) { - var eventIndex = this; - - this._unit = (unit != null) ? unit : SimileAjax.NativeDateUnit; - this._events = new SimileAjax.SortedArray( - function(event1, event2) { - return eventIndex._unit.compare(event1.getStart(), event2.getStart()); - } - ); - this._idToEvent = {}; - this._indexed = true; -}; - -SimileAjax.EventIndex.prototype.getUnit = function() { - return this._unit; -}; - -SimileAjax.EventIndex.prototype.getEvent = function(id) { - return this._idToEvent[id]; -}; - -SimileAjax.EventIndex.prototype.add = function(evt) { - this._events.add(evt); - this._idToEvent[evt.getID()] = evt; - this._indexed = false; -}; - -SimileAjax.EventIndex.prototype.removeAll = function() { - this._events.removeAll(); - this._idToEvent = {}; - this._indexed = false; -}; - -SimileAjax.EventIndex.prototype.getCount = function() { - return this._events.length(); -}; - -SimileAjax.EventIndex.prototype.getIterator = function(startDate, endDate) { - if (!this._indexed) { - this._index(); - } - return new SimileAjax.EventIndex._Iterator(this._events, startDate, endDate, this._unit); -}; - -SimileAjax.EventIndex.prototype.getReverseIterator = function(startDate, endDate) { - if (!this._indexed) { - this._index(); - } - return new SimileAjax.EventIndex._ReverseIterator(this._events, startDate, endDate, this._unit); -}; - -SimileAjax.EventIndex.prototype.getAllIterator = function() { - return new SimileAjax.EventIndex._AllIterator(this._events); -}; - -SimileAjax.EventIndex.prototype.getEarliestDate = function() { - var evt = this._events.getFirst(); - return (evt == null) ? null : evt.getStart(); -}; - -SimileAjax.EventIndex.prototype.getLatestDate = function() { - var evt = this._events.getLast(); - if (evt == null) { - return null; - } - - if (!this._indexed) { - this._index(); - } - - var index = evt._earliestOverlapIndex; - var date = this._events.elementAt(index).getEnd(); - for (var i = index + 1; i < this._events.length(); i++) { - date = this._unit.later(date, this._events.elementAt(i).getEnd()); - } - - return date; -}; - -SimileAjax.EventIndex.prototype._index = function() { - /* - * For each event, we want to find the earliest preceding - * event that overlaps with it, if any. - */ - - var l = this._events.length(); - for (var i = 0; i < l; i++) { - var evt = this._events.elementAt(i); - evt._earliestOverlapIndex = i; - } - - var toIndex = 1; - for (var i = 0; i < l; i++) { - var evt = this._events.elementAt(i); - var end = evt.getEnd(); - - toIndex = Math.max(toIndex, i + 1); - while (toIndex < l) { - var evt2 = this._events.elementAt(toIndex); - var start2 = evt2.getStart(); - - if (this._unit.compare(start2, end) < 0) { - evt2._earliestOverlapIndex = i; - toIndex++; - } else { - break; - } - } - } - this._indexed = true; -}; - -SimileAjax.EventIndex._Iterator = function(events, startDate, endDate, unit) { - this._events = events; - this._startDate = startDate; - this._endDate = endDate; - this._unit = unit; - - this._currentIndex = events.find(function(evt) { - return unit.compare(evt.getStart(), startDate); - }); - if (this._currentIndex - 1 >= 0) { - this._currentIndex = this._events.elementAt(this._currentIndex - 1)._earliestOverlapIndex; - } - this._currentIndex--; - - this._maxIndex = events.find(function(evt) { - return unit.compare(evt.getStart(), endDate); - }); - - this._hasNext = false; - this._next = null; - this._findNext(); -}; - -SimileAjax.EventIndex._Iterator.prototype = { - hasNext: function() { return this._hasNext; }, - next: function() { - if (this._hasNext) { - var next = this._next; - this._findNext(); - - return next; - } else { - return null; - } - }, - _findNext: function() { - var unit = this._unit; - while ((++this._currentIndex) < this._maxIndex) { - var evt = this._events.elementAt(this._currentIndex); - if (unit.compare(evt.getStart(), this._endDate) < 0 && - unit.compare(evt.getEnd(), this._startDate) > 0) { - - this._next = evt; - this._hasNext = true; - return; - } - } - this._next = null; - this._hasNext = false; - } -}; - -SimileAjax.EventIndex._ReverseIterator = function(events, startDate, endDate, unit) { - this._events = events; - this._startDate = startDate; - this._endDate = endDate; - this._unit = unit; - - this._minIndex = events.find(function(evt) { - return unit.compare(evt.getStart(), startDate); - }); - if (this._minIndex - 1 >= 0) { - this._minIndex = this._events.elementAt(this._minIndex - 1)._earliestOverlapIndex; - } - - this._maxIndex = events.find(function(evt) { - return unit.compare(evt.getStart(), endDate); - }); - - this._currentIndex = this._maxIndex; - this._hasNext = false; - this._next = null; - this._findNext(); -}; - -SimileAjax.EventIndex._ReverseIterator.prototype = { - hasNext: function() { return this._hasNext; }, - next: function() { - if (this._hasNext) { - var next = this._next; - this._findNext(); - - return next; - } else { - return null; - } - }, - _findNext: function() { - var unit = this._unit; - while ((--this._currentIndex) >= this._minIndex) { - var evt = this._events.elementAt(this._currentIndex); - if (unit.compare(evt.getStart(), this._endDate) < 0 && - unit.compare(evt.getEnd(), this._startDate) > 0) { - - this._next = evt; - this._hasNext = true; - return; - } - } - this._next = null; - this._hasNext = false; - } -}; - -SimileAjax.EventIndex._AllIterator = function(events) { - this._events = events; - this._index = 0; -}; - -SimileAjax.EventIndex._AllIterator.prototype = { - hasNext: function() { - return this._index < this._events.length(); - }, - next: function() { - return this._index < this._events.length() ? - this._events.elementAt(this._index++) : null; - } -}; \ No newline at end of file diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/date-time.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/date-time.js deleted file mode 100644 index 9714039..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/date-time.js +++ /dev/null @@ -1,452 +0,0 @@ -/** - * @fileOverview A collection of date/time utility functions - * @name SimileAjax.DateTime - */ - -SimileAjax.DateTime = new Object(); - -SimileAjax.DateTime.MILLISECOND = 0; -SimileAjax.DateTime.SECOND = 1; -SimileAjax.DateTime.MINUTE = 2; -SimileAjax.DateTime.HOUR = 3; -SimileAjax.DateTime.DAY = 4; -SimileAjax.DateTime.WEEK = 5; -SimileAjax.DateTime.MONTH = 6; -SimileAjax.DateTime.YEAR = 7; -SimileAjax.DateTime.DECADE = 8; -SimileAjax.DateTime.CENTURY = 9; -SimileAjax.DateTime.MILLENNIUM = 10; - -SimileAjax.DateTime.EPOCH = -1; -SimileAjax.DateTime.ERA = -2; - -/** - * An array of unit lengths, expressed in milliseconds, of various lengths of - * time. The array indices are predefined and stored as properties of the - * SimileAjax.DateTime object, e.g. SimileAjax.DateTime.YEAR. - * @type Array - */ -SimileAjax.DateTime.gregorianUnitLengths = []; - (function() { - var d = SimileAjax.DateTime; - var a = d.gregorianUnitLengths; - - a[d.MILLISECOND] = 1; - a[d.SECOND] = 1000; - a[d.MINUTE] = a[d.SECOND] * 60; - a[d.HOUR] = a[d.MINUTE] * 60; - a[d.DAY] = a[d.HOUR] * 24; - a[d.WEEK] = a[d.DAY] * 7; - a[d.MONTH] = a[d.DAY] * 31; - a[d.YEAR] = a[d.DAY] * 365; - a[d.DECADE] = a[d.YEAR] * 10; - a[d.CENTURY] = a[d.YEAR] * 100; - a[d.MILLENNIUM] = a[d.YEAR] * 1000; - })(); - -SimileAjax.DateTime._dateRegexp = new RegExp( - "^(-?)([0-9]{4})(" + [ - "(-?([0-9]{2})(-?([0-9]{2}))?)", // -month-dayOfMonth - "(-?([0-9]{3}))", // -dayOfYear - "(-?W([0-9]{2})(-?([1-7]))?)" // -Wweek-dayOfWeek - ].join("|") + ")?$" -); -SimileAjax.DateTime._timezoneRegexp = new RegExp( - "Z|(([-+])([0-9]{2})(:?([0-9]{2}))?)$" -); -SimileAjax.DateTime._timeRegexp = new RegExp( - "^([0-9]{2})(:?([0-9]{2})(:?([0-9]{2})(\.([0-9]+))?)?)?$" -); - -/** - * Takes a date object and a string containing an ISO 8601 date and sets the - * the date using information parsed from the string. Note that this method - * does not parse any time information. - * - * @param {Date} dateObject the date object to modify - * @param {String} string an ISO 8601 string to parse - * @return {Date} the modified date object - */ -SimileAjax.DateTime.setIso8601Date = function(dateObject, string) { - /* - * This function has been adapted from dojo.date, v.0.3.0 - * http://dojotoolkit.org/. - */ - - var d = string.match(SimileAjax.DateTime._dateRegexp); - if(!d) { - throw new Error("Invalid date string: " + string); - } - - var sign = (d[1] == "-") ? -1 : 1; // BC or AD - var year = sign * d[2]; - var month = d[5]; - var date = d[7]; - var dayofyear = d[9]; - var week = d[11]; - var dayofweek = (d[13]) ? d[13] : 1; - - dateObject.setUTCFullYear(year); - if (dayofyear) { - dateObject.setUTCMonth(0); - dateObject.setUTCDate(Number(dayofyear)); - } else if (week) { - dateObject.setUTCMonth(0); - dateObject.setUTCDate(1); - var gd = dateObject.getUTCDay(); - var day = (gd) ? gd : 7; - var offset = Number(dayofweek) + (7 * Number(week)); - - if (day <= 4) { - dateObject.setUTCDate(offset + 1 - day); - } else { - dateObject.setUTCDate(offset + 8 - day); - } - } else { - if (month) { - dateObject.setUTCDate(1); - dateObject.setUTCMonth(month - 1); - } - if (date) { - dateObject.setUTCDate(date); - } - } - - return dateObject; -}; - -/** - * Takes a date object and a string containing an ISO 8601 time and sets the - * the time using information parsed from the string. Note that this method - * does not parse any date information. - * - * @param {Date} dateObject the date object to modify - * @param {String} string an ISO 8601 string to parse - * @return {Date} the modified date object - */ -SimileAjax.DateTime.setIso8601Time = function (dateObject, string) { - /* - * This function has been adapted from dojo.date, v.0.3.0 - * http://dojotoolkit.org/. - */ - - var d = string.match(SimileAjax.DateTime._timeRegexp); - if(!d) { - SimileAjax.Debug.warn("Invalid time string: " + string); - return false; - } - var hours = d[1]; - var mins = Number((d[3]) ? d[3] : 0); - var secs = (d[5]) ? d[5] : 0; - var ms = d[7] ? (Number("0." + d[7]) * 1000) : 0; - - dateObject.setUTCHours(hours); - dateObject.setUTCMinutes(mins); - dateObject.setUTCSeconds(secs); - dateObject.setUTCMilliseconds(ms); - - return dateObject; -}; - -/** - * The timezone offset in minutes in the user's browser. - * @type Number - */ -SimileAjax.DateTime.timezoneOffset = new Date().getTimezoneOffset(); - -/** - * Takes a date object and a string containing an ISO 8601 date and time and - * sets the date object using information parsed from the string. - * - * @param {Date} dateObject the date object to modify - * @param {String} string an ISO 8601 string to parse - * @return {Date} the modified date object - */ -SimileAjax.DateTime.setIso8601 = function (dateObject, string){ - /* - * This function has been adapted from dojo.date, v.0.3.0 - * http://dojotoolkit.org/. - */ - - var offset = null; - var comps = (string.indexOf("T") == -1) ? string.split(" ") : string.split("T"); - - SimileAjax.DateTime.setIso8601Date(dateObject, comps[0]); - if (comps.length == 2) { - // first strip timezone info from the end - var d = comps[1].match(SimileAjax.DateTime._timezoneRegexp); - if (d) { - if (d[0] == 'Z') { - offset = 0; - } else { - offset = (Number(d[3]) * 60) + Number(d[5]); - offset *= ((d[2] == '-') ? 1 : -1); - } - comps[1] = comps[1].substr(0, comps[1].length - d[0].length); - } - - SimileAjax.DateTime.setIso8601Time(dateObject, comps[1]); - } - if (offset == null) { - offset = dateObject.getTimezoneOffset(); // local time zone if no tz info - } - dateObject.setTime(dateObject.getTime() + offset * 60000); - - return dateObject; -}; - -/** - * Takes a string containing an ISO 8601 date and returns a newly instantiated - * date object with the parsed date and time information from the string. - * - * @param {String} string an ISO 8601 string to parse - * @return {Date} a new date object created from the string - */ -SimileAjax.DateTime.parseIso8601DateTime = function (string) { - try { - return SimileAjax.DateTime.setIso8601(new Date(0), string); - } catch (e) { - return null; - } -}; - -/** - * Takes a string containing a Gregorian date and time and returns a newly - * instantiated date object with the parsed date and time information from the - * string. If the param is actually an instance of Date instead of a string, - * simply returns the given date instead. - * - * @param {Object} o an object, to either return or parse as a string - * @return {Date} the date object - */ -SimileAjax.DateTime.parseGregorianDateTime = function(o) { - if (o == null) { - return null; - } else if (o instanceof Date) { - return o; - } - - var s = o.toString(); - if (s.length > 0 && s.length < 8) { - var space = s.indexOf(" "); - if (space > 0) { - var year = parseInt(s.substr(0, space)); - var suffix = s.substr(space + 1); - if (suffix.toLowerCase() == "bc") { - year = 1 - year; - } - } else { - var year = parseInt(s); - } - - var d = new Date(0); - d.setUTCFullYear(year); - - return d; - } - - try { - return new Date(Date.parse(s)); - } catch (e) { - return null; - } -}; - -/** - * Rounds date objects down to the nearest interval or multiple of an interval. - * This method modifies the given date object, converting it to the given - * timezone if specified. - * - * @param {Date} date the date object to round - * @param {Number} intervalUnit a constant, integer index specifying an - * interval, e.g. SimileAjax.DateTime.HOUR - * @param {Number} timeZone a timezone shift, given in hours - * @param {Number} multiple a multiple of the interval to round by - * @param {Number} firstDayOfWeek an integer specifying the first day of the - * week, 0 corresponds to Sunday, 1 to Monday, etc. - */ -SimileAjax.DateTime.roundDownToInterval = function(date, intervalUnit, timeZone, multiple, firstDayOfWeek) { - var timeShift = timeZone * - SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; - - var date2 = new Date(date.getTime() + timeShift); - var clearInDay = function(d) { - d.setUTCMilliseconds(0); - d.setUTCSeconds(0); - d.setUTCMinutes(0); - d.setUTCHours(0); - }; - var clearInYear = function(d) { - clearInDay(d); - d.setUTCDate(1); - d.setUTCMonth(0); - }; - - switch(intervalUnit) { - case SimileAjax.DateTime.MILLISECOND: - var x = date2.getUTCMilliseconds(); - date2.setUTCMilliseconds(x - (x % multiple)); - break; - case SimileAjax.DateTime.SECOND: - date2.setUTCMilliseconds(0); - - var x = date2.getUTCSeconds(); - date2.setUTCSeconds(x - (x % multiple)); - break; - case SimileAjax.DateTime.MINUTE: - date2.setUTCMilliseconds(0); - date2.setUTCSeconds(0); - - var x = date2.getUTCMinutes(); - date2.setTime(date2.getTime() - - (x % multiple) * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); - break; - case SimileAjax.DateTime.HOUR: - date2.setUTCMilliseconds(0); - date2.setUTCSeconds(0); - date2.setUTCMinutes(0); - - var x = date2.getUTCHours(); - date2.setUTCHours(x - (x % multiple)); - break; - case SimileAjax.DateTime.DAY: - clearInDay(date2); - break; - case SimileAjax.DateTime.WEEK: - clearInDay(date2); - var d = (date2.getUTCDay() + 7 - firstDayOfWeek) % 7; - date2.setTime(date2.getTime() - - d * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY]); - break; - case SimileAjax.DateTime.MONTH: - clearInDay(date2); - date2.setUTCDate(1); - - var x = date2.getUTCMonth(); - date2.setUTCMonth(x - (x % multiple)); - break; - case SimileAjax.DateTime.YEAR: - clearInYear(date2); - - var x = date2.getUTCFullYear(); - date2.setUTCFullYear(x - (x % multiple)); - break; - case SimileAjax.DateTime.DECADE: - clearInYear(date2); - date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 10) * 10); - break; - case SimileAjax.DateTime.CENTURY: - clearInYear(date2); - date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 100) * 100); - break; - case SimileAjax.DateTime.MILLENNIUM: - clearInYear(date2); - date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 1000) * 1000); - break; - } - - date.setTime(date2.getTime() - timeShift); -}; - -/** - * Rounds date objects up to the nearest interval or multiple of an interval. - * This method modifies the given date object, converting it to the given - * timezone if specified. - * - * @param {Date} date the date object to round - * @param {Number} intervalUnit a constant, integer index specifying an - * interval, e.g. SimileAjax.DateTime.HOUR - * @param {Number} timeZone a timezone shift, given in hours - * @param {Number} multiple a multiple of the interval to round by - * @param {Number} firstDayOfWeek an integer specifying the first day of the - * week, 0 corresponds to Sunday, 1 to Monday, etc. - * @see SimileAjax.DateTime.roundDownToInterval - */ -SimileAjax.DateTime.roundUpToInterval = function(date, intervalUnit, timeZone, multiple, firstDayOfWeek) { - var originalTime = date.getTime(); - SimileAjax.DateTime.roundDownToInterval(date, intervalUnit, timeZone, multiple, firstDayOfWeek); - if (date.getTime() < originalTime) { - date.setTime(date.getTime() + - SimileAjax.DateTime.gregorianUnitLengths[intervalUnit] * multiple); - } -}; - -/** - * Increments a date object by a specified interval, taking into - * consideration the timezone. - * - * @param {Date} date the date object to increment - * @param {Number} intervalUnit a constant, integer index specifying an - * interval, e.g. SimileAjax.DateTime.HOUR - * @param {Number} timeZone the timezone offset in hours - */ -SimileAjax.DateTime.incrementByInterval = function(date, intervalUnit, timeZone) { - timeZone = (typeof timeZone == 'undefined') ? 0 : timeZone; - - var timeShift = timeZone * - SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; - - var date2 = new Date(date.getTime() + timeShift); - - switch(intervalUnit) { - case SimileAjax.DateTime.MILLISECOND: - date2.setTime(date2.getTime() + 1) - break; - case SimileAjax.DateTime.SECOND: - date2.setTime(date2.getTime() + 1000); - break; - case SimileAjax.DateTime.MINUTE: - date2.setTime(date2.getTime() + - SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); - break; - case SimileAjax.DateTime.HOUR: - date2.setTime(date2.getTime() + - SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); - break; - case SimileAjax.DateTime.DAY: - date2.setUTCDate(date2.getUTCDate() + 1); - break; - case SimileAjax.DateTime.WEEK: - date2.setUTCDate(date2.getUTCDate() + 7); - break; - case SimileAjax.DateTime.MONTH: - date2.setUTCMonth(date2.getUTCMonth() + 1); - break; - case SimileAjax.DateTime.YEAR: - date2.setUTCFullYear(date2.getUTCFullYear() + 1); - break; - case SimileAjax.DateTime.DECADE: - date2.setUTCFullYear(date2.getUTCFullYear() + 10); - break; - case SimileAjax.DateTime.CENTURY: - date2.setUTCFullYear(date2.getUTCFullYear() + 100); - break; - case SimileAjax.DateTime.MILLENNIUM: - date2.setUTCFullYear(date2.getUTCFullYear() + 1000); - break; - } - - date.setTime(date2.getTime() - timeShift); -}; - -/** - * Returns a new date object with the given time offset removed. - * - * @param {Date} date the starting date - * @param {Number} timeZone a timezone specified in an hour offset to remove - * @return {Date} a new date object with the offset removed - */ -SimileAjax.DateTime.removeTimeZoneOffset = function(date, timeZone) { - return new Date(date.getTime() + - timeZone * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); -}; - -/** - * Returns the timezone of the user's browser. - * - * @return {Number} the timezone in the user's locale in hours - */ -SimileAjax.DateTime.getTimezone = function() { - var d = new Date().getTimezoneOffset(); - return d / -60; -}; diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/debug.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/debug.js deleted file mode 100644 index 3fca6a5..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/debug.js +++ /dev/null @@ -1,94 +0,0 @@ -/*================================================== - * Debug Utility Functions - *================================================== - */ - -SimileAjax.Debug = { - silent: false -}; - -SimileAjax.Debug.log = function(msg) { - var f; - if ("console" in window && "log" in window.console) { // FireBug installed - f = function(msg2) { - console.log(msg2); - } - } else { - f = function(msg2) { - if (!SimileAjax.Debug.silent) { - alert(msg2); - } - } - } - SimileAjax.Debug.log = f; - f(msg); -}; - -SimileAjax.Debug.warn = function(msg) { - var f; - if ("console" in window && "warn" in window.console) { // FireBug installed - f = function(msg2) { - console.warn(msg2); - } - } else { - f = function(msg2) { - if (!SimileAjax.Debug.silent) { - alert(msg2); - } - } - } - SimileAjax.Debug.warn = f; - f(msg); -}; - -SimileAjax.Debug.exception = function(e, msg) { - var f, params = SimileAjax.parseURLParameters(); - if (params.errors == "throw" || SimileAjax.params.errors == "throw") { - f = function(e2, msg2) { - throw(e2); // do not hide from browser's native debugging features - }; - } else if ("console" in window && "error" in window.console) { // FireBug installed - f = function(e2, msg2) { - if (msg2 != null) { - console.error(msg2 + " %o", e2); - } else { - console.error(e2); - } - throw(e2); // do not hide from browser's native debugging features - }; - } else { - f = function(e2, msg2) { - if (!SimileAjax.Debug.silent) { - alert("Caught exception: " + msg2 + "\n\nDetails: " + ("description" in e2 ? e2.description : e2)); - } - throw(e2); // do not hide from browser's native debugging features - }; - } - SimileAjax.Debug.exception = f; - f(e, msg); -}; - -SimileAjax.Debug.objectToString = function(o) { - return SimileAjax.Debug._objectToString(o, ""); -}; - -SimileAjax.Debug._objectToString = function(o, indent) { - var indent2 = indent + " "; - if (typeof o == "object") { - var s = "{"; - for (n in o) { - s += indent2 + n + ": " + SimileAjax.Debug._objectToString(o[n], indent2) + "\n"; - } - s += indent + "}"; - return s; - } else if (typeof o == "array") { - var s = "["; - for (var n = 0; n < o.length; n++) { - s += SimileAjax.Debug._objectToString(o[n], indent2) + "\n"; - } - s += indent + "]"; - return s; - } else { - return o; - } -}; diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/dom.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/dom.js deleted file mode 100644 index 373997b..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/dom.js +++ /dev/null @@ -1,344 +0,0 @@ -/*================================================== - * DOM Utility Functions - *================================================== - */ - -SimileAjax.DOM = new Object(); - -SimileAjax.DOM.registerEventWithObject = function(elmt, eventName, obj, handlerName) { - SimileAjax.DOM.registerEvent(elmt, eventName, function(elmt2, evt, target) { - return obj[handlerName].call(obj, elmt2, evt, target); - }); -}; - -SimileAjax.DOM.registerEvent = function(elmt, eventName, handler) { - var handler2 = function(evt) { - evt = (evt) ? evt : ((event) ? event : null); - if (evt) { - var target = (evt.target) ? - evt.target : ((evt.srcElement) ? evt.srcElement : null); - if (target) { - target = (target.nodeType == 1 || target.nodeType == 9) ? - target : target.parentNode; - } - - return handler(elmt, evt, target); - } - return true; - } - - if (SimileAjax.Platform.browser.isIE) { - elmt.attachEvent("on" + eventName, handler2); - } else { - elmt.addEventListener(eventName, handler2, false); - } -}; - -SimileAjax.DOM.getPageCoordinates = function(elmt) { - var left = 0; - var top = 0; - - if (elmt.nodeType != 1) { - elmt = elmt.parentNode; - } - - var elmt2 = elmt; - while (elmt2 != null) { - left += elmt2.offsetLeft; - top += elmt2.offsetTop; - elmt2 = elmt2.offsetParent; - } - - var body = document.body; - while (elmt != null && elmt != body) { - if ("scrollLeft" in elmt) { - left -= elmt.scrollLeft; - top -= elmt.scrollTop; - } - elmt = elmt.parentNode; - } - - return { left: left, top: top }; -}; - -SimileAjax.DOM.getSize = function(elmt) { - var w = this.getStyle(elmt,"width"); - var h = this.getStyle(elmt,"height"); - if (w.indexOf("px") > -1) w = w.replace("px",""); - if (h.indexOf("px") > -1) h = h.replace("px",""); - return { - w: w, - h: h - } -} - -SimileAjax.DOM.getStyle = function(elmt, styleProp) { - if (elmt.currentStyle) { // IE - var style = elmt.currentStyle[styleProp]; - } else if (window.getComputedStyle) { // standard DOM - var style = document.defaultView.getComputedStyle(elmt, null).getPropertyValue(styleProp); - } else { - var style = ""; - } - return style; -} - -SimileAjax.DOM.getEventRelativeCoordinates = function(evt, elmt) { - if (SimileAjax.Platform.browser.isIE) { - if (evt.type == "mousewheel") { - var coords = SimileAjax.DOM.getPageCoordinates(elmt); - return { - x: evt.clientX - coords.left, - y: evt.clientY - coords.top - }; - } else { - return { - x: evt.offsetX, - y: evt.offsetY - }; - } - } else { - var coords = SimileAjax.DOM.getPageCoordinates(elmt); - - if ((evt.type == "DOMMouseScroll") && - SimileAjax.Platform.browser.isFirefox && - (SimileAjax.Platform.browser.majorVersion == 2)) { - // Due to: https://bugzilla.mozilla.org/show_bug.cgi?id=352179 - - return { - x: evt.screenX - coords.left, - y: evt.screenY - coords.top - }; - } else { - return { - x: evt.pageX - coords.left, - y: evt.pageY - coords.top - }; - } - } -}; - -SimileAjax.DOM.getEventPageCoordinates = function(evt) { - if (SimileAjax.Platform.browser.isIE) { - return { - x: evt.clientX + document.body.scrollLeft, - y: evt.clientY + document.body.scrollTop - }; - } else { - return { - x: evt.pageX, - y: evt.pageY - }; - } -}; - -SimileAjax.DOM.hittest = function(x, y, except) { - return SimileAjax.DOM._hittest(document.body, x, y, except); -}; - -SimileAjax.DOM._hittest = function(elmt, x, y, except) { - var childNodes = elmt.childNodes; - outer: for (var i = 0; i < childNodes.length; i++) { - var childNode = childNodes[i]; - for (var j = 0; j < except.length; j++) { - if (childNode == except[j]) { - continue outer; - } - } - - if (childNode.offsetWidth == 0 && childNode.offsetHeight == 0) { - /* - * Sometimes SPAN elements have zero width and height but - * they have children like DIVs that cover non-zero areas. - */ - var hitNode = SimileAjax.DOM._hittest(childNode, x, y, except); - if (hitNode != childNode) { - return hitNode; - } - } else { - var top = 0; - var left = 0; - - var node = childNode; - while (node) { - top += node.offsetTop; - left += node.offsetLeft; - node = node.offsetParent; - } - - if (left <= x && top <= y && (x - left) < childNode.offsetWidth && (y - top) < childNode.offsetHeight) { - return SimileAjax.DOM._hittest(childNode, x, y, except); - } else if (childNode.nodeType == 1 && childNode.tagName == "TR") { - /* - * Table row might have cells that span several rows. - */ - var childNode2 = SimileAjax.DOM._hittest(childNode, x, y, except); - if (childNode2 != childNode) { - return childNode2; - } - } - } - } - return elmt; -}; - -SimileAjax.DOM.cancelEvent = function(evt) { - evt.returnValue = false; - evt.cancelBubble = true; - if ("preventDefault" in evt) { - evt.preventDefault(); - } -}; - -SimileAjax.DOM.appendClassName = function(elmt, className) { - var classes = elmt.className.split(" "); - for (var i = 0; i < classes.length; i++) { - if (classes[i] == className) { - return; - } - } - classes.push(className); - elmt.className = classes.join(" "); -}; - -SimileAjax.DOM.createInputElement = function(type) { - var div = document.createElement("div"); - div.innerHTML = ""; - - return div.firstChild; -}; - -SimileAjax.DOM.createDOMFromTemplate = function(template) { - var result = {}; - result.elmt = SimileAjax.DOM._createDOMFromTemplate(template, result, null); - - return result; -}; - -SimileAjax.DOM._createDOMFromTemplate = function(templateNode, result, parentElmt) { - if (templateNode == null) { - /* - var node = doc.createTextNode("--null--"); - if (parentElmt != null) { - parentElmt.appendChild(node); - } - return node; - */ - return null; - } else if (typeof templateNode != "object") { - var node = document.createTextNode(templateNode); - if (parentElmt != null) { - parentElmt.appendChild(node); - } - return node; - } else { - var elmt = null; - if ("tag" in templateNode) { - var tag = templateNode.tag; - if (parentElmt != null) { - if (tag == "tr") { - elmt = parentElmt.insertRow(parentElmt.rows.length); - } else if (tag == "td") { - elmt = parentElmt.insertCell(parentElmt.cells.length); - } - } - if (elmt == null) { - elmt = tag == "input" ? - SimileAjax.DOM.createInputElement(templateNode.type) : - document.createElement(tag); - - if (parentElmt != null) { - parentElmt.appendChild(elmt); - } - } - } else { - elmt = templateNode.elmt; - if (parentElmt != null) { - parentElmt.appendChild(elmt); - } - } - - for (var attribute in templateNode) { - var value = templateNode[attribute]; - - if (attribute == "field") { - result[value] = elmt; - - } else if (attribute == "className") { - elmt.className = value; - } else if (attribute == "id") { - elmt.id = value; - } else if (attribute == "title") { - elmt.title = value; - } else if (attribute == "type" && elmt.tagName == "input") { - // do nothing - } else if (attribute == "style") { - for (n in value) { - var v = value[n]; - if (n == "float") { - n = SimileAjax.Platform.browser.isIE ? "styleFloat" : "cssFloat"; - } - elmt.style[n] = v; - } - } else if (attribute == "children") { - for (var i = 0; i < value.length; i++) { - SimileAjax.DOM._createDOMFromTemplate(value[i], result, elmt); - } - } else if (attribute != "tag" && attribute != "elmt") { - elmt.setAttribute(attribute, value); - } - } - return elmt; - } -} - -SimileAjax.DOM._cachedParent = null; -SimileAjax.DOM.createElementFromString = function(s) { - if (SimileAjax.DOM._cachedParent == null) { - SimileAjax.DOM._cachedParent = document.createElement("div"); - } - SimileAjax.DOM._cachedParent.innerHTML = s; - return SimileAjax.DOM._cachedParent.firstChild; -}; - -SimileAjax.DOM.createDOMFromString = function(root, s, fieldElmts) { - var elmt = typeof root == "string" ? document.createElement(root) : root; - elmt.innerHTML = s; - - var dom = { elmt: elmt }; - SimileAjax.DOM._processDOMChildrenConstructedFromString(dom, elmt, fieldElmts != null ? fieldElmts : {} ); - - return dom; -}; - -SimileAjax.DOM._processDOMConstructedFromString = function(dom, elmt, fieldElmts) { - var id = elmt.id; - if (id != null && id.length > 0) { - elmt.removeAttribute("id"); - if (id in fieldElmts) { - var parentElmt = elmt.parentNode; - parentElmt.insertBefore(fieldElmts[id], elmt); - parentElmt.removeChild(elmt); - - dom[id] = fieldElmts[id]; - return; - } else { - dom[id] = elmt; - } - } - - if (elmt.hasChildNodes()) { - SimileAjax.DOM._processDOMChildrenConstructedFromString(dom, elmt, fieldElmts); - } -}; - -SimileAjax.DOM._processDOMChildrenConstructedFromString = function(dom, elmt, fieldElmts) { - var node = elmt.firstChild; - while (node != null) { - var node2 = node.nextSibling; - if (node.nodeType == 1) { - SimileAjax.DOM._processDOMConstructedFromString(dom, node, fieldElmts); - } - node = node2; - } -}; diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/graphics.js b/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/graphics.js deleted file mode 100644 index 770e17c..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/ajax/scripts/graphics.js +++ /dev/null @@ -1,653 +0,0 @@ -/** - * @fileOverview Graphics utility functions and constants - * @name SimileAjax.Graphics - */ - -SimileAjax.Graphics = new Object(); - -/** - * A boolean value indicating whether PNG translucency is supported on the - * user's browser or not. - * - * @type Boolean - */ -SimileAjax.Graphics.pngIsTranslucent = (!SimileAjax.Platform.browser.isIE) || (SimileAjax.Platform.browser.majorVersion > 6); -if (!SimileAjax.Graphics.pngIsTranslucent) { - SimileAjax.includeCssFile(document, SimileAjax.urlPrefix + "styles/graphics-ie6.css"); -} - -/*================================================== - * Opacity, translucency - *================================================== - */ -SimileAjax.Graphics._createTranslucentImage1 = function(url, verticalAlign) { - var elmt = document.createElement("img"); - elmt.setAttribute("src", url); - if (verticalAlign != null) { - elmt.style.verticalAlign = verticalAlign; - } - return elmt; -}; -SimileAjax.Graphics._createTranslucentImage2 = function(url, verticalAlign) { - var elmt = document.createElement("img"); - elmt.style.width = "1px"; // just so that IE will calculate the size property - elmt.style.height = "1px"; - elmt.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + url +"', sizingMethod='image')"; - elmt.style.verticalAlign = (verticalAlign != null) ? verticalAlign : "middle"; - return elmt; -}; - -/** - * Creates a DOM element for an img tag using the URL given. This - * is a convenience method that automatically includes the necessary CSS to - * allow for translucency, even on IE. - * - * @function - * @param {String} url the URL to the image - * @param {String} verticalAlign the CSS value for the image's vertical-align - * @return {Element} a DOM element containing the img tag - */ -SimileAjax.Graphics.createTranslucentImage = SimileAjax.Graphics.pngIsTranslucent ? - SimileAjax.Graphics._createTranslucentImage1 : - SimileAjax.Graphics._createTranslucentImage2; - -SimileAjax.Graphics._createTranslucentImageHTML1 = function(url, verticalAlign) { - return ""; -}; -SimileAjax.Graphics._createTranslucentImageHTML2 = function(url, verticalAlign) { - var style = - "width: 1px; height: 1px; " + - "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + url +"', sizingMethod='image');" + - (verticalAlign != null ? " vertical-align: " + verticalAlign + ";" : ""); - - return ""; -}; - -/** - * Creates an HTML string for an img tag using the URL given. - * This is a convenience method that automatically includes the necessary CSS - * to allow for translucency, even on IE. - * - * @function - * @param {String} url the URL to the image - * @param {String} verticalAlign the CSS value for the image's vertical-align - * @return {String} a string containing the img tag - */ -SimileAjax.Graphics.createTranslucentImageHTML = SimileAjax.Graphics.pngIsTranslucent ? - SimileAjax.Graphics._createTranslucentImageHTML1 : - SimileAjax.Graphics._createTranslucentImageHTML2; - -/** - * Sets the opacity on the given DOM element. - * - * @param {Element} elmt the DOM element to set the opacity on - * @param {Number} opacity an integer from 0 to 100 specifying the opacity - */ -SimileAjax.Graphics.setOpacity = function(elmt, opacity) { - if (SimileAjax.Platform.browser.isIE) { - elmt.style.filter = "progid:DXImageTransform.Microsoft.Alpha(Style=0,Opacity=" + opacity + ")"; - } else { - var o = (opacity / 100).toString(); - elmt.style.opacity = o; - elmt.style.MozOpacity = o; - } -}; - -/*================================================== - * Bubble - *================================================== - */ - -SimileAjax.Graphics.bubbleConfig = { - containerCSSClass: "simileAjax-bubble-container", - innerContainerCSSClass: "simileAjax-bubble-innerContainer", - contentContainerCSSClass: "simileAjax-bubble-contentContainer", - - borderGraphicSize: 50, - borderGraphicCSSClassPrefix: "simileAjax-bubble-border-", - - arrowGraphicTargetOffset: 33, // from tip of arrow to the side of the graphic that touches the content of the bubble - arrowGraphicLength: 100, // dimension of arrow graphic along the direction that the arrow points - arrowGraphicWidth: 49, // dimension of arrow graphic perpendicular to the direction that the arrow points - arrowGraphicCSSClassPrefix: "simileAjax-bubble-arrow-", - - closeGraphicCSSClass: "simileAjax-bubble-close", - - extraPadding: 20 -}; - -/** - * Creates a nice, rounded bubble popup with the given content in a div, - * page coordinates and a suggested width. The bubble will point to the - * location on the page as described by pageX and pageY. All measurements - * should be given in pixels. - * - * @param {Element} the content div - * @param {Number} pageX the x coordinate of the point to point to - * @param {Number} pageY the y coordinate of the point to point to - * @param {Number} contentWidth a suggested width of the content - * @param {String} orientation a string ("top", "bottom", "left", or "right") - * that describes the orientation of the arrow on the bubble - * @param {Number} maxHeight. Add a scrollbar div if bubble would be too tall. - * Default of 0 or null means no maximum - */ -SimileAjax.Graphics.createBubbleForContentAndPoint = function( - div, pageX, pageY, contentWidth, orientation, maxHeight) { - if (typeof contentWidth != "number") { - contentWidth = 300; - } - if (typeof maxHeight != "number") { - maxHeight = 0; - } - - div.style.position = "absolute"; - div.style.left = "-5000px"; - div.style.top = "0px"; - div.style.width = contentWidth + "px"; - document.body.appendChild(div); - - window.setTimeout(function() { - var width = div.scrollWidth + 10; - var height = div.scrollHeight + 10; - var scrollDivW = 0; // width of the possible inner container when we want vertical scrolling - if (maxHeight > 0 && height > maxHeight) { - height = maxHeight; - scrollDivW = width - 25; - } - - var bubble = SimileAjax.Graphics.createBubbleForPoint(pageX, pageY, width, height, orientation); - - document.body.removeChild(div); - div.style.position = "static"; - div.style.left = ""; - div.style.top = ""; - - // create a scroll div if needed - if (scrollDivW > 0) { - var scrollDiv = document.createElement("div"); - div.style.width = ""; - scrollDiv.style.width = scrollDivW + "px"; - scrollDiv.appendChild(div); - bubble.content.appendChild(scrollDiv); - } else { - div.style.width = width + "px"; - bubble.content.appendChild(div); - } - }, 200); -}; - -/** - * Creates a nice, rounded bubble popup with the given page coordinates and - * content dimensions. The bubble will point to the location on the page - * as described by pageX and pageY. All measurements should be given in - * pixels. - * - * @param {Number} pageX the x coordinate of the point to point to - * @param {Number} pageY the y coordinate of the point to point to - * @param {Number} contentWidth the width of the content box in the bubble - * @param {Number} contentHeight the height of the content box in the bubble - * @param {String} orientation a string ("top", "bottom", "left", or "right") - * that describes the orientation of the arrow on the bubble - * @return {Element} a DOM element for the newly created bubble - */ -SimileAjax.Graphics.createBubbleForPoint = function(pageX, pageY, contentWidth, contentHeight, orientation) { - contentWidth = parseInt(contentWidth, 10); // harden against bad input bugs - contentHeight = parseInt(contentHeight, 10); // getting numbers-as-strings - - var bubbleConfig = SimileAjax.Graphics.bubbleConfig; - var pngTransparencyClassSuffix = - SimileAjax.Graphics.pngIsTranslucent ? "pngTranslucent" : "pngNotTranslucent"; - - var bubbleWidth = contentWidth + 2 * bubbleConfig.borderGraphicSize; - var bubbleHeight = contentHeight + 2 * bubbleConfig.borderGraphicSize; - - var generatePngSensitiveClass = function(className) { - return className + " " + className + "-" + pngTransparencyClassSuffix; - }; - - /* - * Render container divs - */ - var div = document.createElement("div"); - div.className = generatePngSensitiveClass(bubbleConfig.containerCSSClass); - div.style.width = contentWidth + "px"; - div.style.height = contentHeight + "px"; - - var divInnerContainer = document.createElement("div"); - divInnerContainer.className = generatePngSensitiveClass(bubbleConfig.innerContainerCSSClass); - div.appendChild(divInnerContainer); - - /* - * Create layer for bubble - */ - var close = function() { - if (!bubble._closed) { - document.body.removeChild(bubble._div); - bubble._doc = null; - bubble._div = null; - bubble._content = null; - bubble._closed = true; - } - } - var bubble = { _closed: false }; - var layer = SimileAjax.WindowManager.pushLayer(close, true, div); - bubble._div = div; - bubble.close = function() { SimileAjax.WindowManager.popLayer(layer); } - - /* - * Render border graphics - */ - var createBorder = function(classNameSuffix) { - var divBorderGraphic = document.createElement("div"); - divBorderGraphic.className = generatePngSensitiveClass(bubbleConfig.borderGraphicCSSClassPrefix + classNameSuffix); - divInnerContainer.appendChild(divBorderGraphic); - }; - createBorder("top-left"); - createBorder("top-right"); - createBorder("bottom-left"); - createBorder("bottom-right"); - createBorder("left"); - createBorder("right"); - createBorder("top"); - createBorder("bottom"); - - /* - * Render content - */ - var divContentContainer = document.createElement("div"); - divContentContainer.className = generatePngSensitiveClass(bubbleConfig.contentContainerCSSClass); - divInnerContainer.appendChild(divContentContainer); - bubble.content = divContentContainer; - - /* - * Render close button - */ - var divClose = document.createElement("div"); - divClose.className = generatePngSensitiveClass(bubbleConfig.closeGraphicCSSClass); - divInnerContainer.appendChild(divClose); - SimileAjax.WindowManager.registerEventWithObject(divClose, "click", bubble, "close"); - - (function() { - var dims = SimileAjax.Graphics.getWindowDimensions(); - var docWidth = dims.w; - var docHeight = dims.h; - - var halfArrowGraphicWidth = Math.ceil(bubbleConfig.arrowGraphicWidth / 2); - - var createArrow = function(classNameSuffix) { - var divArrowGraphic = document.createElement("div"); - divArrowGraphic.className = generatePngSensitiveClass(bubbleConfig.arrowGraphicCSSClassPrefix + "point-" + classNameSuffix); - divInnerContainer.appendChild(divArrowGraphic); - return divArrowGraphic; - }; - - if (pageX - halfArrowGraphicWidth - bubbleConfig.borderGraphicSize - bubbleConfig.extraPadding > 0 && - pageX + halfArrowGraphicWidth + bubbleConfig.borderGraphicSize + bubbleConfig.extraPadding < docWidth) { - - /* - * Bubble can be positioned above or below the target point. - */ - - var left = pageX - Math.round(contentWidth / 2); - left = pageX < (docWidth / 2) ? - Math.max(left, bubbleConfig.extraPadding + bubbleConfig.borderGraphicSize) : - Math.min(left, docWidth - bubbleConfig.extraPadding - bubbleConfig.borderGraphicSize - contentWidth); - - if ((orientation && orientation == "top") || - (!orientation && - (pageY - - bubbleConfig.arrowGraphicTargetOffset - - contentHeight - - bubbleConfig.borderGraphicSize - - bubbleConfig.extraPadding > 0))) { - - /* - * Position bubble above the target point. - */ - - var divArrow = createArrow("down"); - divArrow.style.left = (pageX - halfArrowGraphicWidth - left) + "px"; - - div.style.left = left + "px"; - div.style.top = (pageY - bubbleConfig.arrowGraphicTargetOffset - contentHeight) + "px"; - - return; - } else if ((orientation && orientation == "bottom") || - (!orientation && - (pageY - + bubbleConfig.arrowGraphicTargetOffset - + contentHeight - + bubbleConfig.borderGraphicSize - + bubbleConfig.extraPadding < docHeight))) { - - /* - * Position bubble below the target point. - */ - - var divArrow = createArrow("up"); - divArrow.style.left = (pageX - halfArrowGraphicWidth - left) + "px"; - - div.style.left = left + "px"; - div.style.top = (pageY + bubbleConfig.arrowGraphicTargetOffset) + "px"; - - return; - } - } - - var top = pageY - Math.round(contentHeight / 2); - top = pageY < (docHeight / 2) ? - Math.max(top, bubbleConfig.extraPadding + bubbleConfig.borderGraphicSize) : - Math.min(top, docHeight - bubbleConfig.extraPadding - bubbleConfig.borderGraphicSize - contentHeight); - - if ((orientation && orientation == "left") || - (!orientation && - (pageX - - bubbleConfig.arrowGraphicTargetOffset - - contentWidth - - bubbleConfig.borderGraphicSize - - bubbleConfig.extraPadding > 0))) { - - /* - * Position bubble left of the target point. - */ - - var divArrow = createArrow("right"); - divArrow.style.top = (pageY - halfArrowGraphicWidth - top) + "px"; - - div.style.top = top + "px"; - div.style.left = (pageX - bubbleConfig.arrowGraphicTargetOffset - contentWidth) + "px"; - } else { - - /* - * Position bubble right of the target point, as the last resort. - */ - - var divArrow = createArrow("left"); - divArrow.style.top = (pageY - halfArrowGraphicWidth - top) + "px"; - - div.style.top = top + "px"; - div.style.left = (pageX + bubbleConfig.arrowGraphicTargetOffset) + "px"; - } - })(); - - document.body.appendChild(div); - - return bubble; -}; - -SimileAjax.Graphics.getWindowDimensions = function() { - if (typeof window.innerHeight == 'number') { - return { w:window.innerWidth, h:window.innerHeight }; // Non-IE - } else if (document.documentElement && document.documentElement.clientHeight) { - return { // IE6+, in "standards compliant mode" - w:document.documentElement.clientWidth, - h:document.documentElement.clientHeight - }; - } else if (document.body && document.body.clientHeight) { - return { // IE 4 compatible - w:document.body.clientWidth, - h:document.body.clientHeight - }; - } -}; - - -/** - * Creates a floating, rounded message bubble in the center of the window for - * displaying modal information, e.g. "Loading..." - * - * @param {Document} doc the root document for the page to render on - * @param {Object} an object with two properties, contentDiv and containerDiv, - * consisting of the newly created DOM elements - */ -SimileAjax.Graphics.createMessageBubble = function(doc) { - var containerDiv = doc.createElement("div"); - if (SimileAjax.Graphics.pngIsTranslucent) { - var topDiv = doc.createElement("div"); - topDiv.style.height = "33px"; - topDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-top-left.png) top left no-repeat"; - topDiv.style.paddingLeft = "44px"; - containerDiv.appendChild(topDiv); - - var topRightDiv = doc.createElement("div"); - topRightDiv.style.height = "33px"; - topRightDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-top-right.png) top right no-repeat"; - topDiv.appendChild(topRightDiv); - - var middleDiv = doc.createElement("div"); - middleDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-left.png) top left repeat-y"; - middleDiv.style.paddingLeft = "44px"; - containerDiv.appendChild(middleDiv); - - var middleRightDiv = doc.createElement("div"); - middleRightDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-right.png) top right repeat-y"; - middleRightDiv.style.paddingRight = "44px"; - middleDiv.appendChild(middleRightDiv); - - var contentDiv = doc.createElement("div"); - middleRightDiv.appendChild(contentDiv); - - var bottomDiv = doc.createElement("div"); - bottomDiv.style.height = "55px"; - bottomDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-bottom-left.png) bottom left no-repeat"; - bottomDiv.style.paddingLeft = "44px"; - containerDiv.appendChild(bottomDiv); - - var bottomRightDiv = doc.createElement("div"); - bottomRightDiv.style.height = "55px"; - bottomRightDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-bottom-right.png) bottom right no-repeat"; - bottomDiv.appendChild(bottomRightDiv); - } else { - containerDiv.style.border = "2px solid #7777AA"; - containerDiv.style.padding = "20px"; - containerDiv.style.background = "white"; - SimileAjax.Graphics.setOpacity(containerDiv, 90); - - var contentDiv = doc.createElement("div"); - containerDiv.appendChild(contentDiv); - } - - return { - containerDiv: containerDiv, - contentDiv: contentDiv - }; -}; - -/*================================================== - * Animation - *================================================== - */ - -/** - * Creates an animation for a function, and an interval of values. The word - * "animation" here is used in the sense of repeatedly calling a function with - * a current value from within an interval, and a delta value. - * - * @param {Function} f a function to be called every 50 milliseconds throughout - * the animation duration, of the form f(current, delta), where current is - * the current value within the range and delta is the current change. - * @param {Number} from a starting value - * @param {Number} to an ending value - * @param {Number} duration the duration of the animation in milliseconds - * @param {Function} [cont] an optional function that is called at the end of - * the animation, i.e. a continuation. - * @return {SimileAjax.Graphics._Animation} a new animation object - */ -SimileAjax.Graphics.createAnimation = function(f, from, to, duration, cont) { - return new SimileAjax.Graphics._Animation(f, from, to, duration, cont); -}; - -SimileAjax.Graphics._Animation = function(f, from, to, duration, cont) { - this.f = f; - this.cont = (typeof cont == "function") ? cont : function() {}; - - this.from = from; - this.to = to; - this.current = from; - - this.duration = duration; - this.start = new Date().getTime(); - this.timePassed = 0; -}; - -/** - * Runs this animation. - */ -SimileAjax.Graphics._Animation.prototype.run = function() { - var a = this; - window.setTimeout(function() { a.step(); }, 50); -}; - -/** - * Increments this animation by one step, and then continues the animation with - * run(). - */ -SimileAjax.Graphics._Animation.prototype.step = function() { - this.timePassed += 50; - - var timePassedFraction = this.timePassed / this.duration; - var parameterFraction = -Math.cos(timePassedFraction * Math.PI) / 2 + 0.5; - var current = parameterFraction * (this.to - this.from) + this.from; - - try { - this.f(current, current - this.current); - } catch (e) { - } - this.current = current; - - if (this.timePassed < this.duration) { - this.run(); - } else { - this.f(this.to, 0); - this["cont"](); - } -}; - -/*================================================== - * CopyPasteButton - * - * Adapted from http://spaces.live.com/editorial/rayozzie/demo/liveclip/liveclipsample/techPreview.html. - *================================================== - */ - -/** - * Creates a button and textarea for displaying structured data and copying it - * to the clipboard. The data is dynamically generated by the given - * createDataFunction parameter. - * - * @param {String} image an image URL to use as the background for the - * generated box - * @param {Number} width the width in pixels of the generated box - * @param {Number} height the height in pixels of the generated box - * @param {Function} createDataFunction a function that is called with no - * arguments to generate the structured data - * @return a new DOM element - */ -SimileAjax.Graphics.createStructuredDataCopyButton = function(image, width, height, createDataFunction) { - var div = document.createElement("div"); - div.style.position = "relative"; - div.style.display = "inline"; - div.style.width = width + "px"; - div.style.height = height + "px"; - div.style.overflow = "hidden"; - div.style.margin = "2px"; - - if (SimileAjax.Graphics.pngIsTranslucent) { - div.style.background = "url(" + image + ") no-repeat"; - } else { - div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + image +"', sizingMethod='image')"; - } - - var style; - if (SimileAjax.Platform.browser.isIE) { - style = "filter:alpha(opacity=0)"; - } else { - style = "opacity: 0"; - } - div.innerHTML = ""; -dom.close=function(){document.body.removeChild(dom.elmt); -}; -dom.open=function(){dom.elmt.style.top=(document.body.scrollTop+100)+"px"; -document.body.appendChild(dom.elmt); -dom.layer=SimileAjax.WindowManager.pushLayer(function(){dom.close(); -},false); -var textarea=dom.textAreaContainer.firstChild; -textarea.select(); -SimileAjax.WindowManager.registerEvent(dom.closeButton,"click",function(elmt,evt,target){SimileAjax.WindowManager.popLayer(dom.layer); -},dom.layer); -SimileAjax.WindowManager.registerEvent(textarea,"keyup",function(elmt,evt,target){if(evt.keyCode==27){SimileAjax.WindowManager.popLayer(dom.layer); -}},dom.layer); -}; -return dom; -}; - - -/* coders.js */ -Exhibit.Coders=new Object(); -Exhibit.Coders.mixedCaseColor="#fff"; -Exhibit.Coders.othersCaseColor="#aaa"; -Exhibit.Coders.missingCaseColor="#888"; - - -/* facets.js */ -Exhibit.FacetUtilities=new Object(); -Exhibit.FacetUtilities.constructFacetFrame=function(forFacet,div,facetLabel,onClearAllSelections,uiContext,collapsible,collapsed){div.className="exhibit-facet"; -var dom=SimileAjax.DOM.createDOMFromString(div,"
    "+((collapsible)?"":"")+""+facetLabel+"
    ",{checkImage:Exhibit.UI.createTranslucentImage("images/black-check.png")}); -var resizableDivWidget=Exhibit.ResizableDivWidget.create({},dom.frameDiv,uiContext); -dom.valuesContainer=resizableDivWidget.getContentDiv(); -dom.valuesContainer.className="exhibit-facet-body"; -dom.setSelectionCount=function(count){this.filterCountSpan.innerHTML=count; -this.clearSelectionsDiv.style.display=count>0?"block":"none"; -}; -SimileAjax.WindowManager.registerEvent(dom.clearSelectionsDiv,"click",onClearAllSelections); -if(collapsible){SimileAjax.WindowManager.registerEvent(dom.collapseImg,"click",function(){Exhibit.FacetUtilities.toggleCollapse(dom,forFacet); -}); -if(collapsed){Exhibit.FacetUtilities.toggleCollapse(dom,forFacet); -}}return dom; -}; -Exhibit.FacetUtilities.toggleCollapse=function(dom,facet){var el=dom.frameDiv; -if(el.style.display!="none"){el.style.display="none"; -dom.collapseImg.src=Exhibit.urlPrefix+"images/expand.png"; -}else{el.style.display="block"; -dom.collapseImg.src=Exhibit.urlPrefix+"images/collapse.png"; -if(typeof facet.onUncollapse=="function"){facet.onUncollapse(); -}}}; -Exhibit.FacetUtilities.isCollapsed=function(facet){var el=facet._dom.frameDiv; -return el.style.display=="none"; -}; -Exhibit.FacetUtilities.constructFacetItem=function(label,count,color,selected,facetHasSelection,onSelect,onSelectOnly,uiContext){if(Exhibit.params.safe){label=Exhibit.Formatter.encodeAngleBrackets(label); -}var dom=SimileAjax.DOM.createDOMFromString("div","
    "+count+"
    "+("
     "+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+(facetHasSelection?(selected?"images/black-check.png":"images/no-check.png"):"images/no-check-no-border.png"))+"
    ")+"
    "); -dom.elmt.className=selected?"exhibit-facet-value exhibit-facet-value-selected":"exhibit-facet-value"; -if(typeof label=="string"){dom.elmt.title=label; -dom.link.innerHTML=label; -if(color!=null){dom.link.style.color=color; -}}else{dom.link.appendChild(label); -if(color!=null){label.style.color=color; -}}SimileAjax.WindowManager.registerEvent(dom.elmt,"click",onSelectOnly,SimileAjax.WindowManager.getBaseLayer()); -if(facetHasSelection){SimileAjax.WindowManager.registerEvent(dom.inner.firstChild,"click",onSelect,SimileAjax.WindowManager.getBaseLayer()); -}return dom.elmt; -}; -Exhibit.FacetUtilities.constructFlowingFacetFrame=function(forFacet,div,facetLabel,onClearAllSelections,uiContext,collapsible,collapsed){div.className="exhibit-flowingFacet"; -var dom=SimileAjax.DOM.createDOMFromString(div,"
    "+((collapsible)?"":"")+""+facetLabel+"
    "); -dom.setSelectionCount=function(count){}; -if(collapsible){SimileAjax.WindowManager.registerEvent(dom.collapseImg,"click",function(){Exhibit.FacetUtilities.toggleCollapse(dom,forFacet); -}); -if(collapsed){Exhibit.FacetUtilities.toggleCollapse(dom,forFacet); -}}return dom; -}; -Exhibit.FacetUtilities.constructFlowingFacetItem=function(label,count,color,selected,facetHasSelection,onSelect,onSelectOnly,uiContext){if(Exhibit.params.safe){label=Exhibit.Formatter.encodeAngleBrackets(label); -}var dom=SimileAjax.DOM.createDOMFromString("div",("
    "+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+(facetHasSelection?(selected?"images/black-check.png":"images/no-check.png"):"images/no-check-no-border.png"))+"
    ")+" ("+count+")"); -dom.elmt.className=selected?"exhibit-flowingFacet-value exhibit-flowingFacet-value-selected":"exhibit-flowingFacet-value"; -if(typeof label=="string"){dom.elmt.title=label; -dom.inner.innerHTML=label; -if(color!=null){dom.inner.style.color=color; -}}else{dom.inner.appendChild(label); -if(color!=null){label.style.color=color; -}}SimileAjax.WindowManager.registerEvent(dom.elmt,"click",onSelectOnly,SimileAjax.WindowManager.getBaseLayer()); -if(facetHasSelection){SimileAjax.WindowManager.registerEvent(dom.elmt.firstChild,"click",onSelect,SimileAjax.WindowManager.getBaseLayer()); -}return dom.elmt; -}; -Exhibit.FacetUtilities.constructHierarchicalFacetItem=function(label,count,color,selected,hasChildren,expanded,facetHasSelection,onSelect,onSelectOnly,onToggleChildren,uiContext){if(Exhibit.params.safe){label=Exhibit.Formatter.encodeAngleBrackets(label); -}var dom=SimileAjax.DOM.createDOMFromString("div","
    "+count+"
    "+("
     "+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+(facetHasSelection?(selected?"images/black-check.png":"images/no-check.png"):"images/no-check-no-border.png"))+"
    ")+""+(hasChildren?(""+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+"images/down-arrow.png")+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+"images/right-arrow.png")+""):"")+"
    "+(hasChildren?"
    ":"")); -dom.elmt.className=selected?"exhibit-facet-value exhibit-facet-value-selected":"exhibit-facet-value"; -if(typeof label=="string"){dom.elmt.title=label; -dom.link.appendChild(document.createTextNode(label)); -if(color!=null){dom.link.style.color=color; -}}else{dom.link.appendChild(label); -if(color!=null){label.style.color=color; -}}SimileAjax.WindowManager.registerEvent(dom.elmt,"click",onSelectOnly,SimileAjax.WindowManager.getBaseLayer()); -if(facetHasSelection){SimileAjax.WindowManager.registerEvent(dom.inner.firstChild,"click",onSelect,SimileAjax.WindowManager.getBaseLayer()); -}if(hasChildren){dom.showChildren=function(show){dom.childrenContainer.style.display=show?"block":"none"; -dom.toggle.childNodes[0].style.display=show?"inline":"none"; -dom.toggle.childNodes[1].style.display=show?"none":"inline"; -}; -SimileAjax.WindowManager.registerEvent(dom.toggle,"click",onToggleChildren,SimileAjax.WindowManager.getBaseLayer()); -dom.showChildren(expanded); -}return dom; -}; -Exhibit.FacetUtilities.constructFlowingHierarchicalFacetItem=function(label,count,color,selected,hasChildren,expanded,facetHasSelection,onSelect,onSelectOnly,onToggleChildren,uiContext){if(Exhibit.params.safe){label=Exhibit.Formatter.encodeAngleBrackets(label); -}var dom=SimileAjax.DOM.createDOMFromString("div",("
    "+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+(facetHasSelection?(selected?"images/black-check.png":"images/no-check.png"):"images/no-check-no-border.png"))+"
    ")+" ("+count+")"+(hasChildren?(""+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+"images/down-arrow.png")+SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+"images/right-arrow.png")+""):"")+(hasChildren?"
    ":"")); -dom.elmt.className=selected?"exhibit-flowingFacet-value exhibit-flowingFacet-value-selected":"exhibit-flowingFacet-value"; -if(typeof label=="string"){dom.elmt.title=label; -dom.inner.appendChild(document.createTextNode(label)); -if(color!=null){dom.inner.style.color=color; -}}else{dom.inner.appendChild(label); -if(color!=null){label.style.color=color; -}}SimileAjax.WindowManager.registerEvent(dom.elmt,"click",onSelectOnly,SimileAjax.WindowManager.getBaseLayer()); -if(facetHasSelection){SimileAjax.WindowManager.registerEvent(dom.elmt.firstChild,"click",onSelect,SimileAjax.WindowManager.getBaseLayer()); -}if(hasChildren){dom.showChildren=function(show){dom.childrenContainer.style.display=show?"block":"none"; -dom.toggle.childNodes[0].style.display=show?"inline":"none"; -dom.toggle.childNodes[1].style.display=show?"none":"inline"; -}; -SimileAjax.WindowManager.registerEvent(dom.toggle,"click",onToggleChildren,SimileAjax.WindowManager.getBaseLayer()); -dom.showChildren(expanded); -}return dom; -}; -Exhibit.FacetUtilities.Cache=function(database,collection,expression){var self=this; -this._database=database; -this._collection=collection; -this._expression=expression; -this._listener={onRootItemsChanged:function(){if("_itemToValue" in self){delete self._itemToValue; -}if("_valueToItem" in self){delete self._valueToItem; -}if("_missingItems" in self){delete self._missingItems; -}}}; -collection.addListener(this._listener); -}; -Exhibit.FacetUtilities.Cache.prototype.dispose=function(){this._collection.removeListener(this._listener); -this._collection=null; -this._listener=null; -this._itemToValue=null; -this._valueToItem=null; -this._missingItems=null; -}; -Exhibit.FacetUtilities.Cache.prototype.getItemsFromValues=function(values,filter){var set; -if(this._expression.isPath()){set=this._expression.getPath().walkBackward(values,"item",filter,this._database).getSet(); -}else{this._buildMaps(); -set=new Exhibit.Set(); -var valueToItem=this._valueToItem; -values.visit(function(value){if(value in valueToItem){var itemA=valueToItem[value]; -for(var i=0; -i0){facetValueResult.forEachValue(function(facetValue){var itemSubcollection=path.evaluateBackward(facetValue,valueType,items,database); -entries.push({value:facetValue,count:itemSubcollection.size}); -}); -}}else{this._buildMaps(); -valueType=this._valueType; -for(var value in this._valueToItem){var itemA=this._valueToItem[value]; -var count=0; -for(var i=0; -i0){entries.push({value:value,count:count}); -}}}return{entries:entries,valueType:valueType}; -}; -Exhibit.FacetUtilities.Cache.prototype.getValuesFromItems=function(items){if(this._expression.isPath()){return this._expression.getPath().walkForward(items,"item",database).getSet(); -}else{this._buildMaps(); -var set=new Exhibit.Set(); -var itemToValue=this._itemToValue; -items.visit(function(item){if(item in itemToValue){var a=itemToValue[item]; -for(var i=0; -i0){valueType=results.valueType; -results.values.visit(function(value){insert(item,value,itemToValue); -insert(value,item,valueToItem); -}); -}else{missingItems[item]=true; -}}); -this._itemToValue=itemToValue; -this._valueToItem=valueToItem; -this._missingItems=missingItems; -this._valueType=valueType; -}}; - - -/* set.js */ -Exhibit.Set=function(a){this._hash={}; -this._count=0; -if(a instanceof Array){for(var i=0; -i1){var separator=","; -if("separator" in spec){separator=spec.separator; -}var a=value.split(separator); -if(a.length!=dimensions){throw new Error("Expected a tuple of "+dimensions+" dimensions separated with "+separator+" but got "+value); -}else{for(var i=0; -i=0){return d[0]; -}lg=-lg; -d[1]=(d[1]||"").substring(0,lg); -while(d[1].length1){bubbleElmt.className=[bubbleElmt.className,"exhibit-views-bubbleWithItems"].join(" "); -var ul=document.createElement("ul"); -for(var i=0; -i"+(showSummary?"
    ":"")+"
    ",{}); -if(showSummary){dom.collectionSummaryWidget=Exhibit.CollectionSummaryWidget.create({},dom.collectionSummaryDiv,uiContext); -}dom.resizableDivWidget=Exhibit.ResizableDivWidget.create(resizableDivWidgetSettings,dom.resizableDiv,uiContext); -dom.plotContainer=dom.resizableDivWidget.getContentDiv(); -if(legendWidgetSettings.colorGradient==true){dom.legendGradientWidget=Exhibit.LegendGradientWidget.create(dom.legendDiv,uiContext); -}else{dom.legendWidget=Exhibit.LegendWidget.create(legendWidgetSettings,dom.legendDiv,uiContext); -}dom.setUnplottableMessage=function(totalCount,unplottableItems){Exhibit.ViewUtilities._setUnplottableMessage(dom,totalCount,unplottableItems,uiContext); -}; -dom.dispose=function(){if(showSummary){dom.collectionSummaryWidget.dispose(); -}dom.resizableDivWidget.dispose(); -dom.legendWidget.dispose(); -}; -return dom; -}; -Exhibit.ViewUtilities._setUnplottableMessage=function(dom,totalCount,unplottableItems,uiContext){var div=dom.unplottableMessageDiv; -if(unplottableItems.length==0){div.style.display="none"; -}else{div.innerHTML=""; -var dom=SimileAjax.DOM.createDOMFromString(div,Exhibit.ViewUtilities.l10n.unplottableMessageFormatter(totalCount,unplottableItems,uiContext),{}); -SimileAjax.WindowManager.registerEvent(dom.unplottableCountLink,"click",function(elmt,evt,target){Exhibit.ViewUtilities.openBubbleForItems(elmt,unplottableItems,uiContext); -}); -div.style.display="block"; -}}; diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.css b/documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.css deleted file mode 100644 index 17cc320..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.css +++ /dev/null @@ -1,785 +0,0 @@ -/*================================================== - * Browse Panel styles - *================================================== - */ -div.exhibit-browsePanel { -} - -div.exhibit-browsePanel-notConfigureMessage { - border: 1px solid #604800; - padding: 1em; - background: #FFFFE0; - text-align: center; -} - -div.exhibit-browsePanel-logoContainer { - text-align: center; - margin: 1em; - clear: both; -} - -/*================================================== - * Exhibit styles - * - * Note that almost all CSS code is in themes. - *================================================== - */ -.exhibit-ui-protection div { - margin: 0; - padding: 0; -} -.exhibit-ui-protection table { - font-size: 100%; -} -.exhibit-ui-protection tr { - vertical-align: top; -} -a img { - border: none; -} - -a.exhibit-action, -a.exhibit-action:link, -a.exhibit-action:active, -a.exhibit-action:visited { - text-decoration: none; - border-bottom: 1px dotted; - cursor: pointer; -} -a.exhibit-action:hover { - border-bottom: 1px solid; - cursor: pointer; -} - -a.exhibit-action-disabled, -a.exhibit-action-disabled:link, -a.exhibit-action-disabled:active, -a.exhibit-action-disabled:visited { - text-decoration: none; - border-bottom: 1px dotted; - cursor: pointer; - opacity: 0.5; -} -a.exhibit-action-disabled:hover { - border-bottom: 1px solid; - cursor: pointer; -} - -a.exhibit-item, -a.exhibit-item:link, -a.exhibit-item:active, -a.exhibit-item:visited { - text-decoration: none; - border-bottom: 1px dotted red; - cursor: pointer; -} -a.exhibit-item:hover { - border-bottom: 1px solid; - cursor: pointer; -} - -span.exhibit-value { -} - -/* - * Menu Popup - */ -div.exhibit-menu-popup { - position: absolute; - width: 15em; - z-index: 1000; - background: #FFFFE0; - border: 1px solid #aaa; -} - -a.exhibit-menu-item { - text-decoration: none; -} - -a.exhibit-menu-item > div { - padding: 2px 2px 2px 20px; - text-indent: -18px; -} - -a:hover.exhibit-menu-item > div { - background: #DFDFC8; -} - -a.exhibit-menu-item div img { - vertical-align: middle; - margin-right: 2px; -} - -div.exhibit-menu-section { - padding: 2px; - font-weight: bold; -} - -/* - * Copy Button and Dialog Box - */ -button.exhibit-copyButton, button.exhibit-button { - border: 1px dashed; - cursor: pointer; - margin: 2px; -} -button:hover.exhibit-copyButton, button.exhibit-button:hover { - background: white; - border: 1px dashed blue; - color: blue; - cursor: pointer; -} - -div.exhibit-copyDialog { - position: absolute; - z-index: 1000; - background: #B2E8FF; - border: 1px solid #aaa; - padding: 2em; - left: 25%; - right: 25%; -} - -div.exhibit-copyDialog textarea { - width: 100%; - font-size: 90%; - color: #888; -} - -div.exhibit-copyDialog button { - float: right; -} - -/* - * Focus Dialog Box - */ -div.exhibit-focusDialog { - position: absolute; - z-index: 1000; - background: #B2E8FF; - border: 1px solid #aaa; - padding: 2em; - left: 25%; - right: 25%; -} - -div.exhibit-focusDialog-lensContainer { -} - -div.exhibit-focusDialog-controls { - margin: 1em; - text-align: center; -} - -/* - * Busy indicator - */ -.exhibit-busyIndicator { - position: absolute; - left: 35%; - width: 30%; - z-index: 1000; -} -.exhibit-busyIndicator-content { - font-size: 120%; - font-weight: bold; - text-align: center; -} -.exhibit-busyIndicator-content img { - vertical-align: middle; -} -div.exhibit-lens { - border: 1px solid #aaa; - margin-bottom: 1em; -} - -div.exhibit-lens-title { - font-weight: bold; - background: #eee; - padding: 2px; -} - -.exhibit-lens-copyButton { - float: right; -} - -div.exhibit-lens-body { - padding: 0.3em; -} - -table.exhibit-lens-properties { -} - -tr.exhibit-lens-property { -} - -td.exhibit-lens-property-name { - color: #888; -} - -td.exhibit-lens-property-values { -} - -/*================================================== - * Facet box - *================================================== - */ -div.exhibit-facet { - position: relative; -} - -div.exhibit-facet-header { - padding: 2px; -} -div.exhibit-facet-header-filterControl { - float: right; - width: 2em; - display: none; - cursor: pointer; -} -div.exhibit-facet-header-filterControl img { - vertical-align: text-bottom; -} - -img.exhibit-facet-header-collapse { - border: 1px; - cursor: pointer; - padding-right: 3px; -} - -span.exhibit-facet-header-title { - font-weight: bold; -} -span.exhibit-facet-header-detail { - color: #888; - padding-left: 0.5em; -} - -div.exhibit-facet-body-frame { - clear: both; -} - -div.exhibit-facet-body { - border: 1px solid #ddd; - height: 10em; - overflow: auto; -} - -/*================================================== - * Facet value - *================================================== - */ - -div.exhibit-facet-value { - cursor: pointer; - padding: 2px 0px; - clear: both; -} -div.exhibit-facet-value-selected { - font-weight: bold; -} - -div.exhibit-facet-value-count { - float: left; - width: 2em; - text-align: right; - color: #aaa; -} - -div.exhibit-facet-value-inner { - padding-left: 2.5em; -} - -a.exhibit-facet-value-link { - text-decoration: none; -} -a.exhibit-facet-value-link:hover { - text-decoration: underline; -} - -div.exhibit-facet-value-checkbox { - float: right; -} - -span.exhibit-facet-value-missingThisField { - color: #888; -} - -/*================================================== - * Flowing facet box - *================================================== - */ -div.exhibit-flowingFacet { - clear: both; -} - -div.exhibit-flowingFacet-header { - padding: 2px 0px; -} - -span.exhibit-flowingFacet-header-title { - font-weight: bold; -} - -div.exhibit-flowingFacet-body { -} - -/*================================================== - * Flowing facet value - *================================================== - */ - -div.exhibit-flowingFacet-value { - cursor: pointer; - clear: both; - position: relative; - margin-left: 20px; -} - -a.exhibit-flowingFacet-value-link { - text-decoration: none; -} -a.exhibit-flowingFacet-value-link:hover { - text-decoration: underline; -} - -div.exhibit-flowingFacet-value-selected { - font-weight: bold; -} - -span.exhibit-flowingFacet-value-count { - color: #aaa; -} - -div.exhibit-flowingFacet-value-checkbox { - position: absolute; - left: -20px; - padding: 0; - margin: 0; -} - -/*================================================== - * Text search facet - *================================================== - */ -div.exhibit-text-facet { -} - -div.exhibit-text-facet input { - width: 100%; -} - -/*================================================== - * Cloud facet - *================================================== - */ -div.exhibit-cloudFacet { - clear: both; -} - -div.exhibit-cloudFacet-header { - padding: 2px 0px; -} - -span.exhibit-cloudFacet-header-title { - font-weight: bold; -} - -div.exhibit-cloudFacet-body { - padding: 0.5em; - border: 1px solid #aaa; -} - -span.exhibit-cloudFacet-value { - cursor: pointer; -} - -span.exhibit-cloudFacet-value-selected { - text-decoration: underline; - background: yellow; -} - -/*================================================== - * Hierarchical facet - *================================================== - */ - -a.exhibit-facet-value-children-toggle { - padding: 0px 5px; -} -a.exhibit-facet-value-children-toggle:hover { - background: #eee; -} - -a.exhibit-flowingFacet-value-children-toggle { - padding: 0px 5px; -} -a.exhibit-flowingFacet-value-children-toggle:hover { - background: #eee; -} - -div.exhibit-flowingFacet-childrenContainer { -} - -div.exhibit-facet-childrenContainer { - padding-left: 16px; -} - -/*================================================== - * Slider facet - *================================================== - */ - -div.exhibit-slider { - font-size: 0; /* IE sucks */ - padding-left: 10px; -} - -div.exhibit-slider-bar { - background: #000; - margin: 5px 0 15px 0; - position: relative; -} - -div.exhibit-slider-bar2 { - background: #eee; - line-height: 0; - margin: 15px 10px 10px 5px; - height: 150px; - width: 20px; - position: relative; -} - -div.exhibit-slider-handle { - cursor: pointer; - float: left; - height: 19px; - left: 0px; - position: absolute; - top: 0px; - width: 12px; - z-index: 1; -} - -div.exhibit-slider-histogram { - background: #eee; -} - -div.exhibit-slider-handle2 { - cursor: pointer; - float: left; - height: 12px; - left: 0px; - position: absolute; - top: 0px; - width: 19px; - z-index: 1; -} - -div.exhibit-slider-histogram div { - background: #999; -} - -div.exhibit-slider-display { - font-size: 16px; -} - -.exhibit-slider-display input { - background: #eee; - font-size: 10px; - width: 40px; -} - -/*================================================== - * Image facet - *================================================== - */ -.inline-block { - display: -moz-inline-box; - display: inline-block; -} - -.exhibit-imageFacet-value, .exhibit-imageFacet-value div, .exhibit-imageFacet-value img { - margin: 0px; - padding: 0px; -} - -.exhibit-imageFacet-value div.wrapper { - margin: 3px; - padding: 6px; - padding-bottom: 10px; - text-align: right; - vertical-align: bottom; - cursor: pointer; - position: relative; -} - -.exhibit-imageFacet-value .countDiv div.text { - position: absolute; - bottom: .1em; - left: .3em; -} -.exhibit-imageFacet-value .countDiv { - position: absolute; - border: 1px solid black; - bottom: 0px; - right: 5px; - width: 2em; - height: 2em; - font-size: 6pt; -} - -div.countBackground { /* this class makes a window partially transparent */ - background-color: #FF9000; - clear: both; - width: 100%; - height: 100%; - opacity: .5; /* Standard style for transparency */ - -moz-opacity: .5; /* Transparency for older Mozillas */ - filter: alpha(opacity=50); /* Transparency for IE */ -} - - -.exhibit-imageFacet-value-selected img { - background: #fcc; -} - - .exhibit-imageFacet-value-selected { - background: #fcc; -} -/*================================================== - * Common styles for views - *================================================== - */ -div.exhibit-views-unplottableMessage { - padding: 1em; - text-align: center; -} -.exhibit-views-unplottableCount { - font-weight: bold; -} -.exhibit-views-totalCount { -} - -div.exhibit-views-bubbleWithItems { -} - -div.exhibit-collectionView { -} - -div.exhibit-collectionView-header { -} -span.exhibit-collectionView-header-count { - font-size: 200%; -} -span.exhibit-collectionView-header-types { - padding-left: 0.5em; -} -span.exhibit-collectionView-header-details { - padding-left: 0.5em; - color: #888; -} -div.exhibit-collectionView-header-sortControls { - text-align: center; - margin: 1em 0; -} -.exhibit-collectionView-header-groupControls { - cursor: pointer; -} -.exhibit-collectionView-header-duplicateControls { - cursor: pointer; -} - -div.exhibit-collectionView-body { -} - -div.exhibit-collectionView-group { -} - -span.exhibit-collectionView-group-count { -} - -div.exhibit-collectionView-group-content { - margin-left: 1em; -} - -div.exhibit-collectionView-group h1 { - font-size: 150%; - margin: 1em 0; -} - -div.exhibit-collectionView-group h2 { - font-size: 120%; - margin: 0.5em 0; -} - -.exhibit-collectionView-group h3 { -} - -div.exhibit-collectionView-footer { - clear: both; - text-align: center; - margin: 2em 0; -} - -div.exhibit-collectionView-pagingControls { - margin: 1em 0; - text-align: center; -} - -.exhibit-collectionView-pagingControls-currentPage { - padding: 0px 0.5em; - font-weight: bold; -} - -.exhibit-collectionView-pagingControls-page { - padding: 0px 0.5em; -} - -ul.exhibit-collectionView-pagingControls { - clear: both; - margin: 2em 0; - text-align: center; -} -ul.exhibit-collectionView-pagingControls li { - list-style-type: none; - display: inline; -} -ul.exhibit-collectionView-pagingControls li a { - border: 1px solid #90C2E1; - background: #DFEDF7; - padding: 2px 5px; - text-decoration: none; -} -table.exhibit-tabularView-body { - width: 100%; -} - -.exhibit-tabularView-columnHeader { - cursor: pointer; - white-space: pre; -} - -.exhibit-tabularView-columnHeader-sorted { - cursor: pointer; - white-space: pre; -} - -div.exhibit-tabularView-pagingControls { - margin: 1em 0; - text-align: center; -} - -.exhibit-tabularView-pagingControls-currentPage { - padding: 0px 0.5em; - font-weight: bold; -} - -.exhibit-tabularView-pagingControls-page { - padding: 0px 0.5em; -} - -div.exhibit-thumbnailView-group { - clear: both; -} - -div.exhibit-thumbnailView-body { -} - -div.exhibit-thumbnailView-itemContainer { - float: left; -} - -div.exhibit-thumbnailView-itemContainer-IE { - float: left; -}table.exhibit-tileView-body { - width: 100%; -} - -.exhibit-tileView-body > tbody > tr > td:first-child { - width: 3em; - text-align: right; - color: #aaa -} - -td.exhibit-tileView-itemIndex { -}/*================================================== - * View Panel styles - *================================================== - */ -div.exhibit-viewPanel { -} - -div.exhibit-viewPanel-viewSelection { - text-align: center; -} - -span.exhibit-viewPanel-viewSelection-view { - text-transform: uppercase; - cursor: pointer; -} - -span.exhibit-viewPanel-viewSelection-selectedView { - text-transform: uppercase; - font-weight: bold; - border-bottom: 3px solid red; -} - -div.exhibit-viewPanel-viewContainer { -} - -/*================================================== - * Collection Summary Widget styles - *================================================== - */ -div.exhibit-collectionSummaryWidget { -} -span.exhibit-collectionSummaryWidget-count { - font-size: 200%; -} -span.exhibit-collectionSummaryWidget-results { -} -div.exhibit-legendWidget { - margin: 1em 0; - text-align: center; - line-height: 2em; -} -div.exhibit-legendWidget-entry { -} -span.exhibit-legendWidget-entry-title { - font-weight: bold; -} -span.exhibit-legendWidget-entry-swatch { - border: 1px solid #888; - padding: 0px 3px; -} -.exhibit-optionWidget { - cursor: pointer; -} - -.exhibit-optionWidget img { - vertical-align: middle; -} -/*================================================== - * Resizable Div Widget styles - *================================================== - */ -div.exhibit-resizableDivWidget-resizer { - text-align: center; - cursor: s-resize; - height: 15px; - clear: both; -} -div.exhibit-toolboxWidget-popup { - position: absolute; - border: 1px solid #ccc; - background: white; - padding: 3px; - text-align: right; - z-index: 1000; -} - -img.exhibit-toolboxWidget-button { - cursor: pointer; - margin: 0px 1px; -} \ No newline at end of file diff --git a/documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.js b/documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.js deleted file mode 100644 index ef812fa..0000000 --- a/documentacion/extensions/SemanticResultFormats/Exhibit/exhibit/exhibit-bundle.js +++ /dev/null @@ -1,8475 +0,0 @@ - - -/* authentication.js */ -Exhibit.Authentication={}; -Exhibit.Authentication.Enabled=false; -Exhibit.Authentication.GoogleToken=null; -Exhibit.Authentication.GoogleSessionToken=null; -Exhibit.Authentication.authenticate=function(){if(!window.Exhibit.params.authenticated){return ; -}var links=document.getElementsByTagName("head")[0].childNodes; -for(var i=0; -i0){collection._itemTypes=itemTypes; -collection._update=Exhibit.Collection._typeBasedCollection_update; -}else{collection._update=Exhibit.Collection._allItemsCollection_update; -}Exhibit.Collection._initializeBasicCollection(collection,database); -return collection; -}; -Exhibit.Collection.create2=function(id,configuration,uiContext){var database=uiContext.getDatabase(); -if("expression" in configuration){var collection=new Exhibit.Collection(id,database); -collection._expression=Exhibit.ExpressionParser.parse(configuration.expression); -collection._baseCollection=("baseCollectionID" in configuration)?uiContext.getExhibit().getCollection(configuration.baseCollectionID):uiContext.getCollection(); -collection._restrictBaseCollection=("restrictBaseCollection" in configuration)?configuration.restrictBaseCollection:false; -if(collection._restrictBaseCollection){Exhibit.Collection._initializeRestrictingBasedCollection(collection); -}else{Exhibit.Collection._initializeBasedCollection(collection); -}return collection; -}else{return Exhibit.Collection.create(id,configuration,database); -}}; -Exhibit.Collection.createFromDOM2=function(id,elmt,uiContext){var database=uiContext.getDatabase(); -var collection; -if(Exhibit.getAttribute(elmt,"submissionsCollection")){return Exhibit.Collection.createSubmissionsCollection(id,database); -}var expressionString=Exhibit.getAttribute(elmt,"expression"); -if(expressionString!=null&&expressionString.length>0){collection=new Exhibit.Collection(id,database); -collection._expression=Exhibit.ExpressionParser.parse(expressionString); -var baseCollectionID=Exhibit.getAttribute(elmt,"baseCollectionID"); -collection._baseCollection=(baseCollectionID!=null&&baseCollectionID.length>0)?uiContext.getExhibit().getCollection(baseCollectionID):uiContext.getCollection(); -collection._restrictBaseCollection=Exhibit.getAttribute(elmt,"restrictBaseCollection")=="true"; -if(collection._restrictBaseCollection){Exhibit.Collection._initializeRestrictingBasedCollection(collection,database); -}else{Exhibit.Collection._initializeBasedCollection(collection); -}}else{collection=Exhibit.Collection.createFromDOM(id,elmt,database); -}return collection; -}; -Exhibit.Collection._initializeBasicCollection=function(collection,database){var update=function(){collection._update(); -}; -collection._listener={onAfterLoadingItems:update,onAfterRemovingAllStatements:update}; -database.addListener(collection._listener); -collection._update(); -}; -Exhibit.Collection._initializeBasedCollection=function(collection){collection._update=Exhibit.Collection._basedCollection_update; -collection._listener={onItemsChanged:function(){collection._update(); -}}; -collection._baseCollection.addListener(collection._listener); -collection._update(); -}; -Exhibit.Collection._initializeRestrictingBasedCollection=function(collection,database){collection._cache=new Exhibit.FacetUtilities.Cache(database,collection._baseCollection,collection._expression); -collection._isUpdatingBaseCollection=false; -collection.onFacetUpdated=Exhibit.Collection._restrictingBasedCollection_onFacetUpdated; -collection.restrict=Exhibit.Collection._restrictingBasedCollection_restrict; -collection.update=Exhibit.Collection._restrictingBasedCollection_update; -collection.hasRestrictions=Exhibit.Collection._restrictingBasedCollection_hasRestrictions; -collection._baseCollection.addFacet(collection); -}; -Exhibit.Collection._allItemsCollection_update=function(){this.setItems(this._database.getAllItems()); -this._onRootItemsChanged(); -}; -Exhibit.Collection._submissionCollection_update=function(){this.setItems(this._database.getAllSubmissions()); -this._onRootItemsChanged(); -}; -Exhibit.Collection._typeBasedCollection_update=function(){var newItems=new Exhibit.Set(); -for(var i=0; -i0){return collection; -}}return new Exhibit.Expression._Collection([],"text"); -}}; -Exhibit.Controls["filter"]={f:function(args,roots,rootValueTypes,defaultRootName,database){var collection=args[0].evaluate(roots,rootValueTypes,defaultRootName,database); -var oldValue=roots["value"]; -var oldValueType=rootValueTypes["value"]; -var results=new Exhibit.Set(); -rootValueTypes["value"]=collection.valueType; -collection.forEachValue(function(element){roots["value"]=element; -var collection2=args[1].evaluate(roots,rootValueTypes,defaultRootName,database); -if(collection2.size>0&&collection2.contains("true")){results.add(element); -}}); -roots["value"]=oldValue; -rootValueTypes["value"]=oldValueType; -return new Exhibit.Expression._Collection(results,collection.valueType); -}}; - - -/* database.js */ -Exhibit.Database=new Object(); -Exhibit.Database.create=function(){Exhibit.Database.handleAuthentication(); -return new Exhibit.Database._Impl(); -}; -Exhibit.Database.handleAuthentication=function(){if(window.Exhibit.params.authenticated){var links=document.getElementsByTagName("head")[0].childNodes; -for(var i=0; -i9?i.toString():"0"+i; -}; -var s=date.getFullYear()+"-"+pad(date.getMonth()+1)+"-"+pad(date.getDate()); -return s; -}; -Exhibit.Database.TimestampPropertyName="addedOn"; -Exhibit.Database._Impl=function(){this._types={}; -this._properties={}; -this._propertyArray={}; -this._submissionRegistry={}; -this._originalValues={}; -this._newItems={}; -this._listeners=new SimileAjax.ListenerQueue(); -this._spo={}; -this._ops={}; -this._items=new Exhibit.Set(); -var l10n=Exhibit.Database.l10n; -var itemType=new Exhibit.Database._Type("Item"); -itemType._custom=Exhibit.Database.l10n.itemType; -this._types["Item"]=itemType; -var labelProperty=new Exhibit.Database._Property("label",this); -labelProperty._uri="http://www.w3.org/2000/01/rdf-schema#label"; -labelProperty._valueType="text"; -labelProperty._label=l10n.labelProperty.label; -labelProperty._pluralLabel=l10n.labelProperty.pluralLabel; -labelProperty._reverseLabel=l10n.labelProperty.reverseLabel; -labelProperty._reversePluralLabel=l10n.labelProperty.reversePluralLabel; -labelProperty._groupingLabel=l10n.labelProperty.groupingLabel; -labelProperty._reverseGroupingLabel=l10n.labelProperty.reverseGroupingLabel; -this._properties["label"]=labelProperty; -var typeProperty=new Exhibit.Database._Property("type"); -typeProperty._uri="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; -typeProperty._valueType="text"; -typeProperty._label="type"; -typeProperty._pluralLabel=l10n.typeProperty.label; -typeProperty._reverseLabel=l10n.typeProperty.reverseLabel; -typeProperty._reversePluralLabel=l10n.typeProperty.reversePluralLabel; -typeProperty._groupingLabel=l10n.typeProperty.groupingLabel; -typeProperty._reverseGroupingLabel=l10n.typeProperty.reverseGroupingLabel; -this._properties["type"]=typeProperty; -var uriProperty=new Exhibit.Database._Property("uri"); -uriProperty._uri="http://simile.mit.edu/2006/11/exhibit#uri"; -uriProperty._valueType="url"; -uriProperty._label="URI"; -uriProperty._pluralLabel="URIs"; -uriProperty._reverseLabel="URI of"; -uriProperty._reversePluralLabel="URIs of"; -uriProperty._groupingLabel="URIs"; -uriProperty._reverseGroupingLabel="things named by these URIs"; -this._properties["uri"]=uriProperty; -var changeProperty=new Exhibit.Database._Property("change",this); -changeProperty._uri="http://simile.mit.edu/2006/11/exhibit#change"; -changeProperty._valueType="text"; -changeProperty._label="change type"; -changeProperty._pluralLabel="change types"; -changeProperty._reverseLabel="change type of"; -changeProperty._reversePluralLabel="change types of"; -changeProperty._groupingLabel="change types"; -changeProperty._reverseGroupingLabel="changes of this type"; -this._properties["change"]=changeProperty; -var changedItemProperty=new Exhibit.Database._Property("changedItem",this); -changedItemProperty._uri="http://simile.mit.edu/2006/11/exhibit#changedItem"; -changedItemProperty._valueType="text"; -changedItemProperty._label="changed item"; -changedItemProperty._pluralLabel="changed item"; -changedItemProperty._groupingLabel="changed items"; -this._properties["changedItem"]=changedItemProperty; -var modifiedProperty=new Exhibit.Database._Property(Exhibit.Database.ModifiedPropertyName,this); -modifiedProperty._uri="http://simile.mit.edu/2006/11/exhibit#modified"; -modifiedProperty._valueType="text"; -modifiedProperty._label="modified"; -modifiedProperty._pluralLabel="modified"; -modifiedProperty._groupingLabel="was modified"; -this._properties["modified"]=modifiedProperty; -}; -Exhibit.Database._Impl.prototype.createDatabase=function(){return Exhibit.Database.create(); -}; -Exhibit.Database._Impl.prototype.addListener=function(listener){this._listeners.add(listener); -}; -Exhibit.Database._Impl.prototype.removeListener=function(listener){this._listeners.remove(listener); -}; -Exhibit.Database._Impl.prototype.loadDataLinks=function(fDone){var links=SimileAjax.jQuery("head > link[rel=exhibit/data]").get(); -this._loadLinks(links,this,fDone); -}; -Exhibit.Database._Impl.prototype.loadLinks=function(links,fDone){this._loadLinks(links,this,fDone); -}; -Exhibit.Database._Impl.prototype.loadSubmissionLinks=function(fDone){var db=this; -var dbProxy={loadData:function(o,baseURI){if("types" in o){db.loadTypes(o.types,baseURI); -}if("properties" in o){db.loadProperties(o.properties,baseURI); -}if("items" in o){db._listeners.fire("onBeforeLoadingItems",[]); -o.items.forEach(function(item){var oldID=item.id||item.label; -var newID=oldID+Math.floor(Math.random()*1000000); -db._submissionRegistry[newID]=true; -item.id=newID; -item.changedItem=oldID; -if(db.containsItem(oldID)){item.change="modification"; -if(!item.type){item.type=db.getObject(oldID,"type"); -}}else{item.change="addition"; -}}); -db.loadItems(o.items,baseURI); -db._listeners.fire("onAfterLoadingItems",[]); -}}}; -var links=SimileAjax.jQuery("head > link[rel=exhibit/submissions]").get(); -this._loadLinks(links,dbProxy,fDone); -}; -Exhibit.Database._Impl.prototype._loadLinks=function(links,database,fDone){links=[].concat(links); -var fNext=function(){while(links.length>0){var link=links.shift(); -var type=link.type; -if(type==null||type.length==0){type="application/json"; -}var importer=Exhibit.importers[type]; -if(importer){importer.load(link,database,fNext); -return ; -}else{SimileAjax.Debug.log("No importer for data of type "+type); -}}if(fDone!=null){fDone(); -}}; -fNext(); -}; -Exhibit.Database._Impl.prototype.loadData=function(o,baseURI){if(typeof baseURI=="undefined"){baseURI=location.href; -}if("types" in o){this.loadTypes(o.types,baseURI); -}if("properties" in o){this.loadProperties(o.properties,baseURI); -}if("items" in o){this.loadItems(o.items,baseURI); -}}; -Exhibit.Database._Impl.prototype.loadTypes=function(typeEntries,baseURI){this._listeners.fire("onBeforeLoadingTypes",[]); -try{var lastChar=baseURI.substr(baseURI.length-1); -if(lastChar=="#"){baseURI=baseURI.substr(0,baseURI.length-1)+"/"; -}else{if(lastChar!="/"&&lastChar!=":"){baseURI+="/"; -}}for(var typeID in typeEntries){if(typeof typeID!="string"){continue; -}var typeEntry=typeEntries[typeID]; -if(typeof typeEntry!="object"){continue; -}var type; -if(typeID in this._types){type=this._types[typeID]; -}else{type=new Exhibit.Database._Type(typeID); -this._types[typeID]=type; -}for(var p in typeEntry){type._custom[p]=typeEntry[p]; -}if(!("uri" in type._custom)){type._custom["uri"]=baseURI+"type#"+encodeURIComponent(typeID); -}if(!("label" in type._custom)){type._custom["label"]=typeID; -}}this._listeners.fire("onAfterLoadingTypes",[]); -}catch(e){SimileAjax.Debug.exception(e,"Database.loadTypes failed"); -}}; -Exhibit.Database._Impl.prototype.loadProperties=function(propertyEntries,baseURI){this._listeners.fire("onBeforeLoadingProperties",[]); -try{var lastChar=baseURI.substr(baseURI.length-1); -if(lastChar=="#"){baseURI=baseURI.substr(0,baseURI.length-1)+"/"; -}else{if(lastChar!="/"&&lastChar!=":"){baseURI+="/"; -}}for(var propertyID in propertyEntries){if(typeof propertyID!="string"){continue; -}var propertyEntry=propertyEntries[propertyID]; -if(typeof propertyEntry!="object"){continue; -}var property; -if(propertyID in this._properties){property=this._properties[propertyID]; -}else{property=new Exhibit.Database._Property(propertyID,this); -this._properties[propertyID]=property; -}property._uri=("uri" in propertyEntry)?propertyEntry.uri:(baseURI+"property#"+encodeURIComponent(propertyID)); -property._valueType=("valueType" in propertyEntry)?propertyEntry.valueType:"text"; -property._label=("label" in propertyEntry)?propertyEntry.label:propertyID; -property._pluralLabel=("pluralLabel" in propertyEntry)?propertyEntry.pluralLabel:property._label; -property._reverseLabel=("reverseLabel" in propertyEntry)?propertyEntry.reverseLabel:("!"+property._label); -property._reversePluralLabel=("reversePluralLabel" in propertyEntry)?propertyEntry.reversePluralLabel:("!"+property._pluralLabel); -property._groupingLabel=("groupingLabel" in propertyEntry)?propertyEntry.groupingLabel:property._label; -property._reverseGroupingLabel=("reverseGroupingLabel" in propertyEntry)?propertyEntry.reverseGroupingLabel:property._reverseLabel; -if("origin" in propertyEntry){property._origin=propertyEntry.origin; -}}this._propertyArray=null; -this._listeners.fire("onAfterLoadingProperties",[]); -}catch(e){SimileAjax.Debug.exception(e,"Database.loadProperties failed"); -}}; -Exhibit.Database._Impl.prototype.loadItems=function(itemEntries,baseURI){this._listeners.fire("onBeforeLoadingItems",[]); -try{var lastChar=baseURI.substr(baseURI.length-1); -if(lastChar=="#"){baseURI=baseURI.substr(0,baseURI.length-1)+"/"; -}else{if(lastChar!="/"&&lastChar!=":"){baseURI+="/"; -}}var spo=this._spo; -var ops=this._ops; -var indexPut=Exhibit.Database._indexPut; -var indexTriple=function(s,p,o){indexPut(spo,s,p,o); -indexPut(ops,o,p,s); -}; -for(var i=0; -i0){var base=uri.substr(0,hash+1); -bases[base]=true; -idToQualifiedName[propertyID]={base:base,localName:uri.substr(hash+1)}; -continue; -}var slash=uri.lastIndexOf("/"); -if(slash>0){var base=uri.substr(0,slash+1); -bases[base]=true; -idToQualifiedName[propertyID]={base:base,localName:uri.substr(slash+1)}; -continue; -}}var baseToPrefix={}; -var letters="abcdefghijklmnopqrstuvwxyz"; -var i=0; -for(var base in bases){var prefix=letters.substr(i++,1); -prefixToBase[prefix]=base; -baseToPrefix[base]=prefix; -}for(var propertyID in idToQualifiedName){var qname=idToQualifiedName[propertyID]; -qname.prefix=baseToPrefix[qname.base]; -}}; -Exhibit.Database._Impl.prototype._loadItem=function(itemEntry,indexFunction,baseURI){if(!("label" in itemEntry)&&!("id" in itemEntry)){SimileAjax.Debug.warn("Item entry has no label and no id: "+SimileAjax.JSON.toJSONString(itemEntry)); -return ; -}var id; -if(!("label" in itemEntry)){id=itemEntry.id; -if(!this._items.contains(id)){SimileAjax.Debug.warn("Cannot add new item containing no label: "+SimileAjax.JSON.toJSONString(itemEntry)); -}}else{var label=itemEntry.label; -var id=("id" in itemEntry)?itemEntry.id:label; -var uri=("uri" in itemEntry)?itemEntry.uri:(baseURI+"item#"+encodeURIComponent(id)); -var type=("type" in itemEntry)?itemEntry.type:"Item"; -var isArray=function(obj){if(obj.constructor.toString().indexOf("Array")==-1){return false; -}else{return true; -}}; -if(isArray(label)){label=label[0]; -}if(isArray(id)){id=id[0]; -}if(isArray(uri)){uri=uri[0]; -}if(isArray(type)){type=type[0]; -}this._items.add(id); -indexFunction(id,"uri",uri); -indexFunction(id,"label",label); -indexFunction(id,"type",type); -this._ensureTypeExists(type,baseURI); -}itemEntry.modified=itemEntry.modified||"no"; -for(var p in itemEntry){if(typeof p!="string"){continue; -}if(p!="uri"&&p!="label"&&p!="id"&&p!="type"){this._ensurePropertyExists(p,baseURI)._onNewData(); -var v=itemEntry[p]; -if(v instanceof Array){for(var j=0; -j0?this._pairs[0].value:Number.POSITIVE_INFINITY; -}; -Exhibit.Database._RangeIndex.prototype.getMax=function(){return this._pairs.length>0?this._pairs[this._pairs.length-1].value:Number.NEGATIVE_INFINITY; -}; -Exhibit.Database._RangeIndex.prototype.getRange=function(visitor,min,max,inclusive){var startIndex=this._indexOf(min); -var pairs=this._pairs; -var l=pairs.length; -inclusive=(inclusive); -while(startIndex=v){return 0; -}var from=0; -var to=pairs.length; -while(from+1>1; -var v2=pairs[middle].value; -if(v2>=v){to=middle; -}else{from=middle; -}}return to; -}; -Exhibit.Database._Impl.prototype.isNewItem=function(id){return id in this._newItems; -}; -Exhibit.Database._Impl.prototype.getItem=function(id){var item={id:id}; -var properties=this.getAllProperties(); -for(var i in properties){var prop=properties[i]; -var val=this.getObject(id,prop); -if(val){item[prop]=val; -}}return item; -}; -Exhibit.Database._Impl.prototype.addItem=function(item){if(!item.id){item.id=item.label; -}if(!item.modified){item.modified="yes"; -}this._ensurePropertyExists(Exhibit.Database.TimestampPropertyName); -item[Exhibit.Database.TimestampPropertyName]=Exhibit.Database.makeISO8601DateString(); -this.loadItems([item],""); -this._newItems[item.id]=true; -this._listeners.fire("onAfterLoadingItems",[]); -}; -Exhibit.Database._Impl.prototype.editItem=function(id,prop,value){if(prop.toLowerCase()=="id"){Exhibit.UI.showHelp("We apologize, but changing the IDs of items in the Exhibit isn't supported at the moment."); -return ; -}var prevValue=this.getObject(id,prop); -this._originalValues[id]=this._originalValues[id]||{}; -this._originalValues[id][prop]=this._originalValues[id][prop]||prevValue; -var origVal=this._originalValues[id][prop]; -if(origVal==value){this.removeObjects(id,"modified"); -this.addStatement(id,"modified","no"); -delete this._originalValues[id][prop]; -}else{if(this.getObject(id,"modified")!="yes"){this.removeObjects(id,"modified"); -this.addStatement(id,"modified","yes"); -}}this.removeObjects(id,prop); -this.addStatement(id,prop,value); -var propertyObject=this._ensurePropertyExists(prop); -propertyObject._onNewData(); -this._listeners.fire("onAfterLoadingItems",[]); -}; -Exhibit.Database._Impl.prototype.removeItem=function(id){if(!this.containsItem(id)){throw"Removing non-existent item "+id; -}this._items.remove(id); -delete this._spo[id]; -if(this._newItems[id]){delete this._newItems[id]; -}if(this._originalValues[id]){delete this._originalValues[id]; -}var properties=this.getAllProperties(); -for(var i in properties){var prop=properties[i]; -this.removeObjects(id,prop); -}this._listeners.fire("onAfterLoadingItems",[]); -}; -Exhibit.Database.defaultIgnoredProperties=["uri","modified"]; -Exhibit.Database._Impl.prototype.fixAllChanges=function(){this._originalValues={}; -this._newItems={}; -var items=this._items.toArray(); -for(var i in items){var id=items[i]; -this.removeObjects(id,"modified"); -this.addStatement(id,"modified","no"); -}}; -Exhibit.Database._Impl.prototype.fixChangesForItem=function(id){delete this._originalValues[id]; -delete this._newItems[id]; -this.removeObjects(id,"modified"); -this.addStatement(id,"modified","no"); -}; -Exhibit.Database._Impl.prototype.collectChangesForItem=function(id,ignoredProperties){ignoredProperties=ignoredProperties||Exhibit.Database.defaultIgnoredProperties; -var type=this.getObject(id,"type"); -var label=this.getObject(id,"label")||id; -var item={id:id,label:label,type:type,vals:{}}; -if(id in this._newItems){item.changeType="added"; -var properties=this.getAllProperties(); -for(var i in properties){var prop=properties[i]; -if(ignoredProperties.indexOf(prop)!=-1){continue; -}var val=this.getObject(id,prop); -if(val){item.vals[prop]={newVal:val}; -}}}else{if(id in this._originalValues&&!this.isSubmission(id)){item.changeType="modified"; -var vals=this._originalValues[id]; -var hasModification=false; -for(var prop in vals){if(ignoredProperties.indexOf(prop)!=-1){continue; -}hasModification=true; -var oldVal=this._originalValues[id][prop]; -var newVal=this.getObject(id,prop); -if(!newVal){SimileAjax.Debug.warn("empty value for "+id+", "+prop); -}else{item.vals[prop]={oldVal:oldVal,newVal:newVal}; -}}if(!hasModification){return null; -}}else{return null; -}}if(!item[Exhibit.Database.TimestampPropertyName]){item[Exhibit.Database.TimestampPropertyName]=Exhibit.Database.makeISO8601DateString(); -}return item; -}; -Exhibit.Database._Impl.prototype.collectAllChanges=function(ignoredProperties){var ret=[]; -var items=this._items.toArray(); -for(var i in items){var id=items[i]; -var item=this.collectChangesForItem(id,ignoredProperties); -if(item){ret.push(item); -}}return ret; -}; -Exhibit.Database._Impl.prototype.mergeSubmissionIntoItem=function(submissionID){var db=this; -if(!this.isSubmission(submissionID)){throw submissionID+" is not a submission!"; -}var change=this.getObject(submissionID,"change"); -if(change=="modification"){var itemID=this.getObject(submissionID,"changedItem"); -var vals=this._spo[submissionID]; -SimileAjax.jQuery.each(vals,function(attr,val){if(Exhibit.Database.defaultIgnoredSubmissionProperties.indexOf(attr)!=-1){return ; -}if(val.length==1){db.editItem(itemID,attr,val[0]); -}else{SimileAjax.Debug.warn("Exhibit.Database._Impl.prototype.commitChangeToItem cannot handle multiple values for attribute "+attr+": "+val); -}}); -delete this._submissionRegistry[submissionID]; -}else{if(change=="addition"){delete this._submissionRegistry[submissionID]; -this._newItems[submissionID]=true; -}else{throw"unknown change type "+change; -}}this._listeners.fire("onAfterLoadingItems",[]); -}; - - -/* bibtex-exporter.js */ -Exhibit.BibtexExporter={getLabel:function(){return"Bibtex"; -},_excludeProperties:{"pub-type":true,"type":true,"uri":true,"key":true}}; -Exhibit.BibtexExporter.exportOne=function(itemID,database){return Exhibit.BibtexExporter._wrap(Exhibit.BibtexExporter._exportOne(itemID,database)); -}; -Exhibit.BibtexExporter.exportMany=function(set,database){var s=""; -set.visit(function(itemID){s+=Exhibit.BibtexExporter._exportOne(itemID,database)+"\n"; -}); -return Exhibit.BibtexExporter._wrap(s); -}; -Exhibit.BibtexExporter._exportOne=function(itemID,database){var s=""; -var type=database.getObject(itemID,"pub-type"); -var key=database.getObject(itemID,"key"); -key=(key!=null?key:itemID); -key=key.replace(/[\s,]/g,"-"); -s+="@"+type+"{"+key+",\n"; -var allProperties=database.getAllProperties(); -for(var i=0; -i0&&!(propertyID in Exhibit.BibtexExporter._excludeProperties)){s+="\t"+(propertyID=="label"?"title":propertyID)+' = "'; -var strings; -if(valueType=="item"){strings=[]; -values.visit(function(value){strings.push(database.getObject(value,"label")); -}); -}else{if(valueType=="url"){strings=[]; -values.visit(function(value){strings.push(Exhibit.Persistence.resolveURL(value)); -}); -}else{strings=values.toArray(); -}}s+=strings.join(" and ")+'",\n'; -}}s+='\torigin = "'+Exhibit.Persistence.getItemLink(itemID)+'"\n'; -s+="}\n"; -return s; -}; -Exhibit.BibtexExporter._wrap=function(s){return s; -}; - - -/* exhibit-json-exporter.js */ -Exhibit.ExhibitJsonExporter={getLabel:function(){return Exhibit.l10n.exhibitJsonExporterLabel; -}}; -Exhibit.ExhibitJsonExporter.exportOne=function(itemID,database){return Exhibit.ExhibitJsonExporter._wrap(Exhibit.ExhibitJsonExporter._exportOne(itemID,database)+"\n"); -}; -Exhibit.ExhibitJsonExporter.exportMany=function(set,database){var s=""; -var size=set.size(); -var count=0; -set.visit(function(itemID){s+=Exhibit.ExhibitJsonExporter._exportOne(itemID,database)+((count++0){var array; -if(valueType=="url"){array=[]; -values.visit(function(value){array.push(Exhibit.Persistence.resolveURL(value)); -}); -}else{array=values.toArray(); -}s+=" "+quote(propertyID)+":"; -if(array.length==1){s+=quote(array[0]); -}else{s+="["; -for(var j=0; -j0?",":"")+quote(array[j]); -}s+="]"; -}s+=",\n"; -}}s+=' "origin":'+quote(Exhibit.Persistence.getItemLink(itemID))+"\n"; -s+=" }"; -return s; -}; -Exhibit.ExhibitJsonExporter._wrap=function(s){return'{\n "items":[\n'+s+" ]\n}"; -}; - - -/* facet-selection-exporter.js */ -Exhibit.FacetSelectionExporter={getLabel:function(){return"Facet Selections"; -},exportOne:function(itemID,database){return Exhibit.FacetSelectionExporter._exportUrl(); -},exportMany:function(set,database){return Exhibit.FacetSelectionExporter._exportUrl(); -}}; -Exhibit.FacetSelectionExporter._exportUrl=function(){var currentSettings=window.exhibit.exportSettings(); -var url=window.location.href.split("?")[0]+"?"; -var sep=""; -for(id in currentSettings){url+=sep+id+"="+escape(currentSettings[id]); -if(sep===""){sep="&"; -}}return url; -}; - - -/* rdf-xml-exporter.js */ -Exhibit.RdfXmlExporter={getLabel:function(){return Exhibit.l10n.rdfXmlExporterLabel; -}}; -Exhibit.RdfXmlExporter.exportOne=function(itemID,database){var propertyIDToQualifiedName={}; -var prefixToBase={}; -database.getNamespaces(propertyIDToQualifiedName,prefixToBase); -return Exhibit.RdfXmlExporter._wrapRdf(Exhibit.RdfXmlExporter._exportOne(itemID,database,propertyIDToQualifiedName,prefixToBase),prefixToBase); -}; -Exhibit.RdfXmlExporter.exportMany=function(set,database){var s=""; -var propertyIDToQualifiedName={}; -var prefixToBase={}; -database.getNamespaces(propertyIDToQualifiedName,prefixToBase); -set.visit(function(itemID){s+=Exhibit.RdfXmlExporter._exportOne(itemID,database,propertyIDToQualifiedName,prefixToBase)+"\n"; -}); -return Exhibit.RdfXmlExporter._wrapRdf(s,prefixToBase); -}; -Exhibit.RdfXmlExporter._exportOne=function(itemID,database,propertyIDToQualifiedName,prefixToBase){var s=""; -var uri=database.getObject(itemID,"uri"); -s+="\n"; -var allProperties=database.getAllProperties(); -for(var i=0; -i\n"; -}); -}else{if(propertyID!="uri"){if(valueType=="url"){values.visit(function(value){s+="\t<"+propertyString+">"+Exhibit.Persistence.resolveURL(value)+"\n"; -}); -}else{values.visit(function(value){s+="\t<"+propertyString+">"+value+"\n"; -}); -}}}}s+="\t"+Exhibit.Persistence.getItemLink(itemID)+"\n"; -s+=""; -return s; -}; -Exhibit.RdfXmlExporter._wrapRdf=function(s,prefixToBase){var s2="\n"; -return s2; -}; - - -/* semantic-wikitext-exporter.js */ -Exhibit.SemanticWikitextExporter={getLabel:function(){return Exhibit.l10n.smwExporterLabel; -}}; -Exhibit.SemanticWikitextExporter.exportOne=function(itemID,database){return Exhibit.SemanticWikitextExporter._wrap(Exhibit.SemanticWikitextExporter._exportOne(itemID,database)); -}; -Exhibit.SemanticWikitextExporter.exportMany=function(set,database){var s=""; -set.visit(function(itemID){s+=Exhibit.SemanticWikitextExporter._exportOne(itemID,database)+"\n"; -}); -return Exhibit.SemanticWikitextExporter._wrap(s); -}; -Exhibit.SemanticWikitextExporter._exportOne=function(itemID,database){var s=""; -var uri=database.getObject(itemID,"uri"); -s+=uri+"\n"; -var allProperties=database.getAllProperties(); -for(var i=0; -i"||token.value=="<"||token.value=="<="||token.value==">"||token.value==">=")){var operator=token.value; -next(); -expression=new Exhibit.Expression._Operator(operator,[expression,parseSubExpression()]); -}return expression; -}; -var parseExpressionList=function(){var expressions=[parseExpression()]; -while(token!=null&&token.type==Scanner.DELIMITER&&token.value==","){next(); -expressions.push(parseExpression()); -}return expressions; -}; -if(several){var roots=parseExpressionList(); -var expressions=[]; -for(var r=0; -r=0){this._index++; -}if(this._index=0){if(c2=="@"){this._token={type:Exhibit.ExpressionScanner.PATH_OPERATOR,value:c1+c2,start:this._index,end:this._index+2}; -this._index+=2; -}else{this._token={type:Exhibit.ExpressionScanner.PATH_OPERATOR,value:c1,start:this._index,end:this._index+1}; -this._index++; -}}else{if("<>".indexOf(c1)>=0){if((c2=="=")||("<>".indexOf(c2)>=0&&c1!=c2)){this._token={type:Exhibit.ExpressionScanner.OPERATOR,value:c1+c2,start:this._index,end:this._index+2}; -this._index+=2; -}else{this._token={type:Exhibit.ExpressionScanner.OPERATOR,value:c1,start:this._index,end:this._index+1}; -this._index++; -}}else{if("+-*/=".indexOf(c1)>=0){this._token={type:Exhibit.ExpressionScanner.OPERATOR,value:c1,start:this._index,end:this._index+1}; -this._index++; -}else{if("(),".indexOf(c1)>=0){this._token={type:Exhibit.ExpressionScanner.DELIMITER,value:c1,start:this._index,end:this._index+1}; -this._index++; -}else{if("\"'".indexOf(c1)>=0){var i=this._index+1; -while(i=0; -}; - - -/* expression.js */ -Exhibit.Expression=new Object(); -Exhibit.Expression._Impl=function(rootNode){this._rootNode=rootNode; -}; -Exhibit.Expression._Impl.prototype.evaluate=function(roots,rootValueTypes,defaultRootName,database){var collection=this._rootNode.evaluate(roots,rootValueTypes,defaultRootName,database); -return{values:collection.getSet(),valueType:collection.valueType,size:collection.size}; -}; -Exhibit.Expression._Impl.prototype.evaluateOnItem=function(itemID,database){return this.evaluate({"value":itemID},{"value":"item"},"value",database); -}; -Exhibit.Expression._Impl.prototype.evaluateSingle=function(roots,rootValueTypes,defaultRootName,database){var collection=this._rootNode.evaluate(roots,rootValueTypes,defaultRootName,database); -var result={value:null,valueType:collection.valueType}; -collection.forEachValue(function(v){result.value=v; -return true; -}); -return result; -}; -Exhibit.Expression._Impl.prototype.evaluateSingleOnItem=function(itemID,database){return this.evaluateSingle({"value":itemID},{"value":"item"},"value",database); -}; -Exhibit.Expression._Impl.prototype.testExists=function(roots,rootValueTypes,defaultRootName,database){return this.isPath()?this._rootNode.testExists(roots,rootValueTypes,defaultRootName,database):this.evaluate(roots,rootValueTypes,defaultRootName,database).values.size()>0; -}; -Exhibit.Expression._Impl.prototype.isPath=function(){return this._rootNode instanceof Exhibit.Expression.Path; -}; -Exhibit.Expression._Impl.prototype.getPath=function(){return this.isPath()?this._rootNode:null; -}; -Exhibit.Expression._Collection=function(values,valueType){this._values=values; -this.valueType=valueType; -if(values instanceof Array){this.forEachValue=Exhibit.Expression._Collection._forEachValueInArray; -this.getSet=Exhibit.Expression._Collection._getSetFromArray; -this.contains=Exhibit.Expression._Collection._containsInArray; -this.size=values.length; -}else{this.forEachValue=Exhibit.Expression._Collection._forEachValueInSet; -this.getSet=Exhibit.Expression._Collection._getSetFromSet; -this.contains=Exhibit.Expression._Collection._containsInSet; -this.size=values.size(); -}}; -Exhibit.Expression._Collection._forEachValueInSet=function(f){this._values.visit(f); -}; -Exhibit.Expression._Collection._forEachValueInArray=function(f){var a=this._values; -for(var i=0; -i1}); -}; -Exhibit.Expression.Path.prototype.getSegment=function(index){if(index=0; -i--){var segment=this._segments[i]; -if(segment.isArray){var a=[]; -var valueType; -if(segment.forward){collection.forEachValue(function(v){database.getSubjects(v,segment.property).visit(function(v2){if(i>0||filter==null||filter.contains(v2)){a.push(v2); -}}); -}); -var property=database.getProperty(segment.property); -valueType=property!=null?property.getValueType():"text"; -}else{collection.forEachValue(function(v){database.getObjects(v,segment.property).visit(function(v2){if(i>0||filter==null||filter.contains(v2)){a.push(v2); -}}); -}); -valueType="item"; -}collection=new Exhibit.Expression._Collection(a,valueType); -}else{if(segment.forward){var values=database.getSubjectsUnion(collection.getSet(),segment.property,null,i==0?filter:null); -collection=new Exhibit.Expression._Collection(values,"item"); -}else{var values=database.getObjectsUnion(collection.getSet(),segment.property,null,i==0?filter:null); -var property=database.getProperty(segment.property); -var valueType=property!=null?property.getValueType():"text"; -collection=new Exhibit.Expression._Collection(values,valueType); -}}}return collection; -}; -Exhibit.Expression.Path.prototype.rangeBackward=function(from,to,inclusive,filter,database){var set=new Exhibit.Set(); -var valueType="item"; -if(this._segments.length>0){var segment=this._segments[this._segments.length-1]; -if(segment.forward){database.getSubjectsInRange(segment.property,from,to,inclusive,set,this._segments.length==1?filter:null); -}else{throw new Error("Last path of segment must be forward"); -}for(var i=this._segments.length-2; -i>=0; -i--){segment=this._segments[i]; -if(segment.forward){set=database.getSubjectsUnion(set,segment.property,null,i==0?filter:null); -valueType="item"; -}else{set=database.getObjectsUnion(set,segment.property,null,i==0?filter:null); -var property=database.getProperty(segment.property); -valueType=property!=null?property.getValueType():"text"; -}}}return{valueType:valueType,values:set,count:set.size()}; -}; -Exhibit.Expression.Path.prototype.testExists=function(roots,rootValueTypes,defaultRootName,database){return this.evaluate(roots,rootValueTypes,defaultRootName,database).size>0; -}; -Exhibit.Expression._Constant=function(value,valueType){this._value=value; -this._valueType=valueType; -}; -Exhibit.Expression._Constant.prototype.evaluate=function(roots,rootValueTypes,defaultRootName,database){return new Exhibit.Expression._Collection([this._value],this._valueType); -}; -Exhibit.Expression._Operator=function(operator,args){this._operator=operator; -this._args=args; -}; -Exhibit.Expression._Operator.prototype.evaluate=function(roots,rootValueTypes,defaultRootName,database){var values=[]; -var args=[]; -for(var i=0; -i":{valueType:"boolean",f:function(a,b){return a!=b; -}},"><":{valueType:"boolean",f:function(a,b){return a!=b; -}},"<":{argumentType:"number",valueType:"boolean",f:function(a,b){return a":{argumentType:"number",valueType:"boolean",f:function(a,b){return a>b; -}},"<=":{argumentType:"number",valueType:"boolean",f:function(a,b){return a<=b; -}},">=":{argumentType:"number",valueType:"boolean",f:function(a,b){return a>=b; -}}}; -Exhibit.Expression._FunctionCall=function(name,args){this._name=name; -this._args=args; -}; -Exhibit.Expression._FunctionCall.prototype.evaluate=function(roots,rootValueTypes,defaultRootName,database){var args=[]; -for(var i=0; -i0){var valueType=args[0].valueType; -for(var i=0; -i0){if(valueType==null){valueType=arg.valueType; -}set.addSet(arg.getSet()); -}}}return new Exhibit.Expression._Collection(set,valueType!=null?valueType:"text"); -}}; -Exhibit.Functions["contains"]={f:function(args){var result=args[0].size>0; -var set=args[0].getSet(); -args[1].forEachValue(function(v){if(!set.contains(v)){result=false; -return true; -}}); -return new Exhibit.Expression._Collection([result],"boolean"); -}}; -Exhibit.Functions["exists"]={f:function(args){return new Exhibit.Expression._Collection([args[0].size>0],"boolean"); -}}; -Exhibit.Functions["count"]={f:function(args){return new Exhibit.Expression._Collection([args[0].size],"number"); -}}; -Exhibit.Functions["not"]={f:function(args){return new Exhibit.Expression._Collection([!args[0].contains(true)],"boolean"); -}}; -Exhibit.Functions["and"]={f:function(args){var r=true; -for(var i=0; -r&&imax||max==Number.NEGATIVE_INFINITY){max=parsedV; -valueType=(valueType==null)?currentValueType:(valueType==currentValueType?valueType:"text"); -}}); -}return new Exhibit.Expression._Collection([max],valueType!=null?valueType:"text"); -}}; -Exhibit.Functions["remove"]={f:function(args){var set=args[0].getSet(); -var valueType=args[0].valueType; -for(var i=1; -i0){set.removeSet(arg.getSet()); -}}return new Exhibit.Expression._Collection(set,valueType); -}}; -Exhibit.Functions["now"]={f:function(args){return new Exhibit.Expression._Collection([new Date()],"date"); -}}; - - -/* authenticated-importer.js */ -Exhibit.AuthenticatedImporter={_callbacks:{}}; -Exhibit.importers["application/authenticated"]=Exhibit.AuthenticatedImporter; -Exhibit.AuthenticatedImporter.constructURL=function(){return"https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fspreadsheets.google.com%2Ffeeds%2F&session=1&secure=0&next="+window.location; -}; -Exhibit.AuthenticatedImporter.load=function(link,database,cont){var url=typeof link=="string"?link:link.href; -url=Exhibit.Persistence.resolveURL(url); -var fError=function(statusText,status,xmlhttp){Exhibit.UI.hideBusyIndicator(); -Exhibit.UI.showHelp(Exhibit.l10n.failedToLoadDataFileMessage(url)); -if(cont){cont(); -}}; -var fDone=function(xmlhttp){Exhibit.UI.hideBusyIndicator(); -try{var o=null; -try{o=eval("("+xmlhttp.responseText+")"); -}catch(e){Exhibit.UI.showJsonFileValidation(Exhibit.l10n.badJsonMessage(url,e),url); -}if(o!=null){database.loadData(o,Exhibit.Persistence.getBaseURL(url)); -}}catch(e){SimileAjax.Debug.exception(e,"Error loading Exhibit JSON data from "+url); -}finally{if(cont){cont(); -}}}; -Exhibit.UI.showBusyIndicator(); -SimileAjax.XmlHttp.get(url,fError,fDone); -}; - - -/* babel-based-importer.js */ -Exhibit.BabelBasedImporter={mimetypeToReader:{"application/rdf+xml":"rdf-xml","application/n3":"n3","application/msexcel":"xls","application/x-msexcel":"xls","application/x-ms-excel":"xls","application/vnd.ms-excel":"xls","application/x-excel":"xls","application/xls":"xls","application/x-xls":"xls","application/x-bibtex":"bibtex"},babelTranslatorURL:"http://service.simile-widgets.org/babel/translator",_initialize:function(){var links=[]; -var heads=document.documentElement.getElementsByTagName("head"); -for(var h=0; -h=0){if(configuration.propertyTags.indexOf(node.nodeName)>=0){objectToAppend[configuration.propertyNames[index]]=self.appendUserPropertyToArray(node,configuration,objectToAppend); -}else{objectToAppend[node.nodeName]=self.appendPropertyToArray(node,configuration,objectToAppend); -}}else{if(configuration.propertyTags.indexOf(node.nodeName)>=0){var referenceIndex=configuration.propertyTags.indexOf(node.nodeName); -objectToAppend[configuration.propertyNames[referenceIndex]]=node.textContent; -}else{objectToAppend[node.nodeName]=node.textContent; -}}propertyList.push(node.nodeName); -}else{if(nodeType=="Item"){var referenceIndex=configuration.itemTag.indexOf(node.nodeName); -var tempObject=self.configureItem(node,{},configuration,referenceIndex); -objectToAppend[tempObject.type]=tempObject.label; -}else{if(nodeType=="fakeItem"){$(node).children().each(function(){queue.push(this); -}); -}else{alert("error: nodetype not understood"); -}}}}objectToAppend=self.configureItem(this,objectToAppend,configuration,index); -object.items.push(objectToAppend); -}); -return object; -}; -Exhibit.ExhibitXMLImporter.getParentItem=function(itemNode,configuration){if(itemNode.parentNode==null){return null; -}else{if(configuration.itemTag.indexOf(itemNode.parentNode.nodeName)>=0){var referenceIndex=configuration.itemTag.indexOf(itemNode.parentNode.nodeName); -return this.configureItem(itemNode.parentNode,{},configuration,referenceIndex); -}else{this.getParentItem(itemNode.parentNode,configuration); -}}}; -Exhibit.ExhibitXMLImporter.configureItem=function(myItem,object,configuration,index){if(!(object.label)&&configuration.propertyLabel[index]!=null){object["label"]=$(configuration.propertyLabel[index],myItem)[0].textContent; -}else{object["label"]=$(myItem).children()[0].textContent; -}if(!(object.type)&&configuration.itemType[index]!=null){object["type"]=configuration.itemType[index]; -}else{object["type"]=myItem.nodeName; -}var parentItem=this.getParentItem(myItem,configuration); -if(parentItem){if(configuration.parentRelation[index]){object[configuration.parentRelation[index]]=parentItem.label; -}else{object["isChildOf"]=parentItem.label; -}}return object; -}; -Exhibit.ExhibitXMLImporter.configure=function(){var configuration={"itemTag":[],"propertyLabel":[],"itemType":[],"parentRelation":[],"propertyTags":[],"propertyNames":[]}; -$("link").each(function(){if(this.hasAttribute("ex:itemTag")){configuration.itemTag=Exhibit.getAttribute(this,"ex:itemTag",","); -}if(this.hasAttribute("ex:setPropertyAsLabel")){configuration.propertyLabel=Exhibit.getAttribute(this,"ex:setPropertyAsLabel",","); -}if(this.hasAttribute("ex:itemType")){configuration.itemType=Exhibit.getAttribute(this,"ex:itemType",","); -}if(this.hasAttribute("ex:parentRelation")){configuration.parentRelation=Exhibit.getAttribute(this,"ex:parentRelation",","); -}if(this.hasAttribute("ex:propertyNames")){configuration.propertyNames=Exhibit.getAttribute(this,"ex:propertyNames",","); -}if(this.hasAttribute("ex:propertyTags")){configuration.propertyTags=Exhibit.getAttribute(this,"ex:propertyTags",","); -}}); -return configuration; -}; -Exhibit.ExhibitXMLImporter.determineType=function(node,configuration){if(configuration.itemTag.indexOf(node.nodeName)>=0){return"Item"; -}else{if($(node).children().length==0){return"property"; -}else{return"fakeItem"; -}}}; -Exhibit.ExhibitXMLImporter.load=function(link,database,cont){var self=this; -var url=typeof link=="string"?link:link.href; -url=Exhibit.Persistence.resolveURL(url); -var fError=function(statusText,status,xmlhttp){Exhibit.UI.hideBusyIndicator(); -Exhibit.UI.showHelp(Exhibit.l10n.failedToLoadDataFileMessage(url)); -if(cont){cont(); -}}; -var fDone=function(){Exhibit.UI.hideBusyIndicator(); -try{var o=null; -try{xmlDoc=Exhibit.ExhibitXMLImporter.getXMLDocument(url); -var configuration=self.configure(); -o={"items":[]}; -for(index in configuration.itemTag){o=Exhibit.ExhibitXMLImporter.getItems(xmlDoc,o,index,configuration); -}}catch(e){Exhibit.UI.showJsonFileValidation(Exhibit.l10n.badJsonMessage(url,e),url); -}if(o!=null){database.loadData(o,Exhibit.Persistence.getBaseURL(url)); -}}catch(e){SimileAjax.Debug.exception(e,"Error loading Exhibit JSON data from "+url); -}finally{if(cont){cont(); -}}}; -Exhibit.UI.showBusyIndicator(); -SimileAjax.XmlHttp.get(url,fError,fDone); -}; - - -/* html-table-importer.js */ -Exhibit.HtmlTableImporter={}; -Exhibit.importers["text/html"]=Exhibit.HtmlTableImporter; -Exhibit.HtmlTableImporter.load=function(link,database,cont){var url=typeof link=="string"?link:link.href; -if(url.substr(0,1)=="#"){try{var id=/#(.*)/.exec(f)[1]; -var table=document.getElementById(id); -table.style.display="none"; -Exhibit.HtmlTableImporter.loadTable(table,database); -}catch(e){SimileAjax.Debug.exception(e); -}finally{if(cont){cont(); -}}}else{if(typeof link!="string"){var xpath=link.getAttribute("ex:xpath"); -var columns=(link.getAttribute("ex:columns")).split(","); -var babelURL="http://simile.mit.edu/babel/html-extractor?"+["xpath="+xpath,"url="+encodeURIComponent(url)].join("&"); -var fConvert=function(string){var div=document.createElement("div"); -div.innerHTML=string; -var table=div.firstChild; -var th,ths=table.getElementsByTagName("th"); -for(col=0; -th=ths[col]; -col++){var label=columns[col]; -th.setAttribute("ex:name",label); -}Exhibit.HtmlTableImporter.loadTable(table,database); -return{}; -}; -return Exhibit.JSONPImporter.load(babelURL,database,cont,fConvert); -}else{if(cont){cont(); -}}}}; -Exhibit.HtmlTableImporter.loadTable=function(table,database){var textOf=function(n){return n.textContent||n.innerText||""; -}; -var readAttributes=function(node,attributes){var result={},found=false,attr,value,i; -for(i=0; -attr=attributes[i]; -i++){value=Exhibit.getAttribute(node,attr); -if(value){result[attr]=value; -found=true; -}}return found&&result; -}; -var typelist=["uri","label","pluralLabel"]; -var proplist=["uri","valueType","label","reverseLabel","pluralLabel","reversePluralLabel","groupingLabel","reverseGroupingLabel"]; -var columnProps=["valueParser","arity"]; -var parsed={}; -var type=Exhibit.getAttribute(table,"type"); -var types=type&&readAttributes(table,typelist); -if(types){parsed.types={}; -parsed.types[type]=types; -}var fields=[],props={},columnData=[],row,col; -var tr,trs=table.getElementsByTagName("tr"); -var th,ths=trs[0].getElementsByTagName("th"); -for(col=0; -th=ths[col]; -col++){var field=textOf(th).trim(); -var hastextwithlink=false; -var attr=readAttributes(th,proplist); -var name=Exhibit.getAttribute(th,"name"); -if(name){attr=attr||{}; -attr.label=attr.label||field; -field=name; -}if(attr){props[field]=attr; -if(props[field].valueType=="textwithlink"){props[field].valueType="text"; -props[(field+"-link")]={valueType:"url"}; -hastextwithlink=true; -}parsed.properties=props; -}fields.push(field); -attr=readAttributes(th,columnProps)||{}; -if(attr.valueParser&&attr.valueParser in window){attr.valueParser=window[attr.valueParser]; -}else{if(attr.arity=="single"){attr.valueParser=function(text,node,rowNo,colNo){return text.trim(); -}; -}else{attr.valueParser=function(text,node,rowNo,colNo){if(text.indexOf(";")==-1){return text.trim(); -}var data=text.split(";"); -for(var i=0; -i0?Exhibit.jsonImporter.findFirstItems(json[0],configuration):null; -}else{var visited=[]; -var listOfItems=[]; -for(child in json){visited.push(json[child]); -if(configuration.itemTag.indexOf(child)>=0){for(var i=0; -i0){var myObject=itemQueue.shift(); -var index=myObject.index; -var objectToAppend={}; -var propertyQueue=[]; -for(propertyKey in myObject){propertyQueue.push(propertyKey); -}while(propertyQueue.length>0){var key=propertyQueue.shift(); -var keyID=key.split(".").pop(); -if(configuration.itemTag.indexOf(keyID)==-1){var propertyValue=eval("myObject."+key); -if(keyID=="index"){}else{if(propertyValue instanceof Array){objectToAppend[keyID]=propertyValue; -}else{if(propertyValue instanceof Object){for(newProperty in propertyValue){propertyQueue.push(key+"."+newProperty); -}}else{if(keyID==configuration.propertyTags[index]){var referenceIndex=configuration.propertyTags.indexOf(keyID); -var newKey=configuration.propertyNames[referenceIndex]; -objectToAppend[newKey]=propertyValue; -}else{if(keyID==configuration.propertyLabel[index]){objectToAppend.label=propertyValue; -}else{objectToAppend[keyID]=propertyValue; -}}}}}if(configuration.itemType[index]){objectToAppend.type=configuration.itemType[index]; -}else{objectToAppend.type="Item"; -}}else{newObject=eval("myObject."+key); -if(newObject instanceof Array){for(var i=0; -i0){separator=s; -}}var items=[]; -var properties={}; -var types={}; -var valueTypes={"text":true,"number":true,"item":true,"url":true,"boolean":true,"date":true}; -var entries=json.feed.entry||[]; -for(var i=0; -i1?fieldSpec[1].split(","):[]; -var property={single:false}; -for(var d=0; -d1){for(var k=0; -k0){try{var o=eval(c); -if(typeof o=="object"){return o; -}}catch(e){}}return{}; -}; -Exhibit.extractOptionsFromElement=function(elmt){var opts={}; -var attrs=elmt.attributes; -for(var i in attrs){if(attrs.hasOwnProperty(i)){var name=attrs[i].nodeName; -var value=attrs[i].nodeValue; -if(name.indexOf("ex:")==0){name=name.substring(3); -}opts[name]=value; -}}return opts; -}; -Exhibit.getExporters=function(){Exhibit._initializeExporters(); -return[].concat(Exhibit._exporters); -}; -Exhibit.addExporter=function(exporter){Exhibit._initializeExporters(); -Exhibit._exporters.push(exporter); -}; -Exhibit._initializeExporters=function(){if(!("_exporters" in Exhibit)){Exhibit._exporters=[Exhibit.RdfXmlExporter,Exhibit.SemanticWikitextExporter,Exhibit.TSVExporter,Exhibit.ExhibitJsonExporter,Exhibit.FacetSelectionExporter]; -}}; -Exhibit._Impl=function(database){this._database=database!=null?database:("database" in window?window.database:Exhibit.Database.create()); -this._uiContext=Exhibit.UIContext.createRootContext({},this); -this._collectionMap={}; -this._componentMap={}; -this._historyListener={onBeforePerform:function(action){if(action.lengthy){Exhibit.UI.showBusyIndicator(); -}},onAfterPerform:function(action){if(action.lengthy){Exhibit.UI.hideBusyIndicator(); -}},onBeforeUndoSeveral:function(){Exhibit.UI.showBusyIndicator(); -},onAfterUndoSeveral:function(){Exhibit.UI.hideBusyIndicator(); -},onBeforeRedoSeveral:function(){Exhibit.UI.showBusyIndicator(); -},onAfterRedoSeveral:function(){Exhibit.UI.hideBusyIndicator(); -}}; -SimileAjax.History.addListener(this._historyListener); -}; -Exhibit._Impl.prototype.dispose=function(){SimileAjax.History.removeListener(this._historyListener); -for(var id in this._componentMap){try{this._componentMap[id].dispose(); -}catch(e){SimileAjax.Debug.exception(e,"Failed to dispose component"); -}}for(var id in this._collectionMap){try{this._collectionMap[id].dispose(); -}catch(e){SimileAjax.Debug.exception(e,"Failed to dispose collection"); -}}this._uiContext.dispose(); -this._componentMap=null; -this._collectionMap=null; -this._uiContext=null; -this._database=null; -}; -Exhibit._Impl.prototype.getDatabase=function(){return this._database; -}; -Exhibit._Impl.prototype.getUIContext=function(){return this._uiContext; -}; -Exhibit._Impl.prototype.getCollection=function(id){var collection=this._collectionMap[id]; -if(collection==null&&id=="default"){collection=Exhibit.Collection.createAllItemsCollection(id,this._database); -this.setDefaultCollection(collection); -}return collection; -}; -Exhibit._Impl.prototype.getDefaultCollection=function(){return this.getCollection("default"); -}; -Exhibit._Impl.prototype.setCollection=function(id,c){if(id in this._collectionMap){try{this._collectionMap[id].dispose(); -}catch(e){SimileAjax.Debug.exception(e); -}}this._collectionMap[id]=c; -}; -Exhibit._Impl.prototype.setDefaultCollection=function(c){this.setCollection("default",c); -}; -Exhibit._Impl.prototype.getComponent=function(id){return this._componentMap[id]; -}; -Exhibit._Impl.prototype.setComponent=function(id,c){if(id in this._componentMap){try{this._componentMap[id].dispose(); -}catch(e){SimileAjax.Debug.exception(e); -}}this._componentMap[id]=c; -}; -Exhibit._Impl.prototype.disposeComponent=function(id){if(id in this._componentMap){try{this._componentMap[id].dispose(); -}catch(e){SimileAjax.Debug.exception(e); -}delete this._componentMap[id]; -}}; -Exhibit._Impl.prototype.configure=function(configuration){if("collections" in configuration){for(var i=0; -i0){switch(role){case"collection":collectionElmts.push(elmt); -break; -case"coder":coderElmts.push(elmt); -break; -case"coordinator":coordinatorElmts.push(elmt); -break; -case"lens":case"submission-lens":case"edit-lens":lensElmts.push(elmt); -break; -case"facet":facetElmts.push(elmt); -break; -default:otherElmts.push(elmt); -}}else{var node=elmt.firstChild; -while(node!=null){if(node.nodeType==1){f(node); -}node=node.nextSibling; -}}}; -f(root||document.body); -var uiContext=this._uiContext; -for(var i=0; -i1){var itemID=decodeURIComponent(hash.substr(1)); -if(this._database.containsItem(itemID)){this._showFocusDialogOnItem(itemID); -}}}; -Exhibit._Impl.prototype._showFocusDialogOnItem=function(itemID){var dom=SimileAjax.DOM.createDOMFromString("div","
    "); -dom.elmt.className="exhibit-focusDialog exhibit-ui-protection"; -dom.close=function(){document.body.removeChild(dom.elmt); -}; -dom.layer=SimileAjax.WindowManager.pushLayer(function(){dom.close(); -},false); -var itemLens=this._uiContext.getLensRegistry().createLens(itemID,dom.lensContainer,this._uiContext); -dom.elmt.style.top=(document.body.scrollTop+100)+"px"; -document.body.appendChild(dom.elmt); -SimileAjax.WindowManager.registerEvent(dom.closeButton,"click",function(elmt,evt,target){SimileAjax.WindowManager.popLayer(dom.layer); -},dom.layer); -}; -Exhibit._Impl.prototype.exportSettings=function(){var facetSelections={},facetSettings=""; -for(var id in this._componentMap){if(typeof this._componentMap[id].exportFacetSelection!=="undefined"){facetSettings=this._componentMap[id].exportFacetSelection()||false; -if(facetSettings){facetSelections[id]=facetSettings; -}}}return facetSelections; -}; -Exhibit._Impl.prototype.importSettings=function(){if(window.location.search.length>0){searchComponents=window.location.search.substr(1,window.location.search.length-1).split("&"); -for(var x=0; -x=0){url=url.substr(0,question); -}else{if(hash>=0){url=url.substr(0,hash); -}}Exhibit.Persistence._urlWithoutQueryAndHash=url; -}return url; -}; -Exhibit.Persistence.getURLWithoutQuery=function(){var url; -if("_urlWithoutQuery" in Exhibit.Persistence){url=Exhibit.Persistence._urlWithoutQuery; -}else{url=document.location.href; -var question=url.indexOf("?"); -if(question>=0){url=url.substr(0,question); -}Exhibit.Persistence._urlWithoutQuery=url; -}return url; -}; -Exhibit.Persistence.getItemLink=function(itemID){return Exhibit.Persistence.getURLWithoutQueryAndHash()+"#"+encodeURIComponent(itemID); -}; - - -/* color-coder.js */ -Exhibit.ColorCoder=function(uiContext){this._uiContext=uiContext; -this._settings={}; -this._map={}; -this._mixedCase={label:Exhibit.Coders.l10n.mixedCaseLabel,color:Exhibit.Coders.mixedCaseColor}; -this._missingCase={label:Exhibit.Coders.l10n.missingCaseLabel,color:Exhibit.Coders.missingCaseColor}; -this._othersCase={label:Exhibit.Coders.l10n.othersCaseLabel,color:Exhibit.Coders.othersCaseColor}; -}; -Exhibit.ColorCoder._settingSpecs={}; -Exhibit.ColorCoder.create=function(configuration,uiContext){var coder=new Exhibit.ColorCoder(Exhibit.UIContext.create(configuration,uiContext)); -Exhibit.ColorCoder._configure(coder,configuration); -return coder; -}; -Exhibit.ColorCoder.createFromDOM=function(configElmt,uiContext){configElmt.style.display="none"; -var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var coder=new Exhibit.ColorCoder(Exhibit.UIContext.create(configuration,uiContext)); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.ColorCoder._settingSpecs,coder._settings); -try{var node=configElmt.firstChild; -while(node!=null){if(node.nodeType==1){coder._addEntry(Exhibit.getAttribute(node,"case"),node.firstChild.nodeValue.trim(),Exhibit.getAttribute(node,"color")); -}node=node.nextSibling; -}}catch(e){SimileAjax.Debug.exception(e,"ColorCoder: Error processing configuration of coder"); -}Exhibit.ColorCoder._configure(coder,configuration); -return coder; -}; -Exhibit.ColorCoder._configure=function(coder,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.ColorCoder._settingSpecs,coder._settings); -if("entries" in configuration){var entries=configuration.entries; -for(var i=0; -i=gradientPoints[0].value&key<=gradientPoints[gradientPoints.length-1].value){if(flags){flags.keys.add(key); -}return getColor(key); -}else{if(key==null){if(flags){flags.missing=true; -}return this._missingCase.color; -}else{if(flags){flags.others=true; -}return this._othersCase.color; -}}}; -Exhibit.ColorGradientCoder.prototype.translateSet=function(keys,flags){var color=null; -var self=this; -keys.visit(function(key){var color2=self.translate(key,flags); -if(color==null){color=color2; -}else{if(color!=color2){if(flags){flags.mixed=true; -}color=self._mixedCase.color; -return true; -}}return false; -}); -if(color!=null){return color; -}else{if(flags){flags.missing=true; -}return this._missingCase.color; -}}; -Exhibit.ColorGradientCoder.prototype.getOthersLabel=function(){return this._othersCase.label; -}; -Exhibit.ColorGradientCoder.prototype.getOthersColor=function(){return this._othersCase.color; -}; -Exhibit.ColorGradientCoder.prototype.getMissingLabel=function(){return this._missingCase.label; -}; -Exhibit.ColorGradientCoder.prototype.getMissingColor=function(){return this._missingCase.color; -}; -Exhibit.ColorGradientCoder.prototype.getMixedLabel=function(){return this._mixedCase.label; -}; -Exhibit.ColorGradientCoder.prototype.getMixedColor=function(){return this._mixedCase.color; -}; - - -/* default-color-coder.js */ -Exhibit.DefaultColorCoder=function(uiContext){}; -Exhibit.DefaultColorCoder.colors=["#FF9000","#5D7CBA","#A97838","#8B9BBA","#FFC77F","#003EBA","#29447B","#543C1C"]; -Exhibit.DefaultColorCoder._map={}; -Exhibit.DefaultColorCoder._nextColor=0; -Exhibit.DefaultColorCoder.prototype.translate=function(key,flags){if(key==null){if(flags){flags.missing=true; -}return Exhibit.Coders.missingCaseColor; -}else{if(flags){flags.keys.add(key); -}if(key in Exhibit.DefaultColorCoder._map){return Exhibit.DefaultColorCoder._map[key]; -}else{var color=Exhibit.DefaultColorCoder.colors[Exhibit.DefaultColorCoder._nextColor]; -Exhibit.DefaultColorCoder._nextColor=(Exhibit.DefaultColorCoder._nextColor+1)%Exhibit.DefaultColorCoder.colors.length; -Exhibit.DefaultColorCoder._map[key]=color; -return color; -}}}; -Exhibit.DefaultColorCoder.prototype.translateSet=function(keys,flags){var color=null; -var self=this; -keys.visit(function(key){var color2=self.translate(key,flags); -if(color==null){color=color2; -}else{if(color!=color2){color=Exhibit.Coders.mixedCaseColor; -flags.mixed=true; -return true; -}}return false; -}); -if(color!=null){return color; -}else{flags.missing=true; -return Exhibit.Coders.missingCaseColor; -}}; -Exhibit.DefaultColorCoder.prototype.getOthersLabel=function(){return Exhibit.Coders.l10n.othersCaseLabel; -}; -Exhibit.DefaultColorCoder.prototype.getOthersColor=function(){return Exhibit.Coders.othersCaseColor; -}; -Exhibit.DefaultColorCoder.prototype.getMissingLabel=function(){return Exhibit.Coders.l10n.missingCaseLabel; -}; -Exhibit.DefaultColorCoder.prototype.getMissingColor=function(){return Exhibit.Coders.missingCaseColor; -}; -Exhibit.DefaultColorCoder.prototype.getMixedLabel=function(){return Exhibit.Coders.l10n.mixedCaseLabel; -}; -Exhibit.DefaultColorCoder.prototype.getMixedColor=function(){return Exhibit.Coders.mixedCaseColor; -}; - - -/* icon-coder.js */ -Exhibit.IconCoder=function(uiContext){this._uiContext=uiContext; -this._settings={}; -this._map={}; -this._mixedCase={label:"mixed",icon:null}; -this._missingCase={label:"missing",icon:null}; -this._othersCase={label:"others",icon:null}; -}; -Exhibit.IconCoder._settingSpecs={}; -Exhibit.IconCoder.create=function(configuration,uiContext){var coder=new Exhibit.IconCoder(Exhibit.UIContext.create(configuration,uiContext)); -Exhibit.IconCoder._configure(coder,configuration); -return coder; -}; -Exhibit.IconCoder.createFromDOM=function(configElmt,uiContext){configElmt.style.display="none"; -var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var coder=new Exhibit.IconCoder(Exhibit.UIContext.create(configuration,uiContext)); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.IconCoder._settingSpecs,coder._settings); -try{var node=configElmt.firstChild; -while(node!=null){if(node.nodeType==1){coder._addEntry(Exhibit.getAttribute(node,"case"),node.firstChild.nodeValue.trim(),Exhibit.getAttribute(node,"icon")); -}node=node.nextSibling; -}}catch(e){SimileAjax.Debug.exception(e,"IconCoder: Error processing configuration of coder"); -}Exhibit.IconCoder._configure(coder,configuration); -return coder; -}; -Exhibit.IconCoder._configure=function(coder,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.IconCoder._settingSpecs,coder._settings); -if("entries" in configuration){var entries=configuration.entries; -for(var i=0; -ilastKeyOrder){color=color2; -lastKey=key; -}}else{return false; -}}return true; -}}return false; -}); -if(color!=null){return color; -}else{if(flags){flags.missing=true; -}return this._missingCase.color; -}}; -Exhibit.OrderedColorCoder.prototype.getOthersLabel=function(){return this._othersCase.label; -}; -Exhibit.OrderedColorCoder.prototype.getOthersColor=function(){return this._othersCase.color; -}; -Exhibit.OrderedColorCoder.prototype.getOthersIsDefault=function(){return this._othersCase.isDefault; -}; -Exhibit.OrderedColorCoder.prototype.getMissingLabel=function(){return this._missingCase.label; -}; -Exhibit.OrderedColorCoder.prototype.getMissingColor=function(){return this._missingCase.color; -}; -Exhibit.OrderedColorCoder.prototype.getMissingIsDefault=function(){return this._missingCase.isDefault; -}; -Exhibit.OrderedColorCoder.prototype.getMixedLabel=function(){return this._mixedCase.label; -}; -Exhibit.OrderedColorCoder.prototype.getMixedColor=function(){return this._mixedCase.color; -}; -Exhibit.OrderedColorCoder.prototype.getMixedIsDefault=function(){return this._mixedCase.isDefault; -}; - - -/* size-coder.js */ -Exhibit.SizeCoder=function(uiContext){this._uiContext=uiContext; -this._settings={}; -this._map={}; -this._mixedCase={label:"mixed",size:10}; -this._missingCase={label:"missing",size:10}; -this._othersCase={label:"others",size:10}; -}; -Exhibit.SizeCoder._settingSpecs={}; -Exhibit.SizeCoder.create=function(configuration,uiContext){var coder=new Exhibit.SizeCoder(Exhibit.UIContext.create(configuration,uiContext)); -Exhibit.SizeCoder._configure(coder,configuration); -return coder; -}; -Exhibit.SizeCoder.createFromDOM=function(configElmt,uiContext){configElmt.style.display="none"; -var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var coder=new Exhibit.SizeCoder(Exhibit.UIContext.create(configuration,uiContext)); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.SizeCoder._settingSpecs,coder._settings); -try{var node=configElmt.firstChild; -while(node!=null){if(node.nodeType==1){coder._addEntry(Exhibit.getAttribute(node,"case"),node.firstChild.nodeValue.trim(),Exhibit.getAttribute(node,"size")); -}node=node.nextSibling; -}}catch(e){SimileAjax.Debug.exception(e,"SizeCoder: Error processing configuration of coder"); -}Exhibit.SizeCoder._configure(coder,configuration); -return coder; -}; -Exhibit.SizeCoder._configure=function(coder,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.SizeCoder._settingSpecs,coder._settings); -if("entries" in configuration){var entries=configuration.entries; -for(var i=0; -i=gradientPoints[0].value&key<=gradientPoints[gradientPoints.length-1].value){if(flags){flags.keys.add(key); -}return getSize(key); -}else{if(key==null){if(flags){flags.missing=true; -}return this._missingCase.size; -}else{if(flags){flags.others=true; -}return this._othersCase.size; -}}}; -Exhibit.SizeGradientCoder.prototype.translateSet=function(keys,flags){var size=null; -var self=this; -keys.visit(function(key){var size2=self.translate(key,flags); -if(size==null){size=size2; -}else{if(size!=size2){if(flags){flags.mixed=true; -}size=self._mixedCase.size; -return true; -}}return false; -}); -if(size!=null){return size; -}else{if(flags){flags.missing=true; -}return this._missingCase.size; -}}; -Exhibit.SizeGradientCoder.prototype.getOthersLabel=function(){return this._othersCase.label; -}; -Exhibit.SizeGradientCoder.prototype.getOthersSize=function(){return this._othersCase.size; -}; -Exhibit.SizeGradientCoder.prototype.getMissingLabel=function(){return this._missingCase.label; -}; -Exhibit.SizeGradientCoder.prototype.getMissingSize=function(){return this._missingCase.size; -}; -Exhibit.SizeGradientCoder.prototype.getMixedLabel=function(){return this._mixedCase.label; -}; -Exhibit.SizeGradientCoder.prototype.getMixedSize=function(){return this._mixedCase.size; -}; - - -/* coordinator.js */ -Exhibit.Coordinator=function(uiContext){this._uiContext=uiContext; -this._listeners=[]; -}; -Exhibit.Coordinator.create=function(configuration,uiContext){var coordinator=new Exhibit.Coordinator(uiContext); -return coordinator; -}; -Exhibit.Coordinator.createFromDOM=function(div,uiContext){var coordinator=new Exhibit.Coordinator(Exhibit.UIContext.createFromDOM(div,uiContext,false)); -return coordinator; -}; -Exhibit.Coordinator.prototype.dispose=function(){this._uiContext.dispose(); -this._uiContext=null; -}; -Exhibit.Coordinator.prototype.addListener=function(callback){var listener=new Exhibit.Coordinator._Listener(this,callback); -this._listeners.push(listener); -return listener; -}; -Exhibit.Coordinator.prototype._removeListener=function(listener){for(var i=0; -i0){facet._expression=Exhibit.ExpressionParser.parse(expressionString); -}}catch(e){SimileAjax.Debug.exception(e,"AlphaRangeFacet: Error processing configuration of alpha range facet"); -}Exhibit.AlphaRangeFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.AlphaRangeFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.AlphaRangeFacet._settingSpecs,facet._settings); -if("expression" in configuration){facet._expression=Exhibit.ExpressionParser.parse(configuration.expression); -}if(!("facetLabel" in facet._settings)){facet._settings.facetLabel="missing ex:facetLabel"; -if(facet._expression!=null&&facet._expression.isPath()){var segment=facet._expression.getPath().getLastSegment(); -var property=facet._uiContext.getDatabase().getProperty(segment.property); -if(property!=null){facet._settings.facetLabel=segment.forward?property.getLabel():property.getReverseLabel(); -}}}if(facet._settings.collapsed){facet._settings.collapsible=true; -}}; -Exhibit.AlphaRangeFacet.prototype.dispose=function(){this._uiContext.getCollection().removeFacet(this); -this._uiContext.getCollection().removeListener(this._listener); -this._uiContext=null; -this._div.innerHTML=""; -this._div=null; -this._dom=null; -this._expression=null; -this._settings=null; -this._ranges=[]; -}; -Exhibit.AlphaRangeFacet.prototype.hasRestrictions=function(){return this._ranges.length>0; -}; -Exhibit.AlphaRangeFacet.prototype.clearAllRestrictions=function(){var restrictions=[]; -if(this._ranges.length>0){restrictions=restrictions.concat(this._ranges); -this._ranges=[]; -this._notifyCollection(); -}return restrictions; -}; -Exhibit.AlphaRangeFacet.prototype.applyRestrictions=function(restrictions){this._ranges=restrictions; -this._notifyCollection(); -}; -Exhibit.AlphaRangeFacet.prototype.setRange=function(from,to,selected){if(selected){for(var i=0; -i=alphaList.length?alphaList.length-1:x+this._settings.interval-1)],selected:false}; -range.count=countItems(range); -for(var i=0; -i0; -var containerDiv=this._dom.valuesContainer; -containerDiv.style.display="none"; -var constructFacetItemFunction=Exhibit.FacetUtilities[this._settings.scroll?"constructFacetItem":"constructFlowingFacetItem"]; -var makeFacetValue=function(from,to,count,selected){var onSelect=function(elmt,evt,target){self._toggleRange(from,to,selected,false); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var onSelectOnly=function(elmt,evt,target){self._toggleRange(from,to,selected,!(evt.ctrlKey||evt.metaKey)); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var elmt=constructFacetItemFunction(from.substr(0,1)+" - "+to.substr(0,1),count,null,selected,facetHasSelection,onSelect,onSelectOnly,self._uiContext); -containerDiv.appendChild(elmt); -}; -for(var i=0; -i0){makeFacetValue(range.from,range.to,range.count,range.selected); -}}containerDiv.style.display="block"; -this._dom.setSelectionCount(this._ranges.length); -}; -Exhibit.AlphaRangeFacet.prototype._notifyCollection=function(){this._uiContext.getCollection().onFacetUpdated(this); -}; -Exhibit.AlphaRangeFacet.prototype._initializeUI=function(){var self=this; -this._dom=Exhibit.FacetUtilities[this._settings.scroll?"constructFacetFrame":"constructFlowingFacetFrame"](this,this._div,this._settings.facetLabel,function(elmt,evt,target){self._clearSelections(); -},this._uiContext,this._settings.collapsible,this._settings.collapsed); -if("height" in this._settings){this._dom.valuesContainer.style.height=this._settings.height; -}}; -Exhibit.AlphaRangeFacet.prototype._toggleRange=function(from,to,wasSelected,singleSelection){var self=this; -var label=from+" to "+to; -var wasOnlyThingSelected=(this._ranges.length==1&&wasSelected); -if(singleSelection&&!wasOnlyThingSelected){var newRestrictions=[{from:from,to:to}]; -var oldRestrictions=[].concat(this._ranges); -SimileAjax.History.addLengthyAction(function(){self.applyRestrictions(newRestrictions); -},function(){self.applyRestrictions(oldRestrictions); -},String.substitute(Exhibit.FacetUtilities.l10n["facetSelectOnlyActionTitle"],[label,this._settings.facetLabel])); -}else{SimileAjax.History.addLengthyAction(function(){self.setRange(from,to,!wasSelected); -},function(){self.setRange(from,to,wasSelected); -},String.substitute(Exhibit.FacetUtilities.l10n[wasSelected?"facetUnselectActionTitle":"facetSelectActionTitle"],[label,this._settings.facetLabel])); -}}; -Exhibit.AlphaRangeFacet.prototype._clearSelections=function(){var state={}; -var self=this; -SimileAjax.History.addLengthyAction(function(){state.restrictions=self.clearAllRestrictions(); -},function(){self.applyRestrictions(state.restrictions); -},String.substitute(Exhibit.FacetUtilities.l10n["facetClearSelectionsActionTitle"],[this._settings.facetLabel])); -}; -Exhibit.AlphaRangeFacet.prototype._buildRangeIndex=function(){if(!("_rangeIndex" in this)){var expression=this._expression; -var database=this._uiContext.getDatabase(); -var segment=expression.getPath().getLastSegment(); -var property=database.getProperty(segment.property); -var getter=function(item,f){database.getObjects(item,property.getID(),null,null).visit(function(value){f(value.toUpperCase()); -}); -}; -this._rangeIndex=new Exhibit.Database._RangeIndex(this._uiContext.getCollection().getAllItems(),getter); -}}; -Exhibit.AlphaRangeFacet.prototype.exportFacetSelection=function(){var exportedSettings=[]; -for(var i=0; -i0){var ranges=settings.split(","); -for(var i=0; -i0){this.update(); -this._notifyCollection(); -}}; - - -/* cloud-facet.js */ -Exhibit.CloudFacet=function(containerElmt,uiContext){this._div=containerElmt; -this._uiContext=uiContext; -this._colorCoder=null; -this._expression=null; -this._valueSet=new Exhibit.Set(); -this._selectMissing=false; -this._settings={}; -this._dom=null; -var self=this; -this._listener={onRootItemsChanged:function(){if("_itemToValue" in self){delete self._itemToValue; -}if("_valueToItem" in self){delete self._valueToItem; -}if("_missingItems" in self){delete self._missingItems; -}}}; -uiContext.getCollection().addListener(this._listener); -}; -Exhibit.CloudFacet._settingSpecs={"facetLabel":{type:"text"},"minimumCount":{type:"int",defaultValue:1},"showMissing":{type:"boolean",defaultValue:true},"missingLabel":{type:"text"}}; -Exhibit.CloudFacet.create=function(configuration,containerElmt,uiContext){var uiContext=Exhibit.UIContext.create(configuration,uiContext); -var facet=new Exhibit.CloudFacet(containerElmt,uiContext); -Exhibit.CloudFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.CloudFacet.createFromDOM=function(configElmt,containerElmt,uiContext){var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var uiContext=Exhibit.UIContext.createFromDOM(configElmt,uiContext); -var facet=new Exhibit.CloudFacet(containerElmt!=null?containerElmt:configElmt,uiContext); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.CloudFacet._settingSpecs,facet._settings); -try{var expressionString=Exhibit.getAttribute(configElmt,"expression"); -if(expressionString!=null&&expressionString.length>0){facet._expression=Exhibit.ExpressionParser.parse(expressionString); -}var selection=Exhibit.getAttribute(configElmt,"selection",";"); -if(selection!=null&&selection.length>0){for(var i=0,s; -s=selection[i]; -i++){facet._valueSet.add(s); -}}var selectMissing=Exhibit.getAttribute(configElmt,"selectMissing"); -if(selectMissing!=null&&selectMissing.length>0){facet._selectMissing=(selectMissing=="true"); -}}catch(e){SimileAjax.Debug.exception(e,"CloudFacet: Error processing configuration of cloud facet"); -}Exhibit.CloudFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.CloudFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.CloudFacet._settingSpecs,facet._settings); -if("expression" in configuration){facet._expression=Exhibit.ExpressionParser.parse(configuration.expression); -}if("selection" in configuration){var selection=configuration.selection; -for(var i=0; -i0||this._selectMissing; -}; -Exhibit.CloudFacet.prototype.clearAllRestrictions=function(){var restrictions={selection:[],selectMissing:false}; -if(this.hasRestrictions()){this._valueSet.visit(function(v){restrictions.selection.push(v); -}); -this._valueSet=new Exhibit.Set(); -restrictions.selectMissing=this._selectMissing; -this._selectMissing=false; -this._notifyCollection(); -}return restrictions; -}; -Exhibit.CloudFacet.prototype.applyRestrictions=function(restrictions){this._valueSet=new Exhibit.Set(); -for(var i=0; -i0){facetValueResult.forEachValue(function(facetValue){var itemSubcollection=path.evaluateBackward(facetValue,valueType,items,database); -if(itemSubcollection.size>=self._settings.minimumCount||self._valueSet.contains(facetValue)){entries.push({value:facetValue,count:itemSubcollection.size}); -}}); -}}else{this._buildMaps(); -valueType=this._valueType; -for(var value in this._valueToItem){var itemA=this._valueToItem[value]; -var count=0; -for(var i=0; -i=this._settings.minimumCount||this._valueSet.contains(value)){entries.push({value:value,count:count}); -}}}if(entries.length>0){var selection=this._valueSet; -var labeler=valueType=="item"?function(v){var l=database.getObject(v,"label"); -return l!=null?l:v; -}:function(v){return v; -}; -for(var i=0; -ib?1:0; -}; -}}var sortFunction=sortValueFunction; -if(this._settings.sortMode=="count"){sortFunction=function(a,b){var c=b.count-a.count; -return c!=0?c:sortValueFunction(a,b); -}; -}var sortDirectionFunction=sortFunction; -if(this._settings.sortDirection=="reverse"){sortDirectionFunction=function(a,b){return sortFunction(b,a); -}; -}entries.sort(sortDirectionFunction); -}if(this._settings.showMissing||this._selectMissing){this._buildMaps(); -var count=0; -for(var item in this._missingItems){if(items.contains(item)){count++; -}}if(count>0||this._selectMissing){var span=document.createElement("span"); -span.innerHTML=("missingLabel" in this._settings)?this._settings.missingLabel:Exhibit.FacetUtilities.l10n.missingThisField; -span.className="exhibit-facet-value-missingThisField"; -entries.unshift({value:null,count:count,selected:this._selectMissing,selectionLabel:span,actionLabel:Exhibit.FacetUtilities.l10n.missingThisField}); -}}return entries; -}; -Exhibit.CloudFacet.prototype._notifyCollection=function(){this._uiContext.getCollection().onFacetUpdated(this); -}; -Exhibit.CloudFacet.prototype._initializeUI=function(){this._div.innerHTML=""; -this._div.className="exhibit-cloudFacet"; -var dom=SimileAjax.DOM.createDOMFromString(this._div,(("facetLabel" in this._settings)?("
    "+this._settings.facetLabel+"
    "):"")+"
    "); -this._dom=dom; -}; -Exhibit.CloudFacet.prototype._constructBody=function(entries){var self=this; -var div=this._dom.valuesContainer; -div.style.display="none"; -div.innerHTML=""; -if(entries.length>0){var min=Number.POSITIVE_INFINITY; -var max=Number.NEGATIVE_INFINITY; -for(var j=0; -jmin){elmt.style.fontSize=Math.ceil(100+100*Math.log(1+1.5*(entry.count-min)/range))+"%"; -}SimileAjax.WindowManager.registerEvent(elmt,"click",onSelect,SimileAjax.WindowManager.getBaseLayer()); -div.appendChild(elmt); -div.appendChild(document.createTextNode(" ")); -}; -for(var j=0; -j1||oldSelectMissing){newValues.add(value); -}}}else{newSelectMissing=oldSelectMissing; -newValues=new Exhibit.Set(oldValues); -if(newValues.contains(value)){newValues.remove(value); -}else{newValues.add(value); -}}}var newRestrictions={selection:newValues.toArray(),selectMissing:newSelectMissing}; -var oldRestrictions={selection:oldValues.toArray(),selectMissing:oldSelectMissing}; -var facetLabel=("facetLabel" in this._settings)?this._settings.facetLabel:""; -SimileAjax.History.addLengthyAction(function(){self.applyRestrictions(newRestrictions); -},function(){self.applyRestrictions(oldRestrictions); -},(selectOnly&&!wasOnlyThingSelected)?String.substitute(Exhibit.FacetUtilities.l10n["facetSelectOnlyActionTitle"],[label,facetLabel]):String.substitute(Exhibit.FacetUtilities.l10n[wasSelected?"facetUnselectActionTitle":"facetSelectActionTitle"],[label,facetLabel])); -}; -Exhibit.CloudFacet.prototype._clearSelections=function(){var state={}; -var self=this; -SimileAjax.History.addLengthyAction(function(){state.restrictions=self.clearAllRestrictions(); -},function(){self.applyRestrictions(state.restrictions); -},String.substitute(Exhibit.FacetUtilities.l10n["facetClearSelectionsActionTitle"],[this._settings.facetLabel])); -}; -Exhibit.CloudFacet.prototype._buildMaps=function(){if(!("_itemToValue" in this)){var itemToValue={}; -var valueToItem={}; -var missingItems={}; -var valueType="text"; -var insert=function(x,y,map){if(x in map){map[x].push(y); -}else{map[x]=[y]; -}}; -var expression=this._expression; -var database=this._uiContext.getDatabase(); -this._uiContext.getCollection().getAllItems().visit(function(item){var results=expression.evaluateOnItem(item,database); -if(results.values.size()>0){valueType=results.valueType; -results.values.visit(function(value){insert(item,value,itemToValue); -insert(value,item,valueToItem); -}); -}else{missingItems[item]=true; -}}); -this._itemToValue=itemToValue; -this._valueToItem=valueToItem; -this._missingItems=missingItems; -this._valueType=valueType; -}}; - - -/* hierarchical-facet.js */ -Exhibit.HierarchicalFacet=function(containerElmt,uiContext){this._div=containerElmt; -this._uiContext=uiContext; -this._colorCoder=null; -this._expression=null; -this._uniformGroupingExpression=null; -this._selections=[]; -this._expanded={}; -this._settings={}; -this._dom=null; -var self=this; -this._listener={onRootItemsChanged:function(){if("_cache" in self){delete self._cache; -}}}; -uiContext.getCollection().addListener(this._listener); -}; -Exhibit.HierarchicalFacet._settingSpecs={"facetLabel":{type:"text"},"fixedOrder":{type:"text"},"sortMode":{type:"text",defaultValue:"value"},"sortDirection":{type:"text",defaultValue:"forward"},"othersLabel":{type:"text"},"scroll":{type:"boolean",defaultValue:true},"height":{type:"text"},"colorCoder":{type:"text",defaultValue:null},"collapsible":{type:"boolean",defaultValue:false},"collapsed":{type:"boolean",defaultValue:false}}; -Exhibit.HierarchicalFacet.create=function(configuration,containerElmt,uiContext){var uiContext=Exhibit.UIContext.create(configuration,uiContext); -var facet=new Exhibit.HierarchicalFacet(containerElmt,uiContext); -Exhibit.HierarchicalFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.HierarchicalFacet.createFromDOM=function(configElmt,containerElmt,uiContext){var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var uiContext=Exhibit.UIContext.createFromDOM(configElmt,uiContext); -var facet=new Exhibit.HierarchicalFacet(containerElmt!=null?containerElmt:configElmt,uiContext); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.HierarchicalFacet._settingSpecs,facet._settings); -try{var expressionString=Exhibit.getAttribute(configElmt,"expression"); -if(expressionString!=null&&expressionString.length>0){facet._expression=Exhibit.ExpressionParser.parse(expressionString); -}var uniformGroupingString=Exhibit.getAttribute(configElmt,"uniformGrouping"); -if(uniformGroupingString!=null&&uniformGroupingString.length>0){facet._uniformGroupingExpression=Exhibit.ExpressionParser.parse(uniformGroupingString); -}var selection=Exhibit.getAttribute(configElmt,"selection",";"); -if(selection!=null&&selection.length>0){for(var i=0,s; -s=selection[i]; -i++){facet._selections=facet._internalAddSelection({value:s,selectOthers:false}); -}}}catch(e){SimileAjax.Debug.exception(e,"HierarchicalFacet: Error processing configuration of hierarchical facet"); -}Exhibit.HierarchicalFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.HierarchicalFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.HierarchicalFacet._settingSpecs,facet._settings); -if("expression" in configuration){facet._expression=Exhibit.ExpressionParser.parse(configuration.expression); -}if("uniformGrouping" in configuration){facet._uniformGroupingExpression=Exhibit.ExpressionParser.parse(configuration.uniformGrouping); -}if("selection" in configuration){var selection=configuration.selection; -for(var i=0; -i0; -}; -Exhibit.HierarchicalFacet.prototype.clearAllRestrictions=function(){var selections=this._selections; -this._selections=[]; -if(selections.length>0){this._notifyCollection(); -}return selections; -}; -Exhibit.HierarchicalFacet.prototype.applyRestrictions=function(restrictions){this._selections=[].concat(restrictions); -this._notifyCollection(); -}; -Exhibit.HierarchicalFacet.prototype.setSelection=function(value,selected){var selection={value:value,selectOthers:false}; -if(selected){this._selections=this._internalAddSelection(selection); -}else{this._selections=this._internalRemoveSelection(selection); -}this._notifyCollection(); -}; -Exhibit.HierarchicalFacet.prototype.setselectOthers=function(value,selected){var selection={value:value,selectOthers:true}; -if(selected){this._selections=this._internalAddSelection(selection); -}else{this._selections=this._internalRemoveSelection(selection); -}this._notifyCollection(); -}; -Exhibit.HierarchicalFacet.prototype.restrict=function(items){if(this._selections.length==0){return items; -}this._buildCache(); -var set=new Exhibit.Set(); -var includeNode=function(node){if("children" in node){includeChildNodes(node.children); -Exhibit.Set.createIntersection(node.others,items,set); -}else{Exhibit.Set.createIntersection(node.items,items,set); -}}; -var includeChildNodes=function(childNodes){for(var i=0; -i0){var othersSelected=(node.value in selectionMap&&selectionMap[node.value]); -var subset=Exhibit.Set.createIntersection(items,node.others); -if(subset.size()>0||othersSelected){resultNode.children.push({value:node.value,label:othersLabel,count:subset.size(),selected:othersSelected,areOthers:true}); -superset2.addSet(subset); -}}resultNode.count=superset2.size(); -if(selected||resultNode.count>0||resultNode.children.length>0){resultNodes.push(resultNode); -if(superset!=null&&superset2.size()>0){superset.addSet(superset2); -}}}else{var subset=Exhibit.Set.createIntersection(items,node.items); -if(subset.size()>0||selected){resultNodes.push({value:node.value,label:node.label,count:subset.size(),selected:selected,areOthers:false}); -if(superset!=null&&subset.size()>0){superset.addSet(subset); -}}}}; -var nodes=[]; -processNode(this._cache.tree,nodes,null); -return nodes[0]; -}; -Exhibit.HierarchicalFacet.prototype._getValueSorter=function(){var sortValueFunction=function(a,b){return a.label.localeCompare(b.label); -}; -if("_orderMap" in this){var orderMap=this._orderMap; -sortValueFunction=function(a,b){if(a.label in orderMap){if(b.label in orderMap){return orderMap[a.label]-orderMap[b.label]; -}else{return -1; -}}else{if(b.label in orderMap){return 1; -}else{return a.label.localeCompare(b.label); -}}}; -}else{if(this._cache.valueType=="number"){sortValueFunction=function(a,b){a=parseFloat(a.value); -b=parseFloat(b.value); -return ab?1:0; -}; -}}var sortFunction=sortValueFunction; -if(this._settings.sortMode=="count"){sortFunction=function(a,b){var c=b.count-a.count; -return c!=0?c:sortValueFunction(a,b); -}; -}var sortDirectionFunction=sortFunction; -if(this._settings.sortDirection=="reverse"){sortDirectionFunction=function(a,b){return sortFunction(b,a); -}; -}return sortDirectionFunction; -}; -Exhibit.HierarchicalFacet.prototype._notifyCollection=function(){this._uiContext.getCollection().onFacetUpdated(this); -}; -Exhibit.HierarchicalFacet.prototype._initializeUI=function(){var self=this; -this._dom=Exhibit.FacetUtilities[this._settings.scroll?"constructFacetFrame":"constructFlowingFacetFrame"](this,this._div,this._settings.facetLabel,function(elmt,evt,target){self._clearSelections(); -},this._uiContext,this._settings.collapsible,this._settings.collapsed); -if("height" in this._settings&&this._settings.scroll){this._dom.valuesContainer.style.height=this._settings.height; -}}; -Exhibit.HierarchicalFacet.prototype._constructBody=function(tree){var self=this; -var containerDiv=this._dom.valuesContainer; -containerDiv.style.display="none"; -var constructFacetItemFunction=Exhibit.FacetUtilities[this._settings.scroll?"constructHierarchicalFacetItem":"constructFlowingHierarchicalFacetItem"]; -var facetHasSelection=this._selections.length>0; -var processNode=function(node,div){var hasChildren=("children" in node); -var onSelect=function(elmt,evt,target){self._filter(node.value,node.areOthers,node.label,node.selected,false); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var onSelectOnly=function(elmt,evt,target){self._filter(node.value,node.areOthers,node.label,node.selected,!(evt.ctrlKey||evt.metaKey)); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var onToggleChildren=function(elmt,evt,target){var show; -if(node.value in self._expanded){delete self._expanded[node.value]; -show=false; -}else{self._expanded[node.value]=true; -show=true; -}dom.showChildren(show); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var dom=constructFacetItemFunction(node.label,node.count,(self._colorCoder!=null)?self._colorCoder.translate(node.value):null,node.selected,hasChildren,(node.value in self._expanded),facetHasSelection,onSelect,onSelectOnly,onToggleChildren,self._uiContext); -div.appendChild(dom.elmt); -if(hasChildren){processChildNodes(node.children,dom.childrenContainer); -}}; -var processChildNodes=function(childNodes,div){for(var i=0; -i0){valueType=results.valueType; -results.values.visit(function(value){values.add(value); -insert(value,item,valueToItem); -}); -}else{tree.others.add(item); -}}); -var groupingExpression=this._uniformGroupingExpression; -var rootValues=new Exhibit.Set(); -var getParentChildRelationships=function(valueSet){var newValueSet=new Exhibit.Set(); -valueSet.visit(function(value){var results=groupingExpression.evaluateOnItem(value,database); -if(results.values.size()>0){results.values.visit(function(parentValue){insert(value,parentValue,valueToParent); -insert(parentValue,value,valueToChildren); -if(!valueSet.contains(parentValue)){newValueSet.add(parentValue); -}return true; -}); -}else{rootValues.add(value); -}}); -if(newValueSet.size()>0){getParentChildRelationships(newValueSet); -}}; -getParentChildRelationships(values); -var processValue=function(value,nodes,valueSet,path){var label=database.getObject(value,"label"); -var node={value:value,label:label!=null?label:value}; -nodes.push(node); -valueToPath[value]=path; -if(value in valueToChildren){node.children=[]; -var valueSet2=new Exhibit.Set(); -var childrenValue=valueToChildren[value]; -for(var i=0; -i0){facet._expression=Exhibit.ExpressionParser.parse(expressionString); -}var imageString=Exhibit.getAttribute(configElmt,"image"); -if(imageString!=null&&imageString.length>0){facet._imageExpression=Exhibit.ExpressionParser.parse(imageString); -}var tooltipString=Exhibit.getAttribute(configElmt,"tooltip"); -if(tooltipString!=null&&tooltipString.length>0){facet._tooltipExpression=Exhibit.ExpressionParser.parse(tooltipString); -}var selection=Exhibit.getAttribute(configElmt,"selection",";"); -if(selection!=null&&selection.length>0){for(var i=0,s; -s=selection[i]; -i++){facet._valueSet.add(s); -}}var selectMissing=Exhibit.getAttribute(configElmt,"selectMissing"); -if(selectMissing!=null&&selectMissing.length>0){facet._selectMissing=(selectMissing=="true"); -}}catch(e){SimileAjax.Debug.exception(e,"ImageFacet: Error processing configuration of list facet"); -}Exhibit.ImageFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.ImageFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.ImageFacet._settingSpecs,facet._settings); -if("expression" in configuration){facet._expression=Exhibit.ExpressionParser.parse(configuration.expression); -}if("image" in configuration){facet._imageExpression=Exhibit.ExpressionParser.parse(configuration.image); -}if("tooltip" in configuration){facet._tooltipExpression=Exhibit.ExpressionParser.parse(configuration.tooltip); -}if(!(facet._imageExpression)){facet._imageExpression=Exhibit.ExpressionParser.parse("value"); -}if(!(facet._tooltipExpression)){facet._tooltipExpression=Exhibit.ExpressionParser.parse("value"); -}if("selection" in configuration){var selection=configuration.selection; -for(var i=0; -i0||this._selectMissing; -}; -Exhibit.ImageFacet.prototype.clearAllRestrictions=function(){var restrictions={selection:[],selectMissing:false}; -if(this.hasRestrictions()){this._valueSet.visit(function(v){restrictions.selection.push(v); -}); -this._valueSet=new Exhibit.Set(); -restrictions.selectMissing=this._selectMissing; -this._selectMissing=false; -this._notifyCollection(); -}return restrictions; -}; -Exhibit.ImageFacet.prototype.applyRestrictions=function(restrictions){this._valueSet=new Exhibit.Set(); -for(var i=0; -i0){var selection=this._valueSet; -var labeler=valueType=="item"?function(v){var l=database.getObject(v,"label"); -return l!=null?l:v; -}:function(v){return v; -}; -for(var i=0; -i0||this._selectMissing; -var constructValue=function(entry){var onSelectOnly=function(elmt,evt,target){self._filter(entry.value,entry.actionLabel,!(evt.ctrlKey||evt.metaKey)); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var elmt=document.createElement("span"); -var wrapper=document.createElement("div"); -wrapper.className="wrapper"; -var image=document.createElement("img"); -image.src=entry.image; -wrapper.appendChild(image); -if(shouldOverlayCounts==true){var countDiv=document.createElement("div"); -countDiv.className="countDiv"; -var countBackground=document.createElement("div"); -countBackground.className="countBackground"; -countDiv.appendChild(countBackground); -var innerCount=document.createElement("div"); -innerCount.className="text"; -innerCount.innerHTML=entry.count; -countDiv.appendChild(innerCount); -wrapper.appendChild(countDiv); -}elmt.appendChild(wrapper); -elmt.className=entry.selected?"inline-block exhibit-imageFacet-value exhibit-imageFacet-value-selected":"inline-block exhibit-imageFacet-value"; -elmt.title=entry.count+" "+entry.tooltip; -SimileAjax.WindowManager.registerEvent(elmt,"click",onSelectOnly,SimileAjax.WindowManager.getBaseLayer()); -containerDiv.appendChild(elmt); -}; -for(var j=0; -j1||oldSelectMissing){newValues.add(value); -}}}else{newSelectMissing=oldSelectMissing; -newValues=new Exhibit.Set(oldValues); -if(newValues.contains(value)){newValues.remove(value); -}else{newValues.add(value); -}}}var newRestrictions={selection:newValues.toArray(),selectMissing:newSelectMissing}; -var oldRestrictions={selection:oldValues.toArray(),selectMissing:oldSelectMissing}; -SimileAjax.History.addLengthyAction(function(){self.applyRestrictions(newRestrictions); -},function(){self.applyRestrictions(oldRestrictions); -},(selectOnly&&!wasOnlyThingSelected)?String.substitute(Exhibit.FacetUtilities.l10n["facetSelectOnlyActionTitle"],[label,this._settings.facetLabel]):String.substitute(Exhibit.FacetUtilities.l10n[wasSelected?"facetUnselectActionTitle":"facetSelectActionTitle"],[label,this._settings.facetLabel])); -}; -Exhibit.ImageFacet.prototype._clearSelections=function(){var state={}; -var self=this; -SimileAjax.History.addLengthyAction(function(){state.restrictions=self.clearAllRestrictions(); -},function(){self.applyRestrictions(state.restrictions); -},String.substitute(Exhibit.FacetUtilities.l10n["facetClearSelectionsActionTitle"],[this._settings.facetLabel])); -}; -Exhibit.ImageFacet.prototype._createSortFunction=function(valueType){var sortValueFunction=function(a,b){return a.selectionLabel.localeCompare(b.selectionLabel); -}; -if("_orderMap" in this){var orderMap=this._orderMap; -sortValueFunction=function(a,b){if(a.selectionLabel in orderMap){if(b.selectionLabel in orderMap){return orderMap[a.selectionLabel]-orderMap[b.selectionLabel]; -}else{return -1; -}}else{if(b.selectionLabel in orderMap){return 1; -}else{return a.selectionLabel.localeCompare(b.selectionLabel); -}}}; -}else{if(valueType=="number"){sortValueFunction=function(a,b){a=parseFloat(a.value); -b=parseFloat(b.value); -return ab?1:0; -}; -}}var sortFunction=sortValueFunction; -if(this._settings.sortMode=="count"){sortFunction=function(a,b){var c=b.count-a.count; -return c!=0?c:sortValueFunction(a,b); -}; -}var sortDirectionFunction=sortFunction; -if(this._settings.sortDirection=="reverse"){sortDirectionFunction=function(a,b){return sortFunction(b,a); -}; -}return sortDirectionFunction; -}; - - -/* list-facet.js */ -Exhibit.ListFacet=function(containerElmt,uiContext){this._div=containerElmt; -this._uiContext=uiContext; -this._colorCoder=null; -this._expression=null; -this._valueSet=new Exhibit.Set(); -this._selectMissing=false; -this._delayedUpdateItems=null; -this._settings={}; -this._dom=null; -}; -Exhibit.ListFacet._settingSpecs={"facetLabel":{type:"text"},"fixedOrder":{type:"text"},"sortMode":{type:"text",defaultValue:"value"},"sortDirection":{type:"text",defaultValue:"forward"},"showMissing":{type:"boolean",defaultValue:true},"missingLabel":{type:"text"},"scroll":{type:"boolean",defaultValue:true},"height":{type:"text"},"colorCoder":{type:"text",defaultValue:null},"collapsible":{type:"boolean",defaultValue:false},"collapsed":{type:"boolean",defaultValue:false},"formatter":{type:"text",defaultValue:null}}; -Exhibit.ListFacet.create=function(configuration,containerElmt,uiContext){var uiContext=Exhibit.UIContext.create(configuration,uiContext); -var facet=new Exhibit.ListFacet(containerElmt,uiContext); -Exhibit.ListFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.ListFacet.createFromDOM=function(configElmt,containerElmt,uiContext){var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var uiContext=Exhibit.UIContext.createFromDOM(configElmt,uiContext); -var facet=new Exhibit.ListFacet(containerElmt!=null?containerElmt:configElmt,uiContext); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.ListFacet._settingSpecs,facet._settings); -try{var expressionString=Exhibit.getAttribute(configElmt,"expression"); -if(expressionString!=null&&expressionString.length>0){facet._expression=Exhibit.ExpressionParser.parse(expressionString); -}var selection=Exhibit.getAttribute(configElmt,"selection",";"); -if(selection!=null&&selection.length>0){for(var i=0,s; -s=selection[i]; -i++){facet._valueSet.add(s); -}}var selectMissing=Exhibit.getAttribute(configElmt,"selectMissing"); -if(selectMissing!=null&&selectMissing.length>0){facet._selectMissing=(selectMissing=="true"); -}}catch(e){SimileAjax.Debug.exception(e,"ListFacet: Error processing configuration of list facet"); -}Exhibit.ListFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.ListFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.ListFacet._settingSpecs,facet._settings); -if("expression" in configuration){facet._expression=Exhibit.ExpressionParser.parse(configuration.expression); -}if("selection" in configuration){var selection=configuration.selection; -for(var i=0; -i0){try{facet._formatter=eval(formatter); -}catch(e){SimileAjax.Debug.log(e); -}}}facet._cache=new Exhibit.FacetUtilities.Cache(facet._uiContext.getDatabase(),facet._uiContext.getCollection(),facet._expression); -}; -Exhibit.ListFacet.prototype.dispose=function(){this._cache.dispose(); -this._cache=null; -this._uiContext.getCollection().removeFacet(this); -this._uiContext=null; -this._colorCoder=null; -this._div.innerHTML=""; -this._div=null; -this._dom=null; -this._expression=null; -this._valueSet=null; -this._settings=null; -}; -Exhibit.ListFacet.prototype.hasRestrictions=function(){return this._valueSet.size()>0||this._selectMissing; -}; -Exhibit.ListFacet.prototype.clearAllRestrictions=function(){var restrictions={selection:[],selectMissing:false}; -if(this.hasRestrictions()){this._valueSet.visit(function(v){restrictions.selection.push(v); -}); -this._valueSet=new Exhibit.Set(); -restrictions.selectMissing=this._selectMissing; -this._selectMissing=false; -this._notifyCollection(); -}return restrictions; -}; -Exhibit.ListFacet.prototype.applyRestrictions=function(restrictions){this._valueSet=new Exhibit.Set(); -for(var i=0; -i0){var selection=this._valueSet; -var labeler=valueType=="item"?function(v){var l=database.getObject(v,"label"); -return l!=null?l:v; -}:function(v){return v; -}; -for(var i=0; -i0||this._selectMissing){var span=document.createElement("span"); -span.innerHTML=("missingLabel" in this._settings)?this._settings.missingLabel:Exhibit.FacetUtilities.l10n.missingThisField; -span.className="exhibit-facet-value-missingThisField"; -entries.unshift({value:null,count:count,selected:this._selectMissing,selectionLabel:span,actionLabel:Exhibit.FacetUtilities.l10n.missingThisField}); -}}return entries; -}; -Exhibit.ListFacet.prototype._notifyCollection=function(){this._uiContext.getCollection().onFacetUpdated(this); -}; -Exhibit.ListFacet.prototype._initializeUI=function(){var self=this; -this._dom=Exhibit.FacetUtilities[this._settings.scroll?"constructFacetFrame":"constructFlowingFacetFrame"](this,this._div,this._settings.facetLabel,function(elmt,evt,target){self._clearSelections(); -},this._uiContext,this._settings.collapsible,this._settings.collapsed); -if("height" in this._settings&&this._settings.scroll){this._dom.valuesContainer.style.height=this._settings.height; -}}; -Exhibit.ListFacet.prototype._constructBody=function(entries){var self=this; -var containerDiv=this._dom.valuesContainer; -containerDiv.style.display="none"; -var constructFacetItemFunction=Exhibit.FacetUtilities[this._settings.scroll?"constructFacetItem":"constructFlowingFacetItem"]; -var facetHasSelection=this._valueSet.size()>0||this._selectMissing; -var constructValue=function(entry){var onSelect=function(elmt,evt,target){self._filter(entry.value,entry.actionLabel,false); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var onSelectOnly=function(elmt,evt,target){self._filter(entry.value,entry.actionLabel,!(evt.ctrlKey||evt.metaKey)); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var elmt=constructFacetItemFunction(entry.selectionLabel,entry.count,(self._colorCoder!=null)?self._colorCoder.translate(entry.value):null,entry.selected,facetHasSelection,onSelect,onSelectOnly,self._uiContext); -if(self._formatter){self._formatter(elmt); -}containerDiv.appendChild(elmt); -}; -for(var j=0; -j1||oldSelectMissing){newValues.add(value); -}}}else{newSelectMissing=oldSelectMissing; -newValues=new Exhibit.Set(oldValues); -if(newValues.contains(value)){newValues.remove(value); -}else{newValues.add(value); -}}}var newRestrictions={selection:newValues.toArray(),selectMissing:newSelectMissing}; -var oldRestrictions={selection:oldValues.toArray(),selectMissing:oldSelectMissing}; -SimileAjax.History.addLengthyAction(function(){self.applyRestrictions(newRestrictions); -},function(){self.applyRestrictions(oldRestrictions); -},(selectOnly&&!wasOnlyThingSelected)?String.substitute(Exhibit.FacetUtilities.l10n["facetSelectOnlyActionTitle"],[label,this._settings.facetLabel]):String.substitute(Exhibit.FacetUtilities.l10n[wasSelected?"facetUnselectActionTitle":"facetSelectActionTitle"],[label,this._settings.facetLabel])); -}; -Exhibit.ListFacet.prototype._clearSelections=function(){var state={}; -var self=this; -SimileAjax.History.addLengthyAction(function(){state.restrictions=self.clearAllRestrictions(); -},function(){self.applyRestrictions(state.restrictions); -},String.substitute(Exhibit.FacetUtilities.l10n["facetClearSelectionsActionTitle"],[this._settings.facetLabel])); -}; -Exhibit.ListFacet.prototype._createSortFunction=function(valueType){var sortValueFunction=function(a,b){return a.selectionLabel.localeCompare(b.selectionLabel); -}; -if("_orderMap" in this){var orderMap=this._orderMap; -sortValueFunction=function(a,b){if(a.selectionLabel in orderMap){if(b.selectionLabel in orderMap){return orderMap[a.selectionLabel]-orderMap[b.selectionLabel]; -}else{return -1; -}}else{if(b.selectionLabel in orderMap){return 1; -}else{return a.selectionLabel.localeCompare(b.selectionLabel); -}}}; -}else{if(valueType=="number"){sortValueFunction=function(a,b){a=parseFloat(a.value); -b=parseFloat(b.value); -return ab?1:0; -}; -}}var sortFunction=sortValueFunction; -if(this._settings.sortMode=="count"){sortFunction=function(a,b){var c=b.count-a.count; -return c!=0?c:sortValueFunction(a,b); -}; -}var sortDirectionFunction=sortFunction; -if(this._settings.sortDirection=="reverse"){sortDirectionFunction=function(a,b){return sortFunction(b,a); -}; -}return sortDirectionFunction; -}; -Exhibit.ListFacet.prototype.exportFacetSelection=function(){var s=[]; -this._valueSet.visit(function(v){s.push(v); -}); -if(s.length>0){return s.join(","); -}}; -Exhibit.ListFacet.prototype.importFacetSelection=function(settings){var self=this; -self.applyRestrictions({selection:settings.split(","),selectMissing:self._selectMissing}); -}; - - -/* numeric-range-facet.js */ -Exhibit.NumericRangeFacet=function(containerElmt,uiContext){this._div=containerElmt; -this._uiContext=uiContext; -this._expression=null; -this._settings={}; -this._dom=null; -this._ranges=[]; -var self=this; -this._listener={onRootItemsChanged:function(){if("_rangeIndex" in self){delete self._rangeIndex; -}}}; -uiContext.getCollection().addListener(this._listener); -}; -Exhibit.NumericRangeFacet._settingSpecs={"facetLabel":{type:"text"},"scroll":{type:"boolean",defaultValue:true},"height":{type:"text"},"interval":{type:"float",defaultValue:10},"collapsible":{type:"boolean",defaultValue:false},"collapsed":{type:"boolean",defaultValue:false}}; -Exhibit.NumericRangeFacet.create=function(configuration,containerElmt,uiContext){var uiContext=Exhibit.UIContext.create(configuration,uiContext); -var facet=new Exhibit.NumericRangeFacet(containerElmt,uiContext); -Exhibit.NumericRangeFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.NumericRangeFacet.createFromDOM=function(configElmt,containerElmt,uiContext){var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var uiContext=Exhibit.UIContext.createFromDOM(configElmt,uiContext); -var facet=new Exhibit.NumericRangeFacet(containerElmt!=null?containerElmt:configElmt,uiContext); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.NumericRangeFacet._settingSpecs,facet._settings); -try{var expressionString=Exhibit.getAttribute(configElmt,"expression"); -if(expressionString!=null&&expressionString.length>0){facet._expression=Exhibit.ExpressionParser.parse(expressionString); -}}catch(e){SimileAjax.Debug.exception(e,"NumericRangeFacet: Error processing configuration of numeric range facet"); -}Exhibit.NumericRangeFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.NumericRangeFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.NumericRangeFacet._settingSpecs,facet._settings); -if("expression" in configuration){facet._expression=Exhibit.ExpressionParser.parse(configuration.expression); -}if(!("facetLabel" in facet._settings)){facet._settings.facetLabel="missing ex:facetLabel"; -if(facet._expression!=null&&facet._expression.isPath()){var segment=facet._expression.getPath().getLastSegment(); -var property=facet._uiContext.getDatabase().getProperty(segment.property); -if(property!=null){facet._settings.facetLabel=segment.forward?property.getLabel():property.getReverseLabel(); -}}}if(facet._settings.collapsed){facet._settings.collapsible=true; -}}; -Exhibit.NumericRangeFacet.prototype.dispose=function(){this._uiContext.getCollection().removeFacet(this); -this._uiContext.getCollection().removeListener(this._listener); -this._uiContext=null; -this._div.innerHTML=""; -this._div=null; -this._dom=null; -this._expression=null; -this._settings=null; -this._ranges=null; -}; -Exhibit.NumericRangeFacet.prototype.hasRestrictions=function(){return this._ranges.length>0; -}; -Exhibit.NumericRangeFacet.prototype.clearAllRestrictions=function(){var restrictions=[]; -if(this._ranges.length>0){restrictions=restrictions.concat(this._ranges); -this._ranges=[]; -this._notifyCollection(); -}return restrictions; -}; -Exhibit.NumericRangeFacet.prototype.applyRestrictions=function(restrictions){this._ranges=restrictions; -this._notifyCollection(); -}; -Exhibit.NumericRangeFacet.prototype.setRange=function(from,to,selected){if(selected){for(var i=0; -i0; -var containerDiv=this._dom.valuesContainer; -containerDiv.style.display="none"; -var constructFacetItemFunction=Exhibit.FacetUtilities[this._settings.scroll?"constructFacetItem":"constructFlowingFacetItem"]; -var makeFacetValue=function(from,to,count,selected){var onSelect=function(elmt,evt,target){self._toggleRange(from,to,selected,false); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var onSelectOnly=function(elmt,evt,target){self._toggleRange(from,to,selected,!(evt.ctrlKey||evt.metaKey)); -SimileAjax.DOM.cancelEvent(evt); -return false; -}; -var elmt=constructFacetItemFunction(from+" - "+to,count,null,selected,facetHasSelection,onSelect,onSelectOnly,self._uiContext); -containerDiv.appendChild(elmt); -}; -for(var i=0; -i0){makeFacetValue(range.from,range.to,range.count,range.selected); -}}containerDiv.style.display="block"; -this._dom.setSelectionCount(this._ranges.length); -}; -Exhibit.NumericRangeFacet.prototype._notifyCollection=function(){this._uiContext.getCollection().onFacetUpdated(this); -}; -Exhibit.NumericRangeFacet.prototype._initializeUI=function(){var self=this; -this._dom=Exhibit.FacetUtilities[this._settings.scroll?"constructFacetFrame":"constructFlowingFacetFrame"](this,this._div,this._settings.facetLabel,function(elmt,evt,target){self._clearSelections(); -},this._uiContext,this._settings.collapsible,this._settings.collapsed); -if("height" in this._settings){this._dom.valuesContainer.style.height=this._settings.height; -}}; -Exhibit.NumericRangeFacet.prototype._toggleRange=function(from,to,wasSelected,singleSelection){var self=this; -var label=from+" to "+to; -var wasOnlyThingSelected=(this._ranges.length==1&&wasSelected); -if(singleSelection&&!wasOnlyThingSelected){var newRestrictions=[{from:from,to:to}]; -var oldRestrictions=[].concat(this._ranges); -SimileAjax.History.addLengthyAction(function(){self.applyRestrictions(newRestrictions); -},function(){self.applyRestrictions(oldRestrictions); -},String.substitute(Exhibit.FacetUtilities.l10n["facetSelectOnlyActionTitle"],[label,this._settings.facetLabel])); -}else{SimileAjax.History.addLengthyAction(function(){self.setRange(from,to,!wasSelected); -},function(){self.setRange(from,to,wasSelected); -},String.substitute(Exhibit.FacetUtilities.l10n[wasSelected?"facetUnselectActionTitle":"facetSelectActionTitle"],[label,this._settings.facetLabel])); -}}; -Exhibit.NumericRangeFacet.prototype._clearSelections=function(){var state={}; -var self=this; -SimileAjax.History.addLengthyAction(function(){state.restrictions=self.clearAllRestrictions(); -},function(){self.applyRestrictions(state.restrictions); -},String.substitute(Exhibit.FacetUtilities.l10n["facetClearSelectionsActionTitle"],[this._settings.facetLabel])); -}; -Exhibit.NumericRangeFacet.prototype._buildRangeIndex=function(){if(!("_rangeIndex" in this)){var expression=this._expression; -var database=this._uiContext.getDatabase(); -var getter=function(item,f){expression.evaluateOnItem(item,database).values.visit(function(value){if(typeof value!="number"){value=parseFloat(value); -}if(!isNaN(value)){f(value); -}}); -}; -this._rangeIndex=new Exhibit.Database._RangeIndex(this._uiContext.getCollection().getAllItems(),getter); -}}; - - -/* slider-facet.js */ -Exhibit.SliderFacet=function(containerElmt,uiContext){this._div=containerElmt; -this._uiContext=uiContext; -this._expression=null; -this._settings={}; -this._selection={min:null,max:null}; -this._range={min:null,max:null}; -this._maxRange={min:null,max:null}; -}; -Exhibit.SliderFacet._settingsSpecs={"facetLabel":{type:"text"},"scroll":{type:"boolean",defaultValue:true},"height":{type:"text"},"precision":{type:"float",defaultValue:1},"histogram":{type:"boolean",defaultValue:true},"height":{type:"int",defaultValue:false},"width":{type:"int",defaultValue:false},"horizontal":{type:"boolean",defaultValue:true},"inputText":{type:"boolean",defaultValue:true},"showMissing":{type:"boolean",defaultValue:true}}; -Exhibit.SliderFacet.create=function(configuration,containerElmt,uiContext){var uiContext=Exhibit.UIContext.create(configuration,uiContext); -var facet=new Exhibit.SliderFacet(containerElmt,uiContext); -Exhibit.SliderFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.SliderFacet.createFromDOM=function(configElmt,containerElmt,uiContext){var configuration=Exhibit.getConfigurationFromDOM(configElmt); -var uiContext=Exhibit.UIContext.createFromDOM(configElmt,uiContext); -var facet=new Exhibit.SliderFacet(containerElmt!=null?containerElmt:configElmt,uiContext); -Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.SliderFacet._settingsSpecs,facet._settings); -try{var expressionString=Exhibit.getAttribute(configElmt,"expression"); -if(expressionString!=null&&expressionString.length>0){facet._expression=Exhibit.ExpressionParser.parse(expressionString); -}var showMissing=Exhibit.getAttribute(configElmt,"showMissing"); -if(showMissing!=null&&showMissing.length>0){facet._showMissing=(showMissing=="true"); -}else{facet._showMissing=true; -}}catch(e){SimileAjax.Debug.exception(e,"SliderFacet: Error processing configuration of slider facet"); -}Exhibit.SliderFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.SliderFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.SliderFacet._settingsSpecs,facet._settings); -if("expression" in configuration){facet._expression=Exhibit.ExpressionParser.parse(configuration.expression); -}if("selection" in configuration){var selection=configuration.selection; -facet._selection={min:selection[0],max:selection[1]}; -}if("showMissing" in configuration){facet._showMissing=configuration.showMissing; -}if(!("facetLabel" in facet._settings)){facet._settings.facetLabel="missing ex:facetLabel"; -if(facet._expression!=null&&facet._expression.isPath()){var segment=facet._expression.getPath().getLastSegment(); -var property=facet._uiContext.getDatabase().getProperty(segment.property); -if(property!=null){facet._settings.facetLabel=segment.forward?property.getLabel():property.getReverseLabel(); -}}}facet._cache=new Exhibit.FacetUtilities.Cache(facet._uiContext.getDatabase(),facet._uiContext.getCollection(),facet._expression); -facet._maxRange=facet._getMaxRange(); -}; -Exhibit.SliderFacet.prototype._initializeUI=function(){this._dom=SimileAjax.DOM.createDOMFromString(this._div,"
    "+this._settings.facetLabel+"
    "); -this._slider=new Exhibit.SliderFacet.slider(this._dom.slider,this,this._settings.precision,this._settings.horizontal); -}; -Exhibit.SliderFacet.prototype.hasRestrictions=function(){return(this._range.min&&this._range.min!=this._maxRange.min)||(this._range.max&&this._range.max!=this._maxRange.max); -}; -Exhibit.SliderFacet.prototype.update=function(items){if(this._settings.histogram){var data=[]; -var n=75; -var range=(this._maxRange.max-this._maxRange.min)/n; -var missingCount=0; -var database=this._uiContext.getDatabase(); -if(this._selectMissing){missingCount=this._cache.getItemsMissingValue(items).size(); -}if(this._expression.isPath()){var path=this._expression.getPath(); -for(var i=0; -i
    '+(this._facet._settings.histogram?'
    ':"")+'
    '+(this._facet._settings.inputText?' - ':' - ')+"
    "); -var horizontal=this._horizontal; -var histogram=this._dom.histogram; -if(horizontal&&histogram){this._dom.bar.style.height="14px"; -this._dom.bar.style.width="150px"; -}else{if(horizontal&&!histogram){this._dom.bar.style.height="1px"; -this._dom.bar.style.width="150px"; -}else{if(!horizontal&&histogram){this._dom.bar.style.height="150px"; -this._dom.bar.style.width="14px"; -}else{this._dom.bar.style.height="150px"; -this._dom.bar.style.width="1px"; -}}}if(this._facet._settings.height){this._dom.bar.style.height=this._facet._settings.height+"px"; -}if(this._facet._settings.width){this._dom.bar.style.width=this._facet._settings.width+"px"; -}if(histogram){this._dom.histogram.style.height=this._dom.bar.offsetHeight; -this._dom.histogram.style.width=this._dom.bar.offsetWidth; -}if(horizontal){this._scaleFactor=(this._maxRange.max-this._maxRange.min)/this._dom.bar.offsetWidth; -}else{this._scaleFactor=(this._maxRange.max-this._maxRange.min)/this._dom.bar.offsetHeight; -}this._slider1=new Exhibit.SliderFacet.slider.slider(this._dom.slider1,this); -this._slider2=new Exhibit.SliderFacet.slider.slider(this._dom.slider2,this); -this._setSlider(this._slider1,this._maxRange.min); -this._setSlider(this._slider2,this._maxRange.max); -this._registerDragging(); -if(this._facet._settings.inputText){this._registerInputs(); -}}; -Exhibit.SliderFacet.slider.prototype.resetSliders=function(){this._setSlider(this._slider1,this._maxRange.min); -this._setSlider(this._slider2,this._maxRange.max); -}; -Exhibit.SliderFacet.slider.prototype._setSlider=function(slider,value){if(value>this._maxRange.max){value=this._maxRange.max; -}else{if(valueother.value){value=other.value; -}this._setSlider(slider,value); -}; -Exhibit.SliderFacet.slider.prototype._setMax=function(value){var slider=this._slider1.value>this._slider2.value?this._slider1:this._slider2; -var other=(slider==this._slider1)?this._slider2:this._slider1; -value=parseFloat(value); -if(isNaN(value)){return ; -}if(valuemax){newLeft=max; -}slider.div.style.left=newLeft+"px"; -setTimeout(function(){var position=parseInt(slider.div.style.left)+slider.offset; -slider.value=parseFloat(Exhibit.Util.round(position*self._scaleFactor+self._maxRange.min,self._prec)); -self._setDisplays(slider); -},0); -}; -}; -var onDragV=function(e,slider){var origY=e.screenY; -var origTop=parseInt(slider.div.style.top); -var min=slider.min; -var max=slider.max; -return function(e){e=e||window.event; -var dy=e.screenY-origY; -var newTop=origTop+dy; -if(newTopmax){newTop=max; -}slider.div.style.top=newTop+"px"; -setTimeout(function(){var position=parseInt(slider.div.style.top)+slider.offset; -slider.value=parseFloat(Exhibit.Util.round(position*self._scaleFactor+self._maxRange.min,self._prec)); -self._setDisplays(slider); -},0); -}; -}; -var endDrag=function(slider,moveListener){return function(e){if(document.detachEvent){document.detachEvent("onmousemove",moveListener); -document.detachEvent("onmouseup",arguments.callee); -}else{document.removeEventListener("mousemove",moveListener,false); -document.removeEventListener("mouseup",arguments.callee,false); -}self._notifyFacet(); -}; -}; -var attachListeners=function(slider){if(document.attachEvent){slider.div.attachEvent("onmousedown",startDrag(slider)); -}else{slider.div.addEventListener("mousedown",startDrag(slider),false); -}}; -attachListeners(this._slider1); -attachListeners(this._slider2); -}; -Exhibit.SliderFacet.slider.prototype._notifyFacet=function(){var val1=this._slider1.value; -var val2=this._slider2.value; -this._facet.changeRange({min:Math.min(val1,val2),max:Math.max(val1,val2)}); -}; -Exhibit.SliderFacet.slider.prototype.updateHistogram=function(data){var n=data.length; -var histogram=this._dom.histogram; -var maxVal=Math.max.apply(Math,data); -if(!maxVal){return ; -}if(this._horizontal){var width=histogram.offsetWidth/n; -var maxHeight=histogram.offsetHeight; -var ratio=maxHeight/maxVal; -histogram.innerHTML=""; -for(var i=0; -i0){facet._expressions=Exhibit.ExpressionParser.parseSeveral(s); -}var query=Exhibit.getAttribute(configElmt,"query"); -if(query!=null&&query.length>0){facet._text=query; -}}catch(e){SimileAjax.Debug.exception(e,"TextSearchFacet: Error processing configuration of list facet"); -}Exhibit.TextSearchFacet._configure(facet,configuration); -facet._initializeUI(); -uiContext.getCollection().addFacet(facet); -return facet; -}; -Exhibit.TextSearchFacet._configure=function(facet,configuration){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.TextSearchFacet._settingSpecs,facet._settings); -if("expressions" in configuration){for(var i=0; -i0?text:null; -}else{this._dom.input.value=""; -}if(text!=this._text){this._text=text; -this._notifyCollection(); -}}; -Exhibit.TextSearchFacet.prototype.restrict=function(items){if(this._text==null){return items; -}else{this._buildMaps(); -var set=new Exhibit.Set(); -var itemToValue=this._itemToValue; -var text=this._text.toLowerCase(); -items.visit(function(item){if(item in itemToValue){var values=itemToValue[item]; -for(var v=0; -v=0){set.add(item); -break; -}}}}); -return set; -}}; -Exhibit.TextSearchFacet.prototype.update=function(items){}; -Exhibit.TextSearchFacet.prototype._notifyCollection=function(){this._uiContext.getCollection().onFacetUpdated(this); -}; -Exhibit.TextSearchFacet.prototype._initializeUI=function(){var self=this; -this._dom=Exhibit.TextSearchFacet.constructFacetFrame(this._div,this._settings.facetLabel); -if(this._text!=null){this._dom.input.value=this._text; -}SimileAjax.WindowManager.registerEvent(this._dom.input,"keyup",function(elmt,evt,target){self._onTextInputKeyUp(evt); -}); -}; -Exhibit.TextSearchFacet.constructFacetFrame=function(div,facetLabel){if(facetLabel!==""&&facetLabel!==null){return SimileAjax.DOM.createDOMFromString(div,"
    "+facetLabel+"
    "); -}else{return SimileAjax.DOM.createDOMFromString(div,"
    "); -}}; -Exhibit.TextSearchFacet.prototype._onTextInputKeyUp=function(evt){if(this._timerID!=null){window.clearTimeout(this._timerID); -}var self=this; -if(this._settings.requiresEnter==false){this._timerID=window.setTimeout(function(){self._onTimeout(); -},500); -}else{var newText=this._dom.input.value.trim(); -if(newText.length==0||evt.keyCode==13){this._timerID=window.setTimeout(function(){self._onTimeout(); -},0); -}}}; -Exhibit.TextSearchFacet.prototype._onTimeout=function(){this._timerID=null; -var newText=this._dom.input.value.trim(); -if(newText.length==0){newText=null; -}if(newText!=this._text){var self=this; -var oldText=this._text; -SimileAjax.History.addLengthyAction(function(){self.setText(newText); -},function(){self.setText(oldText); -},newText!=null?String.substitute(Exhibit.FacetUtilities.l10n["facetTextSearchActionTitle"],[newText]):Exhibit.FacetUtilities.l10n["facetClearTextSearchActionTitle"]); -}}; -Exhibit.TextSearchFacet.prototype._buildMaps=function(){if(!("_itemToValue" in this)){var itemToValue={}; -var allItems=this._uiContext.getCollection().getAllItems(); -var database=this._uiContext.getDatabase(); -if(this._expressions.length>0){var expressions=this._expressions; -allItems.visit(function(item){var values=[]; -for(var x=0; -x=0){x++; -}return x; -}; -this._index=skipSpaces(this._index); -if(this._index=0){this._token={type:Exhibit.FormatScanner.DELIMITER,value:c1,start:this._index,end:this._index+1}; -this._index++; -}else{if("\"'".indexOf(c1)>=0){var i=this._index+1; -while(i0){i+=j; -}else{if("-".indexOf(this._text.charAt(i))>=0){i++; -}else{break; -}}}var identifier=this._text.substring(this._index,i); -while(true){if(identifier=="url"){var openParen=skipSpaces(i); -if(this._text.charAt(openParen)=="("){var closeParen=this._text.indexOf(")",openParen); -if(closeParen>0){this._token={type:Exhibit.FormatScanner.URL,value:this._text.substring(openParen+1,closeParen),start:this._index,end:closeParen+1}; -this._index=closeParen+1; -break; -}else{throw new Error("Missing ) to close url at "+this._index); -}}}else{if(identifier=="expression"){var openParen=skipSpaces(i); -if(this._text.charAt(openParen)=="("){var o={}; -var expression=Exhibit.ExpressionParser.parse(this._text,openParen+1,o); -var closeParen=skipSpaces(o.index); -if(this._text.charAt(closeParen)==")"){this._token={type:Exhibit.FormatScanner.EXPRESSION,value:expression,start:this._index,end:closeParen+1}; -this._index=closeParen+1; -break; -}else{throw new Error("Missing ) to close expression at "+o.index); -}}}}this._token={type:Exhibit.FormatScanner.IDENTIFIER,value:identifier,start:this._index,end:i}; -this._index=i; -break; -}}}}}}}; -Exhibit.FormatScanner.prototype._isDigit=function(c){return"0123456789".indexOf(c)>=0; -}; -Exhibit.FormatScanner.prototype._isHexDigit=function(c){return"0123456789abcdefABCDEF".indexOf(c)>=0; -}; - - -/* formatter.js */ -Exhibit.Formatter=new Object(); -Exhibit.Formatter.createListDelimiter=function(parentElmt,count,uiContext){var separator=uiContext.getSetting("format/list/separator"); -var lastSeparator=uiContext.getSetting("format/list/last-separator"); -var pairSeparator=uiContext.getSetting("format/list/pair-separator"); -if(typeof separator!="string"){separator=Exhibit.Formatter.l10n.listSeparator; -}if(typeof lastSeparator!="string"){lastSeparator=Exhibit.Formatter.l10n.listLastSeparator; -}if(typeof pairSeparator!="string"){pairSeparator=Exhibit.Formatter.l10n.listPairSeparator; -}var f=function(){if(f.index>0&&f.index2){parentElmt.appendChild(document.createTextNode((f.index==count-1)?lastSeparator:separator)); -}else{parentElmt.appendChild(document.createTextNode(pairSeparator)); -}}f.index++; -}; -f.index=0; -return f; -}; -Exhibit.Formatter._lessThanRegex=//g; -Exhibit.Formatter.encodeAngleBrackets=function(s){return s.replace(Exhibit.Formatter._lessThanRegex,"<").replace(Exhibit.Formatter._greaterThanRegex,">"); -}; -Exhibit.Formatter._ListFormatter=function(uiContext){this._uiContext=uiContext; -this._separator=uiContext.getSetting("format/list/separator"); -this._lastSeparator=uiContext.getSetting("format/list/last-separator"); -this._pairSeparator=uiContext.getSetting("format/list/pair-separator"); -this._emptyText=uiContext.getSetting("format/list/empty-text"); -if(typeof this._separator!="string"){this._separator=Exhibit.Formatter.l10n.listSeparator; -}if(typeof this._lastSeparator!="string"){this._lastSeparator=Exhibit.Formatter.l10n.listLastSeparator; -}if(typeof this._pairSeparator!="string"){this._pairSeparator=Exhibit.Formatter.l10n.listPairSeparator; -}}; -Exhibit.Formatter._ListFormatter.prototype.formatList=function(values,count,valueType,appender){var uiContext=this._uiContext; -var self=this; -if(count==0){if(this._emptyText!=null&&this._emptyText.length>0){appender(document.createTextNode(this._emptyText)); -}}else{if(count==1){values.visit(function(v){uiContext.format(v,valueType,appender); -}); -}else{var index=0; -if(count==2){values.visit(function(v){uiContext.format(v,valueType,appender); -index++; -if(index==1){appender(document.createTextNode(self._pairSeparator)); -}}); -}else{values.visit(function(v){uiContext.format(v,valueType,appender); -index++; -if(index"+title+""); -var handler=function(elmt,evt,target){Exhibit.UI.showItemInPopup(value,elmt,self._uiContext); -}; -SimileAjax.WindowManager.registerEvent(a,"click",handler,this._uiContext.getSetting("layer")); -appender(a); -}; -Exhibit.Formatter._ItemFormatter.prototype.formatText=function(value){var database=this._uiContext.getDatabase(); -var title=null; -if(this._title==null){title=database.getObject(value,"label"); -}else{title=this._title.evaluateSingleOnItem(value,database).value; -}if(title==null){title=value; -}return title; -}; -Exhibit.Formatter._DateFormatter=function(uiContext){this._timeZone=uiContext.getSetting("format/date/time-zone"); -if(!(typeof this._timeZone=="number")){this._timeZone=-(new Date().getTimezoneOffset())/60; -}this._timeZoneOffset=this._timeZone*3600000; -var mode=uiContext.getSetting("format/date/mode"); -var show=uiContext.getSetting("format/date/show"); -var template=null; -switch(mode){case"short":template=show=="date"?Exhibit.Formatter.l10n.dateShortFormat:(show=="time"?Exhibit.Formatter.l10n.timeShortFormat:Exhibit.Formatter.l10n.dateTimeShortFormat); -break; -case"medium":template=show=="date"?Exhibit.Formatter.l10n.dateMediumFormat:(show=="time"?Exhibit.Formatter.l10n.timeMediumFormat:Exhibit.Formatter.l10n.dateTimeMediumFormat); -break; -case"long":template=show=="date"?Exhibit.Formatter.l10n.dateLongFormat:(show=="time"?Exhibit.Formatter.l10n.timeLongFormat:Exhibit.Formatter.l10n.dateTimeLongFormat); -break; -case"full":template=show=="date"?Exhibit.Formatter.l10n.dateFullFormat:(show=="time"?Exhibit.Formatter.l10n.timeFullFormat:Exhibit.Formatter.l10n.dateTimeFullFormat); -break; -default:template=uiContext.getSetting("format/date/template"); -}if(typeof template!="string"){template=Exhibit.Formatter.l10n.dateTimeDefaultFormat; -}var segments=[]; -var placeholders=template.match(/\b\w+\b/g); -var startIndex=0; -for(var p=0; -pstartIndex){segments.push(template.substring(startIndex,index)); -}var retriever=Exhibit.Formatter._DateFormatter._retrievers[placeholder]; -if(typeof retriever=="function"){segments.push(retriever); -}else{segments.push(placeholder); -}startIndex=index+placeholder.length; -}if(startIndex0?y.toString():(1-y); -},"G":function(date){var y=date.getUTCYear(); -return y>0?Exhibit.Formatter.l10n.commonEra:Exhibit.Formatter.l10n.beforeCommonEra; -},"HH":function(date){return Exhibit.Formatter._DateFormatter._pad(date.getUTCHours()); -},"hh":function(date){var h=date.getUTCHours(); -return Exhibit.Formatter._DateFormatter._pad(h==0?12:(h>12?h-12:h)); -},"h":function(date){var h=date.getUTCHours(); -return(h==0?12:(h>12?h-12:h)).toString(); -},"a":function(date){return date.getUTCHours()<12?Exhibit.Formatter.l10n.beforeNoon:Exhibit.Formatter.l10n.afterNoon; -},"A":function(date){return date.getUTCHours()<12?Exhibit.Formatter.l10n.BeforeNoon:Exhibit.Formatter.l10n.AfterNoon; -},"mm":function(date){return Exhibit.Formatter._DateFormatter._pad(date.getUTCMinutes()); -},"ss":function(date){return Exhibit.Formatter._DateFormatter._pad(date.getUTCSeconds()); -},"S":function(date){return Exhibit.Formatter._DateFormatter._pad3(date.getUTCMilliseconds()); -}}; -Exhibit.Formatter._constructors={"number":Exhibit.Formatter._NumberFormatter,"date":Exhibit.Formatter._DateFormatter,"text":Exhibit.Formatter._TextFormatter,"boolean":Exhibit.Formatter._BooleanFormatter,"image":Exhibit.Formatter._ImageFormatter,"url":Exhibit.Formatter._URLFormatter,"item":Exhibit.Formatter._ItemFormatter,"currency":Exhibit.Formatter._CurrencyFormatter}; - - -/* lens.js */ -Exhibit.LensRegistry=function(parentRegistry){this._parentRegistry=parentRegistry; -this._defaultLens=null; -this._typeToLens={}; -this._editLensTemplates={}; -this._submissionLensTemplates={}; -this._lensSelectors=[]; -}; -Exhibit.LensRegistry.prototype.registerDefaultLens=function(elmtOrURL){this._defaultLens=(typeof elmtOrURL=="string")?elmtOrURL:elmtOrURL.cloneNode(true); -}; -Exhibit.LensRegistry.prototype.registerLensForType=function(elmtOrURL,type){if(typeof elmtOrURL=="string"){this._typeToLens[type]=elmtOrURL; -}var role=Exhibit.getRoleAttribute(elmtOrURL); -if(role=="lens"){this._typeToLens[type]=elmtOrURL.cloneNode(true); -}else{if(role=="edit-lens"){this._editLensTemplates[type]=elmtOrURL.cloneNode(true); -}else{if(role=="submission-lens"){this._submissionLensTemplates[type]=elmtOrURL.cloneNode(true); -}else{SimileAjax.Debug.warn("Unknown lens type "+elmtOrURL); -}}}}; -Exhibit.LensRegistry.prototype.addLensSelector=function(lensSelector){this._lensSelectors.unshift(lensSelector); -}; -Exhibit.LensRegistry.prototype.getLens=function(itemID,uiContext){return uiContext.isBeingEdited(itemID)?this.getEditLens(itemID,uiContext):this.getNormalLens(itemID,uiContext); -}; -Exhibit.LensRegistry.prototype.getNormalLens=function(itemID,uiContext){var db=uiContext.getDatabase(); -for(var i=0; -i0){tdValues.appendChild(document.createTextNode(", ")); -}tdValues.appendChild(Exhibit.UI.makeItemSpan(pair.values[m],null,uiContext)); -}}else{for(var m=0; -m0){tdValues.appendChild(document.createTextNode(", ")); -}tdValues.appendChild(Exhibit.UI.makeValueSpan(pair.values[m],pair.valueType)); -}}}}; -Exhibit.Lens.prototype._constructDefaultEditingUI=function(itemID,div,uiContext){}; -Exhibit.Lens._compiledTemplates={}; -Exhibit.Lens._handlers=["onblur","onfocus","onkeydown","onkeypress","onkeyup","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onclick","onresize","onscroll"]; -Exhibit.Lens.prototype._constructFromLensTemplateURL=function(itemID,div,uiContext,lensTemplateURL){var job={lens:this,itemID:itemID,div:div,uiContext:uiContext,opts:opts}; -var compiledTemplate=Exhibit.Lens._compiledTemplates[lensTemplateURL]; -if(compiledTemplate==null){Exhibit.Lens._startCompilingTemplate(lensTemplateURL,job); -}else{if(!compiledTemplate.compiled){compiledTemplate.jobs.push(job); -}else{job.template=compiledTemplate; -Exhibit.Lens._performConstructFromLensTemplateJob(job); -}}}; -Exhibit.Lens.prototype._constructFromLensTemplateDOM=function(itemID,div,uiContext,lensTemplateNode,opts){var job={lens:this,itemID:itemID,div:div,uiContext:uiContext,opts:opts}; -var id=lensTemplateNode.id; -if(id==null||id.length==0){id="exhibitLensTemplate"+Math.floor(Math.random()*10000); -lensTemplateNode.id=id; -}var compiledTemplate=Exhibit.Lens._compiledTemplates[id]; -if(compiledTemplate==null){compiledTemplate={url:id,template:Exhibit.Lens.compileTemplate(lensTemplateNode,false,uiContext),compiled:true,jobs:[]}; -Exhibit.Lens._compiledTemplates[id]=compiledTemplate; -}job.template=compiledTemplate; -Exhibit.Lens._performConstructFromLensTemplateJob(job); -}; -Exhibit.Lens._startCompilingTemplate=function(lensTemplateURL,job){var compiledTemplate={url:lensTemplateURL,template:null,compiled:false,jobs:[job]}; -Exhibit.Lens._compiledTemplates[lensTemplateURL]=compiledTemplate; -var fError=function(statusText,status,xmlhttp){SimileAjax.Debug.log("Failed to load view template from "+lensTemplateURL+"\n"+statusText); -}; -var fDone=function(xmlhttp){try{compiledTemplate.template=Exhibit.Lens.compileTemplate(xmlhttp.responseXML.documentElement,true,job.uiContext); -compiledTemplate.compiled=true; -for(var i=0; -i3&&name.substr(0,3)=="ex:"){name=name.substr(3); -if(name=="formats"){templateNode.uiContext=Exhibit.UIContext._createWithParent(uiContext); -Exhibit.FormatParser.parseSeveral(templateNode.uiContext,value,0,{}); -}else{if(name=="onshow"){templateNode.attributes.push({name:name,value:value}); -}else{if(name=="control"){templateNode.control=value; -}else{if(name=="content"){templateNode.content=Exhibit.ExpressionParser.parse(value); -templateNode.attributes.push({name:"ex:content",value:value}); -}else{if(name=="editor"){templateNode.attributes.push({name:"ex:editor",value:value}); -}else{if(name=="edit"){templateNode.edit=value; -}else{if(name=="options"){templateNode.options=value; -}else{if(name=="editvalues"){templateNode.editValues=value; -}else{if(name=="tag"){templateNode.tag=value; -}else{if(name=="if-exists"){templateNode.condition={test:"if-exists",expression:Exhibit.ExpressionParser.parse(value)}; -}else{if(name=="if"){templateNode.condition={test:"if",expression:Exhibit.ExpressionParser.parse(value)}; -settings.parseChildTextNodes=false; -}else{if(name=="select"){templateNode.condition={test:"select",expression:Exhibit.ExpressionParser.parse(value)}; -}else{if(name=="case"){templateNode.condition={test:"case",value:value}; -settings.parseChildTextNodes=false; -}else{var isStyle=false; -var x=name.indexOf("-style-content"); -if(x>0){isStyle=true; -}else{x=name.indexOf("-content"); -}if(x>0){if(templateNode.contentAttributes==null){templateNode.contentAttributes=[]; -}templateNode.contentAttributes.push({name:name.substr(0,x),expression:Exhibit.ExpressionParser.parse(value),isStyle:isStyle}); -}else{x=name.indexOf("-style-subcontent"); -if(x>0){isStyle=true; -}else{x=name.indexOf("-subcontent"); -}if(x>0){if(templateNode.subcontentAttributes==null){templateNode.subcontentAttributes=[]; -}templateNode.subcontentAttributes.push({name:name.substr(0,x),fragments:Exhibit.Lens._parseSubcontentAttribute(value),isStyle:isStyle}); -}}}}}}}}}}}}}}}}else{if(name=="style"){Exhibit.Lens._processStyle(templateNode,value); -}else{if(name!="id"){if(name=="class"){if(SimileAjax.Platform.browser.isIE){name="className"; -}}else{if(name=="cellspacing"){name="cellSpacing"; -}else{if(name=="cellpadding"){name="cellPadding"; -}else{if(name=="bgcolor"){name="bgColor"; -}}}}templateNode.attributes.push({name:name,value:value}); -}}}}; -Exhibit.Lens._processStyle=function(templateNode,styleValue){var styles=styleValue.split(";"); -for(var s=0; -s1){var n=pair[0].trim(); -var v=pair[1].trim(); -if(n=="float"){n=SimileAjax.Platform.browser.isIE?"styleFloat":"cssFloat"; -}else{if(n=="-moz-opacity"){n="MozOpacity"; -}else{if(n.indexOf("-")>0){var segments=n.split("-"); -n=segments[0]; -for(var x=1; -x=0){var close=value.indexOf("}}",open); -if(close<0){break; -}fragments.push(value.substring(current,open)); -fragments.push(Exhibit.ExpressionParser.parse(value.substring(open+2,close))); -current=close+2; -}if(current0){try{(new Function(onshow)).call(node); -}catch(e){SimileAjax.Debug.log(e); -}}}return node; -}; -Exhibit.Lens._constructFromLensTemplateNode=function(roots,rootValueTypes,templateNode,parentElmt,opts){if(typeof templateNode=="string"){parentElmt.appendChild(document.createTextNode(templateNode)); -return ; -}var uiContext=templateNode.uiContext; -var database=uiContext.getDatabase(); -var children=templateNode.children; -function processChildren(){if(children!=null){for(var i=0; -i0){Exhibit.Lens._constructFromLensTemplateNode(roots,rootValueTypes,children[0],parentElmt,opts); -}}else{if(children!=null&&children.length>1){Exhibit.Lens._constructFromLensTemplateNode(roots,rootValueTypes,children[1],parentElmt,opts); -}}return ; -}else{if(templateNode.condition.test=="select"){var values=templateNode.condition.expression.evaluate(roots,rootValueTypes,"value",database).values; -if(children!=null){var lastChildTemplateNode=null; -for(var c=0; -c"); -elmt=SimileAjax.DOM.createElementFromString(a.join(" ")); -parentElmt.appendChild(elmt); -}else{switch(templateNode.tag){case"tr":elmt=parentElmt.insertRow(parentElmt.rows.length); -break; -case"td":elmt=parentElmt.insertCell(parentElmt.cells.length); -break; -default:elmt=document.createElement(templateNode.tag); -parentElmt.appendChild(elmt); -}var attributes=templateNode.attributes; -for(var i=0; -i0){Exhibit.FormatParser.parseSeveral(context,formats,0,{}); -}Exhibit.SettingsUtilities.collectSettingsFromDOM(document.body,Exhibit.UIContext._settingSpecs,context._settings); -Exhibit.UIContext._configure(context,configuration); -return context; -}; -Exhibit.UIContext.create=function(configuration,parentUIContext,ignoreLenses){var context=Exhibit.UIContext._createWithParent(parentUIContext); -Exhibit.UIContext._configure(context,configuration,ignoreLenses); -return context; -}; -Exhibit.UIContext.createFromDOM=function(configElmt,parentUIContext,ignoreLenses){var context=Exhibit.UIContext._createWithParent(parentUIContext); -if(!(ignoreLenses)){Exhibit.UIContext.registerLensesFromDOM(configElmt,context.getLensRegistry()); -}var id=Exhibit.getAttribute(configElmt,"collectionID"); -if(id!=null&&id.length>0){context._collection=context._exhibit.getCollection(id); -}var formats=Exhibit.getAttribute(configElmt,"formats"); -if(formats!=null&&formats.length>0){Exhibit.FormatParser.parseSeveral(context,formats,0,{}); -}Exhibit.SettingsUtilities.collectSettingsFromDOM(configElmt,Exhibit.UIContext._settingSpecs,context._settings); -Exhibit.UIContext._configure(context,Exhibit.getConfigurationFromDOM(configElmt),ignoreLenses); -return context; -}; -Exhibit.UIContext.prototype.dispose=function(){}; -Exhibit.UIContext.prototype.getParentUIContext=function(){return this._parent; -}; -Exhibit.UIContext.prototype.getExhibit=function(){return this._exhibit; -}; -Exhibit.UIContext.prototype.getDatabase=function(){return this.getExhibit().getDatabase(); -}; -Exhibit.UIContext.prototype.getCollection=function(){if(this._collection==null){if(this._parent!=null){this._collection=this._parent.getCollection(); -}else{this._collection=this._exhibit.getDefaultCollection(); -}}return this._collection; -}; -Exhibit.UIContext.prototype.getLensRegistry=function(){return this._lensRegistry; -}; -Exhibit.UIContext.prototype.getSetting=function(name){return name in this._settings?this._settings[name]:(this._parent!=null?this._parent.getSetting(name):undefined); -}; -Exhibit.UIContext.prototype.getBooleanSetting=function(name,defaultValue){var v=this.getSetting(name); -return v==undefined||v==null?defaultValue:v; -}; -Exhibit.UIContext.prototype.putSetting=function(name,value){this._settings[name]=value; -}; -Exhibit.UIContext.prototype.format=function(value,valueType,appender){var f; -if(valueType in this._formatters){f=this._formatters[valueType]; -}else{f=this._formatters[valueType]=new Exhibit.Formatter._constructors[valueType](this); -}f.format(value,appender); -}; -Exhibit.UIContext.prototype.formatList=function(iterator,count,valueType,appender){if(this._listFormatter==null){this._listFormatter=new Exhibit.Formatter._ListFormatter(this); -}this._listFormatter.formatList(iterator,count,valueType,appender); -}; -Exhibit.UIContext.prototype.setEditMode=function(itemID,val){if(val){this._editModeRegistry[itemID]=true; -}else{this._editModeRegistry[itemID]=false; -}}; -Exhibit.UIContext.prototype.isBeingEdited=function(itemID){return !!this._editModeRegistry[itemID]; -}; -Exhibit.UIContext._createWithParent=function(parent){var context=new Exhibit.UIContext(); -context._parent=parent; -context._exhibit=parent._exhibit; -context._lensRegistry=new Exhibit.LensRegistry(parent.getLensRegistry()); -context._editModeRegistry=parent._editModeRegistry; -return context; -}; -Exhibit.UIContext._settingSpecs={"bubbleWidth":{type:"int"},"bubbleHeight":{type:"int"}}; -Exhibit.UIContext._configure=function(context,configuration,ignoreLenses){Exhibit.UIContext.registerLenses(configuration,context.getLensRegistry()); -if("collectionID" in configuration){context._collection=context._exhibit.getCollection(configuration["collectionID"]); -}if("formats" in configuration){Exhibit.FormatParser.parseSeveral(context,configuration.formats,0,{}); -}if(!(ignoreLenses)){Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.UIContext._settingSpecs,context._settings); -}}; -Exhibit.UIContext.registerLens=function(configuration,lensRegistry){var template=configuration.templateFile; -if(template!=null){if("itemTypes" in configuration){for(var i=0; -i0){template=url; -}else{var id=Exhibit.getAttribute(elmt,"template"); -var elmt2=id&&document.getElementById(id); -if(elmt2!=null){template=elmt2; -}else{template=elmt; -}}if(template!=null){if(itemTypes==null||itemTypes.length==0||(itemTypes.length==1&&itemTypes[0]=="")){lensRegistry.registerDefaultLens(template); -}else{for(var i=0; -i0){try{var lensSelector=eval(lensSelectorString); -if(typeof lensSelector=="function"){lensRegistry.addLensSelector(lensSelector); -}else{SimileAjax.Debug.log("lensSelector expression "+lensSelectorString+" is not a function"); -}}catch(e){SimileAjax.Debug.exception(e,"Bad lensSelector expression: "+lensSelectorString); -}}}; -Exhibit.UIContext.createLensRegistry=function(configuration,parentLensRegistry){var lensRegistry=new Exhibit.LensRegistry(parentLensRegistry); -Exhibit.UIContext.registerLenses(configuration,lensRegistry); -return lensRegistry; -}; -Exhibit.UIContext.createLensRegistryFromDOM=function(parentNode,configuration,parentLensRegistry){var lensRegistry=new Exhibit.LensRegistry(parentLensRegistry); -Exhibit.UIContext.registerLensesFromDOM(parentNode,lensRegistry); -Exhibit.UIContext.registerLenses(configuration,lensRegistry); -return lensRegistry; -}; - - -/* ui.js */ -Exhibit.UI=new Object(); -Exhibit.UI.componentMap={}; -Exhibit.UI.registerComponent=function(name,comp){var msg="Cannot register component "+name+" -- "; -if(name in Exhibit.UI.componentMap){SimileAjax.Debug.warn(msg+"another component has taken that name"); -}else{if(!comp){SimileAjax.Debug.warn(msg+"no component object provided"); -}else{if(!comp.create){SimileAjax.Debug.warn(msg+"component has no create function"); -}else{if(!comp.createFromDOM){SimileAjax.Debug.warn(msg+"component has no createFromDOM function"); -}else{Exhibit.UI.componentMap[name]=comp; -}}}}}; -Exhibit.UI.create=function(configuration,elmt,uiContext){if("role" in configuration){var role=configuration.role; -if(role!=null&&role.startsWith("exhibit-")){role=role.substr("exhibit-".length); -}if(role in Exhibit.UI.componentMap){var createFunc=Exhibit.UI.componentMap[role].create; -return createFunc(configuration,elmt,uiContext); -}switch(role){case"lens":case"edit-lens":Exhibit.UIContext.registerLens(configuration,uiContext.getLensRegistry()); -return null; -case"view":return Exhibit.UI.createView(configuration,elmt,uiContext); -case"facet":return Exhibit.UI.createFacet(configuration,elmt,uiContext); -case"coordinator":return Exhibit.UI.createCoordinator(configuration,uiContext); -case"coder":return Exhibit.UI.createCoder(configuration,uiContext); -case"viewPanel":return Exhibit.ViewPanel.create(configuration,elmt,uiContext); -case"logo":return Exhibit.Logo.create(configuration,elmt,uiContext); -case"hiddenContent":elmt.style.display="none"; -return null; -}}return null; -}; -Exhibit.UI.createFromDOM=function(elmt,uiContext){var role=Exhibit.getRoleAttribute(elmt); -if(role in Exhibit.UI.componentMap){var createFromDOMFunc=Exhibit.UI.componentMap[role].createFromDOM; -return createFromDOMFunc(elmt,uiContext); -}switch(role){case"lens":case"edit-lens":Exhibit.UIContext.registerLensFromDOM(elmt,uiContext.getLensRegistry()); -return null; -case"view":return Exhibit.UI.createViewFromDOM(elmt,null,uiContext); -case"facet":return Exhibit.UI.createFacetFromDOM(elmt,null,uiContext); -case"coordinator":return Exhibit.UI.createCoordinatorFromDOM(elmt,uiContext); -case"coder":return Exhibit.UI.createCoderFromDOM(elmt,uiContext); -case"viewPanel":return Exhibit.ViewPanel.createFromDOM(elmt,uiContext); -case"logo":return Exhibit.Logo.createFromDOM(elmt,uiContext); -case"hiddenContent":elmt.style.display="none"; -return null; -}return null; -}; -Exhibit.UI.generateCreationMethods=function(constructor){constructor.create=function(configuration,elmt,uiContext){var newContext=Exhibit.UIContext.create(configuration,uiContext); -var settings={}; -Exhibit.SettingsUtilities.collectSettings(configuration,constructor._settingSpecs||{},settings); -return new constructor(elmt,newContext,settings); -}; -constructor.createFromDOM=function(elmt,uiContext){var newContext=Exhibit.UIContext.createFromDOM(elmt,uiContext); -var settings={}; -Exhibit.SettingsUtilities.collectSettingsFromDOM(elmt,constructor._settingSpecs||{},settings); -return new constructor(elmt,newContext,settings); -}; -}; -Exhibit.UI.createView=function(configuration,elmt,uiContext){var viewClass="viewClass" in configuration?configuration.viewClass:Exhibit.TileView; -if(typeof viewClass=="string"){viewClass=Exhibit.UI.viewClassNameToViewClass(viewClass); -}return viewClass.create(configuration,elmt,uiContext); -}; -Exhibit.UI.createViewFromDOM=function(elmt,container,uiContext){var viewClass=Exhibit.UI.viewClassNameToViewClass(Exhibit.getAttribute(elmt,"viewClass")); -return viewClass.createFromDOM(elmt,container,uiContext); -}; -Exhibit.UI.viewClassNameToViewClass=function(name){if(name!=null&&name.length>0){try{return Exhibit.UI._stringToObject(name,"View"); -}catch(e){SimileAjax.Debug.warn("Unknown viewClass "+name); -}}return Exhibit.TileView; -}; -Exhibit.UI.createFacet=function(configuration,elmt,uiContext){var facetClass="facetClass" in configuration?configuration.facetClass:Exhibit.ListFacet; -if(typeof facetClass=="string"){facetClass=Exhibit.UI.facetClassNameToFacetClass(facetClass); -}return facetClass.create(configuration,elmt,uiContext); -}; -Exhibit.UI.createFacetFromDOM=function(elmt,container,uiContext){var facetClass=Exhibit.UI.facetClassNameToFacetClass(Exhibit.getAttribute(elmt,"facetClass")); -return facetClass.createFromDOM(elmt,container,uiContext); -}; -Exhibit.UI.facetClassNameToFacetClass=function(name){if(name!=null&&name.length>0){try{return Exhibit.UI._stringToObject(name,"Facet"); -}catch(e){SimileAjax.Debug.warn("Unknown facetClass "+name); -}}return Exhibit.ListFacet; -}; -Exhibit.UI.createCoder=function(configuration,uiContext){var coderClass="coderClass" in configuration?configuration.coderClass:Exhibit.ColorCoder; -if(typeof coderClass=="string"){coderClass=Exhibit.UI.coderClassNameToCoderClass(coderClass); -}return coderClass.create(configuration,uiContext); -}; -Exhibit.UI.createCoderFromDOM=function(elmt,uiContext){var coderClass=Exhibit.UI.coderClassNameToCoderClass(Exhibit.getAttribute(elmt,"coderClass")); -return coderClass.createFromDOM(elmt,uiContext); -}; -Exhibit.UI.coderClassNameToCoderClass=function(name){if(name!=null&&name.length>0){try{return Exhibit.UI._stringToObject(name,"Coder"); -}catch(e){SimileAjax.Debug.warn("Unknown coderClass "+name); -}}return Exhibit.ColorCoder; -}; -Exhibit.UI.createCoordinator=function(configuration,uiContext){return Exhibit.Coordinator.create(configuration,uiContext); -}; -Exhibit.UI.createCoordinatorFromDOM=function(elmt,uiContext){return Exhibit.Coordinator.createFromDOM(elmt,uiContext); -}; -Exhibit.UI._stringToObject=function(name,suffix){if(!name.startsWith("Exhibit.")){if(!name.endsWith(suffix)){try{return eval("Exhibit."+name+suffix); -}catch(e){}}try{return eval("Exhibit."+name); -}catch(e){}}if(!name.endsWith(suffix)){try{return eval(name+suffix); -}catch(e){}}try{return eval(name); -}catch(e){}throw new Error("Unknown class "+name); -}; -Exhibit.UI.docRoot="http://simile.mit.edu/wiki/"; -Exhibit.UI.validator="http://simile.mit.edu/babel/validator"; -Exhibit.UI.showHelp=function(message,url,target){target=(target)?target:"_blank"; -if(url!=null){if(window.confirm(message+"\n\n"+Exhibit.l10n.showDocumentationMessage)){window.open(url,target); -}}else{window.alert(message); -}}; -Exhibit.UI.showJavascriptExpressionValidation=function(message,expression){var target="_blank"; -if(window.confirm(message+"\n\n"+Exhibit.l10n.showJavascriptValidationMessage)){window.open(Exhibit.UI.validator+"?expresson="+encodeURIComponent(expression),target); -}}; -Exhibit.UI.showJsonFileValidation=function(message,url){var target="_blank"; -if(url.indexOf("file:")==0){if(window.confirm(message+"\n\n"+Exhibit.l10n.showJsonValidationFormMessage)){window.open(Exhibit.UI.validator,target); -}}else{if(window.confirm(message+"\n\n"+Exhibit.l10n.showJsonValidationMessage)){window.open(Exhibit.UI.validator+"?url="+url,target); -}}}; -Exhibit.UI._busyIndicator=null; -Exhibit.UI._busyIndicatorCount=0; -Exhibit.UI.showBusyIndicator=function(){Exhibit.UI._busyIndicatorCount++; -if(Exhibit.UI._busyIndicatorCount>1){return ; -}if(Exhibit.UI._busyIndicator==null){Exhibit.UI._busyIndicator=Exhibit.UI.createBusyIndicator(); -}var scrollTop=("scrollTop" in document.body)?document.body.scrollTop:document.body.parentNode.scrollTop; -var height=("innerHeight" in window)?window.innerHeight:("clientHeight" in document.body?document.body.clientHeight:document.body.parentNode.clientHeight); -var top=Math.floor(scrollTop+height/3); -Exhibit.UI._busyIndicator.style.top=top+"px"; -document.body.appendChild(Exhibit.UI._busyIndicator); -}; -Exhibit.UI.hideBusyIndicator=function(){Exhibit.UI._busyIndicatorCount--; -if(Exhibit.UI._busyIndicatorCount>0){return ; -}try{document.body.removeChild(Exhibit.UI._busyIndicator); -}catch(e){}}; -Exhibit.UI.protectUI=function(elmt){SimileAjax.DOM.appendClassName(elmt,"exhibit-ui-protection"); -}; -Exhibit.UI.makeActionLink=function(text,handler,layer){var a=document.createElement("a"); -a.href="javascript:"; -a.className="exhibit-action"; -a.innerHTML=text; -var handler2=function(elmt,evt,target){if("true"!=elmt.getAttribute("disabled")){handler(elmt,evt,target); -}}; -SimileAjax.WindowManager.registerEvent(a,"click",handler2,layer); -return a; -}; -Exhibit.UI.enableActionLink=function(a,enabled){a.setAttribute("disabled",enabled?"false":"true"); -a.className=enabled?"exhibit-action":"exhibit-action-disabled"; -}; -Exhibit.UI.makeItemSpan=function(itemID,label,uiContext,layer){if(label==null){label=database.getObject(itemID,"label"); -if(label==null){label=itemID; -}}var a=SimileAjax.DOM.createElementFromString('"+label+""); -var handler=function(elmt,evt,target){Exhibit.UI.showItemInPopup(itemID,elmt,uiContext); -}; -SimileAjax.WindowManager.registerEvent(a,"click",handler,layer); -return a; -}; -Exhibit.UI.makeValueSpan=function(label,valueType,layer){var span=document.createElement("span"); -span.className="exhibit-value"; -if(valueType=="url"){var url=label; -if(Exhibit.params.safe&&url.trim().startsWith("javascript:")){span.appendChild(document.createTextNode(url)); -}else{span.innerHTML='"+(label.length>50?label.substr(0,20)+" ... "+label.substr(label.length-20):label)+""; -}}else{if(Exhibit.params.safe){label=Exhibit.Formatter.encodeAngleBrackets(label); -}span.innerHTML=label; -}return span; -}; -Exhibit.UI.calculatePopupPosition=function(elmt){var coords=SimileAjax.DOM.getPageCoordinates(elmt); -return{x:coords.left+Math.round(elmt.offsetWidth/2),y:coords.top+Math.round(elmt.offsetHeight/2)}; -}; -Exhibit.UI.showItemInPopup=function(itemID,elmt,uiContext,opts){SimileAjax.WindowManager.popAllLayers(); -opts=opts||{}; -opts.coords=opts.coords||Exhibit.UI.calculatePopupPosition(elmt); -var itemLensDiv=document.createElement("div"); -var lensOpts={inPopup:true,coords:opts.coords}; -if(opts.lensType=="normal"){lensOpts.lensTemplate=uiContext.getLensRegistry().getNormalLens(itemID,uiContext); -}else{if(opts.lensType=="edit"){lensOpts.lensTemplate=uiContext.getLensRegistry().getEditLens(itemID,uiContext); -}else{if(opts.lensType){SimileAjax.Debug.warn("Unknown Exhibit.UI.showItemInPopup opts.lensType: "+opts.lensType); -}}}uiContext.getLensRegistry().createLens(itemID,itemLensDiv,uiContext,lensOpts); -SimileAjax.Graphics.createBubbleForContentAndPoint(itemLensDiv,opts.coords.x,opts.coords.y,uiContext.getSetting("bubbleWidth")); -}; -Exhibit.UI.createButton=function(name,handler,className){var button=document.createElement("button"); -button.className=(className||"exhibit-button")+" screen"; -button.innerHTML=name; -if(handler){SimileAjax.WindowManager.registerEvent(button,"click",handler); -}return button; -}; -Exhibit.UI.createPopupMenuDom=function(element){var div=document.createElement("div"); -div.className="exhibit-menu-popup exhibit-ui-protection"; -var dom={elmt:div,close:function(){document.body.removeChild(this.elmt); -},open:function(){var self=this; -this.layer=SimileAjax.WindowManager.pushLayer(function(){self.close(); -},true,div); -var docWidth=document.body.offsetWidth; -var docHeight=document.body.offsetHeight; -var coords=SimileAjax.DOM.getPageCoordinates(element); -div.style.top=(coords.top+element.scrollHeight)+"px"; -div.style.right=(docWidth-(coords.left+element.scrollWidth))+"px"; -document.body.appendChild(this.elmt); -},appendMenuItem:function(label,icon,onClick){var self=this; -var a=document.createElement("a"); -a.className="exhibit-menu-item"; -a.href="javascript:"; -SimileAjax.WindowManager.registerEvent(a,"click",function(elmt,evt,target){onClick(elmt,evt,target); -SimileAjax.WindowManager.popLayer(self.layer); -SimileAjax.DOM.cancelEvent(evt); -return false; -}); -var div=document.createElement("div"); -a.appendChild(div); -div.appendChild(SimileAjax.Graphics.createTranslucentImage(icon!=null?icon:(Exhibit.urlPrefix+"images/blank-16x16.png"))); -div.appendChild(document.createTextNode(label)); -this.elmt.appendChild(a); -},appendSeparator:function(){var hr=document.createElement("hr"); -this.elmt.appendChild(hr); -}}; -return dom; -}; -Exhibit.UI.createBusyIndicator=function(){var urlPrefix=Exhibit.urlPrefix+"images/"; -var containerDiv=document.createElement("div"); -if(SimileAjax.Graphics.pngIsTranslucent){var topDiv=document.createElement("div"); -topDiv.style.height="33px"; -topDiv.style.background="url("+urlPrefix+"message-bubble/message-top-left.png) top left no-repeat"; -topDiv.style.paddingLeft="44px"; -containerDiv.appendChild(topDiv); -var topRightDiv=document.createElement("div"); -topRightDiv.style.height="33px"; -topRightDiv.style.background="url("+urlPrefix+"message-bubble/message-top-right.png) top right no-repeat"; -topDiv.appendChild(topRightDiv); -var middleDiv=document.createElement("div"); -middleDiv.style.background="url("+urlPrefix+"message-bubble/message-left.png) top left repeat-y"; -middleDiv.style.paddingLeft="44px"; -containerDiv.appendChild(middleDiv); -var middleRightDiv=document.createElement("div"); -middleRightDiv.style.background="url("+urlPrefix+"message-bubble/message-right.png) top right repeat-y"; -middleRightDiv.style.paddingRight="44px"; -middleDiv.appendChild(middleRightDiv); -var contentDiv=document.createElement("div"); -middleRightDiv.appendChild(contentDiv); -var bottomDiv=document.createElement("div"); -bottomDiv.style.height="55px"; -bottomDiv.style.background="url("+urlPrefix+"message-bubble/message-bottom-left.png) bottom left no-repeat"; -bottomDiv.style.paddingLeft="44px"; -containerDiv.appendChild(bottomDiv); -var bottomRightDiv=document.createElement("div"); -bottomRightDiv.style.height="55px"; -bottomRightDiv.style.background="url("+urlPrefix+"message-bubble/message-bottom-right.png) bottom right no-repeat"; -bottomDiv.appendChild(bottomRightDiv); -}else{containerDiv.style.border="2px solid #7777AA"; -containerDiv.style.padding="20px"; -containerDiv.style.background="white"; -SimileAjax.Graphics.setOpacity(containerDiv,90); -var contentDiv=document.createElement("div"); -containerDiv.appendChild(contentDiv); -}containerDiv.className="exhibit-busyIndicator"; -contentDiv.className="exhibit-busyIndicator-content"; -var img=document.createElement("img"); -img.src=urlPrefix+"progress-running.gif"; -contentDiv.appendChild(img); -contentDiv.appendChild(document.createTextNode(" "+Exhibit.l10n.busyIndicatorMessage)); -return containerDiv; -}; -Exhibit.UI.createFocusDialogBox=function(itemID,exhibit,configuration){var template={tag:"div",className:"exhibit-focusDialog exhibit-ui-protection",children:[{tag:"div",className:"exhibit-focusDialog-viewContainer",field:"viewContainer"},{tag:"div",className:"exhibit-focusDialog-controls",children:[{tag:"button",field:"closeButton",children:[Exhibit.l10n.focusDialogBoxCloseButtonLabel]}]}]}; -var dom=SimileAjax.DOM.createDOMFromTemplate(template); -dom.close=function(){document.body.removeChild(dom.elmt); -}; -dom.open=function(){dom.layer=SimileAjax.WindowManager.pushLayer(function(){dom.close(); -},false); -var lens=new Exhibit.Lens(itemID,dom.viewContainer,exhibit,configuration); -dom.elmt.style.top=(document.body.scrollTop+100)+"px"; -document.body.appendChild(dom.elmt); -SimileAjax.WindowManager.registerEvent(dom.closeButton,"click",function(elmt,evt,target){SimileAjax.WindowManager.popLayer(dom.layer); -SimileAjax.DOM.cancelEvent(evt); -return false; -},dom.layer); -}; -return dom; -}; -Exhibit.UI.createTranslucentImage=function(relativeUrl,verticalAlign){return SimileAjax.Graphics.createTranslucentImage(Exhibit.urlPrefix+relativeUrl,verticalAlign); -}; -Exhibit.UI.createTranslucentImageHTML=function(relativeUrl,verticalAlign){return SimileAjax.Graphics.createTranslucentImageHTML(Exhibit.urlPrefix+relativeUrl,verticalAlign); -}; -Exhibit.UI.findAttribute=function(attr,value,parent){var parent=SimileAjax.jQuery(parent||document.body); -var f=function(){var v=this.getAttribute(attr); -if(value===undefined){return !!v; -}else{if(value instanceof Array){return value.indexOf(v)!=-1; -}else{return value.toString()==v; -}}}; -return parent.find("*").add(parent).filter(f); -}; - - -/* html-view.js */ -Exhibit.HTMLView=function(containerElmt,uiContext,html){this.html=html; -this.view=this.moveChildNodes(html,containerElmt); -}; -Exhibit.HTMLView.create=Exhibit.HTMLView.createFromDOM=function(configElmt,containerElmt,uiContext){return new Exhibit.HTMLView(containerElmt!=null?containerElmt:configElmt,null,configElmt); -}; -Exhibit.HTMLView.prototype.dispose=function(){this.html=this.moveChildNodes(this.view,this.html); -this.view=this.html=null; -}; -Exhibit.HTMLView.prototype.moveChildNodes=function(src,dst){if(src===dst){return dst; -}var tmp=document.createDocumentFragment(); -while(src.firstChild){tmp.appendChild(src.firstChild); -}dst.appendChild(tmp); -return dst; -}; - - -/* ordered-view-frame.js */ -Exhibit.OrderedViewFrame=function(uiContext){this._uiContext=uiContext; -this._orders=null; -this._possibleOrders=null; -this._settings={}; -}; -Exhibit.OrderedViewFrame._settingSpecs={"showAll":{type:"boolean",defaultValue:false},"grouped":{type:"boolean",defaultValue:true},"showDuplicates":{type:"boolean",defaultValue:false},"abbreviatedCount":{type:"int",defaultValue:10},"showHeader":{type:"boolean",defaultValue:true},"showSummary":{type:"boolean",defaultValue:true},"showControls":{type:"boolean",defaultValue:true},"showFooter":{type:"boolean",defaultValue:true},"paginate":{type:"boolean",defaultValue:false},"pageSize":{type:"int",defaultValue:20},"pageWindow":{type:"int",defaultValue:2},"page":{type:"int",defaultValue:0},"alwaysShowPagingControls":{type:"boolean",defaultValue:false},"pagingControlLocations":{type:"enum",defaultValue:"topbottom",choices:["top","bottom","topbottom"]}}; -Exhibit.OrderedViewFrame.prototype.configure=function(configuration){if("orders" in configuration){this._orders=[]; -this._configureOrders(configuration.orders); -}if("possibleOrders" in configuration){this._possibleOrders=[]; -this._configurePossibleOrders(configuration.possibleOrders); -}Exhibit.SettingsUtilities.collectSettings(configuration,Exhibit.OrderedViewFrame._settingSpecs,this._settings); -this._internalValidate(); -}; -Exhibit.OrderedViewFrame.prototype.configureFromDOM=function(domConfiguration){var orders=Exhibit.getAttribute(domConfiguration,"orders",","); -if(orders!=null&&orders.length>0){this._orders=[]; -this._configureOrders(orders); -}var directions=Exhibit.getAttribute(domConfiguration,"directions",","); -if(directions!=null&&directions.length>0&&this._orders!=null){for(var i=0; -i0){this._possibleOrders=[]; -this._configurePossibleOrders(possibleOrders); -}var possibleDirections=Exhibit.getAttribute(domConfiguration,"possibleDirections",","); -if(possibleDirections!=null&&possibleDirections.length>0&&this._possibleOrders!=null){for(var i=0; -i0){var currentSet=collection.getRestrictedItems(); -hasSomeGrouping=this._internalReconstruct(currentSet); -var orderElmts=[]; -var buildOrderElmt=function(order,index){var property=database.getProperty(order.property); -var label=property!=null?(order.forward?property.getPluralLabel():property.getReversePluralLabel()):(order.forward?order.property:"reverse of "+order.property); -orderElmts.push(Exhibit.UI.makeActionLink(label,function(elmt,evt,target){self._openSortPopup(elmt,index); -})); -}; -var orders=this._getOrders(); -for(var i=0; -i=fromIndex&&itemIndex=fromIndex&&itemIndex1){grouped=true; -}}if(grouped){hasSomeGrouping=true; -}for(var k=0; -k0){if(grouped&&settings.grouped){createGroup(key.display,valueType,index); -}items.removeSet(key.items); -if(key.items.size()>1&&index0){if(grouped&&settings.grouped){createGroup(Exhibit.l10n.missingSortKey,valueType,index); -}if(items.size()>1&&index1||(pageCount>0&&settings.alwaysShowPagingControls))){fromIndex=settings.page*settings.pageSize; -toIndex=Math.min(fromIndex+settings.pageSize,totalCount); -if(settings.showHeader&&(settings.pagingControlLocations=="top"||settings.pagingControlLocations=="topbottom")){this._headerDom.renderPageLinks(settings.page,pageCount,settings.pageWindow); -}if(settings.showFooter&&(settings.pagingControlLocations=="bottom"||settings.pagingControlLocations=="topbottom")){this._footerDom.renderPageLinks(settings.page,pageCount,settings.pageWindow); -}}else{if(settings.showHeader){this._headerDom.hidePageLinks(); -}if(settings.showFooter){this._footerDom.hidePageLinks(); -}}processLevel(allItems,0); -return hasSomeGrouping; -}; -Exhibit.OrderedViewFrame.prototype._getOrders=function(){return this._orders||[this._getPossibleOrders()[0]]; -}; -Exhibit.OrderedViewFrame.prototype._getPossibleOrders=function(){var possibleOrders=null; -if(this._possibleOrders==null){possibleOrders=this._uiContext.getDatabase().getAllProperties(); -for(var i=0,p; -p=possibleOrders[i]; -i++){possibleOrders[i]={ascending:true,forward:true,property:p}; -}}else{possibleOrders=[].concat(this._possibleOrders); -}if(possibleOrders.length==0){possibleOrders.push({property:"label",forward:true,ascending:true}); -}return possibleOrders; -}; -Exhibit.OrderedViewFrame.prototype._openSortPopup=function(elmt,index){var self=this; -var database=this._uiContext.getDatabase(); -var popupDom=Exhibit.UI.createPopupMenuDom(elmt); -var configuredOrders=this._getOrders(); -if(index>=0){var order=configuredOrders[index]; -var property=database.getProperty(order.property); -var propertyLabel=order.forward?property.getPluralLabel():property.getReversePluralLabel(); -var valueType=order.forward?property.getValueType():"item"; -var sortLabels=Exhibit.Database.l10n.sortLabels[valueType]; -sortLabels=(sortLabels!=null)?sortLabels:Exhibit.Database.l10n.sortLabels["text"]; -popupDom.appendMenuItem(sortLabels.ascending,Exhibit.urlPrefix+(order.ascending?"images/option-check.png":"images/option.png"),order.ascending?function(){}:function(){self._reSort(index,order.property,order.forward,true,false); -}); -popupDom.appendMenuItem(sortLabels.descending,Exhibit.urlPrefix+(order.ascending?"images/option.png":"images/option-check.png"),order.ascending?function(){self._reSort(index,order.property,order.forward,false,false); -}:function(){}); -if(configuredOrders.length>1){popupDom.appendSeparator(); -popupDom.appendMenuItem(Exhibit.OrderedViewFrame.l10n.removeOrderLabel,null,function(){self._removeOrder(index); -}); -}}var orders=[]; -var possibleOrders=this._getPossibleOrders(); -for(i=0; -i=0; -j--){var existingOrder=configuredOrders[j]; -if(existingOrder.property==possibleOrder.property&&existingOrder.forward==possibleOrder.forward){skip=true; -break; -}}if(!skip){var property=database.getProperty(possibleOrder.property); -orders.push({property:possibleOrder.property,forward:possibleOrder.forward,ascending:possibleOrder.ascending,label:possibleOrder.forward?property.getPluralLabel():property.getReversePluralLabel()}); -}}if(orders.length>0){if(index>=0){popupDom.appendSeparator(); -}orders.sort(function(order1,order2){return order1.label.localeCompare(order2.label); -}); -var appendOrder=function(order){popupDom.appendMenuItem(order.label,null,function(){self._reSort(index,order.property,order.forward,order.ascending,true); -}); -}; -for(var i=0; -i
    ', - 'wikieditor-toolbar-help-content-ilink-description' => 'Kawing panloob', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Page title|Tatak ng kawing]]
    [[Pamagat ng pahina]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Tatak ng kawing
    Pamagat ng pahina", - 'wikieditor-toolbar-help-content-xlink-description' => 'Kawing panlabas', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.halimbawa.org Link label]
    [http://www.halimbawa.org]
    http://www.halimbawa.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Tatak ng kawing
    [1]
    http://www.halimbawa.org", - 'wikieditor-toolbar-help-content-heading2-description' => 'Paulo ng pangalawang antas', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Teksto ng paulo ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Teksto ng paulo

    ', - 'wikieditor-toolbar-help-content-heading3-description' => 'Antas ng pangatlong antas', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Teksto ng paulo ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Teksto ng paulo

    ', - 'wikieditor-toolbar-help-content-heading4-description' => 'Paulo ng pang-apat na antas', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Teksto ng paulo ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Teksto ng paulo

    ', - 'wikieditor-toolbar-help-content-heading5-description' => 'Paulo ng panlimang antas', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Teksto ng paulo =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    Teksto ng paulo
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'Talaang napungluan', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* Bagay sa talaan
    * Bagay sa talaan', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • Bagay sa talaan
    • Bagay sa talaan
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'Nabilangang talaan', - 'wikieditor-toolbar-help-content-olist-syntax' => '# Bagay sa talaan
    # Bagay sa talaan', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. Bagay sa talaan
    2. Bagay sa talaan
    ', - 'wikieditor-toolbar-help-content-file-description' => 'Talaksang nakabaon', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Halimbawa.png|thumb|Teksto ng kapsyon]]', - 'wikieditor-toolbar-help-content-file-result' => "
    Tekstong nagpapaliwanag
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Sanggunian', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Taksto ng pahina.<ref name="test">[http://www.halimbawa.org Teksto ng kawing], karagdagang teksto.</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "Teksto ng pahina.[1]", - 'wikieditor-toolbar-help-content-rereference-description' => 'Karagdagang paggamit na gayun ding sanggunian', - 'wikieditor-toolbar-help-content-rereference-syntax' => '<ref name="test" />', - 'wikieditor-toolbar-help-content-rereference-result' => "Teksto ng pahina.[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Ipakita ang mga sanggunian', - 'wikieditor-toolbar-help-content-showreferences-syntax' => '<mga sanggunian />', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Teksto ng kawing, karagdagang teksto.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Lagdang may tatak ng oras', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Pangalan ng tagagamit (talk) 15:54, 10 Hunyo 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'Lagda', - 'wikieditor-toolbar-help-content-signature-result' => "Pangalan ng tagagamit (usapan)", - 'wikieditor-toolbar-help-content-indent-description' => 'Iurong', - 'wikieditor-toolbar-help-content-indent-syntax' => 'Karaniwang teksto
    :Tekstong nakaurong
    ::Tekstong nakaurong', - 'wikieditor-toolbar-help-content-indent-result' => 'Karaniwang teksto
    Tekstong nakaurong
    Tekstong nakaurong
    ', -); - -/** толышә зывон (толышә зывон) - * @author Erdemaslancan - */ -$messages['tly'] = array( - 'wikieditor-toolbar-section-help' => 'Арајиш', -); - -/** Tok Pisin (Tok Pisin) - * @author Iketsi - */ -$messages['tpi'] = array( - 'wikieditor-toolbar-help-page-file' => 'Ol fail', -); - -/** Turkish (Türkçe) - * @author Emperyan - * @author Erdemaslancan - * @author Joseph - * @author Koc61 - * @author Manco Capac - * @author Sadrettin - * @author Srhat - * @author Vito Genovese - */ -$messages['tr'] = array( - 'wikieditor' => 'Gelişmiş viki metni düzenleme arayüzü', - 'wikieditor-desc' => 'Genişletilebilir bir viki metni düzenleme arayüzü ve birçok özellik sağlayan modüller sağlar', - 'wikieditor-wikitext-tab' => 'Vikimetin', - 'wikieditor-loading' => 'Yükleniyor...', - 'wikieditor-preview-preference' => 'Yan yana ön izlemeyi etkinleştir', - 'wikieditor-preview-tab' => 'Ön izleme', - 'wikieditor-preview-changes-tab' => 'Değişiklikler', - 'wikieditor-preview-loading' => 'Yükleniyor...', - 'wikieditor-previewDialog-preference' => 'Ön izleme iletisini etkinleştir', - 'wikieditor-previewDialog-tab' => 'Ön izleme', - 'wikieditor-previewDialog-loading' => 'Yükleniyor...', - 'wikieditor-publish-preference' => 'Adım adım yayınlamayı etkinleştir', - 'wikieditor-publish-button-publish' => 'Yayınla', - 'wikieditor-publish-button-cancel' => 'İptal', - 'wikieditor-publish-dialog-title' => '{{SITENAME}} bünyesinde yayınla', - 'wikieditor-publish-dialog-summary' => 'Değişiklik özeti (yaptığınız değişiklikleri kısaca açıklayın):', - 'wikieditor-publish-dialog-minor' => 'Küçük değişiklik', - 'wikieditor-publish-dialog-watch' => 'Bu sayfayı izle', - 'wikieditor-publish-dialog-publish' => 'Yayınla', - 'wikieditor-publish-dialog-goback' => 'Geri git', - 'wikieditor-template-editor-preference' => 'Viki şablonlarının form-bazlı değiştirilmesini etkinleştir', - 'wikieditor-template-editor-dialog-title' => 'Şablonu düzenle', - 'wikieditor-template-editor-dialog-submit' => 'Güncelle', - 'wikieditor-template-editor-dialog-cancel' => 'İptal', - 'wikieditor-templates-preference' => 'Şablon daraltmayı etkinleştir', - 'wikieditor-toc-preference' => 'Gezintiye uygun içindekiler tablosunu etkinleştir', - 'wikieditor-toc-show' => 'İçindekileri göster', - 'wikieditor-toc-hide' => 'İçindekileri gizle', - 'wikieditor-toolbar' => 'Araç çubuğu düzenleme', - 'wikieditor-toolbar-desc' => 'Gelişmiş kullanılabilirlik ile sayfa araç çubuğunu düzenle', - 'wikieditor-toolbar-preference' => 'Gelişmiş düzenleme araç çubuğunu etkinleştir', - 'wikieditor-toolbar-dialogs-preference' => 'Bağlantılar, tablolar ve daha fazlasını eklemek için iletileri etkinleştir', - 'wikieditor-toolbar-hidesig' => 'Ana ad boşluğundaki sayfalardan imza düğmesini gizle', - 'wikieditor-toolbar-loading' => 'Yükleniyor...', - 'wikieditor-toolbar-tool-bold' => 'Kalın', - 'wikieditor-toolbar-tool-bold-example' => 'Kalın metin', - 'wikieditor-toolbar-tool-italic' => 'Eğik', - 'wikieditor-toolbar-tool-italic-example' => 'Eğik metin', - 'wikieditor-toolbar-tool-ilink' => 'İç bağlantı', - 'wikieditor-toolbar-tool-ilink-example' => 'Bağlantı başlığı', - 'wikieditor-toolbar-tool-xlink' => 'Dış bağlantı (http:// önekini unutmayın)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.ornek.com bağlantı başlığı', - 'wikieditor-toolbar-tool-link' => 'Bağlantı', - 'wikieditor-toolbar-tool-link-title' => 'Bağlantı ekle', - 'wikieditor-toolbar-tool-link-int' => 'Bir viki sayfasına', - 'wikieditor-toolbar-tool-link-int-target' => 'Hedef sayfa ya da URL:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Sayfa başlığı ya da URL', - 'wikieditor-toolbar-tool-link-int-text' => 'Görüntülenecek metin:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Görüntülenecek metni girin', - 'wikieditor-toolbar-tool-link-ext' => 'Harici bir web sayfasına', - 'wikieditor-toolbar-tool-link-ext-target' => "Bağlantı URL'si:", - 'wikieditor-toolbar-tool-link-ext-text' => 'Bağlantı metni:', - 'wikieditor-toolbar-tool-link-insert' => 'Bağlantı ekle', - 'wikieditor-toolbar-tool-link-cancel' => 'İptal', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Sayfa mevcut', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Sayfa mevcut değil', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Geçersiz başlık', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Dış bağlantı', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Sayfanın mevcudiyeti denetleniyor...', - 'wikieditor-toolbar-tool-link-int-invalid' => 'Belirttiğiniz başlık geçersiz.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Belirttiğiniz URL, başka bir viki sayfasına bir bağlantı yapılmak istenmiş gibi görünüyor. Bunu dahili bir bağlantı yapmak ister misiniz?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Dahili bağlantı', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Dış bağlantı', - 'wikieditor-toolbar-tool-link-empty' => 'Bağlantı verecek hiçbir şey girmediniz.', - 'wikieditor-toolbar-tool-file' => 'Gömülü dosya', - 'wikieditor-toolbar-tool-file-example' => 'Örnek.jpg', - 'wikieditor-toolbar-file-float' => 'Hizalama:', - 'wikieditor-toolbar-tool-reference' => 'Kaynakça', - 'wikieditor-toolbar-tool-reference-example' => 'Dipnot metnini buraya ekleyin', - 'wikieditor-toolbar-tool-reference-cancel' => 'İptal', - 'wikieditor-toolbar-tool-reference-title' => 'Kaynak ekle', - 'wikieditor-toolbar-tool-reference-insert' => 'Ekle', - 'wikieditor-toolbar-tool-reference-text' => 'Kaynak metin', - 'wikieditor-toolbar-tool-signature' => 'İmza ve zaman damgası', - 'wikieditor-toolbar-section-advanced' => 'Gelişmiş', - 'wikieditor-toolbar-tool-heading' => 'Başlık', - 'wikieditor-toolbar-tool-heading-1' => '1. seviye', - 'wikieditor-toolbar-tool-heading-2' => '2. seviye', - 'wikieditor-toolbar-tool-heading-3' => '3. seviye', - 'wikieditor-toolbar-tool-heading-4' => '4. seviye', - 'wikieditor-toolbar-tool-heading-5' => '5. seviye', - 'wikieditor-toolbar-tool-heading-example' => 'Başlık metni', - 'wikieditor-toolbar-group-format' => 'Biçim', - 'wikieditor-toolbar-tool-ulist' => 'Madde işaretli liste', - 'wikieditor-toolbar-tool-ulist-example' => 'Madde işaretli liste ögesi', - 'wikieditor-toolbar-tool-olist' => 'Numaralı liste', - 'wikieditor-toolbar-tool-olist-example' => 'Numaralı liste ögesi', - 'wikieditor-toolbar-tool-indent' => 'Girinti', - 'wikieditor-toolbar-tool-indent-example' => 'Girintili satır', - 'wikieditor-toolbar-tool-nowiki' => 'Viki biçimlendirmesi yok', - 'wikieditor-toolbar-tool-nowiki-example' => 'Buraya biçimlendirilmemiş metin ekleyin', - 'wikieditor-toolbar-tool-redirect' => 'Yönlendirme', - 'wikieditor-toolbar-tool-redirect-example' => 'Hedef sayfa adı', - 'wikieditor-toolbar-tool-big' => 'Büyük', - 'wikieditor-toolbar-tool-big-example' => 'Büyük metin', - 'wikieditor-toolbar-tool-small' => 'Küçük', - 'wikieditor-toolbar-tool-small-example' => 'Küçük metin', - 'wikieditor-toolbar-tool-superscript' => 'Üst simge', - 'wikieditor-toolbar-tool-superscript-example' => 'Üst simge metni', - 'wikieditor-toolbar-tool-subscript' => 'Alt simge', - 'wikieditor-toolbar-tool-subscript-example' => 'Alt simge metni', - 'wikieditor-toolbar-group-insert' => 'Ekle', - 'wikieditor-toolbar-tool-gallery' => 'Resim sergisi', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Örnek.jpg|Altyazı 1 -$1:Örnek.jpg|Altyazı 2', - 'wikieditor-toolbar-tool-newline' => 'Yeni satır', - 'wikieditor-toolbar-tool-table' => 'Tablo', - 'wikieditor-toolbar-tool-table-example-old' => '- -! başlık 1 -! başlık 2 -! başlık 3 -|- -| satır 1, hücre 1 -| satır 1, hücre 2 -| satır 1, hücre 3 -|- -| satır 2, hücre 1 -| satır 2, hücre 2 -| satır 2, hücre 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Hücre metni', - 'wikieditor-toolbar-tool-table-example-header' => 'Başlık metni', - 'wikieditor-toolbar-tool-table-title' => 'Tablo ekle', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Satırlar', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Sütunlar', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Başlık satırını ekle', - 'wikieditor-toolbar-tool-table-wikitable' => 'Kenarlık ekle', - 'wikieditor-toolbar-tool-table-sortable' => 'Tabloyu sıralanabilir yap', - 'wikieditor-toolbar-tool-table-example' => 'Örnek tablo:', - 'wikieditor-toolbar-tool-table-preview' => 'Ön izleme', - 'wikieditor-toolbar-tool-table-insert' => 'Ekle', - 'wikieditor-toolbar-tool-table-cancel' => 'İptal', - 'wikieditor-toolbar-tool-table-toomany' => '$1 hücreliden fazla bir tablo eklemek bu ileti ile mümkün değildir.', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'Geçerli bir satır ve sütun sayısı girmediniz.', - 'wikieditor-toolbar-tool-table-zero' => 'Sıfır satır veya sütuna sahip bir tablo ekleyemezsiniz.', - 'wikieditor-toolbar-tool-replace' => 'Ara ve değiştir', - 'wikieditor-toolbar-tool-replace-title' => 'Ara ve değiştir', - 'wikieditor-toolbar-tool-replace-search' => 'Şunun için ara:', - 'wikieditor-toolbar-tool-replace-replace' => 'Şununla değiştir:', - 'wikieditor-toolbar-tool-replace-case' => 'Büyük küçük harf duyarlı', - 'wikieditor-toolbar-tool-replace-regex' => 'Arama dizesine bir düzenli ifade muamelesi yap', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Sonrakini bul', - 'wikieditor-toolbar-tool-replace-button-replace' => 'Değiştir', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Tümünü değiştir', - 'wikieditor-toolbar-tool-replace-close' => 'Kapat', - 'wikieditor-toolbar-tool-replace-nomatch' => 'Aramanız hiçbir şeyle uyuşmuyor.', - 'wikieditor-toolbar-tool-replace-success' => '$1 değiştirme yapıldı.', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'Aramak için herhangi birşey girmediniz.', - 'wikieditor-toolbar-tool-replace-invalidregex' => 'Girdiğiniz düzenli ifade geçersiz: $1', - 'wikieditor-toolbar-section-characters' => 'Özel karakterler', - 'wikieditor-toolbar-characters-page-latin' => 'Latin', - 'wikieditor-toolbar-characters-page-latinextended' => 'Genişletilmiş Latince', - 'wikieditor-toolbar-characters-page-ipa' => 'UFA', - 'wikieditor-toolbar-characters-page-symbols' => 'Simgeler', - 'wikieditor-toolbar-characters-page-greek' => 'Yunan', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Kiril', - 'wikieditor-toolbar-characters-page-arabic' => 'Arap', - 'wikieditor-toolbar-characters-page-arabicextended' => 'Genişletilmiş Arapça', - 'wikieditor-toolbar-characters-page-persian' => 'Fars', - 'wikieditor-toolbar-characters-page-hebrew' => 'İbrani', - 'wikieditor-toolbar-characters-page-bangla' => 'Bengalce', - 'wikieditor-toolbar-characters-page-tamil' => 'Tamil', - 'wikieditor-toolbar-characters-page-telugu' => 'Telugu', - 'wikieditor-toolbar-characters-page-sinhala' => 'Sinhala', - 'wikieditor-toolbar-characters-page-gujarati' => 'Gücerat', - 'wikieditor-toolbar-characters-page-thai' => 'Tay', - 'wikieditor-toolbar-characters-page-lao' => 'Lao', - 'wikieditor-toolbar-characters-page-khmer' => 'Kmer', - 'wikieditor-toolbar-section-help' => 'Yardım', - 'wikieditor-toolbar-help-heading-description' => 'Açıklama', - 'wikieditor-toolbar-help-heading-syntax' => 'Yazdığınız', - 'wikieditor-toolbar-help-heading-result' => 'Aldığınız', - 'wikieditor-toolbar-help-page-format' => 'Biçimlendirme', - 'wikieditor-toolbar-help-page-link' => 'Bağlantılar', - 'wikieditor-toolbar-help-page-heading' => 'Başlıklar', - 'wikieditor-toolbar-help-page-list' => 'Listeler', - 'wikieditor-toolbar-help-page-file' => 'Dosyalar', - 'wikieditor-toolbar-help-page-reference' => 'Kaynakça', - 'wikieditor-toolbar-help-page-discussion' => 'Tartışma', - 'wikieditor-toolbar-help-content-italic-description' => 'Eğik', - 'wikieditor-toolbar-help-content-italic-syntax' => "''Eğik metin''", - 'wikieditor-toolbar-help-content-italic-result' => 'Eğik metin', - 'wikieditor-toolbar-help-content-bold-description' => 'Kalın', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Kalın metin'''", - 'wikieditor-toolbar-help-content-bold-result' => 'Kalın metin', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'Kalın ve eğik', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Kalın ve eğik metin'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'Kalın ve eğik metin', - 'wikieditor-toolbar-help-content-ilink-description' => 'İç bağlantı', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Sayfa başlığı|Bağlantı etiketi]]
    [[Sayfa başlığı]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Bağlantı etiketi
    Sayfa başlığı", - 'wikieditor-toolbar-help-content-xlink-description' => 'Dış bağlantı', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.ornek.org Bağlantı etiketi]
    [http://www.ornek.org]
    http://www.ornek.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Bağlantı etiketi
    [1]
    http://www.ornek.org", - 'wikieditor-toolbar-help-content-heading2-description' => '2. seviye başlık', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Başlık metni ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Başlık metni

    ', - 'wikieditor-toolbar-help-content-heading3-description' => '3. seviye başlık', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Başlık metni ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Başlık metni

    ', - 'wikieditor-toolbar-help-content-heading4-description' => '4. seviye başlık', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Başlık metni ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Başlık metni

    ', - 'wikieditor-toolbar-help-content-heading5-description' => '5. seviye başlık', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Başlık metni =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    Başlık metni
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'Madde işaretli liste', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* Liste ögesi
    * Liste ögesi', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • Liste ögesi
    • Liste ögesi
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'Numaralı liste', - 'wikieditor-toolbar-help-content-olist-syntax' => '# Liste ögesi
    # Liste ögesi', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. Liste ögesi
    2. Liste ögesi
    ', - 'wikieditor-toolbar-help-content-file-description' => 'Gömülü dosya', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Örnek.png|thumb|Başlık metni]]', - 'wikieditor-toolbar-help-content-file-result' => "
    Altyazı metni
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Kaynak', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Sayfa metni.<ref name="deneme">[http://www.ornek.org Bağlanı metni], ek metin.</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "Sayfa metni.[1]", - 'wikieditor-toolbar-help-content-rereference-description' => 'Aynı kaynağın ek kullanımı', - 'wikieditor-toolbar-help-content-rereference-result' => "Sayfa metni.[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Kaynakçayı görüntüle', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Bağlantı metni, ek metin.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Zaman damgası ile imza', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Kullanıcı adı (mesaj) 15.54, 17 Şubat 2012 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'İmza', - 'wikieditor-toolbar-help-content-signature-result' => "Kullanıcı adı (mesaj)", - 'wikieditor-toolbar-help-content-indent-description' => 'Girinti', - 'wikieditor-toolbar-help-content-indent-syntax' => 'Normal metin
    :Girintili metin
    ::Girintili metin', - 'wikieditor-toolbar-help-content-indent-result' => 'Normal metin
    Girintili metin
    Girintili metin
    ', -); - -/** Tatar (Cyrillic script) (татарча) - * @author Bulatbulat - * @author Zahidulla - * @author Ильнар - * @author Рашат Якупов - */ -$messages['tt-cyrl'] = array( - 'wikieditor' => 'Викитекстны үзгәртү буенча киңәйтелгән интерфейс', - 'wikieditor-desc' => 'Викитекстны үзгәртү буенча киңәйтелгән интефейс (модулляр тарафынна бирелә)', - 'wikieditor-wikitext-tab' => 'Викитекст', - 'wikieditor-loading' => 'Йөкләү', - 'wikieditor-preview-preference' => 'Алдан карауны ачу', - 'wikieditor-preview-tab' => 'Алдан карау', - 'wikieditor-preview-changes-tab' => 'Үзгәртүләр', - 'wikieditor-preview-loading' => 'Йөкләү...', - 'wikieditor-previewDialog-preference' => 'Алдан карау диалогын ачу', - 'wikieditor-previewDialog-tab' => 'Алдан карау', - 'wikieditor-previewDialog-loading' => 'Йөкләү...', - 'wikieditor-publish-preference' => 'Баскычлы куюны ачу', - 'wikieditor-publish-button-publish' => 'Чыгарырга', - 'wikieditor-publish-button-cancel' => 'Кире кагу', - 'wikieditor-publish-dialog-title' => ' {{SITENAME}} проектына кертергә', - 'wikieditor-publish-dialog-summary' => 'Үзгәртүләр тасвирламасы (барлык үзгәртүләрне кыска гына иттереп языгыз):', - 'wikieditor-publish-dialog-minor' => 'Кече үзгәртү', - 'wikieditor-publish-dialog-watch' => 'Бу битне күзәтү', - 'wikieditor-publish-dialog-publish' => 'Чыгарырга', - 'wikieditor-publish-dialog-goback' => 'Артка', - 'wikieditor-template-editor-preference' => 'Үрнәкләрне үзгәртү мөмкинчелеген ачу', - 'wikieditor-template-editor-dialog-title' => 'Үрнәкне үзгәртү', - 'wikieditor-template-editor-dialog-submit' => 'Яңарту', - 'wikieditor-template-editor-dialog-cancel' => 'Кире кагу', - 'wikieditor-templates-preference' => 'Үрнәкләрнең яшерергә', - 'wikieditor-toc-preference' => 'Башлыкны үзгәртү мөмкинлеген ачу', - 'wikieditor-toc-show' => 'Башлыкны күрсәтү', - 'wikieditor-toc-hide' => 'Башлыкны яшерү', - 'wikieditor-toolbar' => 'Төзәтү панеле', - 'wikieditor-toolbar-desc' => 'Яңартылган үзгәртү панеле', - 'wikieditor-toolbar-preference' => 'Яңа үзгәртү панелен куллана башлау', - 'wikieditor-toolbar-dialogs-preference' => 'Сылтамалар, табыннар һәм башка җисемнәрне кую', - 'wikieditor-toolbar-loading' => 'Йөкләү...', - 'wikieditor-toolbar-tool-bold' => 'Куе төс', - 'wikieditor-toolbar-tool-bold-example' => 'Калын язылыш', - 'wikieditor-toolbar-tool-italic' => 'Авышлы', - 'wikieditor-toolbar-tool-italic-example' => 'Курсив язылыш', - 'wikieditor-toolbar-tool-ilink' => 'Эчке сылтама', - 'wikieditor-toolbar-tool-ilink-example' => 'Сылтама исеме', - 'wikieditor-toolbar-tool-xlink' => 'Тышкы сылтама (http:// алкушымчасы турында онытмагыз)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com сылтама исеме', - 'wikieditor-toolbar-tool-link' => 'Сылтама', - 'wikieditor-toolbar-tool-link-title' => 'Сылтама өстәү', - 'wikieditor-toolbar-tool-link-int' => 'Викибиткә күчү', - 'wikieditor-toolbar-tool-link-int-target' => ' URL-бит:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Битнең исеме яки URL-бит', - 'wikieditor-toolbar-tool-link-int-text' => 'Күрсәтелүче текст', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Күрсәтелүче текстны өстәгез', - 'wikieditor-toolbar-tool-link-ext' => 'Тышкы веб-сәхифәгә', - 'wikieditor-toolbar-tool-link-ext-target' => 'Сылтамагның URL-бите:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Сылтаманың тексты:', - 'wikieditor-toolbar-tool-link-insert' => 'Сылтама өстәү', - 'wikieditor-toolbar-tool-link-cancel' => 'Кире кагу', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Мондый бит бар', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Мондый бит юк', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Мөмкин булмаган исем', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Тышкы сылтама', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Битнең барлыгын тикшерү...', - 'wikieditor-toolbar-tool-link-int-invalid' => 'Бирелгән исем мөмкин түгел.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Сезнең тарафтан күрсәтелгән URL-бит вики-сәхифәнең сылтамасына ошаган. Сез аны эчке сылтама итәргә ризамы?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Эчке сылтама', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Тышкы сылтама', - 'wikieditor-toolbar-tool-link-empty' => 'Сез нәрсәгә сылтама ясарга кирәк икәнлеген күрсәтмәдегез.', - 'wikieditor-toolbar-tool-file' => 'Куелган файл', - 'wikieditor-toolbar-tool-file-example' => 'Мисал.jpg', - 'wikieditor-toolbar-tool-reference' => 'Искәрмә', - 'wikieditor-toolbar-tool-reference-example' => 'Искәрмәнең текстын монда куегыз', - 'wikieditor-toolbar-tool-reference-cancel' => 'Кире кагу', - 'wikieditor-toolbar-tool-reference-title' => 'Искәрмәне өстәү', - 'wikieditor-toolbar-tool-reference-insert' => 'Өстәү', - 'wikieditor-toolbar-tool-reference-text' => 'Искәрмәнең тексты', - 'wikieditor-toolbar-tool-signature' => 'Имза һәм ул куелган вакыт', - 'wikieditor-toolbar-section-advanced' => 'Киңәйтелгән', - 'wikieditor-toolbar-tool-heading' => 'Башлык', - 'wikieditor-toolbar-tool-heading-1' => '1 дәрәҗә', - 'wikieditor-toolbar-tool-heading-2' => '2 дәрәҗә', - 'wikieditor-toolbar-tool-heading-3' => '3 дәрәҗә', - 'wikieditor-toolbar-tool-heading-4' => '4 дәрәҗә', - 'wikieditor-toolbar-tool-heading-5' => '5 дәрәҗә', - 'wikieditor-toolbar-tool-heading-example' => 'Башлыкның исеме', - 'wikieditor-toolbar-group-format' => 'Форматы', - 'wikieditor-toolbar-tool-ulist' => 'Тамгалы исемлек', - 'wikieditor-toolbar-tool-ulist-example' => 'Тамгалы исемлекнең элементы', - 'wikieditor-toolbar-tool-olist' => 'Санлы исемлек', - 'wikieditor-toolbar-tool-olist-example' => 'Санлы исемлекнең элементы', - 'wikieditor-toolbar-tool-indent' => 'Чикләнеш', - 'wikieditor-toolbar-tool-indent-example' => 'Чикләнешле рәт', - 'wikieditor-toolbar-tool-nowiki' => 'Вики-форматлауны исәпкә алмаска', - 'wikieditor-toolbar-tool-nowiki-example' => 'Форматланмаган текстны монда өстәгез', - 'wikieditor-toolbar-tool-redirect' => 'Күчерү', - 'wikieditor-toolbar-tool-redirect-example' => 'Битнең исеме', - 'wikieditor-toolbar-tool-big' => 'Зур', - 'wikieditor-toolbar-tool-big-example' => 'Зур текст', - 'wikieditor-toolbar-tool-small' => 'Кечкенә', - 'wikieditor-toolbar-tool-small-example' => 'Кечкенә текст', - 'wikieditor-toolbar-tool-superscript' => 'Дәрәҗәле юл', - 'wikieditor-toolbar-tool-superscript-example' => 'Дәрәҗәле юл тексты', - 'wikieditor-toolbar-tool-subscript' => 'Индекслы юл', - 'wikieditor-toolbar-tool-subscript-example' => 'Индекслы юл тексты', - 'wikieditor-toolbar-group-insert' => 'Өстәү', - 'wikieditor-toolbar-tool-gallery' => 'Рәсемнәр җыентыгы', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Мисал.jpg|Тасвирлама1 -$1:Мисал.jpg|Тасвирлама2', - 'wikieditor-toolbar-tool-newline' => 'Яңа юл', - 'wikieditor-toolbar-tool-table' => 'Табын', - 'wikieditor-toolbar-tool-table-example-old' => '- -! башлык 1 -! башлык 2 -! башлык 3 -|- -| юл 1, күзәнәк 1 -| юл 1, күзәнәк 2 -| юл 1, күзәнәк 3 -|- -| юл 2, күзәнәк 1 -| юл 2, күзәнәк 2 -| юл 2, күзәнәк 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Күзәнәкнең тексты', - 'wikieditor-toolbar-tool-table-example-header' => 'Башлыкның исеме', - 'wikieditor-toolbar-tool-table-title' => 'Табынны өстәү', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Юллар', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Баганалар', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Башлык юлын өстәү', - 'wikieditor-toolbar-tool-table-wikitable' => 'Чикләр белән ясау', - 'wikieditor-toolbar-tool-table-sortable' => 'Эшкәртелүче табын иттереп ясау', - 'wikieditor-toolbar-tool-table-example' => 'Күзәнәкнең тексты', - 'wikieditor-toolbar-tool-table-preview' => 'Алдан карау', - 'wikieditor-toolbar-tool-table-insert' => 'Өстәү', - 'wikieditor-toolbar-tool-table-cancel' => 'Кире кагу', - 'wikieditor-toolbar-tool-table-toomany' => 'Бу диалог табынга $1 күзәнәктән дә артык өстәүне чикли', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'Сез дөрес күләмдә баганаларны һәм юлларны күрсәтмәгәнсез.', - 'wikieditor-toolbar-tool-table-zero' => 'Сез буш табын куя алмыйсыз.', - 'wikieditor-toolbar-tool-replace' => 'Эзләү һәм алмаштыру', - 'wikieditor-toolbar-tool-replace-title' => 'Эзләү һәм алмаштыру', - 'wikieditor-toolbar-tool-replace-search' => 'Эзләү:', - 'wikieditor-toolbar-tool-replace-replace' => 'Алмаштыру:', - 'wikieditor-toolbar-tool-replace-case' => 'Зурлыкны исәпләү', - 'wikieditor-toolbar-tool-replace-regex' => 'Эзләү тасмасын гади иттереп билгеләргә', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Бирелгәнне эзләү', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Барысында алмаштыру', - 'wikieditor-toolbar-tool-replace-close' => 'Ябу', - 'wikieditor-toolbar-tool-replace-nomatch' => 'Сезнең соравыгыз буенча берни дә табылмады.', - 'wikieditor-toolbar-tool-replace-success' => '$1 алмаштыру үткәрелде.', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'Сез нәрсә эзләргә икәнлеген күрсәтмәдегез.', - 'wikieditor-toolbar-tool-replace-invalidregex' => 'Сезнең тарафтан кертелгән $1 аңлатмасы дөрес түгел.', - 'wikieditor-toolbar-section-characters' => 'Махсус тамгалар', - 'wikieditor-toolbar-characters-page-latin' => 'Латин', - 'wikieditor-toolbar-characters-page-latinextended' => 'Латин (киңәйтелгән)', - 'wikieditor-toolbar-characters-page-ipa' => 'ХФӘ (IPA)', - 'wikieditor-toolbar-characters-page-symbols' => 'Тамгалар', - 'wikieditor-toolbar-characters-page-greek' => 'Грек', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Кирилл', - 'wikieditor-toolbar-characters-page-arabic' => 'Гарәп', - 'wikieditor-toolbar-characters-page-persian' => 'Фарсы', - 'wikieditor-toolbar-characters-page-hebrew' => 'Яхүд', - 'wikieditor-toolbar-characters-page-bangla' => 'Бенгаль', - 'wikieditor-toolbar-characters-page-telugu' => 'Телугу', - 'wikieditor-toolbar-characters-page-sinhala' => 'Сингаль', - 'wikieditor-toolbar-characters-page-gujarati' => 'Гуҗарати', - 'wikieditor-toolbar-characters-page-thai' => 'Таиланд', - 'wikieditor-toolbar-characters-page-lao' => 'Лаос', - 'wikieditor-toolbar-characters-page-khmer' => 'Кһмер', - 'wikieditor-toolbar-section-help' => 'Ярдәм', - 'wikieditor-toolbar-help-heading-description' => 'Тасвир', - 'wikieditor-toolbar-help-heading-syntax' => 'Кертелгән', - 'wikieditor-toolbar-help-heading-result' => 'Килеп чыккан', - 'wikieditor-toolbar-help-page-format' => 'Форматлаштыру', - 'wikieditor-toolbar-help-page-link' => 'Сылтамалар', - 'wikieditor-toolbar-help-page-heading' => 'Башлыклар', - 'wikieditor-toolbar-help-page-list' => 'Исемлекләр', - 'wikieditor-toolbar-help-page-file' => 'Файллар', - 'wikieditor-toolbar-help-page-reference' => 'Искәрмә', - 'wikieditor-toolbar-help-page-discussion' => 'Бәхәс', - 'wikieditor-toolbar-help-content-italic-description' => 'Авышлы', - 'wikieditor-toolbar-help-content-italic-syntax' => "''Авышлы кулъязма''", - 'wikieditor-toolbar-help-content-italic-result' => 'Авышлы кулъязма', - 'wikieditor-toolbar-help-content-bold-description' => 'Куе төс', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Куе төстәге кулъязма'''", - 'wikieditor-toolbar-help-content-bold-result' => 'Куе төстәге кулъязма', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'Авышлы куе төстәге кулъязма', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Авышлы куе төстәге кулъязма'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'Авышлы куе төстәге кулъязма', - 'wikieditor-toolbar-help-content-ilink-description' => 'Эчке сылтама', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Битнең башлыгы|Сылтама тексты]]
    [[Битнең башлыгы]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Сылтаманың тексты
    Битнең башлыгы", - 'wikieditor-toolbar-help-content-xlink-description' => 'Тышкы сылтама', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org Сылтаманың тексты]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Сылтаманың тексты
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => '2 баскыч башлыгы', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Башлыкның тексты ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Башлыкның тексты

    ', - 'wikieditor-toolbar-help-content-heading3-description' => '3 баскыч башлыгы', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Башлыкның тексты ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Башлыкның тексты

    ', - 'wikieditor-toolbar-help-content-heading4-description' => '4 баскыч башлыгы', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Башлыкның тексты ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Башлыкның тексты

    ', - 'wikieditor-toolbar-help-content-heading5-description' => '5 баскыч башлыгы', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Башлыкның тексты =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    Башлыкның тексты
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'Тамгалы исемлек', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* Исемлекнең тәртибе
    * Исемлекнең тәртибе', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • Исемлекнең тәртибе
    • Исемлекнең тәртибе
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'Санлы исемлек', - 'wikieditor-toolbar-help-content-olist-syntax' => '# Исемлекнең тәртибе
    # Исемлекнең тәртибе', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. Исемлекнең тәртибе
    2. Исемлекнең тәртибе
    ', - 'wikieditor-toolbar-help-content-file-description' => 'Куелган файл', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|Аңлатмалы текст]]', - 'wikieditor-toolbar-help-content-file-result' => "
    -Аңлатмалы текст
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Искәрмә', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Битнең тексты.<ref name="test">[http://www.example.org Сылтаманың тексты], өстәмә текст.</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "Битнең тексты.[1]", - 'wikieditor-toolbar-help-content-rereference-description' => 'Бирелгән сылтаманы өстәмә куллану', - 'wikieditor-toolbar-help-content-rereference-result' => "Битнең тексты.[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Искәрмәне күрсәтү', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Сылтаманың тексты, өстәмә текст.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Имза (куелган вакыт белән)', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Кулланучы исеме (бәхәс) 15:54, 10 июнь 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'Имза', - 'wikieditor-toolbar-help-content-signature-result' => "Кулланучы исеме (бәхәс)", - 'wikieditor-toolbar-help-content-indent-description' => 'Чигенеш', - 'wikieditor-toolbar-help-content-indent-syntax' => 'Гади текст
    :Чигенешле текст
    ::Чигенешле текст', - 'wikieditor-toolbar-help-content-indent-result' => 'Гади текст
    Чигенешле текст
    Чигенешле текст
    ', -); - -/** Ukrainian (українська) - * @author AS - * @author Ahonc - * @author Dim Grits - * @author Microcell - * @author NickK - * @author Olvin - * @author Prima klasy4na - * @author Тест - */ -$messages['uk'] = array( - 'wikieditor' => 'Розширений інтерфейс редагування вікітексту', - 'wikieditor-desc' => 'Забезпечує розширюваний інтерфейс редагування вікітексту і багато функціональних модулів', - 'wikieditor-wikitext-tab' => 'Вікітекст', - 'wikieditor-loading' => 'Завантаження', - 'wikieditor-preview-preference' => 'Увімкнути додаткову панель швидкого перемикання: "Редагувати" — "Попередній перегляд"', - 'wikieditor-preview-tab' => 'Попередній перегляд', - 'wikieditor-preview-changes-tab' => 'Зміни', - 'wikieditor-preview-loading' => 'Завантаження...', - 'wikieditor-previewDialog-preference' => 'Увімкнути діалог попереднього перегляду', - 'wikieditor-previewDialog-tab' => 'Попередній перегляд', - 'wikieditor-previewDialog-loading' => 'Завантаження...', - 'wikieditor-publish-preference' => 'Увімкнути публікацію крок за кроком', - 'wikieditor-publish-button-publish' => 'Опублікувати', - 'wikieditor-publish-button-cancel' => 'Скасувати', - 'wikieditor-publish-dialog-title' => 'Опублікувати на {{SITENAME}}', - 'wikieditor-publish-dialog-summary' => 'Опис редагування (короткий опис змін, зроблених вами):', - 'wikieditor-publish-dialog-minor' => 'Незначне редагування', - 'wikieditor-publish-dialog-watch' => 'Спостерігати за цією сторінкою', - 'wikieditor-publish-dialog-publish' => 'Опублікувати', - 'wikieditor-publish-dialog-goback' => 'Назад', - 'wikieditor-template-editor-preference' => 'Увімкнути редагування шаблонів за допомогою форм', - 'wikieditor-template-editor-dialog-title' => 'Редагувати шаблон', - 'wikieditor-template-editor-dialog-submit' => 'Оновити', - 'wikieditor-template-editor-dialog-cancel' => 'Скасувати', - 'wikieditor-templates-preference' => 'Увімкнути згортання шаблонів', - 'wikieditor-toc-preference' => 'Увімкнути додаткову панель змісту з можливістю навігації', - 'wikieditor-toc-show' => 'Показати зміст', - 'wikieditor-toc-hide' => 'Сховати зміст', - 'wikieditor-toolbar' => 'Панель засобів редагування', - 'wikieditor-toolbar-desc' => 'Панель засобів редагування з покращеною ужитковістю', - 'wikieditor-toolbar-preference' => 'Увімкнути покращену панель засобів редагування', - 'wikieditor-toolbar-dialogs-preference' => 'Увімкнути діалоги для пошуку і заміни, додавання посилань, таблиць та іншого', - 'wikieditor-toolbar-hidesig' => 'Приховати кнопку підпису зі сторінок в основному просторі назв', - 'wikieditor-toolbar-loading' => 'Завантаження…', - 'wikieditor-toolbar-tool-bold' => 'Жирний', - 'wikieditor-toolbar-tool-bold-example' => 'Жирний текст', - 'wikieditor-toolbar-tool-italic' => 'Курсив', - 'wikieditor-toolbar-tool-italic-example' => 'Курсивний текст', - 'wikieditor-toolbar-tool-ilink' => 'Внутрішнє посилання', - 'wikieditor-toolbar-tool-ilink-example' => 'Заголовок посилання', - 'wikieditor-toolbar-tool-xlink' => "Зовнішнє посилання (пам'ятайте про префікс http://)", - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com заголовок посилання', - 'wikieditor-toolbar-tool-link' => 'Посилання', - 'wikieditor-toolbar-tool-link-title' => 'Вставити посилання', - 'wikieditor-toolbar-tool-link-int' => 'На вікі-сторінку', - 'wikieditor-toolbar-tool-link-int-target' => 'Заголовок сторінки:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Назва сторінки або URL', - 'wikieditor-toolbar-tool-link-int-text' => 'Текст посилання:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Введіть текст, який має відображатися', - 'wikieditor-toolbar-tool-link-ext' => 'На зовнішню веб-сторінку', - 'wikieditor-toolbar-tool-link-ext-target' => 'URL-адреса посилання:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Текст посилання:', - 'wikieditor-toolbar-tool-link-insert' => 'Вставити посилання', - 'wikieditor-toolbar-tool-link-cancel' => 'Скасувати', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Сторінка існує', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Сторінки не існує', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Неприпустима назва', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Зовнішнє посилання', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Перевірка наявності сторінки...', - 'wikieditor-toolbar-tool-link-int-invalid' => 'Зазначена назва неприпустима.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Зазначений вами URL виглядає як посилання на іншу вікі-сторінку. Ви хочете зробити його внутрішнім посиланням?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Внутрішнє посилання', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Зовнішнє посилання', - 'wikieditor-toolbar-tool-link-empty' => 'Ви не зазначили, на що створити посилання.', - 'wikieditor-toolbar-tool-file' => 'Вкладений файл', - 'wikieditor-toolbar-tool-file-example' => 'Example.jpg', - 'wikieditor-toolbar-tool-file-title' => 'Вставити файл', - 'wikieditor-toolbar-file-target' => 'Назва файлу:', - 'wikieditor-toolbar-file-caption' => 'Підпис:', - 'wikieditor-toolbar-file-size' => 'Розмір:', - 'wikieditor-toolbar-file-float' => 'Вирівнювання:', - 'wikieditor-toolbar-file-default' => '(стандартно)', - 'wikieditor-toolbar-file-format' => 'Формат:', - 'wikieditor-toolbar-tool-file-insert' => 'Вставити', - 'wikieditor-toolbar-tool-file-cancel' => 'Скасувати', - 'wikieditor-toolbar-tool-reference' => 'Виноска', - 'wikieditor-toolbar-tool-reference-example' => 'Вставте сюди текст виноски', - 'wikieditor-toolbar-tool-reference-cancel' => 'Скасувати', - 'wikieditor-toolbar-tool-reference-title' => 'Вставити примітку', - 'wikieditor-toolbar-tool-reference-insert' => 'Вставити', - 'wikieditor-toolbar-tool-reference-text' => 'Текст примітки', - 'wikieditor-toolbar-tool-signature' => 'Підпис з часовою міткою', - 'wikieditor-toolbar-section-advanced' => 'Додатково', - 'wikieditor-toolbar-tool-heading' => 'Заголовки', - 'wikieditor-toolbar-tool-heading-1' => '1 рівень', - 'wikieditor-toolbar-tool-heading-2' => '2 рівень', - 'wikieditor-toolbar-tool-heading-3' => '3 рівень', - 'wikieditor-toolbar-tool-heading-4' => '4 рівень', - 'wikieditor-toolbar-tool-heading-5' => '5 рівень', - 'wikieditor-toolbar-tool-heading-example' => 'Текст заголовка', - 'wikieditor-toolbar-group-format' => 'Формат', - 'wikieditor-toolbar-tool-ulist' => 'Маркований список', - 'wikieditor-toolbar-tool-ulist-example' => 'Елемент маркованого списку', - 'wikieditor-toolbar-tool-olist' => 'Нумерований список', - 'wikieditor-toolbar-tool-olist-example' => 'Елемент нумерованого списку', - 'wikieditor-toolbar-tool-indent' => 'Абзац', - 'wikieditor-toolbar-tool-indent-example' => 'Рядок з абзацу', - 'wikieditor-toolbar-tool-nowiki' => 'Ігнорувати вікі-форматування', - 'wikieditor-toolbar-tool-nowiki-example' => 'Вставте тут невідформатований текст', - 'wikieditor-toolbar-tool-redirect' => 'Перенаправлення', - 'wikieditor-toolbar-tool-redirect-example' => 'Назва цільової сторінки', - 'wikieditor-toolbar-tool-big' => 'Великий', - 'wikieditor-toolbar-tool-big-example' => 'Великий текст', - 'wikieditor-toolbar-tool-small' => 'Малий', - 'wikieditor-toolbar-tool-small-example' => 'Малий текст', - 'wikieditor-toolbar-tool-superscript' => 'Верхній індекс', - 'wikieditor-toolbar-tool-superscript-example' => 'Текст у верхньому індексі', - 'wikieditor-toolbar-tool-subscript' => 'Нижній індекс', - 'wikieditor-toolbar-tool-subscript-example' => 'Текст нижнього індексу', - 'wikieditor-toolbar-group-insert' => 'Вставити', - 'wikieditor-toolbar-tool-gallery' => 'Галерея', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|Опис1 -$1:Example.jpg|Опис2', - 'wikieditor-toolbar-tool-newline' => 'Новий рядок', - 'wikieditor-toolbar-tool-table' => 'Таблиця', - 'wikieditor-toolbar-tool-table-example-old' => '- -! заголовок 1 -! заголовок 2 -! заголовок 3 -|- -| рядок 1, комірка 1 -| рядок 1, комірка 2 -| рядок 1, комірка 3 -|- -| рядок 2, комірка 1 -| рядок 2, комірка 2 -| рядок 2, комірка 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Текст комірки', - 'wikieditor-toolbar-tool-table-example-header' => 'Текст заголовка', - 'wikieditor-toolbar-tool-table-title' => 'Вставити таблицю', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Рядків', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Стовпців', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Додати рядок заголовка', - 'wikieditor-toolbar-tool-table-wikitable' => 'Оформлення з рамками', - 'wikieditor-toolbar-tool-table-sortable' => 'Додати до таблиці можливість сортування', - 'wikieditor-toolbar-tool-table-example' => 'Приклад', - 'wikieditor-toolbar-tool-table-preview' => 'Попередній перегляд', - 'wikieditor-toolbar-tool-table-insert' => 'Вставити', - 'wikieditor-toolbar-tool-table-cancel' => 'Скасувати', - 'wikieditor-toolbar-tool-table-example-text' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut nec purus diam. Sed aliquam imperdiet nunc quis lacinia. Donec rutrum consectetur placerat. Sed volutpat neque non purus faucibus id ultricies enim euismod.', - 'wikieditor-toolbar-tool-table-toomany' => 'Цей діалог не дозволяє вставити таблицю з більш ніж $1 комірок.', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'Ви не вказали необхідного числа рядків і стовпців.', - 'wikieditor-toolbar-tool-table-zero' => 'Ви не можете вставити таблицю з нульовою кількістю рядків або стовпців.', - 'wikieditor-toolbar-tool-replace' => 'Пошук і заміна', - 'wikieditor-toolbar-tool-replace-title' => 'Пошук і заміна', - 'wikieditor-toolbar-tool-replace-search' => 'Шукати:', - 'wikieditor-toolbar-tool-replace-replace' => 'Замінити на:', - 'wikieditor-toolbar-tool-replace-case' => 'Враховувати регістр', - 'wikieditor-toolbar-tool-replace-regex' => 'Вважати рядок пошуку регулярним виразом', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Знайти наступний', - 'wikieditor-toolbar-tool-replace-button-replace' => 'Замінити', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Замінити всі', - 'wikieditor-toolbar-tool-replace-close' => 'Закрити', - 'wikieditor-toolbar-tool-replace-nomatch' => 'За Вашим запитом нічого не знайдено.', - 'wikieditor-toolbar-tool-replace-success' => 'Зроблено замін: $1.', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'Ви не зазначили, що треба шукати.', - 'wikieditor-toolbar-tool-replace-invalidregex' => 'Введений вами регулярний вираз помилковий: $1', - 'wikieditor-toolbar-section-characters' => 'Спеціальні символи', - 'wikieditor-toolbar-characters-page-latin' => 'Латинські', - 'wikieditor-toolbar-characters-page-latinextended' => 'Розширена латинська', - 'wikieditor-toolbar-characters-page-ipa' => 'МФА (IPA)', - 'wikieditor-toolbar-characters-page-symbols' => 'Символи', - 'wikieditor-toolbar-characters-page-greek' => 'Грецькі', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Кирилиця', - 'wikieditor-toolbar-characters-page-arabic' => 'Арабські', - 'wikieditor-toolbar-characters-page-arabicextended' => 'Арабська розширена', - 'wikieditor-toolbar-characters-page-persian' => 'Перські', - 'wikieditor-toolbar-characters-page-hebrew' => 'Іврит', - 'wikieditor-toolbar-characters-page-bangla' => 'Бенгальські', - 'wikieditor-toolbar-characters-page-tamil' => 'Тамільська', - 'wikieditor-toolbar-characters-page-telugu' => 'Телугу', - 'wikieditor-toolbar-characters-page-sinhala' => 'Сингальська', - 'wikieditor-toolbar-characters-page-gujarati' => 'Гуджараті', - 'wikieditor-toolbar-characters-page-devanagari' => 'Деванагарі', - 'wikieditor-toolbar-characters-page-thai' => 'Тайські', - 'wikieditor-toolbar-characters-page-lao' => 'Лаоські', - 'wikieditor-toolbar-characters-page-khmer' => 'Кхмерські', - 'wikieditor-toolbar-section-help' => 'Довідка', - 'wikieditor-toolbar-help-heading-description' => 'Опис', - 'wikieditor-toolbar-help-heading-syntax' => 'Що ви вводите', - 'wikieditor-toolbar-help-heading-result' => 'Що ви отримуєте', - 'wikieditor-toolbar-help-page-format' => 'Форматування', - 'wikieditor-toolbar-help-page-link' => 'Посилання', - 'wikieditor-toolbar-help-page-heading' => 'Заголовки', - 'wikieditor-toolbar-help-page-list' => 'Списки', - 'wikieditor-toolbar-help-page-file' => 'Файли', - 'wikieditor-toolbar-help-page-reference' => 'Виноски', - 'wikieditor-toolbar-help-page-discussion' => 'Обговорення', - 'wikieditor-toolbar-help-content-italic-description' => 'Курсив', - 'wikieditor-toolbar-help-content-italic-syntax' => "''Курсив''", - 'wikieditor-toolbar-help-content-italic-result' => 'Курсив', - 'wikieditor-toolbar-help-content-bold-description' => 'Жирний', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Жирний текст'''", - 'wikieditor-toolbar-help-content-bold-result' => 'Жирний текст', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'Жирний курсив', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Жирний курсивний текст'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'Жирний курсивний текст', - 'wikieditor-toolbar-help-content-ilink-description' => 'Внутрішнє посилання', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Заголовок сторінки|Текст посилання]]
    [[Заголовок сторінки]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Текст посилання
    Заголовок сторінки", - 'wikieditor-toolbar-help-content-xlink-description' => 'Зовнішнє посилання', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org Текст посилання]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Текст посилання
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => 'Заголовок 2го рівня', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Текст заголовка ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Текст заголовка

    ', - 'wikieditor-toolbar-help-content-heading3-description' => 'Заголовок 3го рівня', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Текст заголовка ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Текст заголовка

    ', - 'wikieditor-toolbar-help-content-heading4-description' => 'Заголовок 4го рівня', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Текст заголовка ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Текст заголовка

    ', - 'wikieditor-toolbar-help-content-heading5-description' => 'Заголовок 5го рівня', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Текст заголовка =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    Текст заголовка
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'Маркований список', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* Елемент списку
    * Елемент списку', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • Елемент списку
    • Елемент списку
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'Нумерований список', - 'wikieditor-toolbar-help-content-olist-syntax' => '# Елемент списку
    # Елемент списку', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. Елемент списку
    2. Елемент списку
    ', - 'wikieditor-toolbar-help-content-file-description' => 'Вбудований файл', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|Пояснювальний текст]]', - 'wikieditor-toolbar-help-content-file-result' => "
    Пояснювальний текст
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Виноска', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Текст сторінки<ref name="test">[http://www.example.org Текст посилання], додатковий текст.</ref>.', - 'wikieditor-toolbar-help-content-reference-result' => "Текст сторінки.[1]", - 'wikieditor-toolbar-help-content-rereference-description' => 'Додаткове використання тієї ж виноски', - 'wikieditor-toolbar-help-content-rereference-syntax' => '<ref name="test" />', - 'wikieditor-toolbar-help-content-rereference-result' => "Текст сторінки.[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Показати виноски', - 'wikieditor-toolbar-help-content-showreferences-syntax' => '<references />', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Текст посилання, додатковий текст.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Підпис з часовою міткою', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Ім'я користувача (обговорення) 15:54, 10 червня 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'Підпис', - 'wikieditor-toolbar-help-content-signature-result' => "Ім'я користувача (обговорення)", - 'wikieditor-toolbar-help-content-indent-description' => 'Відступ', - 'wikieditor-toolbar-help-content-indent-syntax' => 'Звичайний текст
    :Текст з відступом
    ::Текст з відступом', - 'wikieditor-toolbar-help-content-indent-result' => 'Звичайний текст
    Текст з відступом
    Текст з відступом
    ', -); - -/** Urdu (اردو) - * @author محبوب عالم - * @author පසිඳු කාවින්ද - */ -$messages['ur'] = array( - 'wikieditor' => 'ویکی متن کی تدوین کیلئے پیش رفتہ سطح البین', - 'wikieditor-desc' => 'ویکی متن کیلئے تدوینی مواجہہ اور کئی خدوخال دینے والے مطبقیات فراہم کرتا ہے۔', - 'wikieditor-wikitext-tab' => 'ویکی متن', - 'wikieditor-loading' => 'لَدرہا ہے', - 'wikieditor-preview-preference' => 'پہلو بہ پہلو پیش منظر فعال کرو', - 'wikieditor-preview-tab' => 'پیش منظر', - 'wikieditor-preview-changes-tab' => 'تبدیلیاں', - 'wikieditor-preview-loading' => 'لادرہا ہے۔۔', - 'wikieditor-previewDialog-preference' => 'پیش منظر خانہ فعال کرو', - 'wikieditor-previewDialog-tab' => 'پیش منظر', - 'wikieditor-previewDialog-loading' => 'لادرہا ہے۔۔', - 'wikieditor-publish-preference' => 'قدم بہ قدم شائع کاری فعال کرو', - 'wikieditor-publish-button-publish' => 'شائع کرو', - 'wikieditor-publish-button-cancel' => 'منسوخ', - 'wikieditor-publish-dialog-title' => 'نشر بطرف {{SITENAME}}', - 'wikieditor-publish-dialog-summary' => 'خلاصۂ تدوین (اپنی کی گئی تبدیلیوں کی مختصر وضاحت کریں):', - 'wikieditor-publish-dialog-minor' => 'معمولی ترمیم', - 'wikieditor-publish-dialog-watch' => 'یہ صفحہ زیرِنظر کریں', - 'wikieditor-publish-dialog-publish' => 'شائع کرو', - 'wikieditor-publish-dialog-goback' => 'پیچھے جاؤ', - 'wikieditor-template-editor-preference' => 'ویکی سانچہ جات کا شکلبندی تدوین فعال کرو', - 'wikieditor-template-editor-dialog-title' => 'سانچہ کی تدوین', - 'wikieditor-template-editor-dialog-submit' => 'اپ ڈیٹ', - 'wikieditor-template-editor-dialog-cancel' => 'منسوخ', - 'wikieditor-templates-preference' => 'سانچہ کی تہدیم فعال کرو', - 'wikieditor-toc-show' => 'مشتملات دکھاؤ', - 'wikieditor-toc-hide' => 'مشتملات چھپاؤ', - 'wikieditor-toolbar' => 'تدوینی اوزارتختہ', - 'wikieditor-toolbar-preference' => 'افزودہ تدوینی اوزارتختہ فعال کرو', - 'wikieditor-toolbar-dialogs-preference' => 'رابطو اور جدولوں وغیرہ کے ادخال کیلئے مکالمہ جات فعال کرو', - 'wikieditor-toolbar-loading' => 'لَدرہا ہے۔۔', - 'wikieditor-toolbar-tool-bold' => 'جلی', - 'wikieditor-toolbar-tool-bold-example' => 'دبیز متن', - 'wikieditor-toolbar-tool-italic' => 'ترچھا', - 'wikieditor-toolbar-tool-italic-example' => 'ترچھا متن', - 'wikieditor-toolbar-tool-ilink' => 'اندرونی ربط', - 'wikieditor-toolbar-tool-ilink-example' => 'ربط کا عنوان', - 'wikieditor-toolbar-tool-xlink' => 'بیرونی ربط (یاد رکھئے http:// prefix)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com ربط کا عنوان', - 'wikieditor-toolbar-tool-link' => 'ربط', - 'wikieditor-toolbar-tool-link-title' => 'ربط داخل کرو', - 'wikieditor-toolbar-tool-link-int' => 'ایک ویکی صفحہ کی طرف', - 'wikieditor-toolbar-tool-link-int-target' => 'ہدف صفحہ یا پتہ:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'عنوانِ صفحہ یا پتہ:', - 'wikieditor-toolbar-tool-link-int-text' => 'ظاہر ہونے والا متن:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'متن جو دِکھایا جائے گا', - 'wikieditor-toolbar-tool-link-ext' => 'کسی بیرونی ویب صفحہ کی طرف', - 'wikieditor-toolbar-tool-link-ext-target' => 'پتۂ ربط:', - 'wikieditor-toolbar-tool-link-ext-text' => 'ربط کا متن:', - 'wikieditor-toolbar-tool-link-insert' => 'ربط داخل کرو', - 'wikieditor-toolbar-tool-link-cancel' => 'منسوخ', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'صفحہ موجود ہے', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'صفحہ موجود نہیں ہے', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'غلط عنوان', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'بیرونی ربط', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'صفحہ کی موجودگی دیکھی جارہی ہے۔۔۔', - 'wikieditor-toolbar-tool-link-int-invalid' => 'آپ کا داخل کردہ عنوان غلط ہے۔', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'آپ کا داخل کردہ پتے سے لگتا ہے کہ یہ دوسرے ویکی صفحہ کی طرف رابطے کیلئے تھا۔ -کیا آپ اِسے ایک اندرونی ربط بنانا چاہتے ہیں؟', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'اندرونی ربط', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'بیرونی ربط', - 'wikieditor-toolbar-tool-link-empty' => 'آپ نے ربط کیلئے کچھ داخل نہیں کیا۔', - 'wikieditor-toolbar-tool-file' => 'پیوستہ ملف', - 'wikieditor-toolbar-tool-file-example' => 'مثال.jpg', - 'wikieditor-toolbar-tool-file-title' => 'فائل کو داخل کریں', - 'wikieditor-toolbar-file-target' => 'توسیعۂ اسم:', - 'wikieditor-toolbar-file-caption' => 'عنوان:', - 'wikieditor-toolbar-file-size' => 'کا سائز:', - 'wikieditor-toolbar-file-float' => 'سیدھ کریں:', - 'wikieditor-toolbar-file-default' => '(طے شدہ)', - 'wikieditor-toolbar-file-format' => 'فارمیٹ:', - 'wikieditor-toolbar-tool-file-insert' => 'ڈالیں', - 'wikieditor-toolbar-tool-file-cancel' => 'منسوخ', - 'wikieditor-toolbar-tool-reference' => 'حوالہ', - 'wikieditor-toolbar-tool-reference-example' => 'حاشیہ متن یہاں داخل کرو', - 'wikieditor-toolbar-tool-reference-cancel' => 'منسوخ', - 'wikieditor-toolbar-tool-reference-title' => 'حوالہ داخل کرو', - 'wikieditor-toolbar-tool-reference-insert' => 'داخل کرو', - 'wikieditor-toolbar-tool-reference-text' => 'حوالے کا متن', - 'wikieditor-toolbar-tool-signature' => 'دستخط اور وقت کی مُہر', - 'wikieditor-toolbar-section-advanced' => 'پیشرفتہ', - 'wikieditor-toolbar-tool-heading' => 'سرنامہ', - 'wikieditor-toolbar-tool-heading-1' => 'درجہ اوّل', - 'wikieditor-toolbar-tool-heading-2' => 'درجہ دوم', - 'wikieditor-toolbar-tool-heading-3' => 'درجہ سوم', - 'wikieditor-toolbar-tool-heading-4' => 'درجہ چہارم', - 'wikieditor-toolbar-tool-heading-5' => 'درجہ پنجم', - 'wikieditor-toolbar-tool-heading-example' => 'سرنامے کا متن', - 'wikieditor-toolbar-group-format' => 'شکلبند', - 'wikieditor-toolbar-tool-ulist' => 'نقاطی فہرست', - 'wikieditor-toolbar-tool-ulist-example' => 'نقاطی فہرست کی مَد', - 'wikieditor-toolbar-tool-olist' => 'نمبرشدہ فہرست', - 'wikieditor-toolbar-tool-olist-example' => 'نمبرشُدہ فہرست کی مَد', - 'wikieditor-toolbar-tool-nowiki' => 'کوئی وکی فارمیٹنگ', - 'wikieditor-toolbar-tool-nowiki-example' => 'غیر فارمیٹ متن یہاں داخل کریں', - 'wikieditor-toolbar-tool-redirect' => 'کی سمت تبدیل', - 'wikieditor-toolbar-tool-redirect-example' => 'ہدف صفحہ کا نام', - 'wikieditor-toolbar-tool-big' => 'بڑا', - 'wikieditor-toolbar-tool-big-example' => 'بڑا متن', - 'wikieditor-toolbar-tool-small' => 'چھوٹا', - 'wikieditor-toolbar-tool-small-example' => 'چھوٹا متن', - 'wikieditor-toolbar-tool-superscript' => 'بالا نص', - 'wikieditor-toolbar-tool-superscript-example' => 'بالانص متن', - 'wikieditor-toolbar-tool-subscript' => 'ذیلی نص', - 'wikieditor-toolbar-tool-subscript-example' => 'ذیلی نص متن', - 'wikieditor-toolbar-group-insert' => 'ادخال', - 'wikieditor-toolbar-tool-gallery' => 'مجموعۂ تصاویر', - 'wikieditor-toolbar-tool-gallery-example' => '$1:مثال.jpg|تعقیب1 -$1:مثال.jpg|تعقیب2', - 'wikieditor-toolbar-tool-newline' => 'نئی لکیر', - 'wikieditor-toolbar-tool-table' => 'جدول', - 'wikieditor-toolbar-tool-table-example-old' => '- -! سرنامہ 1 -! سرنامہ 2 -! سرنامہ 3 -|- -| صف 1, خانہ 1 -| صف 1, خانہ 2 -| صف 1, خانہ 3 -|- -| صف 2, خانہ 1 -| صف 2, خانہ 2 -| صف 2, خانہ 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'خانے کا متن', - 'wikieditor-toolbar-tool-table-example-header' => 'سرنامے کا متن', - 'wikieditor-toolbar-tool-table-title' => 'جدول کا ادخال', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'صفیں', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'قطاریں', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'سرنامی صف کا اِضافہ کرو', - 'wikieditor-toolbar-tool-table-wikitable' => 'سرحدی لکیریں', - 'wikieditor-toolbar-tool-table-sortable' => 'جدول کو قابلِ ترتیب بناؤ', - 'wikieditor-toolbar-tool-table-example' => 'مثال', - 'wikieditor-toolbar-tool-table-preview' => 'نمائش', - 'wikieditor-toolbar-tool-table-insert' => 'داخل', - 'wikieditor-toolbar-tool-table-cancel' => 'منسوخ', - 'wikieditor-toolbar-tool-table-toomany' => 'اِس مکالمہ کے ذریعے $1 سے زیادہ خانوں والے جدول کا ادخال ممکن نہیں۔', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'آپ نے قطاروں یا صفوں کا صحیح شمار داخل نہیں کیا۔', - 'wikieditor-toolbar-tool-table-zero' => 'آپ صفر قطاروں یا صفوں کا جدول داخل نہیں کرسکتے۔', - 'wikieditor-toolbar-tool-replace' => 'تلاش و تبدیلئ متن', - 'wikieditor-toolbar-tool-replace-title' => 'تلاش و تبدیلئ متن', - 'wikieditor-toolbar-tool-replace-search' => 'تلاش برائے:', - 'wikieditor-toolbar-tool-replace-replace' => 'اِس کے ساتھ تبدیل کرو:', - 'wikieditor-toolbar-tool-replace-case' => 'میچ کے کیس', - 'wikieditor-toolbar-tool-replace-regex' => 'ایک باقاعدہ اظہار طور پر تلاش تار کا علاج', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'اگلی دریافت', - 'wikieditor-toolbar-tool-replace-button-replace' => 'بدل دو', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'سب بدل دو', - 'wikieditor-toolbar-tool-replace-close' => 'بند کرو', - 'wikieditor-toolbar-tool-replace-nomatch' => 'آپ کی تلاش سے کچھ ملا نہیں۔', - 'wikieditor-toolbar-tool-replace-success' => '$1 تبدیلیاں کی گئیں۔', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'آپ نے تلاش کیلئے کچھ دیا نہیں۔', - 'wikieditor-toolbar-section-characters' => 'خاص محارف', - 'wikieditor-toolbar-characters-page-latin' => 'لاطینی محارف', - 'wikieditor-toolbar-characters-page-latinextended' => 'وسیع لاطینی', - 'wikieditor-toolbar-characters-page-symbols' => 'علامات', - 'wikieditor-toolbar-characters-page-greek' => 'یونانی', - 'wikieditor-toolbar-characters-page-arabic' => 'عربی', - 'wikieditor-toolbar-characters-page-arabicextended' => 'عربی توسیع شدہ', - 'wikieditor-toolbar-characters-page-persian' => 'فارسی', - 'wikieditor-toolbar-characters-page-hebrew' => 'عبرانی', - 'wikieditor-toolbar-characters-page-bangla' => 'بنگالی', - 'wikieditor-toolbar-characters-page-tamil' => 'تامل', - 'wikieditor-toolbar-characters-page-telugu' => 'تلگو', - 'wikieditor-toolbar-characters-page-sinhala' => 'سنگھالی', - 'wikieditor-toolbar-characters-page-gujarati' => 'گجراتی', - 'wikieditor-toolbar-characters-page-thai' => 'سیامی', - 'wikieditor-toolbar-characters-page-lao' => 'لاوسی', - 'wikieditor-toolbar-characters-page-khmer' => 'کھمیری', - 'wikieditor-toolbar-section-help' => 'مدد', - 'wikieditor-toolbar-help-heading-description' => 'تفصیل', - 'wikieditor-toolbar-help-heading-syntax' => 'جو آپ لکھتے ہیں', - 'wikieditor-toolbar-help-heading-result' => 'جو آپ پاتے ہیں', - 'wikieditor-toolbar-help-page-format' => 'شکلبندی', - 'wikieditor-toolbar-help-page-link' => 'روابط', - 'wikieditor-toolbar-help-page-heading' => 'سرنامے', - 'wikieditor-toolbar-help-page-list' => 'فہارست', - 'wikieditor-toolbar-help-page-file' => 'ملفات', - 'wikieditor-toolbar-help-page-reference' => 'حوالہ جات', - 'wikieditor-toolbar-help-page-discussion' => 'تبادلہٴ خیال', - 'wikieditor-toolbar-help-content-italic-description' => 'ترچھا', - 'wikieditor-toolbar-help-content-italic-syntax' => "''ترچھا متن''", - 'wikieditor-toolbar-help-content-italic-result' => 'ترچھا متن', - 'wikieditor-toolbar-help-content-bold-description' => 'جلی', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''جلی متن'''", - 'wikieditor-toolbar-help-content-bold-result' => 'جلی متن', - 'wikieditor-toolbar-help-content-ilink-description' => 'اندرونی ربط', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[صفحہ کا عنوان|ربط کا نام]]
    [[صفحہ کا عنوان]]', - 'wikieditor-toolbar-help-content-ilink-result' => "ربط کا نام
    صفحہ کا عنوان", - 'wikieditor-toolbar-help-content-xlink-description' => 'بیرونی ربط', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org ربط کا نام]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-heading2-description' => 'درجۂ دوم کا سرنامہ', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== سرنامی متن ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    سرنامی متن

    ', - 'wikieditor-toolbar-help-content-heading3-description' => 'درجۂ سوم کا سرنامہ', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== سرنامی متن ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    سرنامی متن

    ', - 'wikieditor-toolbar-help-content-heading4-description' => 'درجۂ چہارم کا سرنامہ', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== سرنامی متن ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    سرنامی متن

    ', - 'wikieditor-toolbar-help-content-heading5-description' => 'درجۂ پنجم کا سرنامہ', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== سرنامی متن =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    سرنامی متن
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'نقاط شدہ فہرست', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* فہرستی مَد
    * فہرستی مَد', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • فہرستی مد
    • فہرستی مد
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'نمبرشدہ فہرست', - 'wikieditor-toolbar-help-content-olist-syntax' => '# فہرستی مد
    # فہرستی مد', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. فہرستی مد
    2. فہرستی مد
    ', - 'wikieditor-toolbar-help-content-file-description' => 'پیوستہ ملف', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:مثال.png|thumb|تعقیبی متن]]', - 'wikieditor-toolbar-help-content-reference-description' => 'حوالہ', - 'wikieditor-toolbar-help-content-showreferences-description' => 'حوالہ جات دکھاؤ', - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'دستخط بمع مُہرِوقت', - 'wikieditor-toolbar-help-content-signature-description' => 'دستخط', -); - -/** Uzbek (oʻzbekcha) - * @author CoderSI - */ -$messages['uz'] = array( - 'wikieditor' => 'Vikimatnni tahrirlashning kengaytirilgan interfeysi', - 'wikieditor-desc' => "Vikimatnni tahrirlashning kengaytirilgan interfeysi va modullar tomonidan taqdim qilinadigan ko'pchilik amallar bilan ta'minlaydi", - 'wikieditor-wikitext-tab' => 'Vikimatn', - 'wikieditor-loading' => 'Yuklash...', - 'wikieditor-preview-preference' => "Yonma-yon batafsil ko'rsatishni yoqish", - 'wikieditor-preview-tab' => "Batafsil ko'rsatish", - 'wikieditor-preview-changes-tab' => "O'zgarishlar", - 'wikieditor-preview-loading' => 'Yuklash...', - 'wikieditor-previewDialog-preference' => "Batafsil ko'rsatish dialogini yoqish", - 'wikieditor-previewDialog-tab' => "Batafsil ko'rsatish", - 'wikieditor-previewDialog-loading' => 'Yuklash...', - 'wikieditor-publish-preference' => 'Qadamba-qadam nashr qilishni yoqish', - 'wikieditor-publish-button-publish' => 'Nashr qilish', - 'wikieditor-publish-button-cancel' => 'Bekor', - 'wikieditor-publish-dialog-title' => '{{SITENAME}} loyihasida nashr qilish', - 'wikieditor-publish-dialog-summary' => "O'zgarishlar tavsifi (qanday o'zgarishlar sodir bo'lganini qisqacha ko'rsating):", - 'wikieditor-publish-dialog-minor' => "Kichik o'zgarish", - 'wikieditor-publish-dialog-watch' => 'Bu sahifani kuzatish', - 'wikieditor-publish-dialog-publish' => 'Nashr qilish', - 'wikieditor-publish-dialog-goback' => 'Orqaga', - 'wikieditor-template-editor-preference' => 'Shakllar yodamida andozalarni tahrirlashni yoqish', - 'wikieditor-template-editor-dialog-title' => "Andozani o'zgartirish", - 'wikieditor-template-editor-dialog-submit' => 'Yangilash', - 'wikieditor-template-editor-dialog-cancel' => 'Bekor', - 'wikieditor-templates-preference' => "Andozalarni yig'ishni yoqish", - 'wikieditor-toc-preference' => "O'tish imkonini beruvchi mundarijani yoqish", - 'wikieditor-toc-show' => "Mundarijani ko'rsatish", - 'wikieditor-toc-hide' => 'Mundarijani yashirish', - 'wikieditor-toolbar' => 'Tahrirlash darchasi', - 'wikieditor-toolbar-desc' => "Foydalanishga qulayroq bo'lgan tahrirlash darchasi", - 'wikieditor-toolbar-preference' => 'Yaxshilangan tahrirlash darchasini yoqish', - 'wikieditor-toolbar-dialogs-preference' => "Havolalar, jadvallar va boshqa obyektlarni qo'yish uchun dialoglarni yoqish", - 'wikieditor-toolbar-hidesig' => 'Asosiy nomfazodagi sahifalarda imzo tugmasini yashirish', - 'wikieditor-toolbar-loading' => 'Yuklash...', - 'wikieditor-toolbar-tool-bold' => 'Qalin', - 'wikieditor-toolbar-tool-bold-example' => 'Qalin matn', - 'wikieditor-toolbar-tool-italic' => 'Yotiq', - 'wikieditor-toolbar-tool-italic-example' => 'Yotiq matn', - 'wikieditor-toolbar-tool-ilink' => 'Ichki havola', - 'wikieditor-toolbar-tool-ilink-example' => 'Havola sarlavhasi', - 'wikieditor-toolbar-tool-xlink' => 'Tashqi ishorat (http:// prefiksini unutmang)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com ishorat nomi', - 'wikieditor-toolbar-tool-link' => 'Havola', - 'wikieditor-toolbar-tool-link-title' => "Havola qo'yish", - 'wikieditor-toolbar-tool-link-int' => 'Viki-sahifaga', - 'wikieditor-toolbar-tool-link-int-target' => "Mo'ljal sahifa yoki URL:", - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Sahifa nomi yoki URL', - 'wikieditor-toolbar-tool-link-int-text' => "Ko'rsatiladigan matn:", - 'wikieditor-toolbar-tool-link-int-text-tooltip' => "Ko'rsatiladigan matnni kiriting", - 'wikieditor-toolbar-tool-link-ext' => 'Tashqi veb-sahifaga', - 'wikieditor-toolbar-tool-link-ext-target' => 'URL havolalar:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Havola matni:', - 'wikieditor-toolbar-tool-link-insert' => "Havola qo'yish", - 'wikieditor-toolbar-tool-link-cancel' => 'Bekor', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Sahifa mavjud', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Sahifa mavjud emas', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => "Mumkin bo'lmagan nom", - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Tashqi havola', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Sahifa mavjudligiga tekshirish', - 'wikieditor-toolbar-tool-link-int-invalid' => "Ko'rsatilgan nom mumkin emas.", - 'wikieditor-toolbar-tool-link-lookslikeinternal' => "Siz tomondan ko'rsatilgan URL boshqa viki-sahifaga havolaga o'xshash. Siz mazkur havolani ichki qilishni xohlaysizmi?", - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Ichki havola', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Tashqi havola', - 'wikieditor-toolbar-tool-link-empty' => "Nimaga ishorat qilishni ko'rsatmadingiz", - 'wikieditor-toolbar-tool-file' => "O'rnatilgan fayl", - 'wikieditor-toolbar-tool-file-example' => 'Example.jpg', - 'wikieditor-toolbar-tool-file-title' => "Fayl qo'yish", - 'wikieditor-toolbar-file-target' => 'Fayl nomi:', - 'wikieditor-toolbar-file-caption' => 'Yozuv:', - 'wikieditor-toolbar-file-size' => 'Oʻlchami', - 'wikieditor-toolbar-file-float' => 'Tekislash:', - 'wikieditor-toolbar-file-default' => "(boshlang'ich)", - 'wikieditor-toolbar-file-format' => 'Formati:', - 'wikieditor-toolbar-file-format-none' => "yo'q", - 'wikieditor-toolbar-tool-file-insert' => "Qo'yish", - 'wikieditor-toolbar-tool-file-cancel' => 'Bekor', - 'wikieditor-toolbar-tool-reference' => 'Havola', - 'wikieditor-toolbar-tool-reference-example' => "Havola matnini bu yerga qo'ying", - 'wikieditor-toolbar-tool-reference-cancel' => 'Bekor', - 'wikieditor-toolbar-tool-reference-title' => "Havola qo'yish", - 'wikieditor-toolbar-tool-reference-insert' => "Qo'yish", - 'wikieditor-toolbar-tool-reference-text' => 'Havola matni', - 'wikieditor-toolbar-tool-signature' => 'Imzo va vaqt', - 'wikieditor-toolbar-section-advanced' => "Qo'shimcha", - 'wikieditor-toolbar-tool-heading' => 'Sarlavha', - 'wikieditor-toolbar-tool-heading-1' => 'Daraja 1', - 'wikieditor-toolbar-tool-heading-2' => 'Daraja 2', - 'wikieditor-toolbar-tool-heading-3' => 'Daraja 3', - 'wikieditor-toolbar-tool-heading-4' => 'Daraja 4', - 'wikieditor-toolbar-tool-heading-5' => 'Daraja 5', - 'wikieditor-toolbar-tool-heading-example' => 'Sarlavha matni', - 'wikieditor-toolbar-group-format' => 'Formati', - 'wikieditor-toolbar-tool-ulist' => "Belgili ro'yxat", - 'wikieditor-toolbar-tool-ulist-example' => "Belgili ro'yxat qismi", - 'wikieditor-toolbar-tool-olist' => "Raqamlangan ro'yxat", - 'wikieditor-toolbar-tool-olist-example' => "Raqamlangan ro'yxat qismi", - 'wikieditor-toolbar-tool-indent' => 'Xat boshi', - 'wikieditor-toolbar-tool-indent-example' => 'Satr xat boshi bilan', - 'wikieditor-toolbar-tool-nowiki' => "Viki-formatlashga e'tibor qilmaslik", - 'wikieditor-toolbar-tool-nowiki-example' => "Bu yerga formatlash zarur bo'lmagan matnni qo'ying", - 'wikieditor-toolbar-tool-redirect' => "Qaytayo'naltirish", - 'wikieditor-toolbar-tool-redirect-example' => "Mo'ljal sahifa nomi", - 'wikieditor-toolbar-tool-big' => 'Yirik', - 'wikieditor-toolbar-tool-big-example' => 'Yirik matn', - 'wikieditor-toolbar-tool-small' => 'Kichik', - 'wikieditor-toolbar-tool-small-example' => 'Kichik matn', - 'wikieditor-toolbar-tool-superscript' => 'Satrusti', - 'wikieditor-toolbar-tool-superscript-example' => 'Satrusti matn', - 'wikieditor-toolbar-tool-subscript' => 'Satrosti', - 'wikieditor-toolbar-tool-subscript-example' => 'Satrosti matn', - 'wikieditor-toolbar-group-insert' => "Qo'yish", - 'wikieditor-toolbar-tool-gallery' => 'Rasmlar galereyasi', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|Izoh1 -$1:Example.jpg|Izoh2', - 'wikieditor-toolbar-tool-newline' => 'Yangi qator', - 'wikieditor-toolbar-tool-table' => 'Jadval', - 'wikieditor-toolbar-tool-table-example-old' => '- -! sarlavha 1 -! sarlavha 2 -! sarlavha 3 -|- -| qator 1, katak 1 -| qator 1, katak 2 -| qator 1, katak 3 -|- -| qator 2, katak 1 -| qator 2, katak 2 -| qator 2, katak 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Katak matni', - 'wikieditor-toolbar-tool-table-example-header' => 'Sarlavha matni', - 'wikieditor-toolbar-tool-table-title' => "Jadval qo'yish", - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Qatorlar', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Ustunlar', - 'wikieditor-toolbar-tool-table-dimensions-header' => "Sarlavha qatori qo'shish", - 'wikieditor-toolbar-tool-table-wikitable' => 'Chegaralar bilan bezash', - 'wikieditor-toolbar-tool-table-sortable' => 'Jadvalni saralanadigan qilish', - 'wikieditor-toolbar-tool-table-example' => 'Misol', - 'wikieditor-toolbar-tool-table-preview' => "Batafsil ko'rinishi", - 'wikieditor-toolbar-tool-table-insert' => "Qo'yish", - 'wikieditor-toolbar-tool-table-cancel' => 'Bekor', - 'wikieditor-toolbar-tool-table-toomany' => "Ushbu dialog $1 ta katakdan katta hajmdagi jadvalni qo'yish imkonini bermaydi.", - 'wikieditor-toolbar-tool-table-invalidnumber' => "To'g'ri qator yoki ustun miqdorini ko'rsatmadingiz.", - 'wikieditor-toolbar-tool-table-zero' => "Siz nol miqdordagi qatorli yoki ustunli jadval qo'ya olmaysiz.", - 'wikieditor-toolbar-tool-replace' => 'Qidiruv va almashtirish', - 'wikieditor-toolbar-tool-replace-title' => 'Qidiruv va almashtirish', - 'wikieditor-toolbar-tool-replace-search' => 'Qidirish:', - 'wikieditor-toolbar-tool-replace-replace' => 'Quyidagiga almashtirish:', - 'wikieditor-toolbar-tool-replace-case' => 'Registrni hisobga olish', - 'wikieditor-toolbar-tool-replace-regex' => 'Qidiruv satrini regulyar ifoda sifatida qarash', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Keyingisini qidirish', - 'wikieditor-toolbar-tool-replace-button-replace' => 'Almashtirish', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Hammasini almashtirish', - 'wikieditor-toolbar-tool-replace-close' => 'Yopish', - 'wikieditor-toolbar-tool-replace-nomatch' => "Sizning so'rovingiz bo'yicha hech nima topilmadi.", - 'wikieditor-toolbar-tool-replace-success' => '$1 ta almashtirish amalga oshirildi.', - 'wikieditor-toolbar-tool-replace-emptysearch' => "Nimani qidirishni ko'rsatmadingiz.", - 'wikieditor-toolbar-tool-replace-invalidregex' => 'Siz tomondan kiritilgan regulyar ifoda xato: $1', - 'wikieditor-toolbar-section-characters' => 'Maxsus belgilar', - 'wikieditor-toolbar-characters-page-latin' => 'Lotin', - 'wikieditor-toolbar-characters-page-latinextended' => 'Lotin kengaytirilgan', - 'wikieditor-toolbar-characters-page-ipa' => 'XFA (MFA)', - 'wikieditor-toolbar-characters-page-symbols' => 'Belgilar', - 'wikieditor-toolbar-characters-page-greek' => 'Yunon', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Kirill', - 'wikieditor-toolbar-characters-page-arabic' => 'Arab', - 'wikieditor-toolbar-characters-page-arabicextended' => 'Arab kengaytirilgan', - 'wikieditor-toolbar-characters-page-persian' => 'Forsiy', - 'wikieditor-toolbar-characters-page-hebrew' => 'Yahudiy', - 'wikieditor-toolbar-characters-page-bangla' => 'Bengal', - 'wikieditor-toolbar-characters-page-tamil' => 'Tamil', - 'wikieditor-toolbar-characters-page-telugu' => 'Telugu', - 'wikieditor-toolbar-characters-page-sinhala' => 'Singal', - 'wikieditor-toolbar-characters-page-gujarati' => 'Gujarati', - 'wikieditor-toolbar-characters-page-devanagari' => 'Devanagari', - 'wikieditor-toolbar-characters-page-thai' => 'Tay', - 'wikieditor-toolbar-characters-page-lao' => 'Laos', - 'wikieditor-toolbar-characters-page-khmer' => 'Kxmer', - 'wikieditor-toolbar-section-help' => 'Yordam', - 'wikieditor-toolbar-help-heading-description' => 'Taʻrif', - 'wikieditor-toolbar-help-heading-syntax' => 'Nima kirityapsiz', - 'wikieditor-toolbar-help-heading-result' => 'Nima olyapsiz', - 'wikieditor-toolbar-help-page-format' => 'Formatlash', - 'wikieditor-toolbar-help-page-link' => 'Havolalar', - 'wikieditor-toolbar-help-page-heading' => 'Sarlavhalar', - 'wikieditor-toolbar-help-page-list' => "Ro'yxatlar", - 'wikieditor-toolbar-help-page-file' => 'Fayllar', - 'wikieditor-toolbar-help-page-reference' => 'Izohlar', - 'wikieditor-toolbar-help-page-discussion' => 'Munozara', - 'wikieditor-toolbar-help-content-italic-description' => 'Yotiq', - 'wikieditor-toolbar-help-content-italic-syntax' => "''Yotiq matn''", - 'wikieditor-toolbar-help-content-italic-result' => 'Yotiq matn', - 'wikieditor-toolbar-help-content-bold-description' => 'Qalin', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Qalin matn'''", - 'wikieditor-toolbar-help-content-bold-result' => 'Qalin matn', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'Qalin yotiq', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Qalin yotiq'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'Qalin yotiq', - 'wikieditor-toolbar-help-content-ilink-description' => 'Ichki havola', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Sahifa sarlavhasi|Havola matni]]
    [[Sahifa sarlavhasi]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Havola matni
    Sahifa sarlavhasi", - 'wikieditor-toolbar-help-content-xlink-description' => 'Tashqi havola', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org Havola matni]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Havola matni
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => '2-darajadagi sarlavha', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Sarlavha matni ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Sarlavha matni

    ', - 'wikieditor-toolbar-help-content-heading3-description' => '3-darajadagi sarlavha', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Sarlavha matni ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Sarlavha matni

    ', - 'wikieditor-toolbar-help-content-heading4-description' => '4-darajadagi sarlavha', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Sarlavha matni ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Sarlavha matni

    ', - 'wikieditor-toolbar-help-content-heading5-description' => '5-darajadagi sarlavha', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Sarlavha matni =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    Sarlavha matni
    ', - 'wikieditor-toolbar-help-content-ulist-description' => "Belgili ro'yxat", - 'wikieditor-toolbar-help-content-ulist-syntax' => "* Ro'yxat qismi
    * Ro'yxat qismi", - 'wikieditor-toolbar-help-content-ulist-result' => "
    • Ro'yxat qismi
    • Ro'yxat qismi
    ", - 'wikieditor-toolbar-help-content-olist-description' => "Raqamlangan ro'yxat", - 'wikieditor-toolbar-help-content-olist-syntax' => "# Ro'yxat qismi
    # Ro'yxat qismi", - 'wikieditor-toolbar-help-content-olist-result' => "
    1. Ro'yxat qismi
    2. Ro'yxat qismi
    ", - 'wikieditor-toolbar-help-content-file-description' => "O'rnatilgan fayl", - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|Izohlovchi matn]]', - 'wikieditor-toolbar-help-content-file-result' => "
    -Izohlovchi matn
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Izoh', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Sahifa matni.<ref name="test">[http://www.example.org Havola matni], qo\'shimcha matn.</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "Sahifa matni.[1]", - 'wikieditor-toolbar-help-content-rereference-description' => "O'sha havoladan qo'shimcha foydalanish", - 'wikieditor-toolbar-help-content-rereference-result' => "Sahifa matni.[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => "Izohlarni ko'rsatish", - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Havola matni, qo'shimcha matn.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Imzo vaqt bilan birga', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Ishtirokchi ismi (munozara) 15:54, 10 iyun 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'Imzo', - 'wikieditor-toolbar-help-content-signature-result' => "Ishtirokchi ismi (munozara)", - 'wikieditor-toolbar-help-content-indent-description' => 'Xat boshi', - 'wikieditor-toolbar-help-content-indent-syntax' => 'Odatiy matn
    :Matn xat boshi bilan
    ::Matn xat boshi bilan', - 'wikieditor-toolbar-help-content-indent-result' => 'Odatiy matn
    Matn xat boshi bilan
    Matn xat boshi bilan
    ', -); - -/** vèneto (vèneto) - * @author Candalua - * @author Vajotwo - */ -$messages['vec'] = array( - 'wikieditor' => 'Interfacia avansada de modifica testo wiki', - 'wikieditor-desc' => 'Fornisse na interfacia avansada de modifica testo wiki e vari moduli funsionali', - 'wikieditor-wikitext-tab' => 'Testo wiki', - 'wikieditor-loading' => 'Drio cargar...', - 'wikieditor-preview-preference' => "Ativa l'anteprima parte par parte", - 'wikieditor-preview-tab' => 'Anteprima', - 'wikieditor-preview-changes-tab' => 'Canbiamenti', - 'wikieditor-preview-loading' => "So' drio cargar...", - 'wikieditor-previewDialog-preference' => 'Abilita la finestra de dialogo de anteprima', - 'wikieditor-previewDialog-tab' => 'Anteprima', - 'wikieditor-previewDialog-loading' => "So' drio cargar...", - 'wikieditor-publish-preference' => 'Intaca la publicassion un toco a la olta', - 'wikieditor-publish-button-publish' => 'Pùblica', - 'wikieditor-publish-button-cancel' => 'Anula', - 'wikieditor-publish-dialog-title' => 'Pùblica su {{SITENAME}}', - 'wikieditor-publish-dialog-summary' => 'Somario de la modifica (descrivi brevemente i canbiamenti che te ghè fato):', - 'wikieditor-publish-dialog-minor' => 'Modifica picenina', - 'wikieditor-publish-dialog-watch' => "Tien d'ocio sta pagina", - 'wikieditor-publish-dialog-publish' => 'Pùblica', - 'wikieditor-publish-dialog-goback' => 'Torna indrìo', - 'wikieditor-template-editor-preference' => 'Intaca par i modèi wiki la modifica basà sui mòduli', - 'wikieditor-template-editor-dialog-title' => 'Modifega modeło', - 'wikieditor-template-editor-dialog-submit' => 'Ajorna', - 'wikieditor-template-editor-dialog-cancel' => 'Anuła', - 'wikieditor-templates-preference' => 'Abiłita ła funsion par nascondere i modełi', - 'wikieditor-toc-preference' => "Ativa l'indice navigabile", - 'wikieditor-toc-show' => 'Fà védar el contenuto', - 'wikieditor-toc-hide' => 'Scondi el contenuto', - 'wikieditor-toolbar' => 'Bara dei strumenti de modifica', - 'wikieditor-toolbar-desc' => 'Modifica bara dei strumenti de la pagina co na magiore usabilità', - 'wikieditor-toolbar-preference' => 'Abilita bara dei strumenti de modifica avansada', - 'wikieditor-toolbar-dialogs-preference' => 'Intacar i ajuti par zontar colegamenti, tabèle e altro', - 'wikieditor-toolbar-loading' => "So' drio cargar...", - 'wikieditor-toolbar-tool-bold' => 'Grasseto', - 'wikieditor-toolbar-tool-bold-example' => 'Testo in grasseto', - 'wikieditor-toolbar-tool-italic' => 'Corsivo', - 'wikieditor-toolbar-tool-italic-example' => 'Testo in corsivo', - 'wikieditor-toolbar-tool-ilink' => 'Colegamento interno', - 'wikieditor-toolbar-tool-ilink-example' => 'Titolo del colegamento', - 'wikieditor-toolbar-tool-xlink' => 'Colegamento esterno (ricòrdete el prefisso http:// )', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.esenpio.com titolo del colegamento', - 'wikieditor-toolbar-tool-link' => 'Colegamento', - 'wikieditor-toolbar-tool-link-title' => 'Inserissi colegamento', - 'wikieditor-toolbar-tool-link-int' => 'a na pagina wiki', - 'wikieditor-toolbar-tool-link-int-target' => 'titolo de la pagina:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Titolo de la pagina o URL', - 'wikieditor-toolbar-tool-link-int-text' => 'Testo del colegamento:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Inserissi el testo che te vol che se veda', - 'wikieditor-toolbar-tool-link-ext' => 'a na pagina web esterna', - 'wikieditor-toolbar-tool-link-ext-target' => 'Indirisso del colegamento:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Testo del colegamento:', - 'wikieditor-toolbar-tool-link-insert' => 'Inserissi colegamento', - 'wikieditor-toolbar-tool-link-cancel' => 'Anula', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'La pagina la esiste zà', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'La pagina no la esiste', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Titolo mia valido', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Colegamento par fora', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => "So' drio controlar se la pagina la esiste o no...", - 'wikieditor-toolbar-tool-link-int-invalid' => "El titolo che te ghè indicà no'l xe mia valido.", - 'wikieditor-toolbar-tool-link-lookslikeinternal' => "L'URL che te ghè inserìo pararìa che el ponta verso de na pagina wiki difarente. Vuto farlo deventar un colegamento interno?", - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Colegamento interno', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Colegamento esterno', - 'wikieditor-toolbar-tool-link-empty' => 'No te ghè messo gnente a cui pontar.', - 'wikieditor-toolbar-tool-file' => 'File incorporado', - 'wikieditor-toolbar-tool-file-example' => 'Esenpio.jpg', - 'wikieditor-toolbar-tool-reference' => 'Nota', - 'wikieditor-toolbar-tool-reference-example' => 'Inserissi qua el testo de la nota', - 'wikieditor-toolbar-tool-reference-cancel' => 'Anuła', - 'wikieditor-toolbar-tool-reference-title' => 'Inserissi nota', - 'wikieditor-toolbar-tool-reference-insert' => 'Inserissi', - 'wikieditor-toolbar-tool-reference-text' => 'Testo de ła nota', - 'wikieditor-toolbar-tool-signature' => 'Firma e data', - 'wikieditor-toolbar-section-advanced' => 'Avansada', - 'wikieditor-toolbar-tool-heading' => 'Intestassion', - 'wikieditor-toolbar-tool-heading-1' => 'Livèl 1', - 'wikieditor-toolbar-tool-heading-2' => 'Livèl 2', - 'wikieditor-toolbar-tool-heading-3' => 'Livèl 3', - 'wikieditor-toolbar-tool-heading-4' => 'Livèl 4', - 'wikieditor-toolbar-tool-heading-5' => 'Livèl 5', - 'wikieditor-toolbar-tool-heading-example' => 'Titolo sezion', - 'wikieditor-toolbar-group-format' => 'Formato', - 'wikieditor-toolbar-tool-ulist' => 'Elenco puntà', - 'wikieditor-toolbar-tool-ulist-example' => "Elemento de l'elenco puntà", - 'wikieditor-toolbar-tool-olist' => 'Elenco numarà', - 'wikieditor-toolbar-tool-olist-example' => "Elemento de l'elenco numarà", - 'wikieditor-toolbar-tool-indent' => 'Rientro', - 'wikieditor-toolbar-tool-indent-example' => 'Riga rientrà', - 'wikieditor-toolbar-tool-nowiki' => 'Ignora formataxion wiki', - 'wikieditor-toolbar-tool-nowiki-example' => 'Inserissi el testo da no formatare', - 'wikieditor-toolbar-tool-redirect' => "Rinvia a n'altra pajina", - 'wikieditor-toolbar-tool-redirect-example' => 'Nome de ła pajina de destinaxion', - 'wikieditor-toolbar-tool-big' => 'Grando', - 'wikieditor-toolbar-tool-big-example' => 'Testo grando', - 'wikieditor-toolbar-tool-small' => 'Picenin', - 'wikieditor-toolbar-tool-small-example' => 'Testo picenin', - 'wikieditor-toolbar-tool-superscript' => 'Àpice', - 'wikieditor-toolbar-tool-superscript-example' => 'Testo in àpice', - 'wikieditor-toolbar-tool-subscript' => 'Pèdice', - 'wikieditor-toolbar-tool-subscript-example' => 'Testo in pèdice', - 'wikieditor-toolbar-group-insert' => 'Inserissi', - 'wikieditor-toolbar-tool-gallery' => 'Galerìa fotografica', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Esenpio.jpg|Didascalia1 -$1:Esenpio.jpg|Didascalia2', - 'wikieditor-toolbar-tool-newline' => 'Riga nova', - 'wikieditor-toolbar-tool-table' => 'Tabèla', - 'wikieditor-toolbar-tool-table-example-old' => '- -! intestassion 1 -! intestassion 2 -! intestassion 3 -|- -| riga 1, casèla 1 -| riga 1, casèla 2 -| riga 1, casèla 3 -|- -| riga 2, casèla 1 -| riga 2, casèla 2 -| riga 2, casèla 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Testo de la casèla', - 'wikieditor-toolbar-tool-table-example-header' => "Testo de l'intestassion", - 'wikieditor-toolbar-tool-table-title' => 'Inserissi na tabèla', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Lìnie', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Colone', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Includi la riga de intestassion', - 'wikieditor-toolbar-tool-table-wikitable' => 'Stile coi bordi', - 'wikieditor-toolbar-tool-table-sortable' => 'Tabèla ordinabile', - 'wikieditor-toolbar-tool-table-example' => 'Testo de la casèla', - 'wikieditor-toolbar-tool-table-preview' => 'Anteprima', - 'wikieditor-toolbar-tool-table-insert' => 'Inserissi', - 'wikieditor-toolbar-tool-table-cancel' => 'Anùla', - 'wikieditor-toolbar-tool-table-toomany' => 'Co sto comando no se pole inserir na tabèla con piassè de $1 casèle.', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'No te ghè inserìo un nùmaro valido de righe o colòne.', - 'wikieditor-toolbar-tool-table-zero' => 'No te poli inserir na tabèla con zero righe o colòne.', - 'wikieditor-toolbar-tool-replace' => 'Serca e sostituìssi', - 'wikieditor-toolbar-tool-replace-title' => 'Serca e sostituìssi', - 'wikieditor-toolbar-tool-replace-search' => 'Serca:', - 'wikieditor-toolbar-tool-replace-replace' => 'Sostituìssi con:', - 'wikieditor-toolbar-tool-replace-case' => 'Corispondensa maiuscolo/minuscolo', - 'wikieditor-toolbar-tool-replace-regex' => 'Testo de la riserca come espression regolare', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Cata el pròssimo', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Sostituìssi tuto', - 'wikieditor-toolbar-tool-replace-close' => 'Sara', - 'wikieditor-toolbar-tool-replace-nomatch' => 'No gavemo catà gnente che corisponde a quel che te serchi.', - 'wikieditor-toolbar-tool-replace-success' => '$1 sostitussion fate.', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'No te ghè inserìo gnente da sercar.', - 'wikieditor-toolbar-tool-replace-invalidregex' => "L'espression regolare che te ghè inserìo no la xe mia valida: $1", - 'wikieditor-toolbar-section-characters' => 'Caràteri speciali', - 'wikieditor-toolbar-characters-page-latin' => 'Latìn', - 'wikieditor-toolbar-characters-page-latinextended' => 'Latìn esteso', - 'wikieditor-toolbar-characters-page-ipa' => 'IPA', - 'wikieditor-toolbar-characters-page-symbols' => 'Sìnboli', - 'wikieditor-toolbar-characters-page-greek' => 'Grego', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Cirìlico', - 'wikieditor-toolbar-characters-page-arabic' => 'Àrabo', - 'wikieditor-toolbar-characters-page-persian' => 'Persian', - 'wikieditor-toolbar-characters-page-hebrew' => 'Ebràico', - 'wikieditor-toolbar-characters-page-bangla' => 'Bengałexe', - 'wikieditor-toolbar-characters-page-telugu' => 'Telugu', - 'wikieditor-toolbar-characters-page-sinhala' => 'Singalese', - 'wikieditor-toolbar-characters-page-gujarati' => 'Gujarati', - 'wikieditor-toolbar-characters-page-thai' => 'Thaiłandexe', - 'wikieditor-toolbar-characters-page-lao' => 'Lao', - 'wikieditor-toolbar-characters-page-khmer' => 'Khmer', - 'wikieditor-toolbar-section-help' => 'Ajuto', - 'wikieditor-toolbar-help-heading-description' => 'Descrission', - 'wikieditor-toolbar-help-heading-syntax' => 'Quel che te scrivi', - 'wikieditor-toolbar-help-heading-result' => 'Quel che te otien', - 'wikieditor-toolbar-help-page-format' => 'Formatassion', - 'wikieditor-toolbar-help-page-link' => 'Colegamenti', - 'wikieditor-toolbar-help-page-heading' => 'Intestassion', - 'wikieditor-toolbar-help-page-list' => 'Liste', - 'wikieditor-toolbar-help-page-file' => 'File', - 'wikieditor-toolbar-help-page-reference' => 'Note', - 'wikieditor-toolbar-help-page-discussion' => 'Discussion', - 'wikieditor-toolbar-help-content-italic-description' => 'Corsivo', - 'wikieditor-toolbar-help-content-italic-syntax' => "''Testo in corsivo''", - 'wikieditor-toolbar-help-content-italic-result' => 'Testo in corsivo', - 'wikieditor-toolbar-help-content-bold-description' => 'Grasseto', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Testo in grasseto'''", - 'wikieditor-toolbar-help-content-bold-result' => 'Testo in grasseto', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'Grasseto e corsivo', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Testo in grasseto e corsivo'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'Testo in grasseto e corsivo', - 'wikieditor-toolbar-help-content-ilink-description' => 'Colegamento interno', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Page title|Eticheta colegamento]]
    [[Page title]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Eticheta colegamento
    Titolo pagina", - 'wikieditor-toolbar-help-content-xlink-description' => 'Colegamento esterno', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.esenpio.org Eticheta colegamento]
    [http://www.esenpio.org]
    http://www.esenpio.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Eticheta colegamento
    [1]
    http://www.esenpio.org", - 'wikieditor-toolbar-help-content-heading2-description' => 'Intestassion de secondo livèl', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Titolo de la sezion ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Titolo de la sezion

    ', - 'wikieditor-toolbar-help-content-heading3-description' => 'Intestassion de terso livèl', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Titolo de la sezion ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Titolo de la sezion

    ', - 'wikieditor-toolbar-help-content-heading4-description' => 'Intestassion de quarto livèl', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Titolo de la sezion ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Titolo de la sezion

    ', - 'wikieditor-toolbar-help-content-heading5-description' => 'Intestassion de quinto livèl', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Titolo de la sezion =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    Titolo de la sezion
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'Elenco pontà', - 'wikieditor-toolbar-help-content-ulist-syntax' => "* Elemento de l'elenco
    * Elemento de l'elenco", - 'wikieditor-toolbar-help-content-ulist-result' => "
    • Elemento de l'elenco
    • Elemento de l'elenco
    ", - 'wikieditor-toolbar-help-content-olist-description' => 'Elenco numarà', - 'wikieditor-toolbar-help-content-olist-syntax' => "# Elemento de l'elenco
    # Elemento de l'elenco", - 'wikieditor-toolbar-help-content-olist-result' => "
    1. Elemento de l'elenco
    2. Elemento de l'elenco
    ", - 'wikieditor-toolbar-help-content-file-description' => 'File incorporado', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|Testo de la didascalia]]', - 'wikieditor-toolbar-help-content-file-result' => "
    Testo de la didascalia
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Nota', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Testo de la pagina.<ref name="test">[http://www.esenpio.org Testo del colegamento], altro testo in più.</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "Testo de la pagina.[1]", - 'wikieditor-toolbar-help-content-rereference-description' => 'Doparar ancora la stessa nota', - 'wikieditor-toolbar-help-content-rereference-result' => "Testo de la pagina.[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Mostra le note', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Testo del colegamento, altro testo in più.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Firma con data e ora', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Nome utente (discussion) 15:54, 10 giu 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'Firma', - 'wikieditor-toolbar-help-content-signature-result' => "Nome utente (discussion)", - 'wikieditor-toolbar-help-content-indent-description' => 'Rientro', - 'wikieditor-toolbar-help-content-indent-syntax' => 'Testo normal
    :Testo rientrà
    ::Testo rientra', - 'wikieditor-toolbar-help-content-indent-result' => 'Testo normal
    Testo rientrà
    Testo rientrà
    ', -); - -/** Veps (vepsän kel’) - * @author Игорь Бродский - */ -$messages['vep'] = array( - 'wikieditor-wikitext-tab' => 'Vikitekst', - 'wikieditor-preview-tab' => 'Ezikacund', - 'wikieditor-preview-changes-tab' => 'Toižetused', - 'wikieditor-previewDialog-tab' => 'Ezikacund', - 'wikieditor-publish-button-publish' => 'Publikuida', - 'wikieditor-publish-dialog-minor' => 'Penikaine redakcii', - 'wikieditor-publish-dialog-publish' => 'Publikuida', - 'wikieditor-publish-dialog-goback' => 'Tagaze', - 'wikieditor-toc-show' => 'Ozutada südäiolend', - 'wikieditor-toolbar-tool-bold' => 'Lihavoitud', - 'wikieditor-toolbar-tool-bold-example' => 'Lihavoitud tekst', - 'wikieditor-toolbar-tool-link' => 'Kosketuz', - 'wikieditor-toolbar-tool-link-title' => 'Ližada kosketuz', - 'wikieditor-toolbar-tool-link-ext-target' => 'Kosketusen URL:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Kosketusen tekst:', - 'wikieditor-toolbar-tool-link-cancel' => 'Heitta', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Vär nimi', - 'wikieditor-toolbar-tool-file' => 'Mülütadud fail', - 'wikieditor-toolbar-tool-file-example' => 'Ozutez.jpg', - 'wikieditor-toolbar-tool-reference-insert' => 'Ližata', - 'wikieditor-toolbar-tool-heading' => 'Pälkirjutez', - 'wikieditor-toolbar-tool-heading-1' => 'Tazopind 1', - 'wikieditor-toolbar-tool-heading-2' => 'Tazopind 2', - 'wikieditor-toolbar-tool-heading-3' => 'Tazopind 3', - 'wikieditor-toolbar-tool-heading-4' => 'Tazopind 4', - 'wikieditor-toolbar-tool-heading-5' => 'Tazopind 5', - 'wikieditor-toolbar-tool-heading-example' => 'Pälkirjutesen tekst', - 'wikieditor-toolbar-group-format' => 'Format:', - 'wikieditor-toolbar-tool-ulist' => 'Markiruidud nimikirjutez', - 'wikieditor-toolbar-tool-ulist-example' => 'Markiruidud nimikirjutez', - 'wikieditor-toolbar-tool-olist' => 'Nomeroitud nimikirjutez', - 'wikieditor-toolbar-tool-big' => "Sur'", - 'wikieditor-toolbar-tool-big-example' => 'Järed tekst', - 'wikieditor-toolbar-tool-small' => "Pen'", - 'wikieditor-toolbar-tool-small-example' => "Pen' tekst", - 'wikieditor-toolbar-group-insert' => 'Ližata', - 'wikieditor-toolbar-tool-gallery' => 'Kuviden gallerei', - 'wikieditor-toolbar-tool-newline' => "Uz' rivi", - 'wikieditor-toolbar-tool-table' => 'Tablut', - 'wikieditor-toolbar-tool-table-title' => 'Ližada tablut', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Rivid', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Pachid:', - 'wikieditor-toolbar-tool-table-example' => 'Ozutez', - 'wikieditor-toolbar-tool-table-preview' => 'Ezikacund', - 'wikieditor-toolbar-tool-table-insert' => 'Ližata', - 'wikieditor-toolbar-tool-table-cancel' => 'Heitta', - 'wikieditor-toolbar-tool-replace-close' => 'Saubata', - 'wikieditor-toolbar-section-characters' => 'Specialižed znamad', - 'wikieditor-toolbar-characters-page-latin' => 'Latinalaine', - 'wikieditor-toolbar-characters-page-latinextended' => 'Levitadud latinalaine', - 'wikieditor-toolbar-characters-page-ipa' => 'IPA', - 'wikieditor-toolbar-characters-page-symbols' => 'Simvolad', - 'wikieditor-toolbar-characters-page-greek' => 'Grekalaine', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Kirilline', - 'wikieditor-toolbar-characters-page-arabic' => 'Arabine', - 'wikieditor-toolbar-characters-page-arabicextended' => 'Araban levitadud', - 'wikieditor-toolbar-characters-page-persian' => 'Persižed', - 'wikieditor-toolbar-characters-page-hebrew' => 'Evrejine', - 'wikieditor-toolbar-characters-page-telugu' => 'Telugu', - 'wikieditor-toolbar-characters-page-gujarati' => 'Gudžarati', - 'wikieditor-toolbar-characters-page-thai' => 'Tai', - 'wikieditor-toolbar-characters-page-lao' => 'Lao', - 'wikieditor-toolbar-characters-page-khmer' => 'Khmeran', - 'wikieditor-toolbar-section-help' => 'Abu', - 'wikieditor-toolbar-help-heading-description' => 'Ümbrikirjutand', - 'wikieditor-toolbar-help-page-link' => 'Kosketused', - 'wikieditor-toolbar-help-page-list' => 'Nimikirjutesed', - 'wikieditor-toolbar-help-page-file' => 'Failad', - 'wikieditor-toolbar-help-content-bold-description' => 'Lihavoitud', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Lihavoitud tekst'''", - 'wikieditor-toolbar-help-content-ilink-description' => 'Südäikosketuz', - 'wikieditor-toolbar-help-content-xlink-description' => 'Irdkosketuz', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Pälkirjutesen tekst ==', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Pälkirjutesen tekst ===', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Pälkirjutesen tekst ====', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Pälkirjutesen tekst =====', - 'wikieditor-toolbar-help-content-ulist-description' => 'Markiruidud nimikirjutez', - 'wikieditor-toolbar-help-content-olist-description' => 'Nomeroitud nimikirjutez', - 'wikieditor-toolbar-help-content-file-description' => 'Mülütadud fail', - 'wikieditor-toolbar-help-content-signature-description' => 'Allekirjutez', -); - -/** Vietnamese (Tiếng Việt) - * @author Minh Nguyen - * @author Vinhtantran - * @author පසිඳු කාවින්ද - */ -$messages['vi'] = array( - 'wikieditor' => 'Giao diện sửa đổi văn bản wiki nâng cao', - 'wikieditor-desc' => 'Cung cấp giao diện sửa đổi văn bản wiki có thể mở rộng, cũng như nhiều tính năng khác', - 'wikieditor-wikitext-tab' => 'Mã wiki', - 'wikieditor-loading' => 'Đang tải', - 'wikieditor-preview-preference' => 'Cho phép so sánh cạnh nhau', - 'wikieditor-preview-tab' => 'Xem trước', - 'wikieditor-preview-changes-tab' => 'Các thay đổi', - 'wikieditor-preview-loading' => 'Đang tải…', - 'wikieditor-previewDialog-preference' => 'Mở hộp thoại để xem trước', - 'wikieditor-previewDialog-tab' => 'Xem trước', - 'wikieditor-previewDialog-loading' => 'Đang tải…', - 'wikieditor-publish-preference' => 'Xuất bản từng bước một', - 'wikieditor-publish-button-publish' => 'Xuất bản', - 'wikieditor-publish-button-cancel' => 'Hủy bỏ', - 'wikieditor-publish-dialog-title' => 'Xuất bản tới {{SITENAME}}', - 'wikieditor-publish-dialog-summary' => 'Tóm lược sửa đổi (miêu tả ngắn gọn các thay đổi của bạn):', - 'wikieditor-publish-dialog-minor' => 'Sửa đổi nhỏ', - 'wikieditor-publish-dialog-watch' => 'Theo dõi trang này', - 'wikieditor-publish-dialog-publish' => 'Xuất bản', - 'wikieditor-publish-dialog-goback' => 'Trở lại', - 'wikieditor-template-editor-preference' => 'Sửa đổi bản mẫu wiki trong biểu mẫu', - 'wikieditor-template-editor-dialog-title' => 'Sửa đổi bản mẫu', - 'wikieditor-template-editor-dialog-submit' => 'Cập nhật', - 'wikieditor-template-editor-dialog-cancel' => 'Hủy bỏ', - 'wikieditor-templates-preference' => 'Cho phép làm xẹp các bản mẫu', - 'wikieditor-toc-preference' => 'Sử dụng mục lục dễ duyệt tìm', - 'wikieditor-toc-show' => 'Hiện mục lục', - 'wikieditor-toc-hide' => 'Ẩn mục lục', - 'wikieditor-toolbar' => 'Thanh công cụ sửa đổi', - 'wikieditor-toolbar-desc' => 'Thanh công cụ ở trang sửa đổi được cải tiến để dễ sử dụng hơn', - 'wikieditor-toolbar-preference' => 'Sử dụng thanh công cụ sửa đổi nâng cao', - 'wikieditor-toolbar-dialogs-preference' => 'Mở hộp thoại để chèn liên kết, bảng, v.v.', - 'wikieditor-toolbar-hidesig' => 'Ẩn nút ký tên từ các trang trong không gian tên chính', - 'wikieditor-toolbar-loading' => 'Đang tải…', - 'wikieditor-toolbar-tool-bold' => 'Đậm', - 'wikieditor-toolbar-tool-bold-example' => 'Chữ đậm', - 'wikieditor-toolbar-tool-italic' => 'Xiên', - 'wikieditor-toolbar-tool-italic-example' => 'Chữ xiên', - 'wikieditor-toolbar-tool-ilink' => 'Liên kết trong', - 'wikieditor-toolbar-tool-ilink-example' => 'Tựa đề liên kết', - 'wikieditor-toolbar-tool-xlink' => 'Liên kết ngoài (nhớ ghi http://)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.vidu.com tựa đề liên kết', - 'wikieditor-toolbar-tool-link' => 'Liên kết', - 'wikieditor-toolbar-tool-link-title' => 'Chèn liên kết', - 'wikieditor-toolbar-tool-link-int' => 'Đến một trang wiki', - 'wikieditor-toolbar-tool-link-int-target' => 'Tựa trang:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Tên trang hoặc URL', - 'wikieditor-toolbar-tool-link-int-text' => 'Văn bản liên kết:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Hãy nhập văn bản để hiển thị', - 'wikieditor-toolbar-tool-link-ext' => 'Ra trang web bên ngoài', - 'wikieditor-toolbar-tool-link-ext-target' => 'Liên kết URL:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Văn bản liên kết:', - 'wikieditor-toolbar-tool-link-insert' => 'Chèn liên kết', - 'wikieditor-toolbar-tool-link-cancel' => 'Hủy bỏ', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Trang tồn tại', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Trang không tồn tại', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Tựa sai', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Liên kết ngoài', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Kiểm tra trang đã tồn tại chưa...', - 'wikieditor-toolbar-tool-link-int-invalid' => 'Tựa trang chỉ định không hợp lệ.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'Hình như bạn đã chọn URL chỉ đến trang wiki khác. Bạn có muốn biến nó thành liên kết nội bộ không?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Liên kết nội bộ', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Liên kết ngoài', - 'wikieditor-toolbar-tool-link-empty' => 'Bạn chưa nhập nơi nào để cho liên kết dẫn tới.', - 'wikieditor-toolbar-tool-file' => 'Chèn tập tin', - 'wikieditor-toolbar-tool-file-example' => 'Ví dụ.jpg', - 'wikieditor-toolbar-tool-file-title' => 'Chèn tập tin', - 'wikieditor-toolbar-file-target' => 'Tên tập tin:', - 'wikieditor-toolbar-file-caption' => 'Chú thích:', - 'wikieditor-toolbar-file-size' => 'Kích cỡ:', - 'wikieditor-toolbar-file-float' => 'Căn:', - 'wikieditor-toolbar-file-default' => '(mặc định)', - 'wikieditor-toolbar-file-format' => 'Định dạng:', - 'wikieditor-toolbar-file-format-none' => 'không', - 'wikieditor-toolbar-tool-file-insert' => 'Chèn', - 'wikieditor-toolbar-tool-file-cancel' => 'Hủy bỏ', - 'wikieditor-toolbar-tool-reference' => 'Chú thích tham khảo', - 'wikieditor-toolbar-tool-reference-example' => 'Ghi chú tại đây', - 'wikieditor-toolbar-tool-reference-cancel' => 'Hủy bỏ', - 'wikieditor-toolbar-tool-reference-title' => 'Ghi chú', - 'wikieditor-toolbar-tool-reference-insert' => 'Chèn', - 'wikieditor-toolbar-tool-reference-text' => 'Lời chú thích', - 'wikieditor-toolbar-tool-signature' => 'Chữ ký có ngày', - 'wikieditor-toolbar-section-advanced' => 'Nâng cao', - 'wikieditor-toolbar-tool-heading' => 'Đề mục', - 'wikieditor-toolbar-tool-heading-1' => 'Cấp 1', - 'wikieditor-toolbar-tool-heading-2' => 'Cấp 2', - 'wikieditor-toolbar-tool-heading-3' => 'Cấp 3', - 'wikieditor-toolbar-tool-heading-4' => 'Cấp 4', - 'wikieditor-toolbar-tool-heading-5' => 'Cấp 5', - 'wikieditor-toolbar-tool-heading-example' => 'Câu đề mục', - 'wikieditor-toolbar-group-format' => 'Định dạng', - 'wikieditor-toolbar-tool-ulist' => 'Danh sách không đánh số', - 'wikieditor-toolbar-tool-ulist-example' => 'Mục danh sách', - 'wikieditor-toolbar-tool-olist' => 'Danh sách đánh số', - 'wikieditor-toolbar-tool-olist-example' => 'Mục danh sách số', - 'wikieditor-toolbar-tool-indent' => 'Tăng lề', - 'wikieditor-toolbar-tool-indent-example' => 'Dòng được tăng lề', - 'wikieditor-toolbar-tool-nowiki' => 'Tắt định dạng wiki', - 'wikieditor-toolbar-tool-nowiki-example' => 'Chèn văn bản thuần tại đây', - 'wikieditor-toolbar-tool-redirect' => 'Đổi hướng', - 'wikieditor-toolbar-tool-redirect-example' => 'Tên của trang đổi hướng tới', - 'wikieditor-toolbar-tool-big' => 'Lớn', - 'wikieditor-toolbar-tool-big-example' => 'Văn bản lớn', - 'wikieditor-toolbar-tool-small' => 'Nhỏ', - 'wikieditor-toolbar-tool-small-example' => 'Văn bản nhỏ', - 'wikieditor-toolbar-tool-superscript' => 'Viết lên trên', - 'wikieditor-toolbar-tool-superscript-example' => 'Chữ được viết lên trên', - 'wikieditor-toolbar-tool-subscript' => 'Viết xuống dưới', - 'wikieditor-toolbar-tool-subscript-example' => 'Chữ được viết xuống dưới', - 'wikieditor-toolbar-group-insert' => 'Chèn', - 'wikieditor-toolbar-tool-gallery' => 'Album hình ảnh', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Ví dụ.jpg|Chú thích 1 -$1:Ví dụ.jpg|Chú thích 2', - 'wikieditor-toolbar-tool-newline' => 'Dòng mới', - 'wikieditor-toolbar-tool-table' => 'Bảng', - 'wikieditor-toolbar-tool-table-example-old' => '- -! tiêu đề 1 -! tiêu đề 2 -! tiêu đề 3 -|- -| hàng 1, cột 1 -| hàng 1, cột 2 -| hàng 1, cột 3 -|- -| hàng 2, cột 1 -| hàng 2, cột 2 -| hàng 2, cột 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Văn bản ô', - 'wikieditor-toolbar-tool-table-example-header' => 'Văn bản tiêu đề', - 'wikieditor-toolbar-tool-table-title' => 'Chèn bảng', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Hàng', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Cột', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Có hàng tiêu đề', - 'wikieditor-toolbar-tool-table-wikitable' => 'Vẽ khung', - 'wikieditor-toolbar-tool-table-sortable' => 'Cho phép tự động xếp bảng', - 'wikieditor-toolbar-tool-table-example' => 'Ví dụ', - 'wikieditor-toolbar-tool-table-preview' => 'Xem trước', - 'wikieditor-toolbar-tool-table-insert' => 'Chèn', - 'wikieditor-toolbar-tool-table-cancel' => 'Hủy bỏ', - 'wikieditor-toolbar-tool-table-toomany' => 'Không thể dùng hộp thoại này để chèn bảng có hơn $1 ô.', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'Bạn đã nhập số hàng hay cột không hợp lệ.', - 'wikieditor-toolbar-tool-table-zero' => 'Không thể chèn bảng không có hàng hay cột nào.', - 'wikieditor-toolbar-tool-replace' => 'Tìm và thay thế', - 'wikieditor-toolbar-tool-replace-title' => 'Tìm và thay thế', - 'wikieditor-toolbar-tool-replace-search' => 'Tìm kiếm:', - 'wikieditor-toolbar-tool-replace-replace' => 'Thay thế bằng:', - 'wikieditor-toolbar-tool-replace-case' => 'Phân biệt hoa thường', - 'wikieditor-toolbar-tool-replace-regex' => 'Xem chuỗi tìm kiếm là biểu thức chính quy', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Tìm tiếp', - 'wikieditor-toolbar-tool-replace-button-replace' => 'Thay thế', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Thay tất cả', - 'wikieditor-toolbar-tool-replace-close' => 'Đóng', - 'wikieditor-toolbar-tool-replace-nomatch' => 'Không tìm thấy', - 'wikieditor-toolbar-tool-replace-success' => 'Đã thực hiện $1 thay thế.', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'Bạn chưa nhập gì để tìm kiếm.', - 'wikieditor-toolbar-tool-replace-invalidregex' => 'Biểu thức chính quy do bạn nhập vào không hợp lệ: $1', - 'wikieditor-toolbar-section-characters' => 'Ký tự đặc biệt', - 'wikieditor-toolbar-characters-page-latin' => 'La tinh', - 'wikieditor-toolbar-characters-page-latinextended' => 'La tinh mở rộng', - 'wikieditor-toolbar-characters-page-ipa' => 'Phiên âm quốc tế', - 'wikieditor-toolbar-characters-page-symbols' => 'Ký hiệu', - 'wikieditor-toolbar-characters-page-greek' => 'Hy Lạp', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Kirin', - 'wikieditor-toolbar-characters-page-arabic' => 'Ả Rập', - 'wikieditor-toolbar-characters-page-arabicextended' => 'Ả Rập mở rộng', - 'wikieditor-toolbar-characters-page-persian' => 'Ba Tư', - 'wikieditor-toolbar-characters-page-hebrew' => 'Hê-brơ', - 'wikieditor-toolbar-characters-page-bangla' => 'Bangla', - 'wikieditor-toolbar-characters-page-tamil' => 'Tamil', - 'wikieditor-toolbar-characters-page-telugu' => 'Telugu', - 'wikieditor-toolbar-characters-page-sinhala' => 'Sinhala', - 'wikieditor-toolbar-characters-page-gujarati' => 'Gujarat', - 'wikieditor-toolbar-characters-page-devanagari' => 'Devanagari', - 'wikieditor-toolbar-characters-page-thai' => 'Thái', - 'wikieditor-toolbar-characters-page-lao' => 'Lào', - 'wikieditor-toolbar-characters-page-khmer' => 'Khơ-me', - 'wikieditor-toolbar-section-help' => 'Trợ giúp', - 'wikieditor-toolbar-help-heading-description' => 'Miêu tả', - 'wikieditor-toolbar-help-heading-syntax' => 'Bạn nhập', - 'wikieditor-toolbar-help-heading-result' => 'Nhận được', - 'wikieditor-toolbar-help-page-format' => 'Định dạng', - 'wikieditor-toolbar-help-page-link' => 'Liên kết', - 'wikieditor-toolbar-help-page-heading' => 'Đề mục', - 'wikieditor-toolbar-help-page-list' => 'Danh sách', - 'wikieditor-toolbar-help-page-file' => 'Tập tin', - 'wikieditor-toolbar-help-page-reference' => 'Tham khảo', - 'wikieditor-toolbar-help-page-discussion' => 'Thảo luận', - 'wikieditor-toolbar-help-content-italic-description' => 'Xiên', - 'wikieditor-toolbar-help-content-italic-syntax' => "''Chữ xiên''", - 'wikieditor-toolbar-help-content-italic-result' => 'Chữ xiên', - 'wikieditor-toolbar-help-content-bold-description' => 'Đậm', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Chữ đậm'''", - 'wikieditor-toolbar-help-content-bold-result' => 'Chữ đậm', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'Đậm & xiên', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Văn bản đậm & xiên'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'Văn bản đậm & xiên', - 'wikieditor-toolbar-help-content-ilink-description' => 'Liên kết trong', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Tên trang|Văn bản liên kết]]
    [[Tên trang]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Văn bản liên kết
    Tên trang", - 'wikieditor-toolbar-help-content-xlink-description' => 'Liên kết ngoài', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org Văn bản liên kết]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Văn bản liên kết
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => 'Đề mục cấp 2', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Câu đề mục ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Câu đề mục

    ', - 'wikieditor-toolbar-help-content-heading3-description' => 'Đề mục cấp 3', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Câu đề mục ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Câu đề mục

    ', - 'wikieditor-toolbar-help-content-heading4-description' => 'Đề mục cấp 4', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Câu đề mục ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Câu đề mục

    ', - 'wikieditor-toolbar-help-content-heading5-description' => 'Đề mục cấp 5', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Câu đề mục =====', - 'wikieditor-toolbar-help-content-heading5-result' => '

    Câu đề mục

    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'Danh sách không đánh số', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* Mục danh sách
    * Mục danh sách', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • Mục danh sách
    • Mục danh sách
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'Danh sách đánh số', - 'wikieditor-toolbar-help-content-olist-syntax' => '# Mục danh sách
    # Mục danh sách', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. Mục danh sách
    2. Mục danh sách
    ', - 'wikieditor-toolbar-help-content-file-description' => 'Chèn tập tin', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Ví dụ.png|thumb|Văn bản chú thích]]', - 'wikieditor-toolbar-help-content-file-result' => "
    Văn bản chú thích
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Tham khảo', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Nội dung trang<ref name="thử">[http://www.example.org Văn bản liên kết], văn bản bổ sung.</ref>.', - 'wikieditor-toolbar-help-content-reference-result' => "Nội dung trang[1].", - 'wikieditor-toolbar-help-content-rereference-description' => 'Sử dụng lại cùng chú thích', - 'wikieditor-toolbar-help-content-rereference-syntax' => '<ref name="thử" />', - 'wikieditor-toolbar-help-content-rereference-result' => "Nội dung trang[1].", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Liệt kê các chú thích', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Văn bản liên kết, văn bản bổ sung.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Chữ ký có ngày', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Tên đăng ký (thảo luận) 15:54, ngày 10 tháng 6 năm 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'Chữ ký', - 'wikieditor-toolbar-help-content-signature-result' => "Tên đăng ký (thảo luận)", - 'wikieditor-toolbar-help-content-indent-description' => 'Tăng lề', - 'wikieditor-toolbar-help-content-indent-syntax' => 'Văn bản thường
    :Văn bản được tăng lề
    ::Văn bản được tăng lề', - 'wikieditor-toolbar-help-content-indent-result' => 'Văn bản thường
    Văn bản được tăng lề
    Văn bản được tăng lề
    ', -); - -/** Volapük (Volapük) - * @author Malafaya - */ -$messages['vo'] = array( - 'wikieditor-preview-changes-tab' => 'Votükams', - 'wikieditor-toolbar-tool-ilink-example' => 'Yümatiäd', - 'wikieditor-toolbar-tool-link' => 'Yüm', - 'wikieditor-toolbar-tool-link-title' => 'Läükön yümi', - 'wikieditor-toolbar-tool-link-int-target' => 'Tiäd pada:', - 'wikieditor-toolbar-tool-link-int-text' => 'Vödem yüma', - 'wikieditor-toolbar-tool-link-cancel' => 'Nosükön', - 'wikieditor-toolbar-group-format' => 'Lised', - 'wikieditor-toolbar-tool-big' => 'Gretik', - 'wikieditor-toolbar-tool-big-example' => 'Vödem gretik', - 'wikieditor-toolbar-tool-table' => 'Taib', - 'wikieditor-toolbar-tool-replace-close' => 'Färmükön', - 'wikieditor-toolbar-characters-page-ipa' => 'LFB', - 'wikieditor-toolbar-characters-page-greek' => 'Grikänapük', - 'wikieditor-toolbar-section-help' => 'Yuf', - 'wikieditor-toolbar-help-page-link' => 'Yüms', - 'wikieditor-toolbar-help-page-list' => 'Liseds', - 'wikieditor-toolbar-help-page-file' => 'Ragivs', - 'wikieditor-toolbar-help-content-xlink-description' => 'Yüm plödik', - 'wikieditor-toolbar-help-content-signature-description' => 'Dispenäd', -); - -/** Wolof (Wolof) - * @author Ibou - */ -$messages['wo'] = array( - 'wikieditor-toolbar' => 'Banqaasu jumtukaayu coppite', - 'wikieditor-toolbar-desc' => 'Banqaasu jumtukaayu coppite bees gënal ag jëfandikoom', - 'wikieditor-toolbar-preference' => 'Doxal banqaasu jumtukaayu coppite bees gënal bi', - 'wikieditor-toolbar-dialogs-preference' => 'Doxal palanteeri duggaluwaayu lëkkalekaay, xaatim ak yeneen', - 'wikieditor-toolbar-loading' => 'Ci yoonu yeb...', - 'wikieditor-toolbar-tool-bold' => 'Duuf', - 'wikieditor-toolbar-tool-bold-example' => 'Mbind mu duuf', - 'wikieditor-toolbar-tool-italic' => 'Weng', - 'wikieditor-toolbar-tool-italic-example' => 'Mbind mu weng', - 'wikieditor-toolbar-tool-ilink' => 'Lëkkalekaay bu biir', - 'wikieditor-toolbar-tool-ilink-example' => 'Koju lëkkalekaay bi', - 'wikieditor-toolbar-tool-xlink' => 'Lëkkalekaay bu biti (fattalikul http://)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com koju lëkkalekaay bi', - 'wikieditor-toolbar-tool-link' => 'Lëkkalekaay', - 'wikieditor-toolbar-tool-link-title' => 'Duggal lëkkalekaay', - 'wikieditor-toolbar-tool-link-int' => 'Jëme ciw xëtu wiki', - 'wikieditor-toolbar-tool-link-int-target' => 'Koju xët wi', - 'wikieditor-toolbar-tool-link-int-text' => 'Mbindu lëkkalekaay bi', - 'wikieditor-toolbar-tool-link-ext' => 'Jëme ciw xëtu web wu biti', - 'wikieditor-toolbar-tool-link-ext-target' => 'URL bu lëkkalekaay bi:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Mbindu lëkkalekaay bi:', - 'wikieditor-toolbar-tool-link-insert' => 'Duggal ab lëkkalekaay', - 'wikieditor-toolbar-tool-link-cancel' => 'Neenal', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Xët wu am', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Xët wi amul', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Koj bu baaxul', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Caytug amug xët wi...', - 'wikieditor-toolbar-tool-link-int-invalid' => 'koj bi nga joxe baaxul.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'URL bi nga joxe dafa nirook lëkkalekaay buy jëme ci beneen wiki. Danga koo namm a def lëkkalekaay bu biir?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Lëkkalekaay bu biir', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Lëkkalekaay bu biti', - 'wikieditor-toolbar-tool-link-empty' => 'Duggaloo dara lees man a lëkkale', - 'wikieditor-toolbar-tool-file' => 'Dencukaay bees roofaale', - 'wikieditor-toolbar-tool-file-example' => 'Misaal.jpg', - 'wikieditor-toolbar-tool-reference' => 'Delluwaay', - 'wikieditor-toolbar-tool-reference-example' => 'Duggalal fii mbindu karmat gi', - 'wikieditor-toolbar-tool-signature' => 'Xaatim ak taariix', - 'wikieditor-toolbar-section-advanced' => 'Xóot', - 'wikieditor-toolbar-tool-heading' => 'Koj', - 'wikieditor-toolbar-tool-heading-1' => 'Tolluwaay 1', - 'wikieditor-toolbar-tool-heading-2' => 'Tolluwaay 2', - 'wikieditor-toolbar-tool-heading-3' => 'Tolluwaay 3', - 'wikieditor-toolbar-tool-heading-4' => 'Tolluwaay 4', - 'wikieditor-toolbar-tool-heading-5' => 'Tolluwaay 5', - 'wikieditor-toolbar-tool-heading-example' => 'Mbindu koj bi', - 'wikieditor-toolbar-group-format' => 'Lim', - 'wikieditor-toolbar-tool-ulist' => 'Lim bees tombal', - 'wikieditor-toolbar-tool-ulist-example' => 'Cëri lim bees tombal', - 'wikieditor-toolbar-tool-olist' => 'Lim bees nimerool', - 'wikieditor-toolbar-tool-olist-example' => 'Cëri lim bees nimerool', - 'wikieditor-toolbar-tool-indent' => 'Xise', - 'wikieditor-toolbar-tool-big' => 'Rëy', - 'wikieditor-toolbar-tool-big-example' => 'Mbind mu rëy', - 'wikieditor-toolbar-tool-small' => 'Tuuti', - 'wikieditor-toolbar-tool-small-example' => 'Mbind mu tuuti', - 'wikieditor-toolbar-tool-superscript' => 'Tiimaan', - 'wikieditor-toolbar-tool-superscript-example' => 'Mbind ci tiimaan', - 'wikieditor-toolbar-tool-subscript' => 'Suufaan', - 'wikieditor-toolbar-tool-subscript-example' => 'Mbind ci suufaan', - 'wikieditor-toolbar-group-insert' => 'Roof', - 'wikieditor-toolbar-tool-gallery' => 'Gaaraluwaayu nataal', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Misaal.jpg|Faramfacce1 -$1:Misaal.jpg|Faramfacce2', - 'wikieditor-toolbar-tool-newline' => 'Rëdd wu bees', - 'wikieditor-toolbar-tool-table' => 'Xaatim', - 'wikieditor-toolbar-tool-table-example-old' => '- -! koj 1 -! koj 2 -! koj 3 -|- -| rëdd 1, keno 1 -| rëdd 1, keno 2 -| rëdd 1, keno 3 -|- -| rëdd 2, keno 1 -| rëdd 2, keno 2 -| rëdd 2, keno 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Mbindum kër gi', - 'wikieditor-toolbar-tool-table-example-header' => 'Mbindum koj bi', - 'wikieditor-toolbar-tool-table-title' => 'Roof ab xaatim', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Rëdd', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Keno', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Duggalaale rëdduw kaw-xët', - 'wikieditor-toolbar-tool-table-wikitable' => 'Meliin ak wet yi', - 'wikieditor-toolbar-tool-table-sortable' => 'Def xaatim bi nosuwu', - 'wikieditor-toolbar-tool-table-example' => 'Mbindum kër gi', - 'wikieditor-toolbar-tool-table-preview' => 'Wonendi', - 'wikieditor-toolbar-tool-table-insert' => 'Roof', - 'wikieditor-toolbar-tool-table-cancel' => 'Neenal', - 'wikieditor-toolbar-tool-table-toomany' => 'Maneesula roofub xaatim bu weesu $1 kër ak bii jumtukaay.', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'Duggaloo limub rëdd walla keno bu baax.', - 'wikieditor-toolbar-tool-table-zero' => 'Manoo roofub xaatim bu amul rëdd walla keno', - 'wikieditor-toolbar-tool-replace' => 'Seet te wuutu', - 'wikieditor-toolbar-tool-replace-title' => 'Seet te wuutal', - 'wikieditor-toolbar-tool-replace-search' => 'Seet:', - 'wikieditor-toolbar-tool-replace-replace' => 'Wuutal ak:', - 'wikieditor-toolbar-tool-replace-case' => 'Tollale dayoo', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Gis bi toftal', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Wuutal yépp', - 'wikieditor-toolbar-tool-replace-close' => 'Neenal', - 'wikieditor-toolbar-tool-replace-nomatch' => 'Sa ceet gi jurul dara', - 'wikieditor-toolbar-tool-replace-success' => '$1 wuutu lees def', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'Waxoo looy seet.', -); - -/** Wu (吴语) */ -$messages['wuu'] = array( - 'wikieditor-template-editor-dialog-cancel' => '取消', - 'wikieditor-toolbar-tool-reference-cancel' => '取消', -); - -/** Mingrelian (მარგალური) */ -$messages['xmf'] = array( - 'wikieditor-toolbar-characters-page-ipa' => 'IPA', -); - -/** Yiddish (ייִדיש) - * @author פוילישער - * @author පසිඳු කාවින්ද - */ -$messages['yi'] = array( - 'wikieditor' => 'פֿארטגעשריטענע וויקיטעקסט רעדאַקטירונג', - 'wikieditor-desc' => 'פֿאַרברייטבאַרער וויקיטעקס רעדאַקטירונג אויבערפֿלאך מיט א סך מאדולן וואָס פֿאַרזארגן נײַע פֿונקציאנען', - 'wikieditor-wikitext-tab' => 'וויקיטעקסט', - 'wikieditor-loading' => 'לאָדנדיק', - 'wikieditor-preview-preference' => 'דערמעגלעכן זייַט-אויף-זייַט פֿאָרויסיקע ווייַזונג', - 'wikieditor-preview-tab' => 'פֿאראויסשטעלונג', - 'wikieditor-preview-changes-tab' => 'ענדערונגען', - 'wikieditor-preview-loading' => 'לאָדט…', - 'wikieditor-previewDialog-preference' => 'אקטיווירן פאראויסקוק דיאלאג', - 'wikieditor-previewDialog-tab' => 'פֿאראויסשטעלונג', - 'wikieditor-previewDialog-loading' => 'לאָדט…', - 'wikieditor-publish-button-publish' => 'פֿאַרעפֿנטלעכן', - 'wikieditor-publish-button-cancel' => 'אַנולירן', - 'wikieditor-publish-dialog-title' => 'פארעפנטלעכן אויף {{SITENAME}}', - 'wikieditor-publish-dialog-summary' => 'רעדאקטירן רעזומע (קורצע באשרייבונג פון אייערע ענדערונגען):', - 'wikieditor-publish-dialog-minor' => 'מינערדיקער רעדאַקטירונג', - 'wikieditor-publish-dialog-watch' => 'אויפֿפאַסן אויף דעם בלאַט', - 'wikieditor-publish-dialog-publish' => 'פֿאַרעפֿנטלעכן', - 'wikieditor-publish-dialog-goback' => 'צוריקגיין', - 'wikieditor-template-editor-dialog-title' => 'רעדאַקטירן מוסטער', - 'wikieditor-template-editor-dialog-submit' => 'דערהײַנטיקן', - 'wikieditor-template-editor-dialog-cancel' => 'אַנולירן', - 'wikieditor-templates-preference' => 'דערמעגלעכן איינפאלן פון מוסטערן', - 'wikieditor-toc-show' => 'ווײַזן אינהאַלט', - 'wikieditor-toc-hide' => 'באַהאַלטן אינהאַלט', - 'wikieditor-toolbar' => 'רעדאקטירונג געצייג־פאס', - 'wikieditor-toolbar-desc' => 'רעדאַקטירן בלאַט געצייגפאַס מיט פֿאַרברייטערטער ניצלעכקייט', - 'wikieditor-toolbar-preference' => 'אַקטיווירן פֿאַרברייטערטן רעדאַקטירונג פאַס', - 'wikieditor-toolbar-dialogs-preference' => 'דערמעגלעכן דיאָלאג קעסטלעך פֿאַר אַרײַנלייגן לינקען, טאַבעלעס און נאך', - 'wikieditor-toolbar-hidesig' => 'באהאלטן דאס אונטערשריפט קנעפל פון בלעטער אין דעם הויפט נאמענטייל', - 'wikieditor-toolbar-loading' => 'אָנלאָדן...', - 'wikieditor-toolbar-tool-bold' => 'דיק', - 'wikieditor-toolbar-tool-bold-example' => 'דיקער טעקסט', - 'wikieditor-toolbar-tool-italic' => 'קורסיוו', - 'wikieditor-toolbar-tool-italic-example' => 'קורסיווער טעקסט', - 'wikieditor-toolbar-tool-ilink' => 'אינערער לינק', - 'wikieditor-toolbar-tool-ilink-example' => 'לינק טיטל', - 'wikieditor-toolbar-tool-xlink' => 'דרויסנדיקער לינק (געדענקט דעם http:// פרעפֿיקס)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com לינק טיטל', - 'wikieditor-toolbar-tool-link' => 'לינק', - 'wikieditor-toolbar-tool-link-title' => 'אַרײַנשטעלן לינק', - 'wikieditor-toolbar-tool-link-int' => 'צו א וויקי בלאט', - 'wikieditor-toolbar-tool-link-int-target' => 'בלאט טיטל:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'בלאַט טיטל אָדער URL', - 'wikieditor-toolbar-tool-link-int-text' => 'טעקסט צו ווייַזן:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'טעקסט צו ווערן געוויזן', - 'wikieditor-toolbar-tool-link-ext' => 'צו אַ דרויסנדיקן וועב בלאַט', - 'wikieditor-toolbar-tool-link-ext-target' => 'לינק אַדרעס:', - 'wikieditor-toolbar-tool-link-ext-text' => 'לינק טעקסט:', - 'wikieditor-toolbar-tool-link-insert' => 'אַרײַנשטעלן לינק', - 'wikieditor-toolbar-tool-link-cancel' => 'אנולירן', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'בלאט עקזיסטירט', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'בלאט עקזיסטירט נישט', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'אומגילטיקער טיטל', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'דרויסנדיקער לינק', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'קאָנטראָלירן צי בלאַט עקזיסטירט ...', - 'wikieditor-toolbar-tool-link-int-invalid' => 'דעם טיטל איר האט ספעציפֿירט איז אומגילטיק.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'דעם URL איר האט ספעציפֿירט זעט אויס ווי א לינק צו אַן אַנדער וויקי בלאַט. צי ווילט איר מאַכן דאָס אַן אינערלעכן לינק?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'אינערלעכער לינק', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'דרויסנדיקער לינק', - 'wikieditor-toolbar-tool-link-empty' => 'איר האט גאָרנישט ארײַנגעגעבן צום פֿאַרבינדן.', - 'wikieditor-toolbar-tool-file' => 'אײַנגעבעטעטע טעקע', - 'wikieditor-toolbar-tool-file-example' => 'בײַשפיל.jpg', - 'wikieditor-toolbar-tool-file-title' => 'צולייגן טעקע', - 'wikieditor-toolbar-file-target' => 'טעקע נאָמען:', - 'wikieditor-toolbar-file-caption' => 'באַשרײַבונג', - 'wikieditor-toolbar-file-size' => 'גרייס:', - 'wikieditor-toolbar-file-float' => 'אויסגלײַכונג:', - 'wikieditor-toolbar-file-default' => '(גרונטלעך)', - 'wikieditor-toolbar-file-format' => 'פֿאָרמאַט:', - 'wikieditor-toolbar-file-format-none' => 'קיין', - 'wikieditor-toolbar-tool-file-insert' => 'צולייגן', - 'wikieditor-toolbar-tool-file-cancel' => 'אנולירן', - 'wikieditor-toolbar-tool-reference' => 'רעפערענץ', - 'wikieditor-toolbar-tool-reference-example' => 'אַרײַנשטעלן פֿיסל טעקסט דא', - 'wikieditor-toolbar-tool-reference-cancel' => 'אַנולירן', - 'wikieditor-toolbar-tool-reference-title' => 'ארײַנגעבן רעפֿערענץ', - 'wikieditor-toolbar-tool-reference-insert' => 'צולייגן', - 'wikieditor-toolbar-tool-reference-text' => 'רעפֿערענץ טעקסט', - 'wikieditor-toolbar-tool-signature' => 'חתימה און צײַטשטעמפל', - 'wikieditor-toolbar-section-advanced' => 'פֿארגעשריטן', - 'wikieditor-toolbar-tool-heading' => 'קעפל', - 'wikieditor-toolbar-tool-heading-1' => 'ניוואָ 1', - 'wikieditor-toolbar-tool-heading-2' => 'ניוואָ 2', - 'wikieditor-toolbar-tool-heading-3' => 'ניווא 3', - 'wikieditor-toolbar-tool-heading-4' => 'ניווא 4', - 'wikieditor-toolbar-tool-heading-5' => 'ניוואָ 5', - 'wikieditor-toolbar-tool-heading-example' => 'קעפל טעקסט', - 'wikieditor-toolbar-group-format' => 'פֿאָרמאַט', - 'wikieditor-toolbar-tool-ulist' => 'רשימה מיט בולעטן', - 'wikieditor-toolbar-tool-ulist-example' => 'רשימה מיט בולעטן איינס', - 'wikieditor-toolbar-tool-olist' => 'נומערירטע רשימה', - 'wikieditor-toolbar-tool-olist-example' => 'נומערירטע רשימה איינס', - 'wikieditor-toolbar-tool-indent' => 'אָפרוקונג', - 'wikieditor-toolbar-tool-indent-example' => 'אָפגערוקטע שורה', - 'wikieditor-toolbar-tool-nowiki' => 'נישט קיין וויקי פאָרמאַטירונג', - 'wikieditor-toolbar-tool-nowiki-example' => 'נישט פֿארמאַטירטער טעקסט', - 'wikieditor-toolbar-tool-redirect' => 'ווענדונג', - 'wikieditor-toolbar-tool-redirect-example' => 'ציל בלאַט נאָמען', - 'wikieditor-toolbar-tool-big' => 'גרויס', - 'wikieditor-toolbar-tool-big-example' => 'גרויסער טעקסט', - 'wikieditor-toolbar-tool-small' => 'קליין', - 'wikieditor-toolbar-tool-small-example' => 'קליינער טעקסט', - 'wikieditor-toolbar-tool-superscript' => 'הייבונג', - 'wikieditor-toolbar-tool-superscript-example' => 'געהויבענער טעקסט', - 'wikieditor-toolbar-tool-subscript' => 'נידעריקונג', - 'wikieditor-toolbar-tool-subscript-example' => 'גענידערטער טעקסט', - 'wikieditor-toolbar-group-insert' => 'צולייגן', - 'wikieditor-toolbar-tool-gallery' => 'בילדער גאַלעריע', - 'wikieditor-toolbar-tool-gallery-example' => '$1:בײַשפיל.jpg|קעפל1 -$1:בײַשפיל.jpg|קעפל2', - 'wikieditor-toolbar-tool-newline' => 'נײַע שורה', - 'wikieditor-toolbar-tool-table' => 'טאַבעלע', - 'wikieditor-toolbar-tool-table-example-old' => '- -! קעפל 1 -! קעפל 2 -! קעפל 3 -|- -| ריי 1, צעל 1 -| ריי 1, צעל 2 -| ריי 1, צעל 3 -|- -| ריי 2, צעל 1 -| ריי 2, צעל 2 -| ריי 2, צעל 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'צעל טעקסט', - 'wikieditor-toolbar-tool-table-example-header' => 'קעפל טעקסט', - 'wikieditor-toolbar-tool-table-title' => 'צולייגן טאַבעלע', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'שורות', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'עמודים', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'צולייגן קעפל שורה', - 'wikieditor-toolbar-tool-table-wikitable' => 'סטיל מיט ראמען', - 'wikieditor-toolbar-tool-table-sortable' => 'מאַכן טאַבעלע סארטירבאַר', - 'wikieditor-toolbar-tool-table-example' => 'צעל טעקסט', - 'wikieditor-toolbar-tool-table-preview' => 'פֿאראויסשטעלונג', - 'wikieditor-toolbar-tool-table-insert' => 'צולייגן', - 'wikieditor-toolbar-tool-table-cancel' => 'אנולירן', - 'wikieditor-toolbar-tool-table-toomany' => 'מיט דעם דיאַלאג איז נישט מעגלעך אַרײַנשטעלן א טאַבעלע מיט מער ווי $1 צעלן', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'איר האָט נישט ארײַנגעגעבן אַ גילטיקן נומער פון שורות אָדער זיילן.', - 'wikieditor-toolbar-tool-table-zero' => 'איר קענט נישט אַרײַנשטעלן א טאַבעלע מיט נול שורות אדער זיילן.', - 'wikieditor-toolbar-tool-replace' => 'זוכן און בײַטן', - 'wikieditor-toolbar-tool-replace-title' => 'זוכן און בײַטן', - 'wikieditor-toolbar-tool-replace-search' => 'זוכן פֿאַר:', - 'wikieditor-toolbar-tool-replace-replace' => 'פֿאַרבייטן מיט:', - 'wikieditor-toolbar-tool-replace-case' => 'צופאַסן גרויסע און קליינע אותיות', - 'wikieditor-toolbar-tool-replace-regex' => 'באַהאַנדלען זוכקייטל ווי א רעגולערן אויסדרוק', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'זוכן נעקסטע', - 'wikieditor-toolbar-tool-replace-button-replace' => 'אויסבײַטן', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'אויסבײַטן אלץ', - 'wikieditor-toolbar-tool-replace-close' => 'שליסן', - 'wikieditor-toolbar-tool-replace-nomatch' => 'אײַער זוך האט גאָרנישט צוגעפאַסט', - 'wikieditor-toolbar-tool-replace-success' => '$1 אויסבײַט(ן) אַדורכגעפֿירט.', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'איר האט גאָרנישט ארײַנגעגעבן צום זוכן.', - 'wikieditor-toolbar-tool-replace-invalidregex' => 'דער רעגולערער אויסדרוק וואָס איר האט אַרײַנגעגעבן איז אומגילטיק: $1', - 'wikieditor-toolbar-section-characters' => 'ספעציעלע צייכנס', - 'wikieditor-toolbar-characters-page-latin' => 'לאַטייניש', - 'wikieditor-toolbar-characters-page-latinextended' => 'לאַטייַן פֿאַרברייטערט', - 'wikieditor-toolbar-characters-page-ipa' => 'אינטערנאַציאנאלער פֿאנעטישער אלפֿאבעט (IPA)', - 'wikieditor-toolbar-characters-page-symbols' => 'סימבאלן', - 'wikieditor-toolbar-characters-page-greek' => 'גריכיש', - 'wikieditor-toolbar-characters-page-cyrillic' => 'ציריליש', - 'wikieditor-toolbar-characters-page-arabic' => 'אראביש', - 'wikieditor-toolbar-characters-page-arabicextended' => 'פארברייטערטע אראביש', - 'wikieditor-toolbar-characters-page-persian' => 'פּערסיש', - 'wikieditor-toolbar-characters-page-hebrew' => 'העברעיש', - 'wikieditor-toolbar-characters-page-bangla' => 'בענגאַליש', - 'wikieditor-toolbar-characters-page-tamil' => 'טאַמיליש', - 'wikieditor-toolbar-characters-page-telugu' => 'טעלוגו', - 'wikieditor-toolbar-characters-page-sinhala' => 'סינהאַלאַ', - 'wikieditor-toolbar-characters-page-gujarati' => 'גודזשאַראַטי', - 'wikieditor-toolbar-characters-page-devanagari' => 'דעוואַנאַגאַרי', - 'wikieditor-toolbar-characters-page-thai' => 'טהאי', - 'wikieditor-toolbar-characters-page-lao' => 'לאַאטיש', - 'wikieditor-toolbar-characters-page-khmer' => 'כמער', - 'wikieditor-toolbar-section-help' => 'הילף', - 'wikieditor-toolbar-help-heading-description' => 'באַשרײַבונג', - 'wikieditor-toolbar-help-heading-syntax' => 'וואָס איר קלאַפט אַרײַן', - 'wikieditor-toolbar-help-heading-result' => 'ווי עס זעט אויס', - 'wikieditor-toolbar-help-page-format' => 'פֿאָרמאַטירונג', - 'wikieditor-toolbar-help-page-link' => 'לינקען', - 'wikieditor-toolbar-help-page-heading' => 'קעפלעך', - 'wikieditor-toolbar-help-page-list' => 'ליסטעס', - 'wikieditor-toolbar-help-page-file' => 'טעקעס', - 'wikieditor-toolbar-help-page-reference' => 'רעפערענצן', - 'wikieditor-toolbar-help-page-discussion' => 'שמועס', - 'wikieditor-toolbar-help-content-italic-description' => 'קורסיוו', - 'wikieditor-toolbar-help-content-italic-syntax' => "''קורסיווער טעקסט''", - 'wikieditor-toolbar-help-content-italic-result' => 'קורסיווער טעקסט', - 'wikieditor-toolbar-help-content-bold-description' => 'דיק', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''דיקער טעקסט'''", - 'wikieditor-toolbar-help-content-bold-result' => 'דיקער טעקסט', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'דיק & שיף', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''דיקער & קורסיווער טעקסט'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'דיקער & קורסיווער טעקסט', - 'wikieditor-toolbar-help-content-ilink-description' => 'אינערלעכער לינק', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[בלאַט קעפל|לינק טעקסט]]
    [[בלאַט קעפל]]', - 'wikieditor-toolbar-help-content-ilink-result' => "לינק טעקסט
    בלאַט קעפל", - 'wikieditor-toolbar-help-content-xlink-description' => 'דרויסנדיקער לינק', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org לינק טעקסט]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "לינק טעקסט
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => 'צווייטער ניווא קעפל', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== קעפל טעקסט ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    קעפל טעקסט

    ', - 'wikieditor-toolbar-help-content-heading3-description' => 'דריטער ניווא קעפל', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== קעפל טעקסט ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    קעפל טעקסט

    ', - 'wikieditor-toolbar-help-content-heading4-description' => 'פֿערטער ניווא קעפל', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== קעפל טעקסט ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    קעפל טעקסט

    ', - 'wikieditor-toolbar-help-content-heading5-description' => 'פֿיפֿטער ניווא קעפל', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== קעפל טעקסט =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    קעפל טעקסט
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'רשימה מיט בולעטן', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* ליסטע איינצל
    * ליסטע איינצל', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • ליסטע איינצל
    • ליסטע איינצל
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'נומערירטע ליסטע', - 'wikieditor-toolbar-help-content-olist-syntax' => '# ליסטע איינצל
    # ליסטע איינצל', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. ליסטע איינצל
    2. ליסטע איינצל
    ', - 'wikieditor-toolbar-help-content-file-description' => 'אײַנגעבעטעטע טעקע', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|באשרייבונג]]', - 'wikieditor-toolbar-help-content-file-result' => "
    באַשרײַבונג
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'רעפערענץ', - 'wikieditor-toolbar-help-content-reference-syntax' => 'בלאַט טעקסט.<ref name="test">[http://www.example.org לינק טעקסט], צוגעגעבענער טעקסט.</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "בלאַט טעקסט. [1]", - 'wikieditor-toolbar-help-content-rereference-description' => 'נאך א ניץ פונעם זעלבן רעפערענץ', - 'wikieditor-toolbar-help-content-rereference-result' => "בלאַט טעקסט. [1]", - 'wikieditor-toolbar-help-content-showreferences-description' => 'ווייַזן רעפֿערענצן', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ לינק טעקסט, נאך טעקסט.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'אונטערשריפֿט מיט צײַטסטעמפּל.', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "באַניצער נאָמען (שמועס) 15:54, 10 טן יוני 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'חתימה', - 'wikieditor-toolbar-help-content-signature-result' => "באַניצער נאָמען (שמועס)", - 'wikieditor-toolbar-help-content-indent-description' => 'אָפרוקן', - 'wikieditor-toolbar-help-content-indent-syntax' => 'נארמאַלער טעקסט
    :אָפגערוקטער טעקסט
    ::אָפגערוקטער טעקסט', - 'wikieditor-toolbar-help-content-indent-result' => 'נארמאַלער טעקסט
    אָפגערוקטער טעקסט
    אָפגערוקטער טעקסט
    ', -); - -/** Yoruba (Yorùbá) - * @author Demmy - */ -$messages['yo'] = array( - 'wikieditor-wikitext-tab' => 'Ìkọ wiki', - 'wikieditor-loading' => 'Úngbéyọ', - 'wikieditor-preview-preference' => 'Ìgbàláyè àyẹ̀wò lẹ́gbẹ̀ẹ́ ara wọn', - 'wikieditor-preview-tab' => 'Àyẹ̀wò', - 'wikieditor-preview-changes-tab' => 'Àwọn àtúnṣe', - 'wikieditor-preview-loading' => 'Óúnbọ̀wá...', - 'wikieditor-previewDialog-preference' => 'Ìgbàláyè pátákó àkíyèsí fún àyẹ̀wò', - 'wikieditor-previewDialog-tab' => 'Àyẹ̀wò', - 'wikieditor-previewDialog-loading' => 'Óúnbọ̀wá...', - 'wikieditor-publish-preference' => 'Ìgbàláyè ìtẹ̀jáde lẹ́sẹ-sẹ', - 'wikieditor-publish-button-publish' => 'Ìtẹ̀jáde', - 'wikieditor-publish-button-cancel' => 'Fagilé', - 'wikieditor-publish-dialog-title' => 'Ìtẹ̀jáde sí {{SITENAME}}', - 'wikieditor-publish-dialog-summary' => 'Àkótán àtúnṣe (àlàyé ní sókí àtúnṣe tí ẹ ṣe):', - 'wikieditor-publish-dialog-minor' => 'Àtúnṣe kékeré', - 'wikieditor-publish-dialog-watch' => "M'ójútó ojúewé yìí", - 'wikieditor-publish-dialog-publish' => 'Ìtẹ̀jáde', - 'wikieditor-publish-dialog-goback' => 'Padà sẹ́yìn', - 'wikieditor-template-editor-preference' => 'Ìgbàláyè àtúnṣe onífọ́ọ́mù àwọn àdàkọ wiki', - 'wikieditor-template-editor-dialog-title' => 'Àtúnṣe àdàkọ', - 'wikieditor-template-editor-dialog-submit' => 'Ìtúnṣe', - 'wikieditor-template-editor-dialog-cancel' => 'Fagilé', - 'wikieditor-templates-preference' => 'Ìgbàláyè ìbòmọ́lẹ̀ àdàkọ', - 'wikieditor-toc-preference' => 'Ìgbàláyè pátákó àwọn àkóónú atọ́ka', - 'wikieditor-toc-show' => 'Ìfihàn àwọn àkóónú', - 'wikieditor-toc-hide' => 'Ìbòmọ́lẹ̀ àkóónú', - 'wikieditor-toolbar' => 'Àtúnṣe sí pẹpẹ irinṣẹ́', - 'wikieditor-toolbar-desc' => 'Àtúnṣe ojúewé pẹpẹ irinṣẹ́ pẹ̀lú ìṣeémúlò amúdára', - 'wikieditor-toolbar-preference' => 'Ìgbàláyè pẹpẹ irinṣẹ́ àtúnṣe mímúdára', - 'wikieditor-toolbar-dialogs-preference' => 'Ìgbàláyè àwọn pátákó àkíyèsí fún ìkìbọ̀ ìjápọ̀, tábìlì àti bẹ́ẹ̀bẹ́ẹ̀ lọ', - 'wikieditor-toolbar-loading' => 'Óúnbọ̀wá...', - 'wikieditor-toolbar-tool-bold' => 'Kedere', - 'wikieditor-toolbar-tool-bold-example' => 'Ìkọ kedere', - 'wikieditor-toolbar-tool-italic' => 'Awọ́lẹ́ẹ̀gbẹ́', - 'wikieditor-toolbar-tool-italic-example' => 'Ìkọ awọ́lẹ́ẹ̀gbẹ́', - 'wikieditor-toolbar-tool-ilink' => 'Ìjápọ̀ inú', - 'wikieditor-toolbar-tool-ilink-example' => 'Àkọlé ìjápọ̀', - 'wikieditor-toolbar-tool-xlink' => 'Ìjápọ̀ lóde (ẹ mọ́ gbàgbé àlẹ̀mọ́wájú http://)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com àkọlé ìjápọ̀', - 'wikieditor-toolbar-tool-link' => 'Ìjápọ̀', - 'wikieditor-toolbar-tool-link-title' => 'Ìkìbọ̀ ìjápọ̀', - 'wikieditor-toolbar-tool-link-int' => 'Sí ojúewé wiki kan', - 'wikieditor-toolbar-tool-link-int-target' => 'Àkọlè ojúewé tàbí URL:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => 'Àkọlé ojúewé tàbí URL', - 'wikieditor-toolbar-tool-link-int-text' => 'Ìkọ láti fihàn:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => 'Ìkọ láti jẹ́ fífihàn', - 'wikieditor-toolbar-tool-link-ext' => 'Sí ojúewé ìtakùn lóde', - 'wikieditor-toolbar-tool-link-ext-target' => 'Ìjápọ̀ URL:', - 'wikieditor-toolbar-tool-link-ext-text' => 'Ìkọ ìjápọ̀:', - 'wikieditor-toolbar-tool-link-insert' => 'Ìkìbọ̀ ìjápọ̀', - 'wikieditor-toolbar-tool-link-cancel' => 'Fagilé', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => 'Ojúewé wà', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => 'Kò sí ojúewé', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => 'Àkọlé tíkòyẹ', - 'wikieditor-toolbar-tool-link-int-target-status-external' => 'Ìjápọ̀ lóde', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => 'Únyẹ̀wò bóyá ojúewé wà...', - 'wikieditor-toolbar-tool-link-int-invalid' => 'Àkọlè tí ẹ nàkasí kò yẹ.', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => 'URL tí ẹ nàkasí dàbí pé ó jẹ́ ìjápọ̀ sí ojúewé wiki mìràn. Ṣé ẹ fẹ́ sọọ́ di ìjápọ̀ inú?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => 'Ìjápọ̀ inú', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => 'Ìjápọ̀ lóde', - 'wikieditor-toolbar-tool-link-empty' => 'Ẹ kò kọ ùnkankan láti jápọ̀ mọ́.', - 'wikieditor-toolbar-tool-file' => 'Fáìlì alákòósínú', - 'wikieditor-toolbar-tool-file-example' => 'Àpẹrẹ.jpg', - 'wikieditor-toolbar-tool-reference' => 'Ìtọ́kasí', - 'wikieditor-toolbar-tool-reference-example' => 'Ìkìbọ ìkọ ìkíyésí níbí', - 'wikieditor-toolbar-tool-reference-cancel' => 'Fagilé', - 'wikieditor-toolbar-tool-reference-title' => 'Ìkìbọ̀ ìtọ́kasí', - 'wikieditor-toolbar-tool-reference-insert' => 'Ìkìbọ̀', - 'wikieditor-toolbar-tool-reference-text' => 'Ìkọ ìtọ́kasí', - 'wikieditor-toolbar-tool-signature' => 'Ìtọwọ́bọ̀wé àti èdìdí àkókò', - 'wikieditor-toolbar-section-advanced' => 'Gíga', - 'wikieditor-toolbar-tool-heading' => 'Àkọlé', - 'wikieditor-toolbar-tool-heading-1' => 'Ìpele 1', - 'wikieditor-toolbar-tool-heading-2' => 'Ìpele 2', - 'wikieditor-toolbar-tool-heading-3' => 'Ìpele 3', - 'wikieditor-toolbar-tool-heading-4' => 'Ìpele 4', - 'wikieditor-toolbar-tool-heading-5' => 'Ìpele 5', - 'wikieditor-toolbar-tool-heading-example' => 'Ìkọ àkọlé', - 'wikieditor-toolbar-group-format' => 'Ìdá', - 'wikieditor-toolbar-tool-ulist' => 'Àkójọ oníàmì', - 'wikieditor-toolbar-tool-ulist-example' => 'Ohun àkójọ oníàmì', - 'wikieditor-toolbar-tool-olist' => 'Àkójọ onínọ́mbà', - 'wikieditor-toolbar-tool-olist-example' => 'Ohun àkójọ onínọ́mbà', - 'wikieditor-toolbar-tool-indent' => 'Ìwọ́', - 'wikieditor-toolbar-tool-indent-example' => 'Ìlà wíwọ́', - 'wikieditor-toolbar-tool-nowiki' => 'Bẹ́ẹ̀kọ́ sí ìsédá wiki', - 'wikieditor-toolbar-tool-nowiki-example' => 'Ìkìbọ̀ ìkọ àìjẹ́ síṣèdá síbí', - 'wikieditor-toolbar-tool-redirect' => 'Àtúnjúwe', - 'wikieditor-toolbar-tool-redirect-example' => 'Orúkọ ojúewé', - 'wikieditor-toolbar-tool-big' => 'Gbàngbà', - 'wikieditor-toolbar-tool-big-example' => 'Ìkọ gbàngbà', - 'wikieditor-toolbar-tool-small' => 'Kónkóló', - 'wikieditor-toolbar-tool-small-example' => 'Ìkọ kónkóló', - 'wikieditor-toolbar-tool-superscript' => 'Àfikọṣórí', - 'wikieditor-toolbar-tool-superscript-example' => 'Ìkọ àfìkọṣórí', - 'wikieditor-toolbar-tool-subscript' => 'Àfìkọṣábẹ́', - 'wikieditor-toolbar-tool-subscript-example' => 'Ìkọ àfìkọṣábẹ́', - 'wikieditor-toolbar-group-insert' => 'Ìkìbọ̀', - 'wikieditor-toolbar-tool-gallery' => 'Ìkójọ àwòrán', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|Àkọlé1 -$1:Example.jpg|Àkọlé2', - 'wikieditor-toolbar-tool-newline' => 'Ìlà tuntun', - 'wikieditor-toolbar-tool-table' => 'Tábìlì', - 'wikieditor-toolbar-tool-table-example-old' => '- -! orí ọ̀rọ̀ 1 -! orí ọ̀rọ̀ 2 -! orí ọ̀rọ̀ 3 -|- -| orí ìlà 1, ìhámọ́ 1 -| orí ìlà 1, ìhámọ́ 2 -| orí ìlà 1, ìhámọ́ 3 -|- -| orí ìlà 2, ìhámọ́ 1 -| orí ìlà 2, ìhámọ́ 2 -| orí ìlà 2, ìhámọ́ 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => 'Ìkọ inú ìhámọ́', - 'wikieditor-toolbar-tool-table-example-header' => 'Ìkọ orí ọ̀rọ̀', - 'wikieditor-toolbar-tool-table-title' => 'Ìkìbọ tábìlì', - 'wikieditor-toolbar-tool-table-dimensions-rows' => 'Àwọn orí ìlà', - 'wikieditor-toolbar-tool-table-dimensions-columns' => 'Àwọn orí òpó', - 'wikieditor-toolbar-tool-table-dimensions-header' => 'Àfikún àkọlé orí ìlà', - 'wikieditor-toolbar-tool-table-wikitable' => 'Ṣe é pẹ̀lú bodè', - 'wikieditor-toolbar-tool-table-sortable' => 'Kó le ṣe é túntò', - 'wikieditor-toolbar-tool-table-example' => 'Àpẹrẹ', - 'wikieditor-toolbar-tool-table-preview' => 'Àyẹ̀wò', - 'wikieditor-toolbar-tool-table-insert' => 'Ìkìbọ̀', - 'wikieditor-toolbar-tool-table-cancel' => 'Fagilé', - 'wikieditor-toolbar-tool-table-toomany' => 'Ìkìbọ̀ tábìlì pẹ̀lú ìhámọ́ tóju $1 lọ kò ṣẹ é ṣe pẹ̀lú pátákó àkíyèsí yìí.', - 'wikieditor-toolbar-tool-table-invalidnumber' => 'Ẹ kò ì tíì ki iye àwọn orí ìlà àti orí òpó tó yẹ bọlé.', - 'wikieditor-toolbar-tool-table-zero' => 'Ẹ kò le ṣe ìkìbọ̀ tábìlì tó ní òdo orí ìlà àti òdo orí òpó.', - 'wikieditor-toolbar-tool-replace' => 'Àwárí láti rọ́pò', - 'wikieditor-toolbar-tool-replace-title' => 'Àwárí láti rọ́pò', - 'wikieditor-toolbar-tool-replace-search' => 'Àwárí fún:', - 'wikieditor-toolbar-tool-replace-replace' => 'Rọ́pò pẹ̀lú:', - 'wikieditor-toolbar-tool-replace-case' => 'Ìbámu lẹ́tà kúkúrú-nínlá', - 'wikieditor-toolbar-tool-replace-regex' => 'Ṣe ìkọ-ọ̀rọ̀ àwárí bíi ìṣọ̀rọ̀ dédé', - 'wikieditor-toolbar-tool-replace-button-findnext' => 'Wá omíràn', - 'wikieditor-toolbar-tool-replace-button-replaceall' => 'Ìrọ́pò gbogbo wọn', - 'wikieditor-toolbar-tool-replace-close' => 'Padé', - 'wikieditor-toolbar-tool-replace-nomatch' => 'Àwárí yín kò bá ohun kankan mu.', - 'wikieditor-toolbar-tool-replace-success' => 'Ìrọ́pò $1 wáyé.', - 'wikieditor-toolbar-tool-replace-emptysearch' => 'Ẹ kò kọ ohun kankan láti wárí.', - 'wikieditor-toolbar-tool-replace-invalidregex' => 'Ìgbékalẹ̀ọ̀rọ̀ dédé tí ẹ kọ kò yẹ: $1', - 'wikieditor-toolbar-section-characters' => 'Àwọn lẹ́tà pàtàkì', - 'wikieditor-toolbar-characters-page-latin' => 'Látìnì', - 'wikieditor-toolbar-characters-page-latinextended' => 'Látìnì títóbi', - 'wikieditor-toolbar-characters-page-ipa' => 'IPA', - 'wikieditor-toolbar-characters-page-symbols' => 'Àwọn àmì ìdámọ̀', - 'wikieditor-toolbar-characters-page-greek' => 'Gíríkì', - 'wikieditor-toolbar-characters-page-cyrillic' => 'Kíúrílíkì', - 'wikieditor-toolbar-characters-page-arabic' => 'Lárúbáwá', - 'wikieditor-toolbar-characters-page-persian' => 'Èdè Pẹrsíà', - 'wikieditor-toolbar-characters-page-hebrew' => 'Hébérù', - 'wikieditor-toolbar-characters-page-bangla' => 'Bánglà', - 'wikieditor-toolbar-characters-page-telugu' => 'Tèlúgù', - 'wikieditor-toolbar-characters-page-sinhala' => 'Sinhala', - 'wikieditor-toolbar-characters-page-gujarati' => 'Gujarati', - 'wikieditor-toolbar-characters-page-thai' => 'Thai', - 'wikieditor-toolbar-characters-page-lao' => 'Lao', - 'wikieditor-toolbar-characters-page-khmer' => 'Khmer', - 'wikieditor-toolbar-section-help' => 'Ìrànwọ́', - 'wikieditor-toolbar-help-heading-description' => 'Ìjúwe', - 'wikieditor-toolbar-help-heading-syntax' => 'Ohun tí ẹ tẹ̀', - 'wikieditor-toolbar-help-heading-result' => 'Ohun tí ẹ ó ò rí', - 'wikieditor-toolbar-help-page-format' => 'Ìṣèdá', - 'wikieditor-toolbar-help-page-link' => 'Àwọn ìjápọ̀', - 'wikieditor-toolbar-help-page-heading' => 'Àwọn àkọlé', - 'wikieditor-toolbar-help-page-list' => 'Àwọn àkójọ', - 'wikieditor-toolbar-help-page-file' => 'Àwọn fáìlì', - 'wikieditor-toolbar-help-page-reference' => 'Àwọn ìtọ́kasí', - 'wikieditor-toolbar-help-page-discussion' => 'Ìfọ̀rọ̀wérọ̀', - 'wikieditor-toolbar-help-content-italic-description' => 'Awọ́lẹ́ẹ̀gbẹ́', - 'wikieditor-toolbar-help-content-italic-syntax' => 'Ìkọ awọ́lẹ́ẹ̀gbẹ́', - 'wikieditor-toolbar-help-content-italic-result' => 'Ìkọ àwọ́lẹ́ẹ̀gbẹ́', - 'wikieditor-toolbar-help-content-bold-description' => 'Kedere', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''Ìkọ kedere'''", - 'wikieditor-toolbar-help-content-bold-result' => 'Ìkọ kedere', - 'wikieditor-toolbar-help-content-bolditalic-description' => 'Kedere & àwọ́lẹ́ẹ̀gbẹ́', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''Ìkọ kedere & àwọ́lẹ́ẹ̀gbẹ́'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => 'Ìkọ kedere & àwọ́lẹ́ẹ̀gbẹ́', - 'wikieditor-toolbar-help-content-ilink-description' => 'Ìjápọ̀ inú', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[Àkọlé ojúewé|Àlẹ̀mọ́ ìjápọ̀]]
    [[Àkọlé ojúewé]]', - 'wikieditor-toolbar-help-content-ilink-result' => "Àlẹ̀mọ́ ìjápọ̀
    Àkọlé ojúewé", - 'wikieditor-toolbar-help-content-xlink-description' => 'Ìjápọ̀ lóde', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org Àlẹ̀mọ́ ìjápọ̀]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "Àlẹ̀mọ́ ìjápọ̀
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => 'Ìpele ìṣorí ọ̀rọ̀ 2ji', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== Ìkọ orí ọ̀rọ̀ ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    Ìkọ orí ọ̀rọ̀

    ', - 'wikieditor-toolbar-help-content-heading3-description' => 'Ìpele ìṣorí ọ̀rọ̀ 3ta', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== Ìkọ orí ọ̀rọ̀ ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    Ìkọ orí ọ̀rọ̀

    ', - 'wikieditor-toolbar-help-content-heading4-description' => 'Ìpele ìṣorí ọ̀rọ̀ 4rin', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== Ìkọ orí ọ̀rọ̀ ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    Ìkọ orí ọ̀rọ̀

    ', - 'wikieditor-toolbar-help-content-heading5-description' => 'Ìpele ìṣorí ọ̀rọ̀ 5run', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== Ìkọ orí ọ̀rọ̀ =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    Ìkọ orí ọ̀rọ̀
    ', - 'wikieditor-toolbar-help-content-ulist-description' => 'Àkójọ oníàmì', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* Ohun àkójọ
    * Ohun àkójọ', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • Ohun àkójọ
    • Ohun àkójọ
    ', - 'wikieditor-toolbar-help-content-olist-description' => 'Àkójọ onínọ́mbà', - 'wikieditor-toolbar-help-content-olist-syntax' => '# Ohun àkójọ
    # Ohun àkójọ', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. Ohun àkójọ
    2. Ohun àkójọ
    ', - 'wikieditor-toolbar-help-content-file-description' => 'Fáìlì alákòósínú', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|Àkọlé]]', - 'wikieditor-toolbar-help-content-file-result' => "
    Ìkọ àkọlé
    ", - 'wikieditor-toolbar-help-content-reference-description' => 'Ìtọ́kasí', - 'wikieditor-toolbar-help-content-reference-syntax' => 'Íkọ ojúewé.<ref name="test">[http://www.example.org Ìkọ ìjápọ̀], ìkọ mìràn.</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "Ìkọ ojúewé.[1]", - 'wikieditor-toolbar-help-content-rereference-description' => 'Ọ̀nà ílò míràn ìtọ́kasí kannáà', - 'wikieditor-toolbar-help-content-rereference-result' => "Ìkọ ojúewé.[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => 'Ìfihàn àwọn ìtọ́kasí', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ Ìkọ ìjápọ̀, ìkọ mìràn.
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => 'Ìtọwọ́bọ̀wé pẹ̀lú èdìdí àkókò', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "Orúkọ oníṣe (ọ̀rọ̀) 15:54, 10 June 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => 'Ìtọwọ́bọ̀wé', - 'wikieditor-toolbar-help-content-signature-result' => "Orúkọ oníṣe (ọ̀rọ̀)", - 'wikieditor-toolbar-help-content-indent-description' => 'Awọ́', -); - -/** Cantonese (粵語) - * @author Horacewai2 - * @author Waihorace - */ -$messages['yue'] = array( - 'wikieditor' => '進階維基文字編輯界面', - 'wikieditor-desc' => '提供一個可以展開嘅維基文字編輯界面同埋好多其他特色嘅模組', - 'wikieditor-wikitext-tab' => '維基文字', - 'wikieditor-loading' => '載入緊', - 'wikieditor-preview-preference' => '用side-by-side預覽功能', - 'wikieditor-preview-tab' => '預覽', - 'wikieditor-preview-changes-tab' => '改動', - 'wikieditor-preview-loading' => '載入緊…', - 'wikieditor-previewDialog-tab' => '預覽', - 'wikieditor-previewDialog-loading' => '載入緊…', - 'wikieditor-publish-preference' => '啟用一步還一步嘅發佈功能', - 'wikieditor-publish-button-publish' => '發佈', - 'wikieditor-publish-button-cancel' => '取消', - 'wikieditor-publish-dialog-title' => '發佈去{{SITENAME}}', - 'wikieditor-publish-dialog-summary' => '摘要 (簡單講下你改左咩)', - 'wikieditor-publish-dialog-minor' => '小編輯', - 'wikieditor-publish-dialog-watch' => '睇實呢一頁', - 'wikieditor-publish-dialog-publish' => '發佈', - 'wikieditor-publish-dialog-goback' => '番去', - 'wikieditor-template-editor-preference' => '啟用模板form-based編輯功能', - 'wikieditor-template-editor-dialog-title' => '改模板', - 'wikieditor-template-editor-dialog-submit' => '更新', - 'wikieditor-template-editor-dialog-cancel' => '取消', - 'wikieditor-templates-preference' => '啟用可隱藏模板', - 'wikieditor-toc-preference' => '啟用內客嘅導航表格', - 'wikieditor-toc-show' => '顯示內容', - 'wikieditor-toc-hide' => '收埋內容', - 'wikieditor-toolbar' => '編輯工具列', - 'wikieditor-toolbar-desc' => '加強可用性嘅編輯版工具', - 'wikieditor-toolbar-preference' => '開着加強編輯工具列', - 'wikieditor-toolbar-dialogs-preference' => '啟用信息框去提供插入連結同表格等嘅幫助', - 'wikieditor-toolbar-loading' => '載入緊...', - 'wikieditor-toolbar-tool-bold' => '粗體', - 'wikieditor-toolbar-tool-bold-example' => '粗體字', - 'wikieditor-toolbar-tool-italic' => '斜體', - 'wikieditor-toolbar-tool-italic-example' => '斜體字', - 'wikieditor-toolbar-tool-ilink' => '內連', - 'wikieditor-toolbar-tool-ilink-example' => '拎題', - 'wikieditor-toolbar-tool-xlink' => '外連(記住 http:// 字頭)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com 連結標題', - 'wikieditor-toolbar-tool-link' => '連結', - 'wikieditor-toolbar-tool-link-title' => '插入連結', - 'wikieditor-toolbar-tool-link-int' => '去一個維基頁面', - 'wikieditor-toolbar-tool-link-int-target' => '目標頁面或者URL:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => '頁面標題或者URL', - 'wikieditor-toolbar-tool-link-int-text' => '要顯示嘅文字:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => '要顯示嘅文字', - 'wikieditor-toolbar-tool-link-ext' => '連出去', - 'wikieditor-toolbar-tool-link-ext-target' => '連結URL:', - 'wikieditor-toolbar-tool-link-ext-text' => '連結文字:', - 'wikieditor-toolbar-tool-link-insert' => '插入連結', - 'wikieditor-toolbar-tool-link-cancel' => '取消', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => '頁面存在', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => '頁唔存在', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => '唔正確嘅標題', - 'wikieditor-toolbar-tool-link-int-target-status-external' => '外部連結', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => '檢查果版係唔係到...', - 'wikieditor-toolbar-tool-link-int-invalid' => '你打嘅標題係錯嘅', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => '條URL應該係連去其他Wiki頁面嘅,你打唔打算做一個內部連結?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => '內部連結', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => '外部連結', - 'wikieditor-toolbar-tool-link-empty' => '你係連去邊個格到唔記得打野。', - 'wikieditor-toolbar-tool-file' => '結合標題', - 'wikieditor-toolbar-tool-file-example' => 'Example.jpg', - 'wikieditor-toolbar-tool-reference' => '參考', - 'wikieditor-toolbar-tool-reference-example' => '響呢度插入底文字', - 'wikieditor-toolbar-tool-reference-cancel' => '取消', - 'wikieditor-toolbar-tool-reference-title' => '插入註解', - 'wikieditor-toolbar-tool-reference-insert' => '插入', - 'wikieditor-toolbar-tool-reference-text' => '參考文字', - 'wikieditor-toolbar-tool-signature' => '簽名加時間印', - 'wikieditor-toolbar-section-advanced' => '進階', - 'wikieditor-toolbar-tool-heading' => '標題', - 'wikieditor-toolbar-tool-heading-1' => '1級', - 'wikieditor-toolbar-tool-heading-2' => '2級', - 'wikieditor-toolbar-tool-heading-3' => '3級', - 'wikieditor-toolbar-tool-heading-4' => '4級', - 'wikieditor-toolbar-tool-heading-5' => '5級', - 'wikieditor-toolbar-tool-heading-example' => '標題字', - 'wikieditor-toolbar-group-format' => '一覽', - 'wikieditor-toolbar-tool-ulist' => '點列一覽', - 'wikieditor-toolbar-tool-ulist-example' => '點列一覽項目', - 'wikieditor-toolbar-tool-olist' => '數字一覽', - 'wikieditor-toolbar-tool-olist-example' => '數字一覽項目', - 'wikieditor-toolbar-tool-indent' => '首行縮排', - 'wikieditor-toolbar-tool-indent-example' => '首行縮排嘅行', - 'wikieditor-toolbar-tool-nowiki' => '唔理 wiki 格式', - 'wikieditor-toolbar-tool-nowiki-example' => '喺呢度插入非格式文字', - 'wikieditor-toolbar-tool-redirect' => '重定向', - 'wikieditor-toolbar-tool-redirect-example' => '目標頁面名', - 'wikieditor-toolbar-tool-big' => '大', - 'wikieditor-toolbar-tool-big-example' => '大字', - 'wikieditor-toolbar-tool-small' => '細', - 'wikieditor-toolbar-tool-small-example' => '細字', - 'wikieditor-toolbar-tool-superscript' => '上標', - 'wikieditor-toolbar-tool-superscript-example' => '上標字', - 'wikieditor-toolbar-tool-subscript' => '下標', - 'wikieditor-toolbar-tool-subscript-example' => '下標字', - 'wikieditor-toolbar-group-insert' => '插入', - 'wikieditor-toolbar-tool-gallery' => '畫廊', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|標題1 -$1:Example.jpg|標題2', - 'wikieditor-toolbar-tool-newline' => '新行', - 'wikieditor-toolbar-tool-table' => '表', - 'wikieditor-toolbar-tool-table-example-old' => '- -! 表頭 1 -! 表頭 2 -! 表頭 3 -|- -| 行 1, 格 1 -| 行 1, 格 2 -| 行 1, 格 3 -|- -| 行 2, 格 1 -| 行 2, 格 2 -| 行 2, 格 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => '- -! 表頭 1 -! 表頭 2 -! 表頭 3 -|- -| 行 1, 格 1 -| 行 1, 格 2 -| 行 1, 格 3 -|- -| 行 2, 格 1 -| 行 2, 格 2 -| 行 2, 格 3', - 'wikieditor-toolbar-tool-table-example-header' => '標題', - 'wikieditor-toolbar-tool-table-title' => '插入表格', - 'wikieditor-toolbar-tool-table-dimensions-rows' => '列', - 'wikieditor-toolbar-tool-table-dimensions-columns' => '行', - 'wikieditor-toolbar-tool-table-dimensions-header' => '新增標題行', - 'wikieditor-toolbar-tool-table-wikitable' => '連埋外框同格式', - 'wikieditor-toolbar-tool-table-sortable' => '整一個可以排序嘅表格', - 'wikieditor-toolbar-tool-table-example' => '- -! 表頭 1 -! 表頭 2 -! 表頭 3 -|- -| 行 1, 格 1 -| 行 1, 格 2 -| 行 1, 格 3 -|- -| 行 2, 格 1 -| 行 2, 格 2 -| 行 2, 格 3', - 'wikieditor-toolbar-tool-table-preview' => '預覽', - 'wikieditor-toolbar-tool-table-insert' => '插入', - 'wikieditor-toolbar-tool-table-cancel' => '取消', - 'wikieditor-toolbar-tool-table-toomany' => '插入一個多個$1格嘅表格用呢個信息框係唔可能嘅', - 'wikieditor-toolbar-tool-table-invalidnumber' => '你係行或者列輸入左一個唔正確嘅數字', - 'wikieditor-toolbar-tool-table-zero' => '你唔可以插入一個有0行或者列嘅表格', - 'wikieditor-toolbar-tool-replace' => '搜索同重新放位', - 'wikieditor-toolbar-tool-replace-title' => '搜索同重新放位', - 'wikieditor-toolbar-tool-replace-search' => '搵:', - 'wikieditor-toolbar-tool-replace-replace' => '放D咩?放:', - 'wikieditor-toolbar-tool-replace-case' => '合乎案件', - 'wikieditor-toolbar-tool-replace-regex' => '搜索文字做一個基本運算', - 'wikieditor-toolbar-tool-replace-button-findnext' => '下一個', - 'wikieditor-toolbar-tool-replace-button-replaceall' => '取代全部', - 'wikieditor-toolbar-tool-replace-close' => '關閉', - 'wikieditor-toolbar-tool-replace-nomatch' => '你嘅搜尋唔配合任何野。', - 'wikieditor-toolbar-tool-replace-success' => '已取代$1個。', - 'wikieditor-toolbar-tool-replace-emptysearch' => '你無打要搵啲咩。', - 'wikieditor-toolbar-tool-replace-invalidregex' => '你打入嘅運算係錯嘅:$1', - 'wikieditor-toolbar-section-characters' => '特別字元', - 'wikieditor-toolbar-characters-page-latin' => '拉丁文', - 'wikieditor-toolbar-characters-page-latinextended' => 'Latin擴展左', - 'wikieditor-toolbar-characters-page-ipa' => 'IPA', - 'wikieditor-toolbar-characters-page-symbols' => '符號', - 'wikieditor-toolbar-characters-page-greek' => '希臘文', - 'wikieditor-toolbar-characters-page-cyrillic' => '西里爾文', - 'wikieditor-toolbar-characters-page-arabic' => '阿拉伯文', - 'wikieditor-toolbar-characters-page-hebrew' => '希伯來文', - 'wikieditor-toolbar-characters-page-bangla' => 'Bangla -Bangla', - 'wikieditor-toolbar-characters-page-telugu' => 'Telugu', - 'wikieditor-toolbar-characters-page-sinhala' => 'Sinhala', - 'wikieditor-toolbar-characters-page-gujarati' => 'Gujarati', - 'wikieditor-toolbar-section-help' => '幫手', - 'wikieditor-toolbar-help-heading-description' => '描述', - 'wikieditor-toolbar-help-heading-syntax' => '你輸入啲乜', - 'wikieditor-toolbar-help-heading-result' => '你拎到啲乜', - 'wikieditor-toolbar-help-page-format' => '格式', - 'wikieditor-toolbar-help-page-link' => '連結', - 'wikieditor-toolbar-help-page-heading' => '標題', - 'wikieditor-toolbar-help-page-list' => '一覽', - 'wikieditor-toolbar-help-page-file' => '檔案', - 'wikieditor-toolbar-help-page-reference' => '參考', - 'wikieditor-toolbar-help-page-discussion' => '討論', - 'wikieditor-toolbar-help-content-italic-description' => '斜體', - 'wikieditor-toolbar-help-content-italic-syntax' => "''斜字''", - 'wikieditor-toolbar-help-content-italic-result' => '斜字', - 'wikieditor-toolbar-help-content-bold-description' => '粗體', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''粗字'''", - 'wikieditor-toolbar-help-content-bold-result' => '粗字', - 'wikieditor-toolbar-help-content-bolditalic-description' => '粗斜體', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''粗斜字'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => '粗斜字', - 'wikieditor-toolbar-help-content-ilink-description' => '內連', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[頁題|連結標籤]]
    [[頁題]]', - 'wikieditor-toolbar-help-content-ilink-result' => "連結標籤
    頁題", - 'wikieditor-toolbar-help-content-xlink-description' => '外連', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org 連結標籤]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "連結標籤
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => '第2級標題', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== 標題字 ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    標題字

    ', - 'wikieditor-toolbar-help-content-heading3-description' => '第3級標題', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== 標題字 ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    標題字

    ', - 'wikieditor-toolbar-help-content-heading4-description' => '第4級標題', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== 標題字 ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    標題字

    ', - 'wikieditor-toolbar-help-content-heading5-description' => '第5級標題', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== 標題字 =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    標題字
    ', - 'wikieditor-toolbar-help-content-ulist-description' => '點列一覽', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* 一覽項目
    * 一覽項目', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • 一覽項目
    • 一覽項目
    ', - 'wikieditor-toolbar-help-content-olist-description' => '數字一覽', - 'wikieditor-toolbar-help-content-olist-syntax' => '# 一覽項目
    # 一覽項目', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. 一覽項目
    2. 一覽項目
    ', - 'wikieditor-toolbar-help-content-file-description' => '結合檔', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|標題字]]', - 'wikieditor-toolbar-help-content-file-result' => "
    標題字
    ", - 'wikieditor-toolbar-help-content-reference-description' => '參考', - 'wikieditor-toolbar-help-content-reference-syntax' => '頁字。<ref name="test">[http://www.example.org 連字],附加字。</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "頁字。[1]", - 'wikieditor-toolbar-help-content-rereference-description' => '同參考附加用途', - 'wikieditor-toolbar-help-content-rereference-result' => "頁字。[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => '顯示喜好', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ 拎字,附加字。
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => '簽名加埋時間印', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "用戶名 (討論) 15:54, 10 June 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => '簽名', - 'wikieditor-toolbar-help-content-signature-result' => "用戶名 (討論)", - 'wikieditor-toolbar-help-content-indent-description' => '縮排', - 'wikieditor-toolbar-help-content-indent-syntax' => '標準字
    :縮排字
    ::縮排字', - 'wikieditor-toolbar-help-content-indent-result' => '標準字
    縮排字
    縮排字
    ', -); - -/** Simplified Chinese (中文(简体)‎) - * @author Anakmalaysia - * @author Bencmq - * @author Fantasticfears - * @author Gaoxuewei - * @author Hydra - * @author Liangent - * @author Onecountry - * @author PhiLiP - * @author Shirayuki - * @author Shizhao - * @author Simon Shek - * @author Xiaomingyan - */ -$messages['zh-hans'] = array( - 'wikieditor' => '高级维基文本编辑界面', - 'wikieditor-desc' => '提供可扩充的维基文本编辑界面及功能组件', - 'wikieditor-wikitext-tab' => '维基文本', - 'wikieditor-loading' => '正在载入', - 'wikieditor-preview-preference' => '启用双列对比预览', - 'wikieditor-preview-tab' => '预览', - 'wikieditor-preview-changes-tab' => '更改', - 'wikieditor-preview-loading' => '正在载入...', - 'wikieditor-previewDialog-preference' => '启用预览对话框的', - 'wikieditor-previewDialog-tab' => '预览', - 'wikieditor-previewDialog-loading' => '正在载入...', - 'wikieditor-publish-preference' => '启用逐步发表功能', - 'wikieditor-publish-button-publish' => '发表', - 'wikieditor-publish-button-cancel' => '取消', - 'wikieditor-publish-dialog-title' => '发表到{{SITENAME}}', - 'wikieditor-publish-dialog-summary' => '编辑摘要(简要描述您作出的编辑):', - 'wikieditor-publish-dialog-minor' => '小修改', - 'wikieditor-publish-dialog-watch' => '监视本页', - 'wikieditor-publish-dialog-publish' => '发表', - 'wikieditor-publish-dialog-goback' => '后退', - 'wikieditor-template-editor-preference' => '启用wiki模板的表单式编辑', - 'wikieditor-template-editor-dialog-title' => '编辑模板', - 'wikieditor-template-editor-dialog-submit' => '更新', - 'wikieditor-template-editor-dialog-cancel' => '取消', - 'wikieditor-templates-preference' => '启用折叠模板功能', - 'wikieditor-toc-preference' => '启用导航目录', - 'wikieditor-toc-show' => '显示内容', - 'wikieditor-toc-hide' => '隐藏内容', - 'wikieditor-toolbar' => '编辑工具栏', - 'wikieditor-toolbar-desc' => '具有增强可用性的页面编辑工具', - 'wikieditor-toolbar-preference' => '启用增强编辑工具栏', - 'wikieditor-toolbar-dialogs-preference' => '启用对话框插入链接、表格等', - 'wikieditor-toolbar-hidesig' => '在主名字空间中隐藏签名按钮', - 'wikieditor-toolbar-loading' => '正在载入', - 'wikieditor-toolbar-tool-bold' => '粗体', - 'wikieditor-toolbar-tool-bold-example' => '粗体文字', - 'wikieditor-toolbar-tool-italic' => '斜体', - 'wikieditor-toolbar-tool-italic-example' => '斜体文字', - 'wikieditor-toolbar-tool-ilink' => '内部链接', - 'wikieditor-toolbar-tool-ilink-example' => '链接标题', - 'wikieditor-toolbar-tool-xlink' => '外部链接(注意加前缀http://)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.范例.com(在这里输入网址) 链接文字', - 'wikieditor-toolbar-tool-link' => '链接', - 'wikieditor-toolbar-tool-link-title' => '插入链接', - 'wikieditor-toolbar-tool-link-int' => '链往wiki页面', - 'wikieditor-toolbar-tool-link-int-target' => '目标页面或网址:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => '页面标题或URL', - 'wikieditor-toolbar-tool-link-int-text' => '显示文字:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => '显示文字', - 'wikieditor-toolbar-tool-link-ext' => '链往外部网页', - 'wikieditor-toolbar-tool-link-ext-target' => '链接网址:', - 'wikieditor-toolbar-tool-link-ext-text' => '链接文字:', - 'wikieditor-toolbar-tool-link-insert' => '插入链接', - 'wikieditor-toolbar-tool-link-cancel' => '取消', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => '页面存在', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => '该页面不存在', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => '无效标题', - 'wikieditor-toolbar-tool-link-int-target-status-external' => '外部链接', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => '检查页面是否存在……', - 'wikieditor-toolbar-tool-link-int-invalid' => '您指定的标题无效。', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => '您输入的网址似乎指向另一个wiki页面,是否希望将其改为内部链接?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => '内部链接', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => '外部链接', - 'wikieditor-toolbar-tool-link-empty' => '您没有输入链接内容。', - 'wikieditor-toolbar-tool-file' => '嵌入文件', - 'wikieditor-toolbar-tool-file-example' => '范例.jpg(在这里输入文件名)', - 'wikieditor-toolbar-tool-file-title' => '插入文件', - 'wikieditor-toolbar-file-target' => '文件名:', - 'wikieditor-toolbar-file-caption' => '标题:', - 'wikieditor-toolbar-file-size' => '大小:', - 'wikieditor-toolbar-file-float' => '对齐:', - 'wikieditor-toolbar-file-default' => '(默认)', - 'wikieditor-toolbar-file-format' => '格式:', - 'wikieditor-toolbar-tool-file-insert' => '插入', - 'wikieditor-toolbar-tool-file-cancel' => '取消', - 'wikieditor-toolbar-tool-reference' => '参考', - 'wikieditor-toolbar-tool-reference-example' => '在此处插入注释文字', - 'wikieditor-toolbar-tool-reference-cancel' => '取消', - 'wikieditor-toolbar-tool-reference-title' => '插入注释内容', - 'wikieditor-toolbar-tool-reference-insert' => '插入', - 'wikieditor-toolbar-tool-reference-text' => '注释文字', - 'wikieditor-toolbar-tool-signature' => '签名和时间戳', - 'wikieditor-toolbar-section-advanced' => '高级', - 'wikieditor-toolbar-tool-heading' => '标题', - 'wikieditor-toolbar-tool-heading-1' => '1级', - 'wikieditor-toolbar-tool-heading-2' => '2级', - 'wikieditor-toolbar-tool-heading-3' => '3级', - 'wikieditor-toolbar-tool-heading-4' => '4级', - 'wikieditor-toolbar-tool-heading-5' => '5级', - 'wikieditor-toolbar-tool-heading-example' => '标题文字', - 'wikieditor-toolbar-group-format' => '格式', - 'wikieditor-toolbar-tool-ulist' => '无序列表', - 'wikieditor-toolbar-tool-ulist-example' => '无序列表项', - 'wikieditor-toolbar-tool-olist' => '有序列表', - 'wikieditor-toolbar-tool-olist-example' => '有序列表项', - 'wikieditor-toolbar-tool-indent' => '缩进', - 'wikieditor-toolbar-tool-indent-example' => '已缩进行', - 'wikieditor-toolbar-tool-nowiki' => '非维基格式文字', - 'wikieditor-toolbar-tool-nowiki-example' => '在此处插入非维基格式文字', - 'wikieditor-toolbar-tool-redirect' => '重定向', - 'wikieditor-toolbar-tool-redirect-example' => '目标页名称', - 'wikieditor-toolbar-tool-big' => '大号', - 'wikieditor-toolbar-tool-big-example' => '大号文字', - 'wikieditor-toolbar-tool-small' => '小号', - 'wikieditor-toolbar-tool-small-example' => '小号文字', - 'wikieditor-toolbar-tool-superscript' => '上标', - 'wikieditor-toolbar-tool-superscript-example' => '上标文字', - 'wikieditor-toolbar-tool-subscript' => '下标', - 'wikieditor-toolbar-tool-subscript-example' => '下标文字', - 'wikieditor-toolbar-group-insert' => '插入', - 'wikieditor-toolbar-tool-gallery' => '图库', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|标题1 -$1:Example.jpg|标题2', - 'wikieditor-toolbar-tool-newline' => '换行', - 'wikieditor-toolbar-tool-table' => '表格', - 'wikieditor-toolbar-tool-table-example-old' => '- -! 标题1 -! 标题2 -! 标题3 -|- -| 第1行第1格 -| 第1行第2格 -| 第1行第3格 -|- -| 第2行第1格 -| 第2行第2格 -| 第2行第3格', - 'wikieditor-toolbar-tool-table-example-cell-text' => '单元格文字', - 'wikieditor-toolbar-tool-table-example-header' => '标题文字', - 'wikieditor-toolbar-tool-table-title' => '插入表格', - 'wikieditor-toolbar-tool-table-dimensions-rows' => '行', - 'wikieditor-toolbar-tool-table-dimensions-columns' => '列', - 'wikieditor-toolbar-tool-table-dimensions-header' => '添加标题行', - 'wikieditor-toolbar-tool-table-wikitable' => '显示边框', - 'wikieditor-toolbar-tool-table-sortable' => '使表格内容可排序', - 'wikieditor-toolbar-tool-table-example' => '示例', - 'wikieditor-toolbar-tool-table-preview' => '预览', - 'wikieditor-toolbar-tool-table-insert' => '插入', - 'wikieditor-toolbar-tool-table-cancel' => '取消', - 'wikieditor-toolbar-tool-table-toomany' => '在这个对话框中无法插入超过$1个单元格的表格。', - 'wikieditor-toolbar-tool-table-invalidnumber' => '您输入的行数或列数无效。', - 'wikieditor-toolbar-tool-table-zero' => '您不能插入一个零行或零列的表格。', - 'wikieditor-toolbar-tool-replace' => '查找和替换', - 'wikieditor-toolbar-tool-replace-title' => '查找和替换', - 'wikieditor-toolbar-tool-replace-search' => '查找:', - 'wikieditor-toolbar-tool-replace-replace' => '替换为:', - 'wikieditor-toolbar-tool-replace-case' => '区分大小写', - 'wikieditor-toolbar-tool-replace-regex' => '使用正则表达式', - 'wikieditor-toolbar-tool-replace-button-findnext' => '查找下一个', - 'wikieditor-toolbar-tool-replace-button-replace' => '替换', - 'wikieditor-toolbar-tool-replace-button-replaceall' => '替换所有', - 'wikieditor-toolbar-tool-replace-close' => '关闭', - 'wikieditor-toolbar-tool-replace-nomatch' => '没有找到任何匹配项。', - 'wikieditor-toolbar-tool-replace-success' => '完成$1次替换。', - 'wikieditor-toolbar-tool-replace-emptysearch' => '您没有输入查找内容。', - 'wikieditor-toolbar-tool-replace-invalidregex' => '您输入的正则表达式无效:$1', - 'wikieditor-toolbar-section-characters' => '特殊文字', - 'wikieditor-toolbar-characters-page-latin' => '拉丁字母', - 'wikieditor-toolbar-characters-page-latinextended' => '扩展拉丁字母', - 'wikieditor-toolbar-characters-page-ipa' => '国际音标', - 'wikieditor-toolbar-characters-page-symbols' => '符号', - 'wikieditor-toolbar-characters-page-greek' => '希腊字母', - 'wikieditor-toolbar-characters-page-cyrillic' => '西里尔字母', - 'wikieditor-toolbar-characters-page-arabic' => '阿拉伯字母', - 'wikieditor-toolbar-characters-page-arabicextended' => '扩展阿拉伯字母', - 'wikieditor-toolbar-characters-page-persian' => '波斯语', - 'wikieditor-toolbar-characters-page-hebrew' => '希伯来字母', - 'wikieditor-toolbar-characters-page-bangla' => '孟加拉', - 'wikieditor-toolbar-characters-page-tamil' => '泰米尔', - 'wikieditor-toolbar-characters-page-telugu' => '泰卢固字母', - 'wikieditor-toolbar-characters-page-sinhala' => '僧伽罗字母', - 'wikieditor-toolbar-characters-page-gujarati' => '古吉拉特字母', - 'wikieditor-toolbar-characters-page-devanagari' => '梵文', - 'wikieditor-toolbar-characters-page-thai' => '泰语', - 'wikieditor-toolbar-characters-page-lao' => '老挝语', - 'wikieditor-toolbar-characters-page-khmer' => '高棉语', - 'wikieditor-toolbar-section-help' => '帮助', - 'wikieditor-toolbar-help-heading-description' => '说明', - 'wikieditor-toolbar-help-heading-syntax' => '输入内容', - 'wikieditor-toolbar-help-heading-result' => '输出结果', - 'wikieditor-toolbar-help-page-format' => '格式', - 'wikieditor-toolbar-help-page-link' => '链接', - 'wikieditor-toolbar-help-page-heading' => '标题', - 'wikieditor-toolbar-help-page-list' => '列表', - 'wikieditor-toolbar-help-page-file' => '文件', - 'wikieditor-toolbar-help-page-reference' => '参考', - 'wikieditor-toolbar-help-page-discussion' => '讨论', - 'wikieditor-toolbar-help-content-italic-description' => '斜体', - 'wikieditor-toolbar-help-content-italic-syntax' => "''斜体文字''", - 'wikieditor-toolbar-help-content-italic-result' => '斜体文字', - 'wikieditor-toolbar-help-content-bold-description' => '粗体', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''粗体文字'''", - 'wikieditor-toolbar-help-content-bold-result' => '粗体文字', - 'wikieditor-toolbar-help-content-bolditalic-description' => '斜粗体', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''斜粗体文字'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => '粗斜体文本', - 'wikieditor-toolbar-help-content-ilink-description' => '内部链接', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[页面标题|链接标签]]
    [[页面标题]]', - 'wikieditor-toolbar-help-content-ilink-result' => "链接标签
    页面标题", - 'wikieditor-toolbar-help-content-xlink-description' => '外部链接', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org 链接标签]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "链接标签
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => '2级标题', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== 标题文本 ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    标题文本

    ', - 'wikieditor-toolbar-help-content-heading3-description' => '3级标题', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== 标题文本 ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    标题文本

    ', - 'wikieditor-toolbar-help-content-heading4-description' => '4级标题', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== 标题文本 ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    标题文本

    ', - 'wikieditor-toolbar-help-content-heading5-description' => '5级标题', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== 标题文本 =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    标题文本
    ', - 'wikieditor-toolbar-help-content-ulist-description' => '无序列表', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* 列表项
    * 列表项', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • 列表项
    • 列表项
    ', - 'wikieditor-toolbar-help-content-olist-description' => '有序列表', - 'wikieditor-toolbar-help-content-olist-syntax' => '# 列表项
    # 列表项', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. 列表项
    2. 列表项
    ', - 'wikieditor-toolbar-help-content-file-description' => '嵌入文件', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|标题文本]]', - 'wikieditor-toolbar-help-content-file-result' => "
    标题文本
    ", - 'wikieditor-toolbar-help-content-reference-description' => '参考', - 'wikieditor-toolbar-help-content-reference-syntax' => '页面文本。<ref name="测试">[http://www.example.org 链接文本],附加文本。</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "页面文本。[1]", - 'wikieditor-toolbar-help-content-rereference-description' => '复用注释', - 'wikieditor-toolbar-help-content-rereference-syntax' => '<ref name="test" />', - 'wikieditor-toolbar-help-content-rereference-result' => "页面文本。[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => '显示参考文献', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ 链接文本,附加文本。
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => '带时间戳的签名', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "用户名讨论) 2009年6月10日 (三) 15:54 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => '签名', - 'wikieditor-toolbar-help-content-signature-result' => "用户名讨论)", - 'wikieditor-toolbar-help-content-indent-description' => '缩进', - 'wikieditor-toolbar-help-content-indent-syntax' => '标准文本
    :缩进文本
    ::缩进文本', - 'wikieditor-toolbar-help-content-indent-result' => '标准文本
    缩进文本
    缩进文本
    ', -); - -/** Traditional Chinese (中文(繁體)‎) - * @author Anakmalaysia - * @author Frankou - * @author Gaoxuewei - * @author Horacewai2 - * @author KaiesTse - * @author Liangent - * @author Mark85296341 - * @author Oapbtommy - * @author PhiLiP - * @author Simon Shek - * @author Waihorace - * @author Wong128hk - * @author Wrightbus - */ -$messages['zh-hant'] = array( - 'wikieditor' => '進階維基文字編輯介面', - 'wikieditor-desc' => '提供可擴充的維基文字編輯介面及功能組件', - 'wikieditor-wikitext-tab' => '維基文字', - 'wikieditor-loading' => '載入中', - 'wikieditor-preview-preference' => '啟用雙列對比預覽', - 'wikieditor-preview-tab' => '預覽', - 'wikieditor-preview-changes-tab' => '修訂', - 'wikieditor-preview-loading' => '載入中...', - 'wikieditor-previewDialog-preference' => '啟用預覽對話框', - 'wikieditor-previewDialog-tab' => '預覽', - 'wikieditor-previewDialog-loading' => '載入中...', - 'wikieditor-publish-preference' => '啟用逐步發表功能', - 'wikieditor-publish-button-publish' => '發表', - 'wikieditor-publish-button-cancel' => '取消', - 'wikieditor-publish-dialog-title' => '發表到 {{SITENAME}}', - 'wikieditor-publish-dialog-summary' => '編輯摘要(簡要描述您做出的編輯):', - 'wikieditor-publish-dialog-minor' => '小修改', - 'wikieditor-publish-dialog-watch' => '監視本頁', - 'wikieditor-publish-dialog-publish' => '發表', - 'wikieditor-publish-dialog-goback' => '返回', - 'wikieditor-template-editor-preference' => '啟用 wiki 模板的表單式編輯', - 'wikieditor-template-editor-dialog-title' => '編輯模板', - 'wikieditor-template-editor-dialog-submit' => '更新', - 'wikieditor-template-editor-dialog-cancel' => '取消', - 'wikieditor-templates-preference' => '使模板倒塌', - 'wikieditor-toc-preference' => '啟用可導覽目錄', - 'wikieditor-toc-show' => '顯示內容', - 'wikieditor-toc-hide' => '隱藏內容', - 'wikieditor-toolbar' => '編輯工具列', - 'wikieditor-toolbar-desc' => '可用性更佳之編輯工具', - 'wikieditor-toolbar-preference' => '啟用加強編輯工具列', - 'wikieditor-toolbar-dialogs-preference' => '使用對話框插入連結、表格等', - 'wikieditor-toolbar-hidesig' => '從主名字空間的頁面中隱藏簽名按鈕', - 'wikieditor-toolbar-loading' => '載入中...', - 'wikieditor-toolbar-tool-bold' => '粗體', - 'wikieditor-toolbar-tool-bold-example' => '粗體文字', - 'wikieditor-toolbar-tool-italic' => '斜體', - 'wikieditor-toolbar-tool-italic-example' => '斜體文字', - 'wikieditor-toolbar-tool-ilink' => '內部連結', - 'wikieditor-toolbar-tool-ilink-example' => '連結標題', - 'wikieditor-toolbar-tool-xlink' => '外部連結(記住以 http:// 文字開頭)', - 'wikieditor-toolbar-tool-xlink-example' => 'http://www.example.com 連結標題', - 'wikieditor-toolbar-tool-link' => '連結', - 'wikieditor-toolbar-tool-link-title' => '插入連結', - 'wikieditor-toolbar-tool-link-int' => '連往 wiki 頁面', - 'wikieditor-toolbar-tool-link-int-target' => '目標頁面或網址:', - 'wikieditor-toolbar-tool-link-int-target-tooltip' => '頁面標題或 URL', - 'wikieditor-toolbar-tool-link-int-text' => '顯示文字:', - 'wikieditor-toolbar-tool-link-int-text-tooltip' => '輸入須展示文字', - 'wikieditor-toolbar-tool-link-ext' => '連往外部網頁', - 'wikieditor-toolbar-tool-link-ext-target' => '連結網址:', - 'wikieditor-toolbar-tool-link-ext-text' => '連結描述文字:', - 'wikieditor-toolbar-tool-link-insert' => '插入連結', - 'wikieditor-toolbar-tool-link-cancel' => '取消', - 'wikieditor-toolbar-tool-link-int-target-status-exists' => '頁面已存在', - 'wikieditor-toolbar-tool-link-int-target-status-notexists' => '頁面未存在', - 'wikieditor-toolbar-tool-link-int-target-status-invalid' => '無效標題', - 'wikieditor-toolbar-tool-link-int-target-status-external' => '外部連結', - 'wikieditor-toolbar-tool-link-int-target-status-loading' => '正檢查頁面是否存在……', - 'wikieditor-toolbar-tool-link-int-invalid' => '所指定標題無效。', - 'wikieditor-toolbar-tool-link-lookslikeinternal' => '閣下所輸入 URL 似乎指向另一個 wiki 頁面,請問須否轉為內部連結?', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int' => '內部連結', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' => '外部連結', - 'wikieditor-toolbar-tool-link-empty' => '閣下並未輸入連結。', - 'wikieditor-toolbar-tool-file' => '結合標題', - 'wikieditor-toolbar-tool-file-example' => 'Example.jpg', - 'wikieditor-toolbar-tool-file-title' => '插入檔案', - 'wikieditor-toolbar-file-target' => '檔案名稱:', - 'wikieditor-toolbar-file-caption' => '說明:', - 'wikieditor-toolbar-file-size' => '大小:', - 'wikieditor-toolbar-file-float' => '對齊:', - 'wikieditor-toolbar-file-default' => '(預設)', - 'wikieditor-toolbar-file-format' => '格式:', - 'wikieditor-toolbar-tool-file-insert' => '插入', - 'wikieditor-toolbar-tool-file-cancel' => '取消', - 'wikieditor-toolbar-tool-reference' => '參考', - 'wikieditor-toolbar-tool-reference-example' => '插入腳註文字於此', - 'wikieditor-toolbar-tool-reference-cancel' => '取消', - 'wikieditor-toolbar-tool-reference-title' => '插入參考來源', - 'wikieditor-toolbar-tool-reference-insert' => '插入', - 'wikieditor-toolbar-tool-reference-text' => '參考文本', - 'wikieditor-toolbar-tool-signature' => '簽名加時間', - 'wikieditor-toolbar-section-advanced' => '進階', - 'wikieditor-toolbar-tool-heading' => '標題', - 'wikieditor-toolbar-tool-heading-1' => '1級', - 'wikieditor-toolbar-tool-heading-2' => '2級', - 'wikieditor-toolbar-tool-heading-3' => '3級', - 'wikieditor-toolbar-tool-heading-4' => '4級', - 'wikieditor-toolbar-tool-heading-5' => '5級', - 'wikieditor-toolbar-tool-heading-example' => '標題文字', - 'wikieditor-toolbar-group-format' => '格式', - 'wikieditor-toolbar-tool-ulist' => '點列', - 'wikieditor-toolbar-tool-ulist-example' => '點列項目', - 'wikieditor-toolbar-tool-olist' => '序列', - 'wikieditor-toolbar-tool-olist-example' => '序列項目', - 'wikieditor-toolbar-tool-indent' => '縮排', - 'wikieditor-toolbar-tool-indent-example' => '已增縮排', - 'wikieditor-toolbar-tool-nowiki' => '入去格式文字', - 'wikieditor-toolbar-tool-nowiki-example' => '插入去格式文字於此', - 'wikieditor-toolbar-tool-redirect' => '重定向', - 'wikieditor-toolbar-tool-redirect-example' => '目標頁名稱', - 'wikieditor-toolbar-tool-big' => '大', - 'wikieditor-toolbar-tool-big-example' => '大', - 'wikieditor-toolbar-tool-small' => '小', - 'wikieditor-toolbar-tool-small-example' => '小', - 'wikieditor-toolbar-tool-superscript' => '上標', - 'wikieditor-toolbar-tool-superscript-example' => '上標文字', - 'wikieditor-toolbar-tool-subscript' => '下標', - 'wikieditor-toolbar-tool-subscript-example' => '下標文字', - 'wikieditor-toolbar-group-insert' => '插入', - 'wikieditor-toolbar-tool-gallery' => '畫廊', - 'wikieditor-toolbar-tool-gallery-example' => '$1:Example.jpg|標題1 -$1:Example.jpg|標題2', - 'wikieditor-toolbar-tool-newline' => '換行', - 'wikieditor-toolbar-tool-table' => '表格', - 'wikieditor-toolbar-tool-table-example-old' => '- -! 表頭 1 -! 表頭 2 -! 表頭 3 -|- -| 行 1, 格 1 -| 行 1, 格 2 -| 行 1, 格 3 -|- -| 行 2, 格 1 -| 行 2, 格 2 -| 行 2, 格 3', - 'wikieditor-toolbar-tool-table-example-cell-text' => '- -! 表頭 1 -! 表頭 2 -! 表頭 3 -|- -| 行 1, 格 1 -| 行 1, 格 2 -| 行 1, 格 3 -|- -| 行 2, 格 1 -| 行 2, 格 2 -| 行 2, 格 3', - 'wikieditor-toolbar-tool-table-example-header' => '標題', - 'wikieditor-toolbar-tool-table-title' => '插入表格', - 'wikieditor-toolbar-tool-table-dimensions-rows' => '行', - 'wikieditor-toolbar-tool-table-dimensions-columns' => '列', - 'wikieditor-toolbar-tool-table-dimensions-header' => '新增標題行', - 'wikieditor-toolbar-tool-table-wikitable' => '設定邊框格式', - 'wikieditor-toolbar-tool-table-sortable' => '使表格內容可排序', - 'wikieditor-toolbar-tool-table-example' => '- -! 表頭 1 -! 表頭 2 -! 表頭 3 -|- -| 行 1, 格 1 -| 行 1, 格 2 -| 行 1, 格 3 -|- -| 行 2, 格 1 -| 行 2, 格 2 -| 行 2, 格 3', - 'wikieditor-toolbar-tool-table-preview' => '預覽', - 'wikieditor-toolbar-tool-table-insert' => '插入', - 'wikieditor-toolbar-tool-table-cancel' => '取消', - 'wikieditor-toolbar-tool-table-toomany' => '在這個對話框中無法插入超過 $1 個單元格的表格。', - 'wikieditor-toolbar-tool-table-invalidnumber' => '您輸入的行數或列數無效。', - 'wikieditor-toolbar-tool-table-zero' => '您不能插入一個零行或零列的表格。', - 'wikieditor-toolbar-tool-replace' => '尋找和替換', - 'wikieditor-toolbar-tool-replace-title' => '尋找和替換', - 'wikieditor-toolbar-tool-replace-search' => '尋找:', - 'wikieditor-toolbar-tool-replace-replace' => '替換為:', - 'wikieditor-toolbar-tool-replace-case' => '區分大小寫', - 'wikieditor-toolbar-tool-replace-regex' => '使用正則表達式', - 'wikieditor-toolbar-tool-replace-button-findnext' => '尋找下一個', - 'wikieditor-toolbar-tool-replace-button-replace' => '替換', - 'wikieditor-toolbar-tool-replace-button-replaceall' => '替換所有', - 'wikieditor-toolbar-tool-replace-close' => '關閉', - 'wikieditor-toolbar-tool-replace-nomatch' => '沒有找到任何符合項目。', - 'wikieditor-toolbar-tool-replace-success' => '完成 $1 次替換。', - 'wikieditor-toolbar-tool-replace-emptysearch' => '您沒有輸入尋找內容。', - 'wikieditor-toolbar-tool-replace-invalidregex' => '您輸入的正則表達式無效:$1', - 'wikieditor-toolbar-section-characters' => '特殊文字', - 'wikieditor-toolbar-characters-page-latin' => '拉丁字母', - 'wikieditor-toolbar-characters-page-latinextended' => '擴展拉丁字母', - 'wikieditor-toolbar-characters-page-ipa' => '國際音標', - 'wikieditor-toolbar-characters-page-symbols' => '符號', - 'wikieditor-toolbar-characters-page-greek' => '希臘字母', - 'wikieditor-toolbar-characters-page-cyrillic' => '西里爾字母', - 'wikieditor-toolbar-characters-page-arabic' => '阿拉伯字母', - 'wikieditor-toolbar-characters-page-arabicextended' => '擴展阿拉伯字母', - 'wikieditor-toolbar-characters-page-persian' => '波斯語', - 'wikieditor-toolbar-characters-page-hebrew' => '希伯來字母', - 'wikieditor-toolbar-characters-page-bangla' => '孟加拉', - 'wikieditor-toolbar-characters-page-tamil' => '泰米爾人', - 'wikieditor-toolbar-characters-page-telugu' => '泰盧固語', - 'wikieditor-toolbar-characters-page-sinhala' => '僧伽羅文', - 'wikieditor-toolbar-characters-page-gujarati' => '古吉拉特語', - 'wikieditor-toolbar-characters-page-devanagari' => '梵文', - 'wikieditor-toolbar-characters-page-thai' => '泰語', - 'wikieditor-toolbar-characters-page-lao' => '寮語', - 'wikieditor-toolbar-characters-page-khmer' => '高棉語', - 'wikieditor-toolbar-section-help' => '說明', - 'wikieditor-toolbar-help-heading-description' => '描述', - 'wikieditor-toolbar-help-heading-syntax' => '您輸入什麼', - 'wikieditor-toolbar-help-heading-result' => '您得到什麼', - 'wikieditor-toolbar-help-page-format' => '格式', - 'wikieditor-toolbar-help-page-link' => '連結', - 'wikieditor-toolbar-help-page-heading' => '標題', - 'wikieditor-toolbar-help-page-list' => '列表', - 'wikieditor-toolbar-help-page-file' => '檔案', - 'wikieditor-toolbar-help-page-reference' => '參考', - 'wikieditor-toolbar-help-page-discussion' => '討論', - 'wikieditor-toolbar-help-content-italic-description' => '斜體', - 'wikieditor-toolbar-help-content-italic-syntax' => "''斜體文字''", - 'wikieditor-toolbar-help-content-italic-result' => '斜體文字', - 'wikieditor-toolbar-help-content-bold-description' => '粗體', - 'wikieditor-toolbar-help-content-bold-syntax' => "'''粗體文字'''", - 'wikieditor-toolbar-help-content-bold-result' => '粗體文字', - 'wikieditor-toolbar-help-content-bolditalic-description' => '粗斜體', - 'wikieditor-toolbar-help-content-bolditalic-syntax' => "'''''粗斜體文字'''''", - 'wikieditor-toolbar-help-content-bolditalic-result' => '粗斜體文字', - 'wikieditor-toolbar-help-content-ilink-description' => '內部連結', - 'wikieditor-toolbar-help-content-ilink-syntax' => '[[頁面標題|連結標籤]]
    [[頁面標題]]', - 'wikieditor-toolbar-help-content-ilink-result' => "連結標籤
    頁面標題", - 'wikieditor-toolbar-help-content-xlink-description' => '外部連結', - 'wikieditor-toolbar-help-content-xlink-syntax' => '[http://www.example.org 連結標籤]
    [http://www.example.org]
    http://www.example.org', - 'wikieditor-toolbar-help-content-xlink-result' => "連結標籤
    [1]
    http://www.example.org", - 'wikieditor-toolbar-help-content-heading2-description' => '第2級標題', - 'wikieditor-toolbar-help-content-heading2-syntax' => '== 標題文字 ==', - 'wikieditor-toolbar-help-content-heading2-result' => '

    標題文字

    ', - 'wikieditor-toolbar-help-content-heading3-description' => '第3級標題', - 'wikieditor-toolbar-help-content-heading3-syntax' => '=== 標題文字 ===', - 'wikieditor-toolbar-help-content-heading3-result' => '

    標題文字

    ', - 'wikieditor-toolbar-help-content-heading4-description' => '第4級標題', - 'wikieditor-toolbar-help-content-heading4-syntax' => '==== 標題文字 ====', - 'wikieditor-toolbar-help-content-heading4-result' => '

    標題文字

    ', - 'wikieditor-toolbar-help-content-heading5-description' => '第5級標題', - 'wikieditor-toolbar-help-content-heading5-syntax' => '===== 標題文字 =====', - 'wikieditor-toolbar-help-content-heading5-result' => '
    標題文字
    ', - 'wikieditor-toolbar-help-content-ulist-description' => '點列列表', - 'wikieditor-toolbar-help-content-ulist-syntax' => '* 列表項目
    * 列表項目', - 'wikieditor-toolbar-help-content-ulist-result' => '
    • 列表項目
    • 列表項目
    ', - 'wikieditor-toolbar-help-content-olist-description' => '數字列表', - 'wikieditor-toolbar-help-content-olist-syntax' => '# 列表項目
    # 列表項目', - 'wikieditor-toolbar-help-content-olist-result' => '
    1. 列表項目
    2. 列表項目
    ', - 'wikieditor-toolbar-help-content-file-description' => '結合檔', - 'wikieditor-toolbar-help-content-file-syntax' => '[[$1:Example.png|thumb|標題文字]]', - 'wikieditor-toolbar-help-content-file-result' => "
    標題文字
    ", - 'wikieditor-toolbar-help-content-reference-description' => '參考', - 'wikieditor-toolbar-help-content-reference-syntax' => '頁面文字。<ref name="測試">[http://www.example.org 連結文字],附加文字。</ref>', - 'wikieditor-toolbar-help-content-reference-result' => "頁面文字。[1]", - 'wikieditor-toolbar-help-content-rereference-description' => '同參考附加用途', - 'wikieditor-toolbar-help-content-rereference-syntax' => '<ref name="測試" />', - 'wikieditor-toolbar-help-content-rereference-result' => "頁面文字。[1]", - 'wikieditor-toolbar-help-content-showreferences-description' => '顯示偏好', - 'wikieditor-toolbar-help-content-showreferences-result' => "
    1. ^ 拎文字,附加文字。
    ", - 'wikieditor-toolbar-help-content-signaturetimestamp-description' => '簽名加上時間截記', - 'wikieditor-toolbar-help-content-signaturetimestamp-result' => "用戶名討論) 15:54, 10 June 2009 (UTC)", - 'wikieditor-toolbar-help-content-signature-description' => '簽名', - 'wikieditor-toolbar-help-content-signature-result' => "用戶名討論)", - 'wikieditor-toolbar-help-content-indent-description' => '縮排', - 'wikieditor-toolbar-help-content-indent-syntax' => '標準文字
    :縮排文字
    ::縮排文字', - 'wikieditor-toolbar-help-content-indent-result' => '標準文字
    縮排文字
    縮排文字
    ', -); - -/** Zulu (isiZulu) - * @author Kuvaly - */ -$messages['zu'] = array( - 'wikieditor-toolbar-tool-table-preview' => 'Isibonakalo', -); - diff --git a/documentacion/extensions/WikiEditor/WikiEditor.php b/documentacion/extensions/WikiEditor/WikiEditor.php deleted file mode 100644 index de1d169..0000000 --- a/documentacion/extensions/WikiEditor/WikiEditor.php +++ /dev/null @@ -1,528 +0,0 @@ - - * @author Roan Kattouw - * @author Nimish Gautam - * @author Adam Miller - * @license GPL v2 or later - * @version 0.3.1 - */ - -/* Configuration */ - -// Each module may be configured individually to be globally on/off or user preference based -$wgWikiEditorFeatures = array( - - /* Textarea / i-frame compatible (OK to deploy) */ - - 'toolbar' => array( 'global' => false, 'user' => true ), - // Provides interactive tools - 'dialogs' => array( 'global' => false, 'user' => true ), - // Hide signature button from main namespace - 'hidesig' => array( 'global' => true, 'user' => false ), - - /* Textarea / i-frame compatible, but still experimental and unstable (do not deploy!) */ - - // Adds a tab for previewing in-line - 'preview' => array( 'global' => false, 'user' => true ), - // Adds a button for previewing in a dialog - 'previewDialog' => array( 'global' => false, 'user' => false ), - // Adds a button and dialog for step-by-step publishing - 'publish' => array( 'global' => false, 'user' => true ), - - /* I-frame dependent (do not deploy!) */ - - // Failry stable table of contents - 'toc' => array( 'global' => false, 'user' => true ), - // Pretty broken template collapsing/editing - 'templateEditor' => array( 'global' => false, 'user' => false ), - // Bare-bones (probably broken) template collapsing - 'templates' => array( 'global' => false, 'user' => false ), - -); - -// If set to true and the ClickTracking extension is installed, track clicks -// on the toolbar buttons -$wgWikiEditorToolbarClickTracking = false; - -/* Setup */ - -$wgExtensionCredits['other'][] = array( - 'path' => __FILE__, - 'name' => 'WikiEditor', - 'author' => array( 'Trevor Parscal', 'Roan Kattouw', 'Nimish Gautam', 'Adam Miller' ), - 'version' => '0.3.1', - 'url' => 'https://www.mediawiki.org/wiki/Extension:WikiEditor', - 'descriptionmsg' => 'wikieditor-desc', -); -$wgAutoloadClasses['WikiEditorHooks'] = dirname( __FILE__ ) . '/WikiEditor.hooks.php'; -$wgExtensionMessagesFiles['WikiEditor'] = dirname( __FILE__ ) . '/WikiEditor.i18n.php'; -$wgHooks['EditPage::showEditForm:initial'][] = 'WikiEditorHooks::editPageShowEditFormInitial'; -$wgHooks['GetPreferences'][] = 'WikiEditorHooks::getPreferences'; -$wgHooks['ResourceLoaderGetConfigVars'][] = 'WikiEditorHooks::resourceLoaderGetConfigVars'; -$wgHooks['MakeGlobalVariablesScript'][] = 'WikiEditorHooks::makeGlobalVariablesScript'; -$wgHooks['EditPageBeforeEditToolbar'][] = 'WikiEditorHooks::EditPageBeforeEditToolbar'; - -$wikiEditorTpl = array( - 'localBasePath' => dirname( __FILE__ ) . '/modules', - 'remoteExtPath' => 'WikiEditor/modules', - 'group' => 'ext.wikiEditor', -); - -$wgResourceModules += array( - /* Third-party modules */ - - 'contentCollector' => $wikiEditorTpl + array( - 'scripts' => 'contentCollector.js', - ), - - /* WikiEditor jQuery plugin Resources */ - - 'jquery.wikiEditor' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.js', - 'styles' => 'jquery.wikiEditor.css', - 'dependencies' => array( - 'jquery.client', - 'jquery.textSelection', - 'jquery.delayedBind', - ), - 'messages' => array( - 'wikieditor-wikitext-tab', - 'wikieditor-loading', - ), - ), - 'jquery.wikiEditor.iframe' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.iframe.js', - 'dependencies' => array( - 'jquery.wikiEditor', - 'contentCollector', - ), - ), - 'jquery.wikiEditor.dialogs' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.dialogs.js', - 'styles' => 'jquery.wikiEditor.dialogs.css', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.toolbar', - 'jquery.ui.dialog', - 'jquery.ui.button', - 'jquery.ui.draggable', - 'jquery.ui.resizable', - 'jquery.tabIndex', - ), - ), - 'jquery.wikiEditor.dialogs.config' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.dialogs.config.js', - 'styles' => 'jquery.wikiEditor.dialogs.config.css', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.dialogs', - 'jquery.wikiEditor.toolbar.i18n', - 'jquery.suggestions', - 'mediawiki.Title', - ), - 'messages' => array( - 'wikieditor-toolbar-tool-file-title', - 'wikieditor-toolbar-file-target', - 'wikieditor-toolbar-file-caption', - 'wikieditor-toolbar-file-size', - 'wikieditor-toolbar-file-float', - 'wikieditor-toolbar-file-default', - 'wikieditor-toolbar-file-format-none', - 'wikieditor-toolbar-file-format', - 'wikieditor-toolbar-tool-file-insert', - 'wikieditor-toolbar-tool-file-cancel', - ), - ), - 'jquery.wikiEditor.highlight' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.highlight.js', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.iframe', - ), - ), - 'jquery.wikiEditor.preview' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.preview.js', - 'styles' => 'jquery.wikiEditor.preview.css', - 'dependencies' => 'jquery.wikiEditor', - ), - 'jquery.wikiEditor.previewDialog' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.previewDialog.js', - 'styles' => 'jquery.wikiEditor.previewDialog.css', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.dialogs', - ), - ), - 'jquery.wikiEditor.publish' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.publish.js', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.dialogs', - ), - ), - 'jquery.wikiEditor.templateEditor' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.templateEditor.js', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.iframe', - 'jquery.wikiEditor.dialogs', - ), - ), - 'jquery.wikiEditor.templates' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.templates.js', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.iframe', - ), - ), - 'jquery.wikiEditor.toc' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.toc.js', - 'styles' => 'jquery.wikiEditor.toc.css', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.iframe', - 'jquery.ui.draggable', - 'jquery.ui.resizable', - 'jquery.autoEllipsis', - 'jquery.color', - ), - ), - 'jquery.wikiEditor.toolbar' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.toolbar.js', - 'styles' => 'jquery.wikiEditor.toolbar.css', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.toolbar.i18n', - ), - ), - 'jquery.wikiEditor.toolbar.config' => $wikiEditorTpl + array( - 'scripts' => 'jquery.wikiEditor.toolbar.config.js', - 'dependencies' => array( - 'jquery.wikiEditor', - 'jquery.wikiEditor.toolbar.i18n', - 'jquery.wikiEditor.toolbar', - 'jquery.cookie', - 'jquery.async', - ) - ), - 'jquery.wikiEditor.toolbar.i18n' => $wikiEditorTpl + array( - 'messages' => array( - // This is a mixed bunch that needs to be separated between dialog and toolbar messages, - // but since both the dialog and toolbar config have this as dependency, it's not urgent - 'wikieditor-toolbar-loading', - /* Main Section */ - 'wikieditor-toolbar-tool-bold', - 'wikieditor-toolbar-tool-bold-example', - 'wikieditor-toolbar-tool-italic', - 'wikieditor-toolbar-tool-italic-example', - 'wikieditor-toolbar-tool-ilink', - 'wikieditor-toolbar-tool-ilink-example', - 'wikieditor-toolbar-tool-xlink', - 'wikieditor-toolbar-tool-xlink-example', - 'wikieditor-toolbar-tool-link', - 'wikieditor-toolbar-tool-link-title', - 'wikieditor-toolbar-tool-link-int', - 'wikieditor-toolbar-tool-link-int-target', - 'wikieditor-toolbar-tool-link-int-target-tooltip', - 'wikieditor-toolbar-tool-link-int-text', - 'wikieditor-toolbar-tool-link-int-text-tooltip', - 'wikieditor-toolbar-tool-link-ext', - 'wikieditor-toolbar-tool-link-ext-target', - 'wikieditor-toolbar-tool-link-ext-text', - 'wikieditor-toolbar-tool-link-insert', - 'wikieditor-toolbar-tool-link-cancel', - 'wikieditor-toolbar-tool-link-int-target-status-exists', - 'wikieditor-toolbar-tool-link-int-target-status-notexists', - 'wikieditor-toolbar-tool-link-int-target-status-invalid', - 'wikieditor-toolbar-tool-link-int-target-status-external', - 'wikieditor-toolbar-tool-link-int-target-status-loading', - 'wikieditor-toolbar-tool-link-int-invalid', - 'wikieditor-toolbar-tool-link-lookslikeinternal', - 'wikieditor-toolbar-tool-link-lookslikeinternal-int', - 'wikieditor-toolbar-tool-link-lookslikeinternal-ext', - 'wikieditor-toolbar-tool-link-empty', - 'wikieditor-toolbar-tool-file', - 'wikieditor-toolbar-tool-file-example', - 'wikieditor-toolbar-tool-file-pre', - 'wikieditor-toolbar-tool-reference', - 'wikieditor-toolbar-tool-reference-title', - 'wikieditor-toolbar-tool-reference-cancel', - 'wikieditor-toolbar-tool-reference-text', - 'wikieditor-toolbar-tool-reference-insert', - 'wikieditor-toolbar-tool-reference-example', - 'wikieditor-toolbar-tool-signature', - /* Formatting Section */ - 'wikieditor-toolbar-section-advanced', - 'wikieditor-toolbar-tool-heading', - 'wikieditor-toolbar-tool-heading-1', - 'wikieditor-toolbar-tool-heading-2', - 'wikieditor-toolbar-tool-heading-3', - 'wikieditor-toolbar-tool-heading-4', - 'wikieditor-toolbar-tool-heading-5', - 'wikieditor-toolbar-tool-heading-example', - 'wikieditor-toolbar-group-format', - 'wikieditor-toolbar-tool-ulist', - 'wikieditor-toolbar-tool-ulist-example', - 'wikieditor-toolbar-tool-olist', - 'wikieditor-toolbar-tool-olist-example', - 'wikieditor-toolbar-tool-indent', - 'wikieditor-toolbar-tool-indent-example', - 'wikieditor-toolbar-tool-nowiki', - 'wikieditor-toolbar-tool-nowiki-example', - 'wikieditor-toolbar-tool-redirect', - 'wikieditor-toolbar-tool-redirect-example', - 'wikieditor-toolbar-tool-big', - 'wikieditor-toolbar-tool-big-example', - 'wikieditor-toolbar-tool-small', - 'wikieditor-toolbar-tool-small-example', - 'wikieditor-toolbar-tool-superscript', - 'wikieditor-toolbar-tool-superscript-example', - 'wikieditor-toolbar-tool-subscript', - 'wikieditor-toolbar-tool-subscript-example', - 'wikieditor-toolbar-group-insert', - 'wikieditor-toolbar-tool-gallery', - 'wikieditor-toolbar-tool-gallery-example', - 'wikieditor-toolbar-tool-newline', - 'wikieditor-toolbar-tool-table', - 'wikieditor-toolbar-tool-table-example-old', - 'wikieditor-toolbar-tool-table-example-cell-text', - 'wikieditor-toolbar-tool-table-example', - 'wikieditor-toolbar-tool-table-example-header', - 'wikieditor-toolbar-tool-table-title', - 'wikieditor-toolbar-tool-table-dimensions-rows', - 'wikieditor-toolbar-tool-table-dimensions-columns', - 'wikieditor-toolbar-tool-table-dimensions-header', - 'wikieditor-toolbar-tool-table-wikitable', - 'wikieditor-toolbar-tool-table-sortable', - 'wikieditor-toolbar-tool-table-insert', - 'wikieditor-toolbar-tool-table-cancel', - 'wikieditor-toolbar-tool-table-example-text', - 'wikieditor-toolbar-tool-table-toomany', - 'wikieditor-toolbar-tool-table-invalidnumber', - 'wikieditor-toolbar-tool-table-zero', - 'wikieditor-toolbar-tool-replace', - 'wikieditor-toolbar-tool-replace-title', - 'wikieditor-toolbar-tool-replace-search', - 'wikieditor-toolbar-tool-replace-replace', - 'wikieditor-toolbar-tool-replace-case', - 'wikieditor-toolbar-tool-replace-regex', - 'wikieditor-toolbar-tool-replace-button-findnext', - 'wikieditor-toolbar-tool-replace-button-replace', - 'wikieditor-toolbar-tool-replace-button-replaceall', - 'wikieditor-toolbar-tool-replace-close', - 'wikieditor-toolbar-tool-replace-nomatch', - 'wikieditor-toolbar-tool-replace-success', - 'wikieditor-toolbar-tool-replace-emptysearch', - 'wikieditor-toolbar-tool-replace-invalidregex', - /* Special Characters Section */ - 'wikieditor-toolbar-section-characters', - 'wikieditor-toolbar-characters-page-latin', - 'wikieditor-toolbar-characters-page-latinextended', - 'wikieditor-toolbar-characters-page-ipa', - 'wikieditor-toolbar-characters-page-symbols', - 'wikieditor-toolbar-characters-page-greek', - 'wikieditor-toolbar-characters-page-cyrillic', - 'wikieditor-toolbar-characters-page-arabic', - 'wikieditor-toolbar-characters-page-arabicextended', - 'wikieditor-toolbar-characters-page-persian', - 'wikieditor-toolbar-characters-page-hebrew', - 'wikieditor-toolbar-characters-page-bangla', - 'wikieditor-toolbar-characters-page-tamil', - 'wikieditor-toolbar-characters-page-telugu', - 'wikieditor-toolbar-characters-page-sinhala', - 'wikieditor-toolbar-characters-page-devanagari', - 'wikieditor-toolbar-characters-page-gujarati', - 'wikieditor-toolbar-characters-page-thai', - 'wikieditor-toolbar-characters-page-lao', - 'wikieditor-toolbar-characters-page-khmer', - /* Help Section */ - 'wikieditor-toolbar-section-help', - 'wikieditor-toolbar-help-heading-description', - 'wikieditor-toolbar-help-heading-syntax', - 'wikieditor-toolbar-help-heading-result', - 'wikieditor-toolbar-help-page-format', - 'wikieditor-toolbar-help-page-link', - 'wikieditor-toolbar-help-page-heading', - 'wikieditor-toolbar-help-page-list', - 'wikieditor-toolbar-help-page-file', - 'wikieditor-toolbar-help-page-reference', - 'wikieditor-toolbar-help-page-discussion', - 'wikieditor-toolbar-help-content-bold-description', - 'wikieditor-toolbar-help-content-bold-syntax', - 'wikieditor-toolbar-help-content-bold-result', - 'wikieditor-toolbar-help-content-italic-description', - 'wikieditor-toolbar-help-content-italic-syntax', - 'wikieditor-toolbar-help-content-italic-result', - 'wikieditor-toolbar-help-content-bolditalic-description', - 'wikieditor-toolbar-help-content-bolditalic-syntax', - 'wikieditor-toolbar-help-content-bolditalic-result', - 'wikieditor-toolbar-help-content-ilink-description', - 'wikieditor-toolbar-help-content-ilink-syntax', - 'wikieditor-toolbar-help-content-ilink-result', - 'wikieditor-toolbar-help-content-xlink-description', - 'wikieditor-toolbar-help-content-xlink-syntax', - 'wikieditor-toolbar-help-content-xlink-result', - 'wikieditor-toolbar-help-content-heading1-description', - 'wikieditor-toolbar-help-content-heading1-syntax', - 'wikieditor-toolbar-help-content-heading1-result', - 'wikieditor-toolbar-help-content-heading2-description', - 'wikieditor-toolbar-help-content-heading2-syntax', - 'wikieditor-toolbar-help-content-heading2-result', - 'wikieditor-toolbar-help-content-heading3-description', - 'wikieditor-toolbar-help-content-heading3-syntax', - 'wikieditor-toolbar-help-content-heading3-result', - 'wikieditor-toolbar-help-content-heading4-description', - 'wikieditor-toolbar-help-content-heading4-syntax', - 'wikieditor-toolbar-help-content-heading4-result', - 'wikieditor-toolbar-help-content-heading5-description', - 'wikieditor-toolbar-help-content-heading5-syntax', - 'wikieditor-toolbar-help-content-heading5-result', - 'wikieditor-toolbar-help-content-ulist-description', - 'wikieditor-toolbar-help-content-ulist-syntax', - 'wikieditor-toolbar-help-content-ulist-result', - 'wikieditor-toolbar-help-content-olist-description', - 'wikieditor-toolbar-help-content-olist-syntax', - 'wikieditor-toolbar-help-content-olist-result', - 'wikieditor-toolbar-help-content-file-description', - 'wikieditor-toolbar-help-content-file-syntax', - 'wikieditor-toolbar-help-content-file-result', - 'wikieditor-toolbar-help-content-reference-description', - 'wikieditor-toolbar-help-content-reference-syntax', - 'wikieditor-toolbar-help-content-reference-result', - 'wikieditor-toolbar-help-content-rereference-description', - 'wikieditor-toolbar-help-content-rereference-syntax', - 'wikieditor-toolbar-help-content-rereference-result', - 'wikieditor-toolbar-help-content-showreferences-description', - 'wikieditor-toolbar-help-content-showreferences-syntax', - 'wikieditor-toolbar-help-content-showreferences-result', - 'wikieditor-toolbar-help-content-signaturetimestamp-description', - 'wikieditor-toolbar-help-content-signaturetimestamp-syntax', - 'wikieditor-toolbar-help-content-signaturetimestamp-result', - 'wikieditor-toolbar-help-content-signature-description', - 'wikieditor-toolbar-help-content-signature-syntax', - 'wikieditor-toolbar-help-content-signature-result', - 'wikieditor-toolbar-help-content-indent-description', - 'wikieditor-toolbar-help-content-indent-syntax', - 'wikieditor-toolbar-help-content-indent-result', - ), - ), - - /* WikiEditor Resources */ - - 'ext.wikiEditor' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.js', - 'styles' => 'ext.wikiEditor.css', - 'dependencies' => 'jquery.wikiEditor', - ), - 'ext.wikiEditor.dialogs' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.dialogs.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'ext.wikiEditor.toolbar', - 'jquery.wikiEditor.dialogs', - 'jquery.wikiEditor.dialogs.config', - ), - ), - 'ext.wikiEditor.highlight' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.highlight.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'jquery.wikiEditor.highlight', - ), - ), - 'ext.wikiEditor.preview' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.preview.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'jquery.wikiEditor.preview', - ), - 'messages' => array( - 'wikieditor-preview-tab', - 'wikieditor-preview-changes-tab', - 'wikieditor-preview-loading', - ), - ), - 'ext.wikiEditor.previewDialog' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.previewDialog.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'jquery.wikiEditor.previewDialog', - ), - 'messages' => array( - 'wikieditor-previewDialog-preference', - 'wikieditor-previewDialog-tab', - 'wikieditor-previewDialog-loading', - ), - ), - 'ext.wikiEditor.publish' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.publish.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'jquery.wikiEditor.publish', - ), - 'messages' => array( - 'wikieditor-publish-button-publish', - 'wikieditor-publish-button-cancel', - 'wikieditor-publish-dialog-title', - 'wikieditor-publish-dialog-summary', - 'wikieditor-publish-dialog-minor', - 'wikieditor-publish-dialog-watch', - 'wikieditor-publish-dialog-publish', - 'wikieditor-publish-dialog-goback', - ), - ), - 'ext.wikiEditor.templateEditor' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.templateEditor.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'ext.wikiEditor.highlight', - 'jquery.wikiEditor.templateEditor', - ), - 'messages' => array( - 'wikieditor-template-editor-dialog-title', - 'wikieditor-template-editor-dialog-submit', - 'wikieditor-template-editor-dialog-cancel', - ), - ), - 'ext.wikiEditor.templates' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.templates.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'ext.wikiEditor.highlight', - 'jquery.wikiEditor.templates', - ), - ), - 'ext.wikiEditor.toc' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.toc.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'ext.wikiEditor.highlight', - 'jquery.wikiEditor.toc', - ), - 'messages' => array( - 'wikieditor-toc-show', - 'wikieditor-toc-hide', - ), - ), - 'ext.wikiEditor.tests.toolbar' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.tests.toolbar.js', - 'dependencies' => 'ext.wikiEditor.toolbar', - ), - 'ext.wikiEditor.toolbar' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.toolbar.js', - 'dependencies' => array( - 'ext.wikiEditor', - 'jquery.wikiEditor.toolbar', - 'jquery.wikiEditor.toolbar.config', - ) - ), - 'ext.wikiEditor.toolbar.hideSig' => $wikiEditorTpl + array( - 'scripts' => 'ext.wikiEditor.toolbar.hideSig.js', - ), -); diff --git a/documentacion/extensions/WikiEditor/modules/contentCollector.js b/documentacion/extensions/WikiEditor/modules/contentCollector.js deleted file mode 100644 index 2c28921..0000000 --- a/documentacion/extensions/WikiEditor/modules/contentCollector.js +++ /dev/null @@ -1,439 +0,0 @@ -// THIS FILE HAS BEEN MODIFIED for use with the mediawiki wikiEditor -// It no longer requires etherpad.collab.ace.easysync2.Changeset -// THIS FILE WAS ORIGINALLY AN APPJET MODULE: etherpad.collab.ace.contentcollector - -/** - * Copyright 2009 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -var _MAX_LIST_LEVEL = 8; - -function sanitizeUnicode(s) { - return s.replace(/[\uffff\ufffe\ufeff\ufdd0-\ufdef\ud800-\udfff]/g, '?'); -} - -function makeContentCollector( browser, domInterface ) { - browser = browser || {}; - - var dom = domInterface || { - isNodeText : function(n) { - return (n.nodeType == 3); - }, - nodeTagName : function(n) { - return n.tagName; - }, - nodeValue : function(n) { - try { - return n.nodeValue; - } catch ( err ) { - return ''; - } - }, - nodeName : function(n) { - return n.nodeName; - }, - nodeNumChildren : function(n) { - return n.childNodes.length; - }, - nodeChild : function(n, i) { - return n.childNodes.item(i); - }, - nodeProp : function(n, p) { - return n[p]; - }, - nodeAttr : function(n, a) { - return n.getAttribute(a); - }, - optNodeInnerHTML : function(n) { - return n.innerHTML; - } - }; - - var _blockElems = { - "div" : 1, - "p" : 1, - "pre" : 1, - "li" : 1 - }; - function isBlockElement(n) { - return !!_blockElems[(dom.nodeTagName(n) || "").toLowerCase()]; - } - function textify(str) { - return sanitizeUnicode(str.replace(/[\n\r ]/g, ' ').replace(/\xa0/g, - ' ').replace(/\t/g, ' ')); - } - function getAssoc(node, name) { - return dom.nodeProp(node, "_magicdom_" + name); - } - - var lines = (function() { - var textArray = []; - var self = { - length : function() { - return textArray.length; - }, - atColumnZero : function() { - return textArray[textArray.length - 1] === ""; - }, - startNew : function() { - textArray.push(""); - self.flush(true); - }, - textOfLine : function(i) { - return textArray[i]; - }, - appendText : function(txt, attrString) { - textArray[textArray.length - 1] += txt; - // dmesg(txt+" / "+attrString); - }, - textLines : function() { - return textArray.slice(); - }, - // call flush only when you're done - flush : function(withNewline) { - - } - }; - self.startNew(); - return self; - }()); - var cc = {}; - function _ensureColumnZero(state) { - if (!lines.atColumnZero()) { - _startNewLine(state); - } - } - var selection, startPoint, endPoint; - var selStart = [ -1, -1 ], selEnd = [ -1, -1 ]; - var blockElems = { - "div" : 1, - "p" : 1, - "pre" : 1 - }; - function _isEmpty(node, state) { - // consider clean blank lines pasted in IE to be empty - if (dom.nodeNumChildren(node) == 0) - return true; - if (dom.nodeNumChildren(node) == 1 && getAssoc(node, "shouldBeEmpty") - && dom.optNodeInnerHTML(node) == " " - && !getAssoc(node, "unpasted")) { - if (state) { - var child = dom.nodeChild(node, 0); - _reachPoint(child, 0, state); - _reachPoint(child, 1, state); - } - return true; - } - return false; - } - function _pointHere(charsAfter, state) { - var ln = lines.length() - 1; - var chr = lines.textOfLine(ln).length; - if (chr == 0 && state.listType && state.listType != 'none') { - chr += 1; // listMarker - } - chr += charsAfter; - return [ ln, chr ]; - } - function _reachBlockPoint(nd, idx, state) { - if (!dom.isNodeText(nd)) - _reachPoint(nd, idx, state); - } - function _reachPoint(nd, idx, state) { - if (startPoint && nd == startPoint.node && startPoint.index == idx) { - selStart = _pointHere(0, state); - } - if (endPoint && nd == endPoint.node && endPoint.index == idx) { - selEnd = _pointHere(0, state); - } - } - function _incrementFlag(state, flagName) { - state.flags[flagName] = (state.flags[flagName] || 0) + 1; - } - function _decrementFlag(state, flagName) { - state.flags[flagName]--; - } - function _enterList(state, listType) { - var oldListType = state.listType; - state.listLevel = (state.listLevel || 0) + 1; - if (listType != 'none') { - state.listNesting = (state.listNesting || 0) + 1; - } - state.listType = listType; - return oldListType; - } - function _exitList(state, oldListType) { - state.listLevel--; - if (state.listType != 'none') { - state.listNesting--; - } - state.listType = oldListType; - } - function _produceListMarker(state) { - - } - function _startNewLine(state) { - if (state) { - var atBeginningOfLine = lines.textOfLine(lines.length() - 1).length == 0; - if (atBeginningOfLine && state.listType && state.listType != 'none') { - _produceListMarker(state); - } - } - lines.startNew(); - } - cc.notifySelection = function(sel) { - if (sel) { - selection = sel; - startPoint = selection.startPoint; - endPoint = selection.endPoint; - } - }; - cc.collectContent = function(node, state) { - if (!state) { - state = { - flags : {/* name -> nesting counter */} - }; - } - var isBlock = isBlockElement(node); - var isEmpty = _isEmpty(node, state); - if (isBlock) - _ensureColumnZero(state); - var startLine = lines.length() - 1; - _reachBlockPoint(node, 0, state); - if (dom.isNodeText(node)) { - var txt = dom.nodeValue(node); - var rest = ''; - var x = 0; // offset into original text - if (txt.length == 0) { - if (startPoint && node == startPoint.node) { - selStart = _pointHere(0, state); - } - if (endPoint && node == endPoint.node) { - selEnd = _pointHere(0, state); - } - } - while (txt.length > 0) { - var consumed = 0; - if (!browser.firefox || state.flags.preMode) { - var firstLine = txt.split('\n', 1)[0]; - consumed = firstLine.length + 1; - rest = txt.substring(consumed); - txt = firstLine; - } else { /* will only run this loop body once */ - } - if (startPoint && node == startPoint.node - && startPoint.index - x <= txt.length) { - selStart = _pointHere(startPoint.index - x, state); - } - if (endPoint && node == endPoint.node - && endPoint.index - x <= txt.length) { - selEnd = _pointHere(endPoint.index - x, state); - } - var txt2 = txt; - if ((!state.flags.preMode) && /^[\r\n]*$/.exec(txt)) { - // prevents textnodes containing just "\n" from being - // significant - // in safari when pasting text, now that we convert them to - // spaces instead of removing them, because in other cases - // removing "\n" from pasted HTML will collapse words - // together. - txt2 = ""; - } - var atBeginningOfLine = lines.textOfLine(lines.length() - 1).length == 0; - if (atBeginningOfLine) { - // newlines in the source mustn't become spaces at beginning - // of line box - txt2 = txt2.replace(/^\n*/, ''); - } - if (atBeginningOfLine && state.listType - && state.listType != 'none') { - _produceListMarker(state); - } - lines.appendText(textify(txt2)); - - x += consumed; - txt = rest; - if (txt.length > 0) { - _startNewLine(state); - } - } - - } else { - var cls = dom.nodeProp(node, "className"); - var tname = (dom.nodeTagName(node) || "").toLowerCase(); - if (tname == "br") { - _startNewLine(state); - } else if (tname == "script" || tname == "style") { - // ignore - } else if (!isEmpty) { - var styl = dom.nodeAttr(node, "style"); - - var isPre = (tname == "pre"); - if ((!isPre) && browser.safari) { - isPre = (styl && /\bwhite-space:\s*pre\b/i.exec(styl)); - } - if (isPre) - _incrementFlag(state, 'preMode'); - var oldListTypeOrNull = null; - - var nc = dom.nodeNumChildren(node); - for ( var i = 0; i < nc; i++) { - var c = dom.nodeChild(node, i); - //very specific IE case where it inserts which we want to ginore. - //to reproduce copy content from wordpad andpaste into the middle of a line in IE - if ( browser.msie && cls.indexOf('wikiEditor') >= 0 && dom.nodeName(c) == 'SPAN' && dom.nodeAttr(c, 'lang') == "" ) { - continue; - } - cc.collectContent(c, state); - } - - if (isPre) - _decrementFlag(state, 'preMode'); - - if (oldListTypeOrNull) { - _exitList(state, oldListTypeOrNull); - } - } - } - if (!browser.msie) { - _reachBlockPoint(node, 1, state); - } - if (isBlock) { - if (lines.length() - 1 == startLine) { - _startNewLine(state); - } else { - _ensureColumnZero(state); - } - } - - if (browser.msie) { - // in IE, a point immediately after a DIV appears on the next line - //_reachBlockPoint(node, 1, state); - } - }; - // can pass a falsy value for end of doc - cc.notifyNextNode = function(node) { - // an "empty block" won't end a line; this addresses an issue in IE with - // typing into a blank line at the end of the document. typed text - // goes into the body, and the empty line div still looks clean. - // it is incorporated as dirty by the rule that a dirty region has - // to end a line. - if ((!node) || (isBlockElement(node) && !_isEmpty(node))) { - _ensureColumnZero(null); - } - }; - // each returns [line, char] or [-1,-1] - var getSelectionStart = function() { - return selStart; - }; - var getSelectionEnd = function() { - return selEnd; - }; - - // returns array of strings for lines found, last entry will be "" if - // last line is complete (i.e. if a following span should be on a new line). - // can be called at any point - cc.getLines = function() { - return lines.textLines(); - }; - - // cc.applyHints = function(hints) { - // if (hints.pastedLines) { - // - // } - // } - - cc.finish = function() { - lines.flush(); - var lineStrings = cc.getLines(); - - if ( lineStrings.length > 0 && !lineStrings[lineStrings.length - 1] ) { - lineStrings.length--; - } - - var ss = getSelectionStart(); - var se = getSelectionEnd(); - - function fixLongLines() { - // design mode does not deal with with really long lines! - var lineLimit = 2000; // chars - var buffer = 10; // chars allowed over before wrapping - var linesWrapped = 0; - var numLinesAfter = 0; - for ( var i = lineStrings.length - 1; i >= 0; i--) { - var oldString = lineStrings[i]; - if (oldString.length > lineLimit + buffer) { - var newStrings = []; - while (oldString.length > lineLimit) { - // var semiloc = oldString.lastIndexOf(';', - // lineLimit-1); - // var lengthToTake = (semiloc >= 0 ? (semiloc+1) : - // lineLimit); - lengthToTake = lineLimit; - newStrings.push(oldString.substring(0, lengthToTake)); - oldString = oldString.substring(lengthToTake); - - } - if (oldString.length > 0) { - newStrings.push(oldString); - } - function fixLineNumber(lineChar) { - if (lineChar[0] < 0) - return; - var n = lineChar[0]; - var c = lineChar[1]; - if (n > i) { - n += (newStrings.length - 1); - } else if (n == i) { - var a = 0; - while (c > newStrings[a].length) { - c -= newStrings[a].length; - a++; - } - n += a; - } - lineChar[0] = n; - lineChar[1] = c; - } - fixLineNumber(ss); - fixLineNumber(se); - linesWrapped++; - numLinesAfter += newStrings.length; - - newStrings.unshift(i, 1); - lineStrings.splice.apply(lineStrings, newStrings); - - } - } - return { - linesWrapped : linesWrapped, - numLinesAfter : numLinesAfter - }; - } - var wrapData = fixLongLines(); - - return { - selStart : ss, - selEnd : se, - linesWrapped : wrapData.linesWrapped, - numLinesAfter : wrapData.numLinesAfter, - lines : lineStrings - }; - }; - - return cc; -} - - diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.addMediaWizard.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.addMediaWizard.js deleted file mode 100644 index 32c47e2..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.addMediaWizard.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - * JavaScript for WikiEditor AddMediaWizard integration - */ - -$( document ).ready( function() { - if ( typeof mwAddMediaConfig == 'undefined' ) { - mwAddMediaConfig = {}; - } - mwAddMediaConfig['enabled_providers'] = [ 'wiki_commons', 'upload' ]; - // Transclude mwEmbed support - mediaWiki.loader.load( - 'http://prototype.wikimedia.org/s-2/js/mwEmbed/remotes/mediaWiki.js?&uselang=' + wgUserLanguage, - 'text/javascript' - ); -}; \ No newline at end of file diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.css b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.css deleted file mode 100644 index f066573..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.css +++ /dev/null @@ -1,28 +0,0 @@ -/** - * CSS for WikiEditor - */ - -/* This ID (#editform) could change in MediaWiki */ -form#editform { - margin: 0; - padding: 0; -} - -/* These IDs (#wpSummaryLabel and #wpSummary) could change in MediaWiki */ -#wpSummary, -#wpSummaryLabel { - margin-bottom: 1em; -} - -/* This ID (#wpTextbox1) could change in MediaWiki */ -.wikiEditor-ui textarea#wpTextbox1 { - border: none; - padding: 0; - margin: -1px; - line-height: 1.5em; - resize: vertical; -} - -.wikiEditor-ui .wikiEditor-ui-text > textarea#wpTextbox1 { - margin: 0; -} diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.css b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.css deleted file mode 100644 index ed722d0..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.css +++ /dev/null @@ -1,207 +0,0 @@ -/* - * CSS for WikiEditor Dialogs - */ - -/* Table Dialog */ -#wikieditor-toolbar-table-dialog fieldset { - width: 218px; - padding: 0; - float: left; -} -body.rtl #wikieditor-toolbar-table-dialog fieldset { - float: right; -} -#wikieditor-toolbar-table-dialog .wikieditor-toolbar-table-preview-wrapper { - width: 330px; - padding: 0; - float: right; -} -body.rtl #wikieditor-toolbar-table-dialog .wikieditor-toolbar-table-preview-wrapper { - float: left; -} -body.rtl .wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-wrapper table { - margin-left: 1em; - margin-right: 0; -} -.wikieditor-toolbar-table-preview-content * { - cursor: default; -} -.wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-wrapper table { - width: 100% !important; -} -.wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-content table td { - padding: 10px 4px !important; - height: auto !important; -} -.wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-content table th { - padding: 7px 3px !important; -} -.wikieditor-toolbar-table-dimension-fields .wikieditor-toolbar-field-wrapper { - float: left; - margin-right: 20px; - vertical-align: bottom; -} -body.rtl .wikieditor-toolbar-table-dimension-fields .wikieditor-toolbar-field-wrapper { - float: right; - margin-right: 0px; - margin-left: 20px; -} -.wikiEditor-toolbar-dialog .ui-dialog-content { - padding: 30px 20px 0 !important; -} -.wikieditor-toolbar-dialog-wrapper { - width: 100%; -} -/* Insert Link Dialog */ -#wikieditor-toolbar-link-int-target-status { - float: right; -} -#wikieditor-toolbar-link-int-target, -#wikieditor-toolbar-link-int-text { - width: 100%; -} -#wikieditor-toolbar-tool-link-int-target-label { - float: left; - line-height: 1.7em; -} -#wikieditor-toolbar-link-int-target-status-loading { - line-height: 1.7em; -} -#wikieditor-toolbar-link-int-target-status-exists, -#wikieditor-toolbar-link-int-target-status-notexists, -#wikieditor-toolbar-link-int-target-status-invalid, -#wikieditor-toolbar-link-int-target-status-external { - padding-left: 30px; - background-position: 0 50%; - background-repeat: no-repeat; -} -#wikieditor-toolbar-link-int-target-status-exists { - /* @embed */ - background-image: url(images/dialogs/insert-link-exists.png); -} -#wikieditor-toolbar-link-int-target-status-notexists { - /* @embed */ - background-image: url(images/dialogs/insert-link-notexists.png); -} -#wikieditor-toolbar-link-int-target-status-invalid { - /* @embed */ - background-image: url(images/dialogs/insert-link-invalid.png); -} -#wikieditor-toolbar-link-int-target-status-external { - /* @embed */ - background-image: url(images/dialogs/insert-link-external.png); -} -/* Reference Dialog */ -#wikieditor-toolbar-reference-dialog label { - float: left; - line-height: 1.7em; -} -#wikieditor-toolbar-reference-text { - width: 100%; -} -/* RTL Changes */ -body.rtl .wikiEditor-toolbar-dialog .ui-dialog-buttonpane button { - float: left; - margin: 0.5em 0.4em 0.5em 0 !important; -} -body.rtl .wikiEditor-toolbar-dialog .ui-dialog-titlebar-close { - left: 0.9em; - right: auto; -} -body.rtl .wikiEditor-toolbar-dialog .ui-dialog-title { - float:right; -} -body.rtl #wikieditor-toolbar-link-int-target-status { - float: left; -} -body.rtl #wikieditor-toolbar-tool-link-int-target-label { - float: right; -} -body.rtl .wikieditor-toolbar-floated-field-wrapper { - float: right; - margin-right: 0; - margin-left: 2em; -} -body.rtl #wikieditor-toolbar-link-int-target-status-exists, -body.rtl #wikieditor-toolbar-link-int-target-status-notexists, -body.rtl #wikieditor-toolbar-link-int-target-status-invalid, -body.rtl #wikieditor-toolbar-link-int-target-status-external { - padding-left: 0; - padding-right: 30px; - background-position: 100% 50%; -} -body.rtl #wikieditor-toolbar-link-int-target-status-external { - /* @embed */ - background-image: url(images/dialogs/insert-link-external-rtl.png); -} -body.rtl #wikieditor-toolbar-reference-dialog label { - float: right; -} -/* Template Editor Dialogs */ -.wikiEditor-template-dialog-fields label { - text-transform: capitalize; - float: left; - width: 25%; - line-height: 2.25em; -} -.wikiEditor-template-dialog-fields textarea { - float: right; - width: 70%; - line-height: 1.5em; - height: 1.5em; -} -.wikiEditor-template-dialog-fields .wikiEditor-template-dialog-field-wrapper { - padding: 0.75em 0.33em; - border-bottom: dashed 1px silver; - clear: both; -} -.wikiEditor-template-dialog-fields .wikiEditor-template-dialog-field-wrapper:first-child { - padding-top: 0; -} -.wikiEditor-template-dialog-fields .wikiEditor-template-dialog-field-wrapper:last-child { - border-bottom: none; -} -/* Self Clearing Floats */ -.wikieditor-toolbar-table-dimension-fields:after, -.wikieditor-toolbar-dialog-wrapper:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; -} -.wikieditor-toolbar-table-dimension-fields, -.wikieditor-toolbar-dialog-wrapper { - display: inline-table; -} -/* Hides from IE-mac \*/ -* html .wikieditor-toolbar-table-dimension-fields, -* html .wikieditor-toolbar-dialog-wrapper { - height: 1%; -} -.wikieditor-toolbar-table-dimension-fields, -.wikieditor-toolbar-dialog-wrapper { - display: block; -} -/* End hide from IE-mac */ -.wikiEditor-toolbar-dialog .ui-dialog-buttonpane { - border-top: 1px solid #cccccc !important; -} -.wikiEditor-toolbar-dialog .ui-dialog-content { - padding-bottom: 1em !important; -} -/* Edit dialog */ -.wikiEditor-dialog-editoptions { - margin-top: 15px; -} -/* Publish dialog */ -.wikiEditor-publish-dialog-copywarn { - margin-top: 0.5em; -} -.wikiEditor-publish-dialog-summary { - margin-top: 1.5em; -} -.wikiEditor-publish-dialog-options { - margin-top: 1.5em; -} diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js deleted file mode 100644 index 0e0dd09..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.dialogs.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - * JavaScript for WikiEditor Dialogs - */ - -$( document ).ready( function() { - if ( !$.wikiEditor.isSupported( $.wikiEditor.modules.dialogs ) ) { - return; - } - - // Replace icons - $.wikiEditor.modules.dialogs.config.replaceIcons( $( '#wpTextbox1' ) ); - - // Add dialogs module - $( '#wpTextbox1' ).wikiEditor( 'addModule', $.wikiEditor.modules.dialogs.config.getDefaultConfig() ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js deleted file mode 100644 index a6b4385..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.highlight.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * JavaScript for WikiEditor Highlighting - */ - -$( document ).ready( function() { - // Add highlight module - $( '#wpTextbox1' ).wikiEditor( 'addModule', 'highlight' ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.js deleted file mode 100644 index 6056e63..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * JavaScript for WikiEditor - */ - -$( document ).ready( function() { - // Initialize wikiEditor - $( '#wpTextbox1' ).wikiEditor(); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.preview.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.preview.js deleted file mode 100644 index 3fbca82..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.preview.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * JavaScript for WikiEditor Preview module - */ - -$( document ).ready( function() { - // Add preview module - $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'preview' ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js deleted file mode 100644 index 67f97e0..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.previewDialog.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * JavaScript for WikiEditor Preview Dialog - */ - -$( document ).ready( function() { - // Add preview module - $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'previewDialog' ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.publish.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.publish.js deleted file mode 100644 index d874478..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.publish.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * JavaScript for WikiEditor Publish module - */ - -$( document ).ready( function() { - // Add publish module - $( '#wpTextbox1' ).wikiEditor( 'addModule', 'publish' ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js deleted file mode 100644 index 8879d10..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templateEditor.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * JavaScript for WikiEditor Template Editor - */ - -$( document ).ready( function () { - // Disable in template namespace - if ( mw.config.get( 'wgNamespaceNumber' ) === 10 ) { - return true; - } - // Add template editor module - $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'templateEditor' ); -}); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templates.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templates.js deleted file mode 100644 index 6eae6de..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.templates.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * JavaScript for WikiEditor Templates - */ - -$( document ).ready( function () { - // Disable for template namespace - if ( mw.config.get( 'wgNamespaceNumber' ) === 10 ) { - return true; - } - // Add templates module - $( '#wpTextbox1' ).wikiEditor( 'addModule', 'templates' ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js deleted file mode 100644 index d4ffe5a..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.tests.toolbar.js +++ /dev/null @@ -1,255 +0,0 @@ -/** - * Test set for the edit toolbar - */ -var textareaId = '#wpTextbox1'; -var wikiEditorTests = { - // Add emoticons section - add_sections_toolbar: { - call: 'addToToolbar', - data: { - 'sections': { - 'emoticons': { - 'type': 'toolbar', - 'label': 'Emoticons' - } - } - }, - test: '*[rel=emoticons].section', - pre: 0, - post: 1 - }, - // Add faces group to emoticons section - 'add_groups': { - call: 'addToToolbar', - data: { - section: 'emoticons', - 'groups': { - 'faces': { - 'label': 'Faces' - } - } - }, - test: '*[rel=emoticons].section *[rel=faces].group', - pre: 0, - post: 1 - }, - // Add smile tool to faces group of emoticons section - 'add_tools': { - call: 'addToToolbar', - data: { - section: 'emoticons', - 'group': 'faces', - 'tools': { - 'smile': { - label: 'Smile!', - type: 'button', - icon: 'http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/22px-Gnome-face-smile.svg.png', - action: { - type: 'encapsulate', - options: { - pre: ':)' - } - } - } - } - }, - test: '*[rel=emoticons].section *[rel=faces].group *[rel=smile].tool', - pre: 0, - post: 1 - }, - // Add info section - 'add_sections_booklet': { - call: 'addToToolbar', - data: { - 'sections': { - 'info': { - 'type': 'booklet', - 'label': 'Info' - } - } - }, - test: '*[rel=info].section', - pre: 0, - post: 1 - }, - // Add info section - 'add_pages_table': { - call: 'addToToolbar', - data: { - section: 'info', - pages: { - 'colors': { - 'layout': 'table', - 'label': 'Colors', - 'headings': [ - { text: 'Name' }, - { text: 'Temperature' }, - { text: 'Swatch' } - ] - } - } - }, - test: '*[rel=info].section *[rel=colors].page', - pre: 0, - post: 1 - }, - // Add colors rows - 'add_rows': { - call: 'addToToolbar', - data: { - section: 'info', - page: 'colors', - 'rows': [ - { - 'name': { text: 'Red' }, - 'temp': { text: 'Warm' }, - 'swatch': { html: '
    ' } - }, - { - 'name': { text: 'Blue' }, - 'temp': { text: 'Cold' }, - 'swatch': { html: '
    ' } - }, - { - 'name': { text: 'Silver' }, - 'temp': { text: 'Neutral' }, - 'swatch': { html: '
    ' } - } - ] - }, - test: '*[rel=info].section *[rel=colors].page tr td', - pre: 0, - post: 9 - }, - // Add - 'add_pages_characters': { - call: 'addToToolbar', - data: { - section: 'info', - pages: { - 'emoticons': { - 'layout': 'characters', - 'label': 'Emoticons' - }, - 'removeme': { - 'layout': 'characters', - 'label': 'Remove Me!' - } - } - }, - test: '*[rel=info].section *[rel=emoticons].page', - pre: 0, - post: 1 - }, - // Add - 'add_characters': { - call: 'addToToolbar', - data: { - section: 'info', - page: 'emoticons', - characters: [ ':)', ':))', ':(', '<3', ';)' ] - }, - test: '*[rel=info].section *[rel=emoticons].page *[rel=":)"]', - pre: 0, - post: 1 - }, - // Remove page - 'remove_page': { - call: 'removeFromToolbar', - data: { - section: 'info', - page: 'removeme' - }, - test: '*[rel=info].section *[rel=removeme].page', - pre: 1, - post: 0 - }, - // Remove :)) from emoticon characters - 'remove_character': { - call: 'removeFromToolbar', - data: { - section: 'info', - page: 'emoticons', - 'character': ':))' - }, - test: '*[rel=info].section *[rel=emoticons].page *[rel=":))"]', - pre: 1, - post: 0 - }, - // Remove row from colors table of info section - 'remove_row': { - call: 'removeFromToolbar', - data: { - section: 'info', - page: 'colors', - 'row': 0 - }, - test: '*[rel=info].section *[rel=colors].page tr td', - pre: 9, - post: 6 - } -}; - -jQuery(document).ready( function ( $ ) { - var $button = $( '' ) - .css( { - position: 'fixed', - bottom: 0, - right: 0, - width: '100%', - backgroundColor: '#333', - opacity: 0.75, - color: '#DDDDDD', - padding: '0.7em', - border: 'none', - display: 'none', - cursor: 'pointer' - } ) - .click( function () { - if ( $(this).data( 'testDone' ) ) { - $(this).slideUp( 'fast' ); - return false; - } - - var test, pre, post, - messages = [ 'Running tests for wikiEditor API' ], - $target = $( textareaId ), - $ui = $target.data( 'wikiEditor-context' ).$ui, - passes = 0, - tests = 0; - - for ( test in wikiEditorTests ) { - pre = $ui.find( wikiEditorTests[test].test ).length === wikiEditorTests[test].pre; - messages.push ( test + '-pre: ' + ( pre ? 'PASS' : 'FAIL' ) ); - $target.wikiEditor( - wikiEditorTests[test].call, - wikiEditorTests[test].data - ); - post = $ui.find( wikiEditorTests[test].test ).length === wikiEditorTests[test].post; - messages.push ( test + '-post: ' + ( post ? 'PASS' : 'FAIL' ) ); - if ( pre && post ) { - passes++; - } - tests++; - } - - if ( window.console ) { - for ( var i = 0; i < messages.length; i++ ) { - window.console.log( messages[i] ); - } - } - - $(this) - .attr( 'title', messages.join( " | " ) ) - .text( passes + ' / ' + tests + ' were successful' ) - .css( 'backgroundColor', passes < tests ? 'red' : 'green' ) - .data( 'testDone', 'true' ) - .blur(); - } ) - .appendTo( $( 'body' ) ); - - setTimeout( function () { - $button.slideDown( 'fast' ); - }, 1500 ); - -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toc.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toc.js deleted file mode 100644 index 264e9f8..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toc.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * JavaScript for WikiEditor Table of Contents - */ - -$( document ).ready( function() { - // Add table of contents module - $( '#wpTextbox1' ).wikiEditor( 'addModule', 'toc' ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js deleted file mode 100644 index 3bc0f0b..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.hideSig.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Remove the signature button if the main namespace is edited. - */ -$( document ).ready( function() { - // This module is designed not to depend on ext.wikiEditor or jquery.wikiEditor. - // Removing this dependency fixed various bugs, but it does mean that we have to - // account for the situation where $.wikiEditor is not present - if ( !$.wikiEditor || !$.wikiEditor.isSupported( $.wikiEditor.modules.toolbar ) ) { - return; - } - if ( $( 'body' ).hasClass( 'ns-0' ) ) { - $( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', { 'section': 'main', 'group': 'insert', 'tool': 'signature' } ); - } -}); diff --git a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js b/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js deleted file mode 100644 index 5cdeae5..0000000 --- a/documentacion/extensions/WikiEditor/modules/ext.wikiEditor.toolbar.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * JavaScript for WikiEditor Toolbar - */ - -$( document ).ready( function() { - if ( !$.wikiEditor.isSupported( $.wikiEditor.modules.toolbar ) ) { - $( '.wikiEditor-oldToolbar' ).show(); - return; - } - // The old toolbar is still in place and needs to be removed so there aren't two toolbars - $( '#toolbar' ).remove(); - // Add toolbar module - // TODO: Implement .wikiEditor( 'remove' ) - $( '#wpTextbox1' ).wikiEditor( - 'addModule', $.wikiEditor.modules.toolbar.config.getDefaultConfig() - ); -} ); diff --git a/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-error.png b/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-error.png deleted file mode 100644 index 49571bbe744b29f55ba7b8d0af21397543e47d68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 549 zcmV+=0^0qFP)e@h5r2f;YmsH*Vn`p6zZ+5 z;f996R#x6QIlChx_~GH?rKQ#x8PFLS%{4XFjg7P!8Pqj3xlK*K4Gp;!71Kya>4}NU zP*BoaTkW*8?2V1vLqqVx!|%bt&vJ6na&pdugvt^Uj9uHi00001bW%=J06^y0W&i*I z6G=otRCr#U(Z!C#FcgN-njL0NnVD(u{oiWhYmM5OWxq|NoW*bHwqCCLK8laWc=Xo& z3$xg%sw~T@V?29?_Uhi#Wp}6jfMjbJMKNhAj9$-4e&H&L!t{L7M(U{J_{D nmr?)UY3*?&Wi++9){k&abYRQdMt;NafF#le4pe!IQ6Vq{@7Iy;@8oX^qD@rU_&00001 zbW%=J06^y0W&i*Hqe(XDC@Ci%?4L*S^t$3HM`fH~g{86dL?g=P1*?oX&%Gm+^j+6rV zc@(~x8)@XXK?!>o>s$%g8Uwg?S!=D4*-VvGwzJJ{X5F9Ji{&dm8lcfCW^J&a2v9XO rJs^07I#4*=3?MhWm+^&^Ch!9v)9fuI8^dz}00000NkvXXu0mjfj$wQA diff --git a/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-external-rtl.png b/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-external-rtl.png deleted file mode 100644 index eb3275315231cbd0ed48c081ee04d2a36dc4ac74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wl>na**Z=?jix&O6|NIL>+Bb%@ z3z~I*wHyAw`t+Y64T#PFWyOmBH{B~-0#wgf666=m;PC858jw@s>Eakt5m$R=BX6^T zKx<-HgWwEB*Q!-ILe)*1Q%-T5W?r(BQ)jQ}rWikd7O_Kr?mpifS00=;ogpCWMA3pD z3mH#5U%JX=!{ub>N_USg1r=-SouWIpKeu#ElANE%Iy>lr`M0n3drG2pz3YKs&7L(U`+@c|c)I$ztaD0e0stTzUF!e< diff --git a/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-external.png b/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-external.png deleted file mode 100644 index c06459993841804bc2b00b5921b09ae29b695f9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wl>na**Uz6nix&O6|NIL>+Bb%@ z3z~I*wHyAw`t+Y64T#SC|NmdC`2W+{3nv5BGnNGT1v5B2yO9RulzO^2hE&A0o;}Fh zpuoc#5MIDC_h56mf8GI>Lo5>tOci+^EES$m!pN_e&f0xM;IDdIUFPihKW1p@C>gcr zT(FF0WXM^3q^FZ>a)YBMPq*)dkPLn0rdum>YTM$f4<@_ue%U21lb05=U$Oa{okKIL ef%3D~^K&A7f>WoTRo4bOfWgz%&t;ucLK6TFHCWdG diff --git a/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-invalid.png b/documentacion/extensions/WikiEditor/modules/images/dialogs/insert-link-invalid.png deleted file mode 100644 index 8537d76f4aa2b21071d9024140549d6e98ef53c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcmVP))|3Lws5$D{t?i`>%AzR9i2&E5 zD*gQW>ZKC&vn17>7wp}%tAGIMvN!GDx%;*t`u6JPzH0RB)ZwKT@#e|g!gKfc_xtqZ zvW5V+eE|Np8~pn7;IK2(kO1SM0KAeC+p0kHt`^0a7U!xK*Y*=Xk8g^tv^4R*gdFRfYLSoE`J z88qY__i&h<8wx3+=*cRt@+8iN!%ST553Ft*p#9+Y{uSq!@Cb0c7ZU2K?mAontinRr zb=59$d;mY3MAr0Dbwh{~1H=xQh)ZR;CCo9?(o{v^{we1%V~CsAli`Sw-LG=sVx+a2 zC%w7S2(eA)N7ZPKG4<@+qZo6&kl(6Hg%zd78;?Chslt5!b>-tIP2VcsD?VqMj_> e84QBfE%*S21rrM&Qq!z`}_N{va)e;asPcD|Krbpe}DS=`j3x~ySuyp>f8VG>i_!o=;-MG=hgq- z##>uk|NQyN%F6rx`TyI%_w42Vd>#Mq_aW;@H^O@9*#b_3icb_5bnbXJ=>s?B4zT{lmk<=jZ2? zl$7_~$|WWtT>t<80d!JMQvg8b*k%9#0KrK_K~#8Ny^qyy#Xt-NkG&MU%ur_L|Npd} zIMP*$UHvZ1+mU2YNhTTx7y@g3SL6~x2BnW|-#rF-6070NhAqgPiS`fKRKoW(OJ0XA^ zE=NERHsDpNpn_u6RX`CHQKx8U+L<2Cw!3YovmJM)+jiFe;=5)u$_l$P-TVQW%;)!f zp68o5VQhGWf`Xx7zT#kTIGnY$H6D*A5C}VW?hFbF3Jnd7jEszqj)q}4E-p?W5F{id zBqk;%CnwA0^32T4tgNh@oSf3qQjJDaQ&ZE}*x20M+|tsb*Xz5wx&{XaCnhFlW@ct* zXRltpIyX0W?b@~L*RS8WapUIAo40P=x_$fh{QUgF!ouR>;+;Ep?%ut-w6t{Z-o54J z<@@*VKX~xq;lqcktE*3+K7IA-6=tK4=hxOYwiph^^BY&>V7@|?pT|5@q$*@8_A9Cn zlqvFpib@O0FrKgMl48U^L-r)cKtaJcEcn&{(>I$SVDQRlL%A=9qh0z#o-c{`!ML%r z+{i5&KPG<8)!1^;KubQ`yCpNUb(-Mz9Bi{_v3Ren%6T zOr}z)?(Xgk27}3DdU|?#d3pKz`uh3#1qTO*goK2Jg@HGTiHQNv0v<#nk))@m@7uR8 zH#b+MQdL$~g4fXLbl@G1A3xsL*EcXQaN@*?$;nB}*LeR^y!8m1c>(ha;j2FFFZVr? zs9hS(4`&i>T8y1!vLk-VI@)h2*l+6As8u>E6!{aWo75W}toUqNmudV5r2_eLuT02v z&kzK9crY77T0Ge7w$`?zt#E}fkl7<(GBt?0v46O~hus@eHX=OJ5;E3!Lhn(ktG+x5 z8%F2&Z%}eAP?AU_I-L#(f=K)O`vZ0m1aY}sKrlQ!JR%~3$KypsMWG>&jg18%2S8I& zQe-k&c6Rpu{rk(y%auwcNHqZ3-rnBR(=#+Qbn@iM@$vBs7cTrbperjYAlOfyJlPN{ z{?Ml&lEw_}l4s$SbRxao7(7pAIC7Vw{a)rpT}E)Bovgj{B1yGwZEKxwH4om^MZ;nu zqkesrKoWAG3<1PsdN*@*Odp?)wvMJY_+vqBKVMZ?qiU`lhCbqYb4F@D)O#n4HJ{We z^{KV+bYCwQ8Wz4`$+2LG#bT|jtSoy1WOCh}00>1Q5!w@INtBe7yj2pdt*t+ce7p69`efpx zOYG_H@WPf%)jy|VS6;~D84O7su7&8`z^LQ2;GEjyQ!|h9#Trg#)A90(VRmTs&_ITS z-KMS+a~jIzneZ>+UU~31@&+T%0wb`SLZMjNy<^7?A0HpIbb;Wzcki~e8>kH!DijLT z?!$)CdUcwV`3Wy1mn?Yl{^_^Rj=<-X23 zV0X#$&xu@vv2&3UR%y_SpXUTdGS?P$2OOjY3T;${c%txk6ty~>xlqcp8D%Mz^7w!q zl6q^LwNqeITs=`ot>;tA^0QKjSX;HY-VSRGhgI+bB9KgEtZyPtQ$O5TEELQNC+8*euj;01>s@JYiqnpZ)|`m)zsWk3mgt z@&v%EOo9hoH{txtmqg+Ci_rMuC-JPJ$I6$T1q{Cwd-s*o&)H{w#k#Tf$6~3h)$YTR zzptG;rTE5;ElSdC`)GR&LUR=srILuG+~QOkheC8Xq}+!%5D>?9DHh8iZ86C5$6?|Y zSvoukQ*|5%yzGtQmLS(1a6l9cIOt2D_*(-G_9iVY%{<_0wc0%3mWsc-;Tr}K98%^K zqAWL@98*(jOdz9fnLrY)Y(%GCgG}-+BCD(i3Yg!590wq8n?PzzASX#{sxL&MN|97k zqt-BLa~p-*>2CTqKAqFi$te>P$Oy#=>EqjBXap;cvprRVvE^8u;*dvD33%9Q7N%(s z>Lv5=Ko*VpuIBFJl8NXU?1fg1@Eqx(6zd8n8qs zXY(M@lL)Vl9soG6nsB<p$XR85#p_7fJHZZ{W6iDcU%IFbcDbfp z-VFOINM)T`6BHtJBFYZ(i5M$qVN#(KqGIh}CmQ1Bic~>l9NkgR*yg6eIYC4{s%pZ$^@t7?&5|NKBM%&;eDsKo17SbryN|@q6auLR*OQEd} zM<91b-f)`G-6bn2=wqRaTVu>Af!p*&xLp=hU|t~0Y`(|zbq5{%AqCy}?x1V6T3|Z3 zFTtjRK?f%h81$dQ^w%&mKsHD7fax*kjKSHYuzde6@e(E~&y#F#P}y&hcm}l6-1FP^ z@MDD?_vY{Z-k9gtOE)R7BbxB(gUzN-8D%NCzU}SF8%3U b{)2;vG&d=*IyEn?WWYGn)7{erU`GBAT4xt) diff --git a/documentacion/extensions/WikiEditor/modules/images/dialogs/loading.gif b/documentacion/extensions/WikiEditor/modules/images/dialogs/loading.gif deleted file mode 100644 index 52f782053e601dd338c904869df9ee546857f4d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4615 zcmeI!=T{S0p9k6$(XD zQ&W3;dskQ2sZ*zVdV0>CJ9p{QrR&$P4-O9Aym@nCV&eAg+f!3hv$L}g9z1yR|PU%q_#=FOY8Z{Pm)*I%DLefsj{i;Ihko15Ftojb$A!XhIh)6&v1GBUEWvw!;O zr{dybnM_t*US3mEQ&(5l*x0C2sX9A5ySuwDU%q_p+O^@~;aj(E-MMq;?%lih@85s? z`0>-HPZt*#mzI`RS668?T6lQ)-o1NMQ&acv-=C9{BNmIRtE(Ft8k9=qv17+ho;-Q} z{P_zPE?l{CWn^SzbaZrba&mfldTws+x8Hu7pPzs6;>GLNumAk>&yOEJayXoVf&!sX zSW;5b+}!;0&p-F|_07!8JbLu#)vH(U-o5km^h`=h+P81tp+kq{a{1WU*e}2Qva+(0 zkdTmMVBvuDpURzsx|NebxX=#6d|IpCThYuerDk|#h z>&M5(pFMl_#~*(SUU|GvJy9uX07^ytykr%yk8 z_>fAa0{(yf-vrQKwEdYO!5%ag)4`Ukq4sq*^uKI&apQTYxLlNPCU<{QYEmW_<zfm2OrNb z=JeB1Fm33F={~HPndt-`4I6<%#yFUX+h$SM{EGHTl6=hdyS(wHi%hgW7~E1F_PYFyCRt+%0A_XyRc^(id3#eyy(bupy;b!Y^X z&W~)-x9~H<(9uOORITT``2{s4%3@30JU9+BdWy!3L8uM3YF+nsP5$hXxMxI~M=V&H z_Z%wLqBE_Ibh28b#L#7{_y)tON-dME{wYAyvx9+wcy#()&e?N;a&u%#^DMu&TZ!8K z&MG2-UaWhF$1G=ck>KA^i-`ED#u0L$&=>)yR3>CP1q))deC0%zUv!Ot3Dt@u#`rc7 z!_`48t;F44PDGBcmfXSWh%BZ#W|y~ljE^rT6hLl{#+0!f!b-!v12{+|$3czV6|{3y z7y|VTh~R`pi6S0^`H-yci!d&}Wb>L3PfK!mjk(e-xD8lzjvhm>R4}E@WyMa7&rL%` zCCm~I!!2Vlu*KRAV=IeoORut~>u9H{g4$*_+S(wb$~CyW1rxqCeU$<{-ltBgp2z2*}^%r0Ncz)g%U zUdRx%Rw2C-awG@y5M}Eh(0(Qe_-2gGEZPm#{EitN{cX~O$vQfvM1ou-j zqv@t1AJU5hw*L^=D{Fcmt%Fb-z`|dxaJS3`wpdE&rjUJoh(R+ssznV)MT?-v27Fe@D~9;{5JPvnwEA>exn?`wto4 z1v_|9ER}HtoPdB*qFg4--x^lt2$$#R9a0GLvjZfY`qIcB(~c^M;f^^~9UQ%^I$3_c z@PK0^2i}mE)gZuPMY#vA5k26!oV+|vHe^%PZU|hI7pRwekh5t-cyJ~>ZNJafY9cmN zFWW;AmYNEWRCt7*ka`5LrPsjmJC}Vo2`~DubX9e5EpnA>S8`}Cm`yf^PPiPJ^LfhH zdJkuhxj;HR#=!P11-;`-5mnIBAr~EN11;15b!;qUNQQ7fy594tuwz55rj;h6P5~Uh zus!ej?;orB!R^~~7Rg6&=~G(nmvoy(tLbAtdla5a1A99|)C~`yBOte0f~Me-ybw55 z^W}JD{Q)g^Rd8@Os<$lm+{*`6|I}sRFMt5Bnb!)#L=R|S1;dfyKqxGL5#rLLiE`KZ z4~7&hp+jWqz9Et-&p5+vu;O*Jhk9E-O7Dc%8R43y7|AAq>eojmE2$KXTuE;rN?NPo z3^2j4MCMeYTTajN-V(;gUsAAJ(iaTyJ*3@H`fUjN%A2LXu4UWT4jVc%YEwefBb&DQzVh>WO1z2Q z6>nv2&!}kb1)hYXR#09vJ&SiKA6)WcD|hhUm2&ww=m6THvJdpokp)w8)%e?$+@GS&Pxm(plWM@*7O*$N+<%=yrOCi7&73mEmdmhV;LUs zS2>^Ao$AF^#sMtj=UgtTj0g@TXY~$B>B6i;#pxiWmTr+|`}Arb3w;DmFMLjxs87O0 zIRJE0=Muz~rjF=4O@&to^4;JV5lf|I>_EbW))6FOf+W&xh~(|F+tmDz)K>;=>F^CW zY$p7jXC=x6t#14tj$5Vcra5Sv;Qrh*c>Sjx9m~FCO-0b_KF<5~QQ{_4=-Eh2cqMX>!Y1r)wbHrhXm9WyXC0*2QGp|JF% z*f>}(*u%%pObZIBx{FfPqOJ4?(Sum5Sx$00*Kj9zghB%vbs<{>)uyJ0rl6k$E-tG~*oU7E&7>r1AEgUhNL0>-(zE?rha99pCy917On0Zl# zv$>v<*e99i@MB^DsCP_xONFGq&Funf#Kf3$g>Cx+tR}rto&<*^F7w9p%jt&qTrZP# zsuzh5HbW!S)bs1F+zZr7J9-Z>l%fs%r?>Xs!zeOw{6;vpFfk~uFq0y4hE-IX?H2A= zM!^fMGLsLiF=Yn!=$3N-LlZeq{lp4WAauFEID; ziI^KD$)11>8FRNA4!rTO+4DEZY00QNsw?Yagmhpx*92N>l*|R7sLkS1@Edo6?%G$fXme_%!kyb4JgG`1Ps_ouz1{wkM6IOM-o!mlR0v}= zL*Mo&xjlhcQDDqEUNZIqSoJjd$`4r~mltnP3R>p>WeY$4saPKRadnI1$td(G8^iCl z;n3mj-{d5q+k;}xjG^B8v4xF%G$Hy>&LB%trUQI`QNVk4V>=xNf#t^OZ>WLZZ8J{v z0uOrY-d&kGy*l4-w-4n_TW5|=U<{_CzJ8H3i#G4To}{Us%K`+P5R*$7V1hriM4UCr(2I4MCka*pz!Z)N*$lXc* zHkRR;e`!`gz^m`G=uIs=F?wP+@O!x(I&23tAh@}t-?0$G1F}>GN%NIxonln!oVXC` zu5Jgl9`G6;mK#s|-y+L0BTnO34PK&~Yngrr zPq4X+EG~i&j;IoalaprbQn45}3CmZV zS%_#7yJ!lzu-#rMT?XuQMq{yk2tVns*UyfE0(6HmpQ-5jyK}4_WoiUA=)lj<^#=0@ z1C~CE6z)4_#a=$n@AW{>XnAuPrxDjP<2=w}S6UD(6|IifZVLrxt3KiNo1XY%@~59Z zpB!$3J5SlU#yo}$TKX%u6QFGzInk6De#nWvSj(B-5*^YioO<>SlB$cc%Gi;Ii)_3`)f^z-%f$IHq9OeVGf004tYL_t(| zUPaC24g@g>1YibeSI^zu_5GjjXq(GU`13I#(C9p#-P_;&a&b8+ZFZf(`*5v?wfiW| zZ|j`O{t*_XZ7+WTHta~LOC_?^G$WT;rx1j&jY+B^Pah@_ thImP83CxTnMGS+Z()!;?L%Tym{Q+=s2Kyf*u>b%7002ovPDHLkV1j=-%FF-& diff --git a/documentacion/extensions/WikiEditor/modules/images/templateEditor/dialog-collapsed.png b/documentacion/extensions/WikiEditor/modules/images/templateEditor/dialog-collapsed.png deleted file mode 100644 index 93c5c7947433528cd7c65a8f91926712bf5382ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)FMd`=jZ$T`~Cg>?d|RU{{H;@{QCO(;o;$Rb#>3r&xVGEK`mF00001- zNklt_>byNIDgZErkGd%!;-G^gmfv0nTf6{c-e((=7px3T zZfQ(+4$V2atm&H-pMX;25V0TBE;Ys$f}D@U45Xxc@RD-=*Eg`%M{jFuu*tRhJwL`D XZ3u8#LG5=300000NkvXXu0mjf7$YP)FN9X`~Cg>`1ttc<>lw+=l1sY?d|RS{QUa*`u_g@b#-;&;o;BE&xVGEz2^PX0001; zNklf8GHqtp?kocb;00lbgN*ZT+fjC%b0 Y0mQ|0$tsy)&j0`b07*qoM6N<$g2`EmYybcN diff --git a/documentacion/extensions/WikiEditor/modules/images/templateEditor/expand.png b/documentacion/extensions/WikiEditor/modules/images/templateEditor/expand.png deleted file mode 100644 index a92c4e4e7978635c528278c4251fbd88c187b1bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz*3?%J)Uw|YG0(?STA3l8e`0?ZW_wTP?zy864 zM;||a{QLLsnKNguT)9$OTKfF?^OrAQzJ2@l+qZ8&e*F0L>(@c6W{_c}o-U3d6>+L( z75SPCMA|?8uU%%yU7_c2h>xM~iKG)#&P~3CRjX7q?(upE+i;4{SaE2-wu86*=gIP2 zTM7j~Z7mU$OD(XdZRwX$a;msppY(R^r)xL8-6a>^H(&cL;mw;fi+U8d*x1kHw4XP_ i-HB`d@0#Y&A92UdSd|EBo=5;XfWgz%&t;ucLK6Tg-E2ev diff --git a/documentacion/extensions/WikiEditor/modules/images/templateEditor/name-base.png b/documentacion/extensions/WikiEditor/modules/images/templateEditor/name-base.png deleted file mode 100644 index ae3d62d6dc4d5ca9aa7559b9dfcd39491f60891b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{F!VDx;H*&N9DU|@95Z8|%KmPmo@5hfHPoF;h z^XJdYmoI<)`t|(z^M?-~e*5Eakt5f^%JBQKEWV6fc!uFg?K`3cO8AE)}=0SYmAy85}Sb4q9e0QSHcasU7T diff --git a/documentacion/extensions/WikiEditor/modules/images/templateEditor/wiki-text.png b/documentacion/extensions/WikiEditor/modules/images/templateEditor/wiki-text.png deleted file mode 100644 index ce8cef8051a74894fab0b274328cad480e58a067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^d_c^_!3-ofv(Ntuq-+9wLR?SZe|PKs|C0KS1?zXG z6_f*o_nyDYFCeI6V0`P{|K|Rg>-L|qa&Sq@FTef%zpR4N^>_cz+X0{{R3&}<}x0001QP)t-s#KgpU zdU|+xczJnw^Yioa^78cb^tQIPx3{;vyu9k_>V<`ci;Ii7xw*Q!x`Kj&zrVl7$H(vQ z@9ysI>+9>n!oq`tgNllZ_4W0PjEwE=?dCQh=_>s@$u>D>4%4h zz`(%V;Orv+004_gL_t(|UQN#h4g*051yFpw?r!%#V+Yu6N+#sxhcVcwOa&lfYU%5& z6&a1(h^VNWd4GQvq=~EbXhQ04=|aYN{fazmF`1Z;+miuBjLfyTb3Fip7!4SUy+w`@ z)8O+_{pI{S|06bfSLMCL+%2sz=c|=U=KbIM8!e4Db4_&5ZBM2KmY&#f6baTU+cd= y1PV%cx;TbZ#7#ZK$P45(87!VT@kmO-?+VqlX}q6#@|paAq70s{elF{r5}E+UB_Lq{ diff --git a/documentacion/extensions/WikiEditor/modules/images/toc/grip.png b/documentacion/extensions/WikiEditor/modules/images/toc/grip.png deleted file mode 100644 index ad0855abbd75179b52acb63c71f9db943630a369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e#0(^_^UdD}q&Ne7LR|m<{~r?*10*YFUlj%l zGL{7S1v5B2yO9Ru$auOqhE&AW9%|$P@|X^~d#Xzopr0CI67RR910 diff --git a/documentacion/extensions/WikiEditor/modules/images/toc/open.png b/documentacion/extensions/WikiEditor/modules/images/toc/open.png deleted file mode 100644 index 2f26a3fdcd7dd1bf38623176b4ce6ad245fd4e7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmV-H0lxl;P)X0{{R3&}<}x0001QP)t-s#KgpT zd3p5o^z!oZ^Yim~czAkxdbYNV<`ci;Ii7xw*Q!x`Kj&zrVl7$H(vQ z@9ysI>+9>n!oq`tgNllZ_4W0PjEwE=?dCQh=_>s@$u>D>4%4h zz`(#ty1HNh0050iL_t(|UOmnS4#O}A1yDXKyL<0-|1&n2wBHhX!g!GWBAYY|t5SMY zJG+KuT-v~=`R9EPq}LVf=UZoP#jkqqFt_jm8RFCS2w1V!fQMj2kJ7cU2TMWpZDbVE z!ODhX^!d_bI;*UobiP~d{#IUgfTd+s<^1&jKKpVI)&|8aal!BoM_8HC5~ckDnXLvY TYORlI00000NkvXXu0mjf?vko9 diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/arrow-down.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/arrow-down.png deleted file mode 100644 index 0221028efda7e8d02c66d12d6b47921567bad717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b{r~^}-Me>Z&6>4wXhK>bnUZicem9;`n*SMR6<%fBoJ}25M&TboFyt=akR{0N9!@uK)l5 diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/arrow-rtl.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/arrow-rtl.png deleted file mode 100644 index 9e61e2f3c9d899d27db2179a1fcdcaf4aab5628e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b{r~^}tXZ?}-o0B{S-ElJ z#=}wT?SN8@B|(0{3=Yq3qyaewo-U3d6>+U+4stRW@Hho(-c=ATVf%i6?ev;GERQ_p q7EP0Rz{o1`qDb~6+bRAfn)2OWnS}SPi;M;8W$<+Mb6Mw<&;$Sl(=lfN diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/base.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/base.png deleted file mode 100644 index 5c5fb2c9958f03b1a6ce6ddb1876f1573200965c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^j6kf&!VDx|O~2CvqznRlLR^3U`S<BqaTzg~R$@#f3VSD$~p`}XVi-+y0#(*OS5y?eLt)KM{@UQ16G$B>FR z+k=d}3<4sq7o{Cp1YHDBi4SS@WjEALvFvF%e)3nFrpm06lOg9=H3|d^Su4Kk0u5pC MboFyt=akR{06pwb2><{9 diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/button-sprite.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/button-sprite.png deleted file mode 100644 index de825702690e174dd944e8444dd2cd169a779b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19362 zcmb5VRahL+(gg~^odgKZ;2I>jy9C$4-Q8Vgf;$8V5Zr=WaJLZLb@0L6-MO55-_QAP zKlF5ey?4({b*-vZYgb3AD9K=;5~0Gtz+lLJlT>^EG=zacx_; z)9^MtUPW>KDYb-j{wA=OU`9Knpyc|)ndbX&DS6Zf%5eIqpsJs(t>sTGwfo_1hh;~; z6}3^V*#oCh-dl|OEc9qmt*(Q3DM1>3`|-MYi_VL_2{J6arC z&6l>l0}xbWr{@hTe?2oHpfG&F%ff)Z>R8;v0VhPmj-*JDAZSFUh+KpY$I>nT5(hz< z1e31qA##EuX3$AOS`CGLdW+(?x&?3C5I}!Dx{oBC$5L$Ut%^b0u z^T9vEZF3?DctHVUj?|vhE;unLFEUZU*AT4E$@Tuly{)*#f&wiO4caPmwmy zo|_8qGs7^PW~&3I1)nXt+E5;5(;7A1&Q*h8Kc`hFz*jvSohYlLdSr4rligi=3`zCJ zMd@?XrjU~peW>%&`rRoMEB3?op5<1-T)7LSi2ZV)(W(m*CJ@pm>C7Uh z6A5GqR#b*xdIH5ph&7r@a%3=W``s5yDy`TAL+fpD_*+}27FL4Bp#H(*<4R#>_o%5% zq^kcQn>gQL4^O-Nq^i@U zuN2j55D_uxXBS_e>EGwH+DIx~jTJ9+$;OiD{*irp=HeiI0^8-F4}W8<37RYsAqe>D z&W1=%IREde4BI95)oTALPOP50n1s@vuygW&AXK7ZF=B9J1qt*l=yPrax}hN=B61%3 z$uRsQh{6~qZWdBdQ}4Cm*`5JB1bIxvt!Pw-v%wFWJiBW}2x=hWv@Wmf3^ z$yE@J%)tI58N=87mBEiw8w3nsX_p<@AXXvo9|&+_qnSPkAqbFh88(vs+=?&lcRffE zl$y=j2bVZ(Ka#cPzbEZ^gx4Vrkl=$fCZ}kmLs-amXh-GeBZHyM2X-Mr6e}KkS=gUG zefpWXBB(uT8PN)et#)p??4yH$`^EPa#jo5+(r)6RR-d{L9F1<*=duya?#AARX#hGz zE1{7;vyh2zEU0Zo-2Ep>aO3OUVYt1sn_FLjK2fb5I8vkpG(FCj&4l*BN8qu>g(qB6 z&{0!TtbNZTEbkstSJq19@HP5DBX@sZQ;vt1?|)GZuG!tC-S^;E=(1#`dhd1-hNE?AAt*$=F_o@h57O1+*G-dLI{Cs-U!O4yb)Pq9zld4L{-nTwcwPL z&;I}Hd_bViAo{nLWoRwtYsbseUGLc)N0w4CId?>c!DXlX)Oj<`yz_>N1Ao5MVXF!x zJ*pxGR|mR7Ee*L}YUQ6_biu`;RS;xx-?&|N4CcZ9K9n2Z0AxL@iFjg$Ix%f*VDVKM zMjN*zby~8S4`TRQzmog(R*2jWmoYXTcHI3)NI^^;31!x6s;#PG2{TJiPhW^LXv0Pg z{XqZ-PiE3G9cgqxuaQ{W{*+Ofg(rTG={m|-nC!U9V$1aCqp91aQ7c<uO( z5P`EJr6j%G=*)>RPV|xKtx{3qe5juYhHJA)DPeL4UIWtF9SP~{idFcv@O#3eZzd`} zgn;6-LxXDs%6nsEZ{Tg%(JarP%%%#;UuSr(YS$n>b&y*!r=n4YV_ET6hw2N7WoLnm&Q;r4{^huUDrgQ!Z&Z(r z#{-RlgXjmpXcS{f188cad3Z~p&sv9VSS^<#$H&cfs>!=7qKjN8wIsmF4#0;Iz} zp@*sf)qC{~Srvkjn79pt^hMtI{DYBtTU@BpH7i61cTBBF+EuGFJnGAF-WD54bsLDJ zvmAYGEj3Y16_yjI7COyQ>UEh9eSRG&&GRC=Rhu&S3xEYINAabk!iRfizoP%@0TW;8GQ%? zDJg-f7E;}EtkGrS-ypG{m)#lnN4i;<%lE?0Bg{?ov}D}(=E*vh&X!ia(0RnYIMQOQ zwag!EZ8fDINgXQB%4W-0SIAhW)zm)%@OfyssIJ8SA&X$u7yp*b9-E5_a`6;!bhQ1; z$}cc=vk_jR+xA&PoZ|WtlJtPex>0VVV#oO{DqcprFenzl0i?yr^t;XEzh~MVHTY%z z)v84(`(!;)P3_j_8C0!X8Q7Oe585aB7a^*J|I-+|zv7Gg#nq#L;OODCJG?&2b^G-v zwYNtteJ#x}7r#4GZ967T|NJPgGfN7xb{tV@X+(C`P6AuQeE+erVoYJaA$Gk=&EAbm zd-x`&Jxl@hpB?^`KhhE~gAKt#romrm82gQfM|$Dcm@IJ2?!7?5!rK|UhocI|+ZK`* zocR%{88sO^W@I@b+?_3$HufRWXBap#@nK76GQ1?xlUsZ~=QEaLWWRxSj#D@iv72DJ>r`6w*&@F`Jggw)W{W_pAZBzq zA@Oc*HPiOe%sCN~Frn?7vCofo`qwXaFd|d+U9bH90RfZLwAt-uK}rQJYu1y*^ObM4 zWd(I^@zUk8kOOz&N=^L6BI*eO9qp2)!r!?Aj$NO+MUec@KS!gFLgo=!S*f%x^giTV zu`vtY&(3Q6@?Licg!$_)-bhPFrB@u>(nic66Hi%Mh){+>yp9}-jS6o}PtR*}zBzc$ zkpqdIzirgg@93zejGDr2iu>vbOdkvD-`$luSmYa7B8vBB`(Em!*mOBoli`JVxYgmn zn#O@N(Rqo=@`W*xxMX=lG=W~?SaW|=iPwTKX_^tR~I0JSxsdKA<7V!2Q;Z(gY>fCQH*R}P%UXO%|&ZuR1O z4b(8+3_&?Z2*y746quf#W(#%7^_2?T^rTWM{A<#A$oh*Dg)s+9tQaS9tH0-0s+a${ zTXoBAe5A|8k-CHCeLItddf>o>m0!L@aLz)I7N!lH?tAX9D$Jk-3TChuDCWn^=! z)GHj8XeEScAUVDDaS3XJ*LT0VJJw;Cqt&a-1$oq9bhab!GP={FAz@@>KJfGrGDL{t z%`e-;lhQ$5r$9GmjFm>=CmA)+MWw@XBdR_@Y0tFZ+tBmgpD9*O4P?pW!HU0%99qZW zOu{PQUF0PpxVRjNU}DVQ{jw()0{yE@Z_sWT3_0^X54V|NGkNv@M@O6Akq7Iy=7SX3 z(7@*1aekqCe^~x!{1=7RQwx%^WQV1YUSsaXqSeQBI{a8ov_4~)8S7k>a9Fa&krU~^ zKN$!{N1_=-j81W8ACBp|#VI~-!rqbceqYNH*r=*T`T)B>YWXjg05-scLZLTY0tWzI zseb!EXRQA(y-D`iB&4U?T6$e~8?$}?`VIXTN~R!!Dkm@V z^xk1#a}5qQ@*}KNV-<`Ux(VOk7bCbY>|ZaBROlnjqcIAR%=yzPg-GwdJ&Y}D|bVNF~qOi_g7^uSQOkRIbkYKg5ADL)C) zPwcMP=YAAofpV%8qYG&s!UEcwHM^oVI)!{+dpKL2nEvIvH8600{dE%o8xz^{h(vDm{a)FLjgreS*1`!CHP!XX(N47A0LT{j9ozzRP&xH4*9PkobqCqI8g|2oDFHmzV-I0EH~! zoMJ>VjG2&0NA8gLO1uJX*ti#gET-SLQ zz@9lW$uw7Djj)h@px*g=;4JFI);$La=j}kGl@R>!+MR|pL2v|}8vBekt81`yty72g z#quhOQx7$clRK}ixH#Ua+iBphuNC?Woc}uqhF>DCDP6-nzf?1?gHe$vm?!6BKxx2G zynlg+{_mknJarWZ}J_#c^flNI9B4+_91UeD4n;5uV=Hm`z7vvARppF1cVt za4pbaxJ21haIvngl2Nb5`tv)#_7#~W^h1L*lOLsJ`qsI$3sU_=S1essmjCUGzC<2& zdWN0~5UA5$-F)A{%Hvp8R#7EwcuQ_(t9v-I_#k0l^Jf#t$OYIWU;tRq{0PWuCo|rs z7rf~;`RVwGe$dGIDnu1VJwV|ztl1q^Eheq!!i zY($fef9C`dUF9-nLjfZTgouDrJM_y#`Dy?>ifP@;^oILTIai1{zL{|nVaaxyeqT6c z@7>e$8ZjLVFswFh)gWwJ2#={bNMDko( z=OSW`9<5a>PaY^h&KTRpNgZ%(A~uYtqm8>jHUB&%QT1rV{3{r3vvtZqEv}i@&=BU%jOjp0Yu&~HW(ULuBEqqSH1-Mk$y=0S}5^b`=^YqYNXn5*dYcLcZJ)K4+PXx zHESm!G(GN@cp_&@N7-NZJ<5HaRO-*2AKa*^|B3Jg>{c|OIcjSc0-1WFqVL4@d&0yw zpvJjo*!dEv67G+#v7$mW4& z4`%UeaC|J5%dlc(`tLKvza3j9gN>kSQ)53w~r~qBqE4 zh$d`l_&-W|Gv007ytNW~DWyg3Wg7(6p=WDoYWA2%CDHMQ%_Jfv_IhA=-~aux0(wBW zcLWoT!~XxOM<_xbMHB8symJ}=4hi7-)iW&0bfw}AiEte3mmKGppwMByMk-3?%Gh6^ z2fTaN-c;VRe4TT8TKHbZ{a;wgZSyAm*J%Vio`U%dQ9<~xmn0!>=-KekVuX)>F6x|{ zAt4tMm2B1;^g^cL7Tdsk+g{%bnJg(MJV|QW^qwrA^Q0pEVcHk~T8H5oCZa?F3v7`y zJv<^JLM`BDTYW`^!&Ol%Ld`T9BX|~fmao2fBT@e!A!o#bE}`_&e#`xJopO!)(Dc40 zVCsBRkrDB_yDO!Y*(GcR&pLjlrZF4CBzRMlow6e{6k#K+KqP|%UQp6Xk#$T_8< zB^`QaRqNs7_H2C+Z&E2O2Q$VE28Okb)0>o*-Vua1EL4Il*w9Jz_y_aOGmIcCVsca- z1V>UWk&q~htPOLS0v#YMI9+noJW2d^1&gWak=@!)j2^~01s4T7z)wq{_OWm0_UEI2 zCrSjx=xS)cA&!2W<3Afh_zv2b{%rCJX}Dw8KEQ`=6>V*Jv4$ftNpaT7193>tgp#2x zb#lHcu4rW(Cyi?9N19PK=n$ku2vji1!&nYJ(j&ONQm5&hQXrOV*Pv;Yj1>*4<{_8e}-X>fQ=Wq zAQ+hde8}^>+avJnW2Ub>3mlmEVWC=3V9w0SC#%A6XqE?ewrUn!aR6-(hvUk6$;-KL zVJASPT>5D`IrwfC+q#r`Dp`joRo5niv!fc`@9T2j9@je&KC>v`ahENm?ouJ) zRJ}X{W6Wn7jNVbvj^6b4?D;cQOVSH-^H;@*zpClT6%K_2^bw1s;wWzRx~|hTIe?8{ zK%fuRC|{Ey2S#Dc3OIG>F8mL%W_YLB>mb0H_xO36{mUosZPmsKZ?G(*qYnrT)5#wR zPZ5)_^)86+dpw{=2dP^06NWBPI`N?Zwi%hvJr;Y=UbfNrKZ@X?-+1&<=mwvPyMSJL z7W;FQ*HoShSe1R#Si$#KZpt|Zda9x(sJJd=2?MfHh1^u0L*2c#JUr1v5hQ{t;gR$Y z8%QL!^#yJI7@xaVSfDtjCJQH?p8Y-HJ+`@O(J#&Xkv4^Fk>fsVRe;RvvuF{OU}~^ z=lcqtF!s{u>;&kplBs|W!}#4@OP|NB zf98XiB!s@fhV3%KJQ-uf!UOMQi6KJzhe)%i{U18*-zLuaDIJ&?v4Xv#iPQ55%rjE=Ry&+^Np#}HQ|4n%*P@qlHzSy+ep+nB5{f@&W;<^-R zc#`nQ+L^Mm172vmTQ3=Y!dQpiWp>aJ(_^Ey{J_}w>=FDSC#^*tAbGThd( z-O{tz(z;K@!w!DzabzwE$=8DYeSGc~uLgYRIo}2O|I5ai(-Rg;{16x%&Y&NSc2!!` znvMXzs~Ay?L~(hvqaeo76l!g?KK#jmHLy^iMUU!*trg)0T06P|9CkQwT#*9W-)I%F z4<~O-lxp?pNsLa{l+!yqL58k-uKb$d2%*;9uT@#f>A1ZF27Rk{t8ca-rCT@Jf`rb+ zw$yR2yZVn*YEIXgwe`)v_{Xyfgr01n4tyYcW+_xAkp0yRM>)5a#<>>giG5;l+*3I& zD_g49)T-a<3k$=BvS4SJm8Hei&sleA9?VUWIybPIFDukgy*G6Ygp|WiRTUxaGMYVx zUsQMzLOmeQDNN2q<@Pj_!F@4|Z@6xgrjx}P)~r*Pq8J~oTzmod5dHb>+;r#j>lIzj zHW~-JNP!EISrL&Kb|N}rupvP?{fZ*LcH1e+t3&TsR4qp(+K#%H%JZ$?`GX3oxE*ie z*zloY%%h{ayk6s(LUl<=2DOw=H?^O1zGm}I@q0kV!9|nIN~EpAqvT0L3T4LaF}zAd z{rf%pDbx&W_BB7maKVCVW&0TQ_4W5OIjmko`5!hjt-%h=S%Pl2)QT`mlT`W_OMhgE zYa2IlHn)7--D5z)o|5xjQtxGlLnv?@asm&hTM zRXZ~y%xIvxn@cXHQlI}(b@E8sfwPl*D#8CxeZ59(GVwjm5#-89@ap*Wvcc|6Q@?ih zZgLpuq1K|wWgwGJ#>Ssq2{Fq-1h{|o0A5_0zx}ZUN@0#Nt!eDI_ZO}nS#{A*{O}Zs z0+{v?%QVORJUGgtQkwytx0l5aZ=k zAX*k1zV*|dz6h=qMeG-*!>^KlN0>62z^S>pn~TmRek&70$EA~zl!WDzqM|cB+X(uk zFdxC}0*u&Lj6Ht--M)dbKRhqan-v3YK3J=**Ldw$M@!#8hFvaT6@{2AaW%gjH8gzI zsSKA_6<{Ba{X)0ZgmPt`>TXdHsNr`>#6)JYJC+nYJW+6;X#%q)PAO9wQCxrw!w}~1 z$hdyaFZQO)Dq~I}I9-nPA?w70ev|WmTnWvr37au+5ux_s1lUmPYWR~p#>OZ=#u~H^~L`0o6 zCw0A?`sHo?rbniZFx@nE^0F(Qdwi}bI(w@ohm<<-A$a<^&*il)p{lYC+6R5P9e`Bs z=?2I&XYwsxpWZseXy{hV);?ENcNIlqGUSq9Zp?4`mVV@|`V zPz!8?w}?;QMO|slH|6Vk`TG|`9jWZ>GUTq4ToS{e)jNy_^cU@>bnz=%s@*;2zXpn3KGEc({FyjfmWIF1ix;#iFyhdsnWO(( zGR!yT<28VJ(;%hFz05HbN1gcl`ztgqNqh^YR62!EF*-|WYRVHXcKU$-$^MBDvQbra zWsWQL310f&fwal_)eJjhk#bI>N1{;r?2DkR(3_ypzyq>D&(T$KQ#St&fP`eSi7?bH zunN`iah1vBpX@l318q`eW0j*y3ZBHzIW_+En_rRENEk=LkSWSPA$0LvTwMhNvY|-( zW!Q9DDalh>zCTHN=oDGEvFCvM-akDZ@~+xRN#um2^$SU_F{wulrI3+E|Qkv;Hg>T*{|>8Oq`J(F6tbPBHsLM`zw3 z9k$Abl9i~OB@}x}7|d+j%&1?YqW&Ca*1InQmV1l4Ui$q`=ccNn=jrqiV1Q$)Ylc0N4UE61c zc7GYqp7%Y}_>YE&1ZaYKI4F}AB@qi$DdvRkR>7S%@8}B84c%CyyA< z%TyR9^&94;QY_1arR^tUD>t49iX(=i^8^X4aXDCi=f2dnGRq7MUrl_JG%ejk6F@(qJbD1@(;7YEsE%2ljY-g=c(7?CJn_&un9T1Gwk7o#moXLeeC1{5zw?hlYlx zsS5bG18taIH}m56WrpNs*Wo0$3w~Hq)AG&Qs``we;XQ8vv92U#F2mgoeweok`z2wW zE)TB)o@w170J9jo@NW1H=PCOdbk%>|*m%9)JW4@4sfeAZSzF=eQrMCSQc{ccotmaG zk?yO;u4}F-Du%LJqb3=em5i%(r*eazp_h$ZwF0B8X zdsp(F13bsM8Y}B!wz}>z&7KzG%m!MFz8A{Yeb&Vlb^k)dWXD8J>mW+U$bttz)MF}h zaF^x4*uVeqfu991sezqAza&beK>W!+H_vpg-jO<=rY#P%6prV#?yWsH<@l?S5rS{sNxmhwAl+~=QttU!k=Q>AFJ!EIMQ=%M%KTh)g5MM zW~O6?1y#d_^lsSA%y2k8yV){YN>Ys_B_*XTv|pgc2L1G)(o%ABlDxnos^!O?4U z5WzzZdyM(_w_r-;+=2+zgcSZ~6isU@|04J;AoG4p&)-*`6$`v04==8Y3)HrxD(M5l zqT2n4BChUB8ahz$OgOD_Y#&>LTai2~3e1aZoL>!9oBApK9E+IGSgyG`pQUu{89rC4 z;f_UzDb&3_$W7*R;2@qlKDBh%G}@>=<_UAyU#-ZJ*ERWRpMl=mSIjNlG=L!bvc>u+V5A=H9xY^*5#iS-scoweZFj=LstO zhwZ3PbxwkKQnKVO&Zh2l&CI>Gzoi`N`w*PWbp8o9by!ykF9{mu9GuoiU;300t}U9u z9r~0$UoJ9oG86+neSJZ~D9Or{QhgRu#bR|V+9b3yDY!a}xiP_jYr+T9C#7~T^mU_O zg_8kven#0i;^ovqXW}RBTi<++K_7D8+sqb~n(EUbxx4;=od@yQ5 zCFm81xH$k7VFdXe|9UpbPqozp$PItjPhT4qBm>sUR-f-oVAZ_YVFj*(9^V zspXiumJ?#Blxk%AS^0)Vr>;>L(JM@TkBN)y#L%BlA z9XUkUl;5035;c!H9wa^jSN9koPTz=E9_ZHj1ytSDACJ_T*InL@iWxY@_?>I49b=2f z`(?FU&>zYc=~kT9$~h(qb}YoLBl}R%v$Qj!^}4(kAfpA`eFD54yG_gHg<^jzLFown z^b;1g6jct0tpZg8Scd3oagBngEz@V#RqY*7Ca0 zY}D_JmA#D1+x@eADyx=;_Ag)egNog;blU?uc@Hw|=M-i=_v`zw0gn&(jv_HPNAm~& zB5|Z|!q>gd7R@|Q7V?~$>}Ps1j^-TmS=*C zqez)YOEJy#v8XsBG4WHulG(qr#Wn~oUbfn4%@&aes9nix(ZURX{E$%Cv1>RyBF2 zurj0Jn{COX%=uPzvuiqZPky;Ipm=y>c>4}`tNudeU41eWGt z`Cw{h*2F~qg|pr*$#SgMT?soM@DcCh1!Oo1^?`ACw+M^CS#L`^7H{)n(8XMUNm8~b z=l2BAi{K(vIn&$7#YJ^mCRzk^W~_Nz-sW}cZ?_e8s_kVf0FMve08hdx{g7|QrFhr z&;0jWQ>)Aq88p$^!AdeX+I$ns17&jYU?GqAikB^n7JTxnrK9+<=`^`-L=z?KMr2PIO9^ z2PoGnNBC^*Dd)|`x9DcA{3@J`0)w*PF*P~4w7K3rVH^;2=i6~XQ&?Db4J4a-kT~ym zA~B00;j`ceBX|C3wzjiZh@qsU^gBSW>N?o{EsB)oJ;xk0A>?^nn%NsZ*Q7OJ$3h}# z{-dnf<`k?@P0uv4)Z(W_Hz!oDDEsnwSYFLtXF0(w@)rMgZ?_BUg1e3j4P(S4>s z>nvaMM4bvKGFb~eLg?_l6JB8L=sK8TU1ecae451s@F+XZsfl3zx2N-d?Ry@TOhdN& z4(_{l2FWP5GRzQp7-o`ZX}vd{=``D;;vJ9q>F^ zs@r4gg1*%r0$T4*uf`X?nkn>3$3jZx*HyV_8my=Kj&6nt>J0Xfday{j%1nBj7c}XV zvVTsTL5r?}*E`52{_K~Ol&q|nv4h^&vj7AxLp1SF=Uxn220owEae%bH^*3$1E@<_1 z?d27rV9x+&#Gy003Y3YF5p(~U{61PH_LPi}aOz?(f$H+XzuX;!?H>UVU}t1k3&c}Q zBe4n{$5LoD9ge)TAeBCRg>f~5j14GXEAn)i-eA$3(v z*N1b8;EaHdQ@xXwjy=VJtuJcb*&Ti&t}#wZhNr3y&<>vWMb2lPInw_iCE3n$l+8h1 zEk_N{z^_P%YuyS?aYVDy=s#${B+crPU>(n5w}_H;gn+6#IV@N1@4{mVOmyFsU#oW) zv!6N5|4%kgHSkQ6Rg!fm{?0H{#0n60{b{o*yrWeHuwE7RI32aKOpi>Wt5)y6;aP1r zzx9Bmd6M$4l{^Ml3Hb^6-mPAZHb*9jw0hop7`<&IKr>$9K%Oc$Xzx+0`Ji#xkpmx{ z!1}T1u8F32^U`HYq5PI%1}L)sF>#^QA!+i@A4fXnOclq|Db`yH^IK&5McK$PJYrHI z`J1rFhPQhZoEU?SeSx8qr5B4wpjKLsMA)xwPlhp#JA#XZgoFS+YHlr6)eDn=;`a8- zjSj*zIU9(QNnYMv$!VTlbv@SJ+k-M~rBPQCP)e>?$!H=?X!*Ah?|Q@`Ce`a-v0zs8 z5D+*Ov(!v3DjJWBXubs~7jDOYw~tr-{qNsRs1vkB-61I{-Qy_v)}ok9NT&RDvc|3{ zD_~|u(f92&`Q29-QOj@r@cNU=?Sg1$U}lx{jS*@)cF0&>i!phSQphy zX?g9>82!go#aV{utpNx2JG7yp;a0y5RM^?sBc2lpdUL!hKzi8)50sM1=lIW7td_->|K7#4# z1}bzLUr{(c}rcWEr2aYNvC#Mq62?ZJ5|BWuID485#?fQKU3pcv|)oe^%S%hjJ z;XR`snOR7jS9d)W4ULZ{CQMDRG^-f!d#I^JOEx&p$@$%#sz*SW+S)55&L8|OhiA)2 zL*YP{?ue;zq;`l{WcJzjBT3R8;U7i7J!ahg%&+%mS+cgaNHpBaDu!#abFe|s7PnNN z-IhIt*P*Sl5_-rxyG%|EXTD@Yb!#@^qY z0X<9Ixq5)pD-?ctCeDHjijR$bSVJ~!-K-;uy&toK>=z@z7;CY?v65M48{7v?J@jtd zrUrU4ciH!$A{h9+U|7C{#gu#O9~6@S0X=(r_`k}l(n`C8E}CEW5}+fsc}AcE zXPxBaiUVn*xUM6+kgV!K7T z5>GDJ=;bD|i?Nvs1^5XBOj^#I3t>m)K;kqTHjkI2$b6AbOq? z@ESTSH*($G(KSD9F;XwWwh8s!J1L`jilMmMpHC*EX!vTjt1#2xhgI-Bl(p0R{R=Ip zpYC{cbabR|f`@LFne`Mbqza|uNGR;4LoUj$pOR;53l04rEaq^6j2?&B9~c8#FT#k; z`~Lmot<-H&?QP~oNJ%cEgU?AzV~B@L%^q-Y-fx;%UelzeH`vV&I>oSau-9MCD90Xt zPC9x5_!}GgUr0&uSm&BZARhg@z(GYp1N!^7cfKAnaoH_tICWiB9TI>7pf9^Y?!Ngp0Z}o(;Rp%yv2X)&_u&xU2O(Vt=3~u<4B;rocOLYNEtqBD2?C!) zNk@bp3j%WGm>4@DNQbX}XQ^CPyD^Ldb03!9Ps7RBv4qdRrwQ%(x)lklObEWUr}5e( zrU|+P5el3BE?q)8tQi1sa9EDBdsf>9(k&nz_IAA)oOQf)rhIwTPNFr+YdD(MI)N*E zd)NXr_*_{Ayo~Wz>a{i60_Y7y_Iw-cAWN%ne*c3{d{0bN<2cJUB5c!&?N-kaR#6su zig9&~Yks;45mtdZF512ahWy9d6RNhRfim!QVC!DzllkIg@IV9nGLr4z?IFwiefiOd zgo4pNd?Wic?<;1iNu(%YmE8Z>M-))PFAku86rDpAFS`wV>;=4@zng^2cR!CYAlDWy z+Za$18u%&c*N@!%e9Ej+tXZu<{mP8}x>b2F8O6f`!tP$v_}oDBnw#&nBF`-^3(I^>UObubx48sxna1sN4w=~pN&M*$PhqRSa)Z~0+s)SGVtU3!a)+#i0sq) z5vM1LPncOsQjGV1|DC+3+O^webzW~|J|xxK`S2pSLp9N3EHlZ z>thhnj%fMozn;_DZt}4VY|RbjqYmwcfCNN%_@JUVeaoY>7;il)6>^;YedO39`BKextl-c^(o zNP?cJT!5iZ6qYO~XBfA%3PX9{TH#k5ZaC8Lj{?O-i$`~f6wp^bpejZ3rKBc36esWe zJi;waA7#yoB(zN9q9*RI`Xd8lOKcQ}XSw|uzeoGvRG!4g$5p%K)w%JB0r+8M@sRdT z^(b^Eb?+o(F8f)9G{2^D#F7ip7X6BP)xT!BK97Tf`znJuau!`helOK%`C^7v)tJ+a zg>QUxaS-2&KNS7J-I}0)QNT!F9=ztP2-s(CGPWDux4JTF8iR?r7 zG<=sKGNr$#RV7Ob{$P7mU)HLH%Jf-#+2k7rP{@qwN;5F*sJ~a=Wr)bag0oYn`UTf| zovL+VdOH^ce2K#WYLXGNVi9eQeGsMpFIsEWEUMSl~ z#L!TLKf8OvBl}zw2#3U2=>_m1iI35D{r%>50)H3xX%hz*TAx;nNjCW!6R_0e)D#sJ zHQS`zS{Aw9v4*{~y$v4(*bLLnYNMdqN-2=wLjvmP6!$Arj|`9Ce*Ro_y6RizkZ~IoRi?JRhYuvA5=Jpz)-qh8D&W>7vmY>tvYFBCyo}7d}V} zqq|hMyvcEqk%`KzcpR9)P0Hml%qcV18_|TbovfuW2Y$Pt7<<}*qY7mWOZ5}8{ zk9z4adUr|BWK+7~GNP6HOr^aEoiYxFhjolO5+U&w+1dH~x(n(!*Cu}P^Pa-Z_>0Dt z`PD;$9y+>)>4Vp6&7yn(gR|4%wFg@9E0Lq$?{e_+SbzZsG71Y#Fpqq(-+Ct$;jRZ_ zCAe24paFLdpPJ}de>Ql-L~qgwAw8J0n5Y&Gf!E@^9ls97=}4}yGf)1hS(5#+-C#=F z<|E|b7vr&_O6943dE|Pq-Tjck9^-8gFJ9(wYJlOpx({v0yViO6h4Ps3^u_9=)oFz; z*=1^~3^setoNSaG2)LuAre0`ulK=5!Y_GG6X4Q^-#b4zLK+?N?4s(em$s*1kSdKRC zt>@9`QFDJRSYNN+=z6U1$}x{43y{SS4_D9HySSxXNRDTg?IEsQukP`^s)X3RNhYpO z_`_BJTCwplNq)~WC%tj?{Ew39d!5OQZ=LIoT)@*w6Tipd&!EIa-NR{l)~N`Sg7>nw z7EgY30Kls0c`K#^6oFLgc^UB7#T5YHi}UkW=(~+n^K*mp)$s7}4j%A7zbg}Aty_%( zq`p_G%N0Gp*%hY32!$u zaSF3Q3Nx!jxM2lpo2T`|CEik_!}8s*dO>qo8SG=rcs9q#3ivF*b}~1R476?11bQPN zzIJF@*?rZ`27~gl{dRq1xMZrkwzth4)-Ef3;iVs_x?W;~j;kqovEcWf;hsHyHy1p9^I_fZf5iCriyIPsR#l?l!l63U3ohwV; z+}iSZSa690VT-qV92BvXo~){_PjH4&>A4$s$DonKw;Qx6ghuc3NLW{-%`pc1j@p_dxM} zbxdb?czASIG2?o1FK2|HfINPnASMRgz`dce!gaLTfBfbb&ZMJdP{cdQFZVBf~)mXqol(oUx<=nlFzx zZW*o)YwbGnsVohCZHsru&=t4imRpY7x?2Hzw-j5-_l%p)Wmojxa(=SbvAobIvD)SZ zxjvX#RlAG_Kld^-?dm;#=Z`ZSTV<66FG5h! z&~6@&s^3L5If-!0xm>Z}punZc)xA*ma2Q4b=(av zbq2IO8QR*GwfRQI#idxVMh$G$6zD??yt4ScPD$*?E&kt0^jtGVit1OQY2KR`11C{^ ztJwj!I$44~YLO@?rzKq*VZ74lK^cGCLGQb z$3KC0^cw9;=PUKf>M0GB;^0BkhDMS zW;9|XXjbVn;HVUiFSDRFLX#Z&O?mFbXFv7efigmulu^M`|$a^Kd;Z{rVBPFDPdW6>1w7C2okR@RABTs zKuI`0JjU6&@WPK(_W7158C>Bb)w_7fpS!qp=WK#(8(kUWq3l+VFx4d_agIz#M8{4?IuH8otT$~ z@jF{b5gfVHtuPuerH7 z;rFny#+%n`JK4jVc;N^)H8^!5aWZ_U<{WgK^c;Xc<>lr2_=SNkikdzo>;rD#g1_L8`I#D}Gk%e#%7B5Vs{*IHUpT?c=*$r(XUiL#4)-XPd;zX#-y)`4Qq zc*#V9Oh0M)_=yXTv>_+0Y_az4rDL&#e1?HXk!w~9ioQ50%U~q$Ne7H`*2IDLz*Lm#tLRQ8SyY(6Pox-cqYYY!{<Xx zJ^E7)zJ}lNE-ox`_2GV=9Ll-k-L>YZ9(ll^DUhy{w@y}tUT*2y{)6wgfMmRK_S-!^ zexwC8plR=|@9i=@GEY__Az7!Y?kSM@o^x|rFKSE9;+BP38s?TTay=l2!}u363?PJ6 z8CMvgmX{v3>wwp7ESUFKYsFRa^m~RHOo}Nw}81@~j7g zn&=yo>gT9bJ(ISD?}(#kXRq|LF*6BX`l#3?Gefrm9R{x^ajCUiehfmE z#=y`kR%Dg#W`ot3lj=>hPvKO?RiKO$qBC2CoSykL^L%LbK3Vz9ui_37l&x=obzjm| z$unmg9}>G-Ypw&?2T(XmI_b`x4+~<4ZHFJ74&NXK&NsVH(?L+A__i7|Jw3m-O|m?! zAX<{PHIl#MrSEN@{(=)&4m@>BHrVdxV~fa-X-Cg|obNBAH$T7e)h>ziPx=?ovG+H= z8AT_$PPc327!w`_r%Z$n0!%>7I<{8AA7VXeY_v+UgGP1IXgfO{AM>q$CHsR@oSz4M z(k?123~bLh5i8()QGSr=U2w0`J`LYLuShp?dq$gLIadNvR&2^WjNUrJD;^Z4(fmsy|Q~RK+v&{Ihk?8R_ zOlKpvrlA>bBI#Be$@ZVK;BB1vPyj$y@)l}+g_9#n6$ah!06fbV^m}8Dfd#<0(#XNlokk>|`P<6+HfGUm` z(~L`Kxhm6<3SKC^e%gOcIBNIQy)mX*_OkSS1|z`h=Cn%WN*5GB-1iq?qDB@Vb}ogt zY}LVDySTW3bKfyEF9nq2m~q$xHb1L^rNW!U4DObMM+b{-OokIJqrP9E><7>1m3bsI z*+(SSD+S@ZJ*%!H^tGJ$?Twdj0Iyl#ni z1Nw$&rS5*dE;r+SI*)uz2L=SNCOc!*;xn_f@5;~S6A(MGwd{YKQms<8AcoDh`A@-A z;{Hw%bet&KDV#rYkOX`#8ghJ=p@;y)8WzYC8NYoG#b6NoH83k}(m%FNTcjf1CaG+! z!ApJGG+=oej{`9%R4I*?C@c(8d2Cr!P;hc>@bFjR%8DG?1FLF+vD##b-7z9x(XTYJU!Sw!-!b`Tsiic}M^N diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/example-image.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/example-image.png deleted file mode 100644 index 80a21c6a39c3e046de9f36b821f1372e6a06a667..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1005 zcmVsNzo4@uuvEOZxoyi?>6^R}wgdz`*K#b8Bzk zc|8CB|Ns5`J(AMSQ3k2Xb^ibTK$+dvTN2+}4E^`>Aj`i`~QCx?jfnM5ArZ_ga84&_3njDQZ``k{V(L-M9#<$PS@m%NsH2G zv>MO(B3(v|zy>L~A_xTO!32zak*+mbh!~}u5g1*Wl^VG=(RCo{IvUTVQhrUa^xw>i zk|UzCf?o-UoV^CSI-Por>)4 zZWBs@B6lT3EA7EeqR}Wi5!r(%00{~@t>cA|LV1s`Mx(3vB&5Pd0SR;=+CzyFkjaQL zIR$x1I3R)m#L?~YWg-1B5tpOtI6G2Fqz4QjO4yw<(eKyDpwu!Wdt-2qLJ$UOfN02F zfgol}1~Hw>RYqiY%cIgFAqY|Ute|j{85ikvYF;+v&fZmE5H5nS!8`9$UQxs#ev}FM zerxZFW)+5^w6F%!CuUpa9%T6c#aWQOF%oNpFk04N1x=Rd!G>SI&w^C+t_orlVK9O4 ztYEzIs7N8h_ir*F>qLzp06|T3SZWZ0Jn67t)a!2;sGz`N=(eCMdK2-J8fh7$Kv`Jz!`JWGMzKlxB010SOLfg~+Tx*dE&|5eRA+ zqu%^Fc3!*~O7x1DmF&YBOI|r51m)fpDZ?-XJurGmn=)t*%G&n^OFuS-^sF3_Jrh#I z8c+svF+OTA?9$m74&Of9klh8A4kApEcFz!lo_4G3-)L@1Q1r;P)`chLHNc9~gIccXxMpcUzbDe}e&%Szzzy z+_X7q3eP9=UJcU)Lj+43(lsYt&-nCwPZCZP+^03lTVq}6*6650FQ zI(<$uFes(y#PDDKU%ub?sQ{?{#i`EW6T>;NK-87yzS3+W#_^zhw0tITJd^FLK3v7q z%_pcNdpQn?IzB>36my|UN1Q%5)) zhS6eQ>kHksHG<0onj^htk+HHixVVLcXwNt^OB)wQ#UWUz0KKlKO z^6~9fvk6hi!$nd%J;Q8l-d2(;hY#9qgeIpDiAIr3r;*O(P_NZcm1P7N26~G%)e{_x zC)y1~0ZCH3#GvM-POpDwwp!mfoUYen7i)Sx>MeS3b(JjEe&Ui^nss z&;P0gVFd+ttP&!3F2T-qk%@N?Vb<)|A&78$F=*u T*FzI200000NkvXXu0mjfMk+6> diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-B.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-B.png deleted file mode 100644 index 45be1de6575758d6024f75b64a7c5d849d929a16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmV;h0#E&kP)0t?vIrQPkgBl-j7y?1@n+)9yD@3vp;tY7@ZiCEF=@Pd zFouhX`8!inj;3Q`y!7xc-^={+z5n~>jQ|+=7i;7Q{v(`P%A(e2V69pklrOIiily?P zP~=c7mB4b`mt-ol9SEJziH0ro{7aAj%*RfrgC~z4fn`~k%$Cp7v-JC9GKux|8_4FC zK{NK(qN7mhCM=Oy9Jg=X#N6B*MhPM<)OFP4#$qak*0lzlE*Fj)sI(}UIlbV{^PP6L zHo@3zAjihqLY=nR)!}FqmGTNs+U-zlwa-PtPM<%(@tNN3_u%$;gwD!BJ)F2?&gBbW z^UI(p3NnSFFA84p`u5=m_wPaIP;WGEgu)Tya*^9^w_EW0e2~fI-wCPAAPRPPe#8A< z7nw{3UVi{W=GR*-)T&kC1mEPO(jxlu4&bfLJ8-)_P-!&pwA%3(Cd>5hxnK|;ulI*( zW@bl!!le2uxYym!53qR@iPChFcm_k z`YGcuicB`Qd-cjH7^@Xhne6MK;lyID=;b{*h9lK!@$ZfolZ9(mC6B0k^_}mjS0O0dV>LcZBIf-clZkp9zFE`5B>$- W7u-39FfIH50000XP)QB`e?p|Q!e)YR1f zvuDoypOBF7UsvDYp_Y!$2@Ngn6FT|^&jS4Y|C^YZ{UJFhgv7*^ZEWrS*VokicW`w4 zFDxPHiY%|KtNY#9#N=?9ni?4fD=64G zIXnMvtgrv?>hAtuMoBpiSzb;_MM_3NNsDxY6uyc3yO;8W#{J3^Yrnppvd5=%8LJC;o<*HEv^0=nVS7K0!EmT zvB`f`P3;F18C(mDJWyB*OGxF2NlA-}Nl8hFOUp>gC@Kk2WN;nSU}<>;Un+&MqOFs& z3nEo0D#uX8Uxy642BcrccTH0TA_4L2$85sQ6(bM~{tftX5TF?&;g8|f4 V4U4H7@8|#k002ovPDHLkV1in{0PO$( diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-G.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-G.png deleted file mode 100644 index 39989b421d82c7dfae202f48b8dee3d54ec66812..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmV-@0)qXCP)AO>OP}rlzL#KPxNizlM(9e3A@S*U@XQsI2_o*3$f6*TCSJfT);0Oiol%I@`w9 z_J2x3{C_=tga68!I*ddaETy1i?CItGfA-9o|Lq)|{tHV;S);2_P*VD@rLFy6MqZ(b zXcueh>dns0$@yPXRrOz6PyYorO;U1l4q{T$IwXa$sfFdu+M4SBnHd@XwRH71Q!Q1P zTUq~TY^eXAlAQcsLtA$y)eJVZu=rVDSNlITB?ahW{pm1qEj@iL|DfO(g~cUj@(K%& z<`xtj&Cbm`gxJmSzUuTgMpgYrlqEWBhS#(>=8zaP*&L-7#R3JG$i=Hs)puCqJu(AO2*&W#pQoT zTkC%}PtX673W_Gk@@kq|3jzWH{s#pH{0Fjkkd#4W6_s{}g@*pGC@uZ(>ErXj%P&v? zZm_n_yilNAXmBtva&-=ooTX(I6i<42c>$AM`u~))wEube1&8Aj6Ia>T+WiO#4*Kul zVEuSdSL;17|P* XQc(&9I(Ct?00000NkvXXu0mjffO9;h diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-N.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-N.png deleted file mode 100644 index 4d34a5c97b42c9535f454ad7484334995de7934a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 702 zcmV;v0zv(WP)FNKK)HP?Kt5em~++}5L{a;c}-h-$xmXMWGvv+X#9~d0+ zKO!>fe^*EQ|FH1z|FX)eamebl^z^nm0M*GWtGW_pFwg}WuI}#tP0TIs1B2#lVnY1? zriO<9mNvGZWmVK{Kj{nO_ivP#P#r-$4wrK~68yK5z zCE3N^zP><%o$kTJWE2z*`uqF;udb^69~2V$KRP}^F*r1Anv1LJe+5-_@(mW1lHym_ z)Os5q7yG}Yq~w2MYU+{L#KZ&6E-sWA48mek(h(-6rvKAYQvQQ7QG8<3e;Zr7{|YKZ z28EQof|{?N-+w0;mpd3qQAT!xy}kYag!s7sk&%)AEr97=UPXmCgT-a!)e@6a{`&<4 zKENg~uc&;=)5GI`TujV=PzI4#CcPY-nWs-N?lBzp9qj9t>Ye$t0+#s{L10 kQ~xikpyWJS(9_>w07oUx)O$1?x&QzG07*qoM6N<$f?kAM?EnA( diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-P.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-P.png deleted file mode 100644 index e245e71a77ec04216dd40eb50757f6b958b1619c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 597 zcmV-b0;>IqP);wHKNXXZkdcy^#YmFDimGah^bL)# zq@<+$pFL~V|AvN!|7I4JFLd<{4_VpRd@l!DP*+#?-^rnczF1K8AZi~AaM~1DQja>v;P%krT^pN;{K~?>+B@SU~w5)IWu#MKh>3$|05zI z{wt|zEP~0YX=)t|4hs4o5gztm&%p34Nd`;E$}5;#TK%mBx;Qd2^1q6PCcJ zxQCCgx4Vbu|D^c%|K{fA|E1*>rjTWDbyd~>yu7^so<2TLqT}MOhXKPo5Eu-GhDQG- zW#kT$oIzj)SC*ImPfkw$Z)flDUms|gmbUhN899Y5qLNY(WaT`Bi!1+!0b^fQL2)Tn zvb3a}g1m*5^&fDmhytgIg;X(ER9a5a%GU00M_cRvcwj`SYHBT^*kBD^{YqUUqn$A^ zG5<@8i~i?iW&O9YwR>V>ZZXT!*1mvjgVnWkzM5HB{5Lc<{tAq&FWNdfpY`<(e(D(- j{#Vn~zC2pc4-SI?N2COS3#i&=00000NkvXXu0mjfOXeSn diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-V.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-V.png deleted file mode 100644 index 9dfe649b2d2f3e4498eb20ab673b0003b92e5140..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmV-S0<-;zP)rX|LvVzo`U3U9Go)zf`b0%=H>kYs{5Fhp7Gzz%IX_I zgXNS}me|A>Wa zHMEMoy}kddYiTVcIaP>B$(Vz@T3cQHKP)utzp}bUDNN4D)a<0Qi|c)lAETE z&e62g)c@I8ng4YS4Nrq3PfgRz(aHJ0v5DzRvePlpMV($iFN0idXYcS6B=#(H@&3Lw}x^}8M zx?^>=ma0-UTRSV$X>~ix?q*p#{9{(9wl+H+wf6Kk^Si(EJLlYczu(VMaXGPgV|!zS z5S|&w;KA4C<78ylOzz(99*_l=DWNJ20^KJM-9ZE0!g=;#Oy^Yim7D=Wsv#&|p) z8uaw^pd=IumzS5VtgJK|jkB}!$jAtkTwPtw&CT1|+6V+fSXdZjTwGkB>gDCdiHX0zKP15vI5IRe^zrcl86YV%G!(Xjap)0? z#aJvB0(*OVI8Ce7ve|6dJ}@w_y1IIJco-EG1;2m`R;g54Sy>4JQd3hK8X8JVOIur8 zo0^(xYilzyGDIQ~olY+)DN!gC0)ZeYDG8WRD3tW{bdXnASP1Z=qoWH73P23pSX^8T zX5-`IX*3$hXlZEywG|Z=`T6-NDJkLM;Xn+$5Q#*X7vKVDU>|VFWU`!`96p~9);c>o z!G2FqPjYf{RaI4Ra4_fxzW@!evsf(P4}+FSB&MdOd3kv-L2z1BRMgnmn3a{~>+1{5 zfr(nJE-x=nOG|^%%jI%F0VHj0ZM(X+5ki9N=Xz7_qUjH8nLbtlZpOfRiEo z<|d$#$aow+(nUfDkM2F%R;}pFCFr*q)bRG?9;B9@X&w^M(U}P16q-aj$_2a6%F$Pg z$eg*barW`*6nczu5$fG!pG9xlf4+OP88RC*fu^=76WfQ^645iA+uOO5Ih3U%AyoG_ zxs2R$9-%V=CL=;nmzng6U+tcQlz%QePnSt0TKZZ{wM6u7nKogoaJ1)Z#ZEnW_!hri z#-Dj|qwCS+)!Rw4x8!pdcP3DKx;kWOcj1rTBDU~cwx~oowD^IV*H&+E{q^Phoa(>! z9zHmE{=%d2Iice2D?0!9;*Yd^G18jhhR$~;Qk#j~4;(S32ABQ*mo@2r!s2(_30_AS zB8{f;r6(P#u3jJIorae$;#u*W`z$s=R1qVuWY%zMGoNP0Y)A6CFDcZ1H2fzW>B-k$ zZiNnfPW5rEBL35zxMub)ArRxb_T}xY&7WqE+9K%PpUO>fDYVp}=INUZyn=B&s$A7f zWfRnD#VNDA^pWCMikKlBzHlz%(ifNCU}tJ`EPr_Y^uP98kLe@By}Tl6%hcia4)xmP zWvkbt++eE_rCXhkcn;D|JOmbL@5=|F1)+=yN1SHRy=VW=9zvRB{Q1Cn25~2 F@;^vLk0<~D diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-ru.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold-ru.png deleted file mode 100644 index a21dc787c18e94f6e842e64641069450a118779c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 885 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EaHVU_24v6XFWwvVnoOw>OX-6B7d@ zqobqY;sOE!?Ck77E)x?IkVFQeqM|^qu&^+YG&MB^D&XbiwXm>&s4+7$14_ZU#>U3X zU;r`4$jGRmprE$4*2Kg_US1xkMGg%7{QOwK04S23oo#P#FDom{&(E)>rlzQ<2$TUj zR##V7U0q#4K>=bBkfEZY;_K@RbPv#Q78Vv685t!dB~MRJpr>qYZGp=4^z?u(1UgAu zTieUa%irJM-QAs!kB^a&5$Gt0IY5^P3JOBJ0~7(81C$aH65{6Oc5`#{@bCbN0QCZc z2pAv+1_nUS0__EA;pF55+64?WadB}cCnuoEv9Ym0{{nqiQc@Be91Qdn&@Vt=R8>{A zwzdMT0Q$nv&`?K52k0=Mvw>a<2?+rPwUm^UgoFgpd6JTnTwGkr%F00ZM@2=6h=^EO zSph>MC@9Fq#RV7|JUl$k&dy)Cy@=xp8TrTfZ|9$`c z?^Seap1;Jue{a706Q1|^pQ-D=-{${5&G`HNfJgR*fBzEv4!{5VePYp*dZ2B;JY5_^ zD&n@Dzr2Y#QNZn@pW3#*+}qo7U&|i_GWO?9nly}kj6YP) zHUDWkedtTw#bCn^xq5O_W}R*b{u%G8+PCUkT~D|_`UzVV4J(M<86t>kB@bp)ciL0 zrR2tRv!%tKxi8*$G^s#xq3FX^N2+#j+c)va@w02+%HAk_BYdRsu|Qv+zu$R<$*K(P Wg_d`Ba9zIwN;;mdelF{r5}E)or5TL? diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-bold.png deleted file mode 100644 index cc51e326fa57f4c78823d7a60162cfc632f0439a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 599 zcmV-d0;v6oP)ra8OWD>g(%~laxe8Mn*_U_xJaRii<@=LtkNG^78ZU z?(St{Vh|A#8XFr`S6F?2fX&U$Ha9m~Sy@O*OIcS}Yi({&Q&U}BTt-GlNlHt=!opWq zSM~MvAR!@OVq$V|aIUejFEB89dwaCDx2313a&vQ(k&udujp*s=H#s^jE-z$cWkNzi zGB!3;R#rttMNm>wXliOLFE3YCRZdMzWM^n)WMj6sxJph>I5{~|Qd1`>DO+4zWoBk? zZES*tgqd`d((`hMr;lIP$!0 lh>Jo1caL>D8bjg2{Q)K;8KRlhI&uI2002ovPDHLkV1fZp`91&u diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-indent-rtl.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-indent-rtl.png deleted file mode 100644 index e94d2007b14e781ad4a0c09300beb38013bfc7b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319 zcmV-F0l@x=P)+q=0a8ZF6;TWol|+W@lt+YU!$jU}9eS%avedW$?_r`Rn9gWo2V! zVf?mN{K9kKmv(M&Yin(3?ZU79(3aqmYu%4-+I~^`(W7Q)W8|TOczSl}vzTpfYGrC` za&&L@;MeP_dwYF&eSdrW%7}M)bo}-5^rX=~00001bW%=J06^y0W&i*HX-PyuRCr#+ zkjDzcKnw+?E$+Sd?$rPPKL-b27Wohec#gv$9)dqHqk^?-6t4p&^hKMHt_}EwH))HS zO8cAKg^33qz*_P0tMPFkSeAE@gAg=roTzp9scrWusoNu$K;fq+yRZ2m%?1GX2zZWJ Rl0g6f002ovPDHLkV1mPyl$!tm diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-indent.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-indent.png deleted file mode 100644 index 14a5e22fb61fc613285f7556e3b63181f1d55fe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 317 zcmV-D0mA-?P)fFV`X9dwpaYZbKsYDZg6XBZE5Youl>-L;F4?Ik8aw2QToxNW@uyNp@VI2YUZSX z>9d&Ys(X8Vczu6+{K|-Td35&R*LZq%SwEJR00001bW%=J06^y0W&i*HXGugsRCr#+ z&_@cxKny@pX^MOAy{F&*eufNQ*ob6f@LxWJ5Q39(@R0Upl&>u=4O^d(o;Kk}jOMl? zdA^N|;#xFs01LMQ#aY^S5#Zzg;YB$l9x8tN?ru6(EEZ~a9@2MT_`(0Jxr7K2?|h4D P00000NkvXXu0mjfXc?0% diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-A.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-A.png deleted file mode 100644 index 9010c6b1e0950e7ccb11e124476853e920ddcd9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmV+{0@MA8P)gMha^uDyNj=sS}cOY9_QhGi`27CDh zD*Fcp{g;)OzX0L`UA;UaBI3V{tlUP5433D3zGCm_^j|_&juFJSb9R{+A0Pi;Nk#Px z*#-xMgnFl@rT^D4G@bwx^9c;f02!>Isr6M@OoELpgQH?%A15Xz{nymd`E6!p_20wW z=YK$O$p3_d`2SkkI{$^m#H~p-*e@ukHXtbIznFx?IzE1Zg@VGut0bhPRx7HgF15C{ z{;Q{_|6fQ{EP*70z5N53!y_X9E32qJ#U^iNVfoD7-X56bq)JFKI3_M(OGs!K(5n(y zbC;)&@2QCJu>T55$~{CG>=zhp9vBijv9_k>zkfi$e_?TnU^zu)Wq8u_^;h=v@yqh@ z_4}C^7xQ0DL*s*_j9eH&gSGSxZWx=I{#R2||1K^r@l{w<^uMU2WCl!L$Ixhjww~U9 uIeCS@LPEk{`T6<(3kV6l87=4s#$W&|1`Q2*Z2F!600009e|}NX|KgI;?@6g?%Ur#D6v#F>I6Puvd3nWuCl}ZMnmW1%Rn#@-+1T3s zFUZgTuWMjc76B(Os%0H!B<4r=`H8rK+jbM^%Gu z?HzvQWM}_ZR8uRbs=+q4_P?{Uvi>WnsTWYyU;|^53zg;N|F!fCuqLO}j7%B7z+h35 z4F;yutc3XZ|8a5g|19ktY?0+MvU8#n5|jR`>*(5&RaPjfsGf|Cjs2gPl=MFNsknt_tve`Qs*Z4$C_(xV0a bz#9wz8rd-#7N0wH00000NkvXXu0mjfrrqXS diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-D.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-D.png deleted file mode 100644 index 9120da78b81f27555c5fd8a367deb7f9aae76d05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmV-S0<-;zP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2igV~ z02TtzY1@6AY!Rr3N7RigcKH{A_x{Pk!U_JVAjme?Cfh{x8yW?AU5}u^PBli@xDC3 zQT}zZJGO2A7z_r~>2#hRN?fg0KQtN*0&qKn%8uhuzu%{3vw1!HuJAXpVHhXZ>oow} z%b#?SnM+(M zl`d$l5y$bT1Fr0F&LO3gxx|j+xJpV0A@(+L%d*Y`fRyrmF0pBv-p}8Id%OYjAP6q4 zRx6TH4)ciHoO3ROhyi@fLf`k#)M_;>mrE8!(ZlV$|S=Q_IUK@sSA`HWInx>aG?*FF4Znt}th>DZR1fJ)`?RNVd5xIpz z;Tq@s;%GEF7KY(Rt@UXD@m3||`##yWjrn{IA|lW87-I}X1R=zi>2&%+YkeQUv!f3G azxf4Er@xKB?-;`X00006`Hz_6ce{6ih$B?kF?{-d3|CQA>Us7bShOWMhj)75+i>uqcg1p@S=H}-A1%-u= z^9u@QQza;Ljf~g&czgdB5EME^)iCz-@xAWv=l7pqKyV?|40d#P7l@3G{%UJ$`=5u8 zznp3YyLfsAr>3U<*U-@X&&|VYL^Xq5Jv}F%S=_CFQ?}nD`c| z8XO)Gc_TPD_&>j(&@`$U?BwpDn~<3J-^RuU6mbz$GuX|`yErQ=>%W$^_75I@0a2qenG)nK-?4`pYXH3rux6Smex~oY1w#1RdqRv3uRe1yL)>5S5Q$~si>wN1(KIlQVDQ!ary7>>+@etL-VnmqH+UCL7}Om zyEHB)=D(tf>MUe&ZGFR8R@OHErRC(8k{rhJYU+&kj!v(`!^8i}Dk*2f#J&9kHaNSw z{s;P~kF3a(R#39@3kdk{>+AbpRz+0_Bo-bOy~oAP{lC1jN(I@eLS9)lJ3cP{e^5xs zSr9)pBXdVma`JyAHT86glAE@^!Nl_Nvj6@;AzKrYl23MawEs7^vVKZ&IySSgyqKS# z|KGyO=D&%VIVebe`}zC-ms3`WCfi_1c|~DsJNv(Jv9bS^Rn?9PiAm^c>+0Rl%1HmO zqi?W>Y=eOjXC4q3_#YJeFfmyrrD@TTk^k)-9Du1rMU1?hr>UKtm6Zt$2J7cAF>x6= z84F9R|H(;7|CQA>`^hp`+rV&3e_!u^LsQc=C>CmHoJ;{4Y-VZok|cvIZS5_AhSr6K zh5c`9X$HCYs+@{ioTi?EC`evHMlQhG+WLPuP+rHt@VJJaz6VhTt844rG%+*#Z)R@( z$H>_DtD%w6e>F|5{|c&VYVe4am7A=orTtV_PY+an92_m^2hLysWb*owzt0f200000 LNkvXXu0mjf7Em%A diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-ka.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-italic-ka.png deleted file mode 100644 index e5a8c080b8126e900aa2edb0f15786adca5b51ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 603 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EaHVVAKro332`Z|G$TaM^sdlo}ONK zc(}B*w7a{zqN1X`y*&>PkC~Ynkju-<3nXoAZGn2Vw6qKi3`|T+#KgpmjEv;uPwE*~P^Ls2E6caBu*%YiepLDJcO>1F8f%jFXeo(9jU59tZ>l1%X^H zE-s+@%F0S*Wo4j6rlzJqV}Ygt9R_smgb5RzoScAuiHnO%O-%*r_4M@2%gc+1hya@G zTF*&CJY9p!fCl^`)ewY;0_R-i(Qf0h%u)B*e$ZCoeC*phFQDXbcV| zL4Lsu^RwpnJnQ+o?YjJ*5~;g&u9r{qL{yr8n9Be4=zDQ-llheW-at|aSW-5TYBQK*kK0=hlloCb8l~(eQVpt zfBY9y%rn!j-aBjiyt)2S3CEi3XE8FLch$&nZ*!9AK92VP3;3jBIz&zG9jTjehv_$abOewY1W4)>_H8e1dw z%x75gM8j3zR&}$+^J$e?t-O&eTQ2Yh&65Nuf-p;4y~_cc(PvDL^`O72NdL< Lu6{1-oD!MBQUWoKw-XJ|b=J&li$IXXM=@$qD3 zWj{YZ8yg&9UR?eC{Sy@xFflS#S65+SVoy<04-XG)Zf`6vFGx#Gva__6mY2W4z_z%! zv9hyeW@m?qi8ePkeSCaSQ&eDJU-|m_I5;@S$;sm5<5*W#AR!_kAR$grQG0%VRajV{ zp`q5-*H~CsA|xa(E-zG7R)K(iKS4sAo}Q+sr{Lk?+1c8&wY7|mkCBv>sH&<*NJuL# zF2TdYU}0fbSXpjxaZ687N=!`f@bOt&T+GeQDl05_dV5q>S7BmfNJ~t6eSV0GjD?1V zP*PGxM@Mvaca4vaHaa?ygo%9s0004WQchC?veO<+LedAbRmfdFAmaM@*dKaa8aHpS85b*hr;DRr&QR`X2Dd};8pxnEx~r!toh yc3V+}w*$~Uv55@6c|po^mJ(1HXN}G(e%%Y@)eynM%p(B+0000&*gW8%0KdgdA}#Q zsW08$QChgSAeJ-n+YH8;AH?2IdSGDV_ELY<@|mpb*Xpfhj0=AhDYmCJD`M%pY=4*M loELv*@BPT^`+4;N#!XQyLbmeXe*^7i@O1TaS?83{1OPhPcnkml diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-olist.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-olist.png deleted file mode 100644 index 23b4e199f1dedf1a30dc8d588c998d1f53039310..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)62?0JKuK)l4PfAJ9Gcn7~&8(@b zDlRQ3D9TIC%C>QG&dtw?h>d&voblXJ)5WRFyTgwxy;gC#0s`n0n?U&@RT3AirP+hi5m^fShbk z7srr_xV3%mTn7|HSpVM7%XK0 gD<18B=b>Wmc8TTqdvC4pKx-L1UHx3vIVCg!0DeAqr~m)} diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-small.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-small.png deleted file mode 100644 index b61b008e3f9ff3f516384416e69401527c3908c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmV-50?Pe~P)UxQc6Ki>FG@^J zLqtSGNJ%IvDl086QBzbxLPEK^yA~K3U|?W;e}7k7U4DUqba!|pB_&c+RG^}xGB!4V ze}6JGG(bT@8XFr`R#;nFT3laW-rwJ4XJ=ktUsP9DbaZs=?CjXt*>H1o}1U0Yib5fVsAO8WZxQd3hM9Uh#YpGiqcQB+h^Qc+@LWiT`~VPRshva)P$Z{y?R zGc`3|VPZBnH!w0XQc_Zsm6K;^Xv)mY{QUe{T3UL1d~$Vl&Cbq*hK4vgIz&ZA8(wp| z00001bW%=J06^y0W&i*Ht4TybRCr#s%F~X-004#IQw?p~wryi=>;2zg(@8qJZF<}P z<|JPZr0;c{_!QxnfjcO|Uw6ibAwV*0G^g`JRF^aZ%o7{KaUe`&TYZ2&zDbVTag^Wg zZ@|y*v}3A&Gzi$*903J~O2Cxj!m_GoZsk0^D)ls%-S^1;n#ZPZ8#^Bh-};|+o~h%y zWZK!Es`J%z!V64xo3kI!i7T~GBb@?rvEp{Ag!KIaT1FP4Z9oec00000NkvXXu0mjf DMe+Io diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-subscript.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-subscript.png deleted file mode 100644 index 990f21f41d9a457a88647dfc432e60775279ae11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmV-E0>S->P)$&9`p0_r>Ux1T3S(5RC0B7g@=cPhK756 zepXjkdVG9RRaG!FHKwPi-rwJ1VPRomVsmnF)6~>hT3hVw>|9@A?d|PKOih4)e^FCZ zu(Gns%*-e%Dsy&rR8mnmIy!WBcvV(dQdCrIZf{>TUuIW zXJ@&(yD~I1Qc_Y-f?qt z+1lDGEiN)PHezID{QUgG#l;pF880s{sj92Z&d$KW!Q|xRR#;g2`uapjNf8ke*xA`! zUte%@bX2~qQ~&?~0d!JMQvg8b*k%9#0INwvK~#8NwaCM=#83bR;s1m~+qP{R*S7io z4=|PGB-y4nUG+iv9{;0nG90gZlQL{BSdRh{Eg8PAR<9D)h3Si$O2U74IM(-eBK7%i zp#5x_MBLB*0vWem#Jt*3nGDaj?*|&oO;0^_Tlpk^z?Ss2FyrOy3!n%gl%TE!520me z?F1OY5eC5RCh|asfRAE3HF^TLAO`^V&6l(11~5p>H9up3?Xpm`Jw|F4O*ss+0{{R3 M07*qoM6N<$f=JZ+g8%>k diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-superscript.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-superscript.png deleted file mode 100644 index 26aaf46af0e030dbe7b046a7e05e4a3d9eb6a496..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmV-H0>1r;P)MoG&N#jVY#}yVq|5er>JvubX8VZ?d|PKOif^5U_3rQ z9UUGoFE1!6D&yqjgocJ!TU}>pXmfUU%FN7EQc?W;{1zA)Y;JGV)zw5uNpy5{QdL#J z!NDXYB{MZOLPA2=+1XN4Q&Lh=TUuIWXJ>_nhe%0EUtwZcT3dE`cv4hU+1lDkNlCD> zvctv2oS&aXMn`dTbAW$;S6NvwGBW!5`g(kPKtV#Os;f3PH}muJe1Crt5fWTqUyP2A z&Cbp^Iy&s^?BnC(8XFtrVt#>vR99DUb98%sek(05U0Yjp zcX*(pqiP7NQ~&?~0d!JMQvg8b*k%9#0Io?yK~#8Nwaqi41yKxu;hf>MZQHi(XWMW8 z3%DqT^`!ZeuL(#o#DL&H=IizL#I%v-aH?oa9*ZFwVJydbhV}iS6heq%G^#DkYiA%F zrJuZPeTw+{2mV#(4+1sy7jPkKb_9ImtpofyN&?1Lc71mjsFry;89sa7+uOHsj>q43 z)??Ja!3{^v3H;Q&LgQw2^s#i2K7glLBdwbNF{V72kB=I!q^s0Mg^qD?zg^6%b4eK zTO7V-vUur%uabg+eHB;F``@dMIN{Y1{&lX7;MwKh|IaaqF~8GfF#GlXyl3*Z4BKxq Y6z!LM?{en&HlUddp00i_>zopr0D440Q2+n{ diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/format-ulist.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/format-ulist.png deleted file mode 100644 index dabd01835894422626b34ad05d485e73f2000f36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@I3?$8F6>R z1iQeV?8%SxUU!Qvn)@i+uEIViag+aNCXM;M+5b}Qk1zSXy=Pg%tna^$?1B7>)^pUXO@geCyQIX+kb diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-file.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-file.png deleted file mode 100644 index 4b0d246ee90663c6b633d7225de8396fc77d7f1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1121 zcmV-n1fKheP)_UcG=t8du&hUr9ifhQ)*g3J2oqsepA81z(G4LbZuPdu1?R+&OkXTo}r#} zW=y=jy7cIu)!EvDeQ%C|^OoPSY~f@Xbu zah8~ru8LGWI4Y^Cr+{@{zQ4S~pJriAEu*EO@$&MBbyWNN`i_Tn`SYv1l2f&eP;_Tb zpMg_GJuHxYUo0&tk9A7-?4o;obkmwc=A=J~a!P=DYA-G*!j@H{gHhg}K6hU^!IV*h zfOVC7QEOjGOFt=ufpmU-b*O|)etveLjcI3EL)N2Iva_%=Fe#aRQaCj#tgWiXl1ZZ1zq+fly%gl>2!SH} zpUF7DNSmEsPYeG7n*$idb|ab>SF$FGJ#=# z)Lxmyltt~gZ*vkqi~Z4G;BwTm@_q)grqNZ{L`aGAeDkhUwDE_57)25b8u&#ht-;~B z74&^W{&nXkXd>Th1Rry-1#WD%e&_S~By;$6JCnqAGfS+iHN^t;y1pU-&zDu?5k!7r zX(65wKPJ~bQq{!MxHtO>vjwni;d|@fP$)1QE{{cam>Fv-2{8Lhx;GF1TI9V^Q>Tpu nI1>5uu{3QA7JUsP&t-oB9E6L(;qdDm00000NkvXXu0mjfwOvP6 diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-gallery.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-gallery.png deleted file mode 100644 index d5402094dbb6f58aea0a95ac903bde717a1bb3e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmV-50m}Y~P)Gb+U%?k>Xs-rwG1`0shxn?+rLoC} zaC3+TA#9Ka3EEsFdIiDVgZPSw!0zj$2>MUITka12HQTj_3+J4-vP83xiW@6yPGP9* zO=@lgaKwfym6z{UWE*|cGz>#IRW{jsa__><(63Nd19E4MeqTk_w@9FdC1}_0e*Ip5 z?rP#Ob*bzS0ThmS2Ckb6pt_!u+=6w)|L3WlNZ?|c#_-b%9587U*9e7Z00000NkvXX Hu0mjfqIQkM diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-ilink.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-ilink.png deleted file mode 100644 index c5a286e583bcdfce169fe46e7884d07a9bb8dd32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)+9){k&abYRQdMt;NafF#le4pe!IQ6Vq{@7Iy;@8oX^qD@rU_&00001 zbW%=J06^y0W&i*HoJmAMRCr#k&Y=pzP#A#GuULjz1i^62qFM$b7=}U9OeTvA{$MbS z!8ICI+!M$Q+O>#fvZBS{J1oe+E=U2fe}74V;{^Z!00DGTPE!Ct=GbNc005y$L_t(| zUd_l;76dUA0MWb=C3^%h8Kx^6A%gt=7 z1sKg5!%yqPmYUX!ud}GBUb2&QHk=1rGk?-uGN)Yo*|W4U1|=NIIUB2$hp@O31DfXz=|3 Xq}2`Ea&p=P00000NkvXXu0mjfvAx#H diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-newline.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-newline.png deleted file mode 100644 index a6fca71eb942fa7710f76c861f957f23aa448615..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 627 zcmV-(0*w8MP)^KKtL}qFO-y&czAeHQc@ls9-yG0b#-+$H8naqIz&W7larG>J3BBi zFhxa0-QC?kKR=C)jm*r<-rnAbh=?H}AucX1N=i!p{{CBATU=aRPft%GA|fLrBW!GJ zZ*Om9Wo3DJd6kuwR8&-ukdVQ_!6YOkIXO9DVPXCK{a#*P`T6&CS!((^^_uJv}|1o}Pw= zhGS!6PEJnr^zqoW-i9baExetv#8H#hR~@-{X$ zc6N4PU|=*fG$kb^Mn*<)adDiSocQ?oDJd!U_xFH+fOmIy@$vB=A0Jm&SN8Vy*x1-p zQ&Uz}R$^jeR12wK00001bW%=J06^y0W&i*H-AP12RCr#k%2RU#VHiN+_ruz;ZM(K@ z+xq|aNt)K7R*Vqm7hIA%F&+RmzpzQBcAk!BBJ|(KjxFk=#V#3>ybc!hCW|& zAG=D>81QOoO-$fK9OHY8Sk`3k*_NY-(B+B2xUZdB%-QGg0uxh%6KD*_uMnl1%(?90^j=voeM-$l{q@rd`3cOz4Nb`tutgRRcYa}b;NJ=SwJuXL8_L-mg=_!- N002ovPDHLkV1izPCPe@M diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-nowiki.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-nowiki.png deleted file mode 100644 index 2f607bfd43e9542adc677894c8df4335bff6553a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1266 zcmV z`~CIx$|ooN_xEULXKrq8*>G^iF)=YcJ<(fRz#$>gIyzotWZ6zmPG4VJYHIoC=XX9n z{POb2Iy%uXFwa9n_TS(A`T4I+O@dXc6R&t`0&Ta_Ve@2%gc6UW&i#Cg@uKXrKQlCn)>?s)h#X0EiL5a zXv8ou)na1Y+}wXjN$l$Ct#We4E-v7P zhQlNz$t*0*E-rw8fP#jGrKF^%s;XpWX4_m`mXnjfGBV}g-$hVR+RV((KR~U&U|?ZmV_|1!l97>+l$7e#)#8a8xt!p2HH)%<~?)}LoN&__!aMVw^PD;1w z)#J&ptq%?R0;M13!m~vaNS53l9+F_@w@^djb#b#h+&wT&?{RteFKef9#+ye*gT7g` z3u;cadeqZ5Xrs)3XFX;2r>}QbR-XKW1;X~W7~VaURcF7u={ zqMS;+IbADK$K)l(FwWKGvgz3!bI2&;oB!5H1aE8o^!!bZ&i=lbxgJxEvOe9)*=Vb3 zsPMg3l>EN`;ISJUL@3))ig$IarFM=CS2z?MT&1H+Wap#Indo!DS0XSM5)NNm9zn>O zPhsN#O>?#K>X|L(RP4tam$sc_&ZA2Wx*1tP%3hyx cvp`M%03>dQB@8qtg#Z8m07*qoM6N<$f;!iz$p8QV diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-redirect-rtl.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-redirect-rtl.png deleted file mode 100644 index 6230d9ec947915066a112d7d5e506e0ad8ede7ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1257 zcmV=P)O^Y7*7;?mR5=jr9@>*(+A?b6fH5q+iW?CJmi z{_*ke+TGXU<>2Gx;LOd+y1l*M;@tA|@cH`p^Y!uR>*wO+-`LsL(9zD+)zaSK+xq(9+QO`u5hkuH@$8*3QNF>f&~XjPUdB(z&bmW(axiso6XP5>h0#czPtiTYVz~(9$a()YMa#7(&6Lb0C%SH^6};9{_EuV z>fYw)ECH(V$aac z<>un!(8dsJjraNX136C5(9YM`))H%s^!M`;fT{og`QYQ<%goBq(a-ky_1)gw=IZAB z{`>Fn?fw4#Zj71N*wygz?w6&d5O|;P@$dTk`R?!R;^g2kTx;|7^4s3n0AiKmgV|R^&)D8|N8ADXMq4weeLh+?C03jhEB0d!JMQvg8b*k%9# z0h&ofK~#8Nea=IaBtaC0(Td2-ve~w6+qP}n*4Vaf+qP}nHcn?%R4-?~)HLudaU+>L51ou8w~w&WKy3`sX$vz)xMo zN7cl7dUHHl$Jo10C*Y<}ug!KoDQO1}T#q2mAG9~D$z9mB{i9_ujW+sF zFXBm;AJ@%yf;KB&9S9`$Yt3AWc;~lceNgC=^JDzvmuxmzldjN)!RtmWQ1LP>c(kOH zq1m?j!gRS#eYWw$u93;Z!soqR1O);P`;&}RzZNV0)@ci)mmA-|pnQIL(E*0ZI6Zyzk{)EcwosnPCqM+jqI+rSd8z>5|`taGUq#IreEfmo& zlKdAvSl)5a7Y@y~tryX`x5$wm#Cz<9ynxDtW}Dy@#F?9atDMsw$RIYD@{jrfs_%qt T>`N(-00000NkvXXu0mjf$`2FL diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-redirect.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-redirect.png deleted file mode 100644 index 31137dc9b3e2c2d88be3b90a78d04f96b8fd86c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmVKH=i<=O&eGG+=jr9|@9oml(cj|S^7QZ#eWldZ z($mz^-r?K2y}j$~>Eq?$%+1Q-;^6V|@7mqh>Fej>gR-)oY2zH`1poAUGV9$a()YMa#7(&6Lb0C%SH^6};9{_EuV z>fYw)JqwMYK{OR9mWn$0J&E@9e zO5`d}y|M}qK-^g@070FcQ(cZ~l3{2O0+ zOLBn#EmZ((pkITJ0Drgq{rmX&`GR|Q($vx4;oR8S*Yn?Ypa1{>0d!JMQvg8b*k%9# z0hmcdK~#8Nbz;uz9HsW9{ z`dku|+9j`XFBXZEc}EaCF9swXsGWP2cxe8+KX(T-5TEW>#{f7vGW^T8Dmpj+j+_}w zQ~^*=)gAxZ$bQvKtad8m!!Gy1I<*r{MOU8~U}k=BFXAl+lcdsF79X~4#NAeg?&+I` zxTZjL9~rR!WxX|YEL-~MQYPXt&49&vk(Ks+vNsO59{sulao+i+wJNkZ)eooZc#6y8 zTPH3bVug<^bBP32z9|ih9g(o}c*oP6K|Y16>>`Mt9=Gr5)kRh0_V6uN`^s1!niHCA z0$P0g-O(- zoW8=2@V3C$o~in6aqKzwy`!r3AK_+p@rn3G`QOh!gcu!2PKD{%BvlEn{_LGeNrKxZ zKlrrrU3_|h)Enm!)vTg2fW*TguhlfGu1p|(pGWNBdqX%Y;~j0umfH;=+j8uoV~^*b t0c054h0E}Zu?;{i_v(a;k^2F0`UUNIO3*eqU}yjU002ovPDHLkV1jb>p~V0I diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-signature.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-signature.png deleted file mode 100644 index 23ad7da7c6878071d36f839e23fe5c497906bd25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 682 zcmV;b0#*HqP)XRCUMW@iJ|S z6LzOgp2v2%+IOP2MWN3oin}BvB)`AEsnh4!*x2vy?F;)S!G^YKUqiDmL!R)X;r<|2$W2cti>bqksX#O)0HW1L3*~c@QK>?A5TLVTW_u?&6zm93vps+w&PPM8 zD;0DW2M{jzId@C*XbVOGkQH&?=fC0Ou*Nb)45m-;jAD*U7-6~qhak3liM2>@98v>3 zYU6pLB_ubaW)m+v*Ju@&$uRMdW*ft@BCUCiQ_O_{`ZrOAKdB>I^N*kY02O&1ts*G@ QF8}}l07*qoM6N<$f<1ve-~a#s diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-table.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/insert-table.png deleted file mode 100644 index 7113ea8c8b16ebb390826e13166834af949ce727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmV+p0rCEcP)ASyxH5` z*V)?D@A2u;(b3M&$cUoBpuO3~$HKb2xwX8&p}yLeae;yW0004WQchCKDL1< zPvIdP%Tt5k3_H;jFf4#g&T=@l(v8B@chJr*pc=X+b*FMYx zHd|qs*eLK}sVMTJHs{D1!Gh(A))nXUunWuM=V5-L{Mdy>*P$Y}GBzB6vFWg)5RCr# zVBR{6VvK?dRn)j-0mf<5)eQm_qBvc-*KK#`DUO}bJykEa2B&U*-jh<Fo?*Ys6cT}AYd5O5J6ExP`|M}$cSQs{aCtHT z5Wuehtmkrh=^5KIGx>Y==H<)sWb%CZe))ld!h?sDhl`7fOG=I&D?54WRC$G}qO!93 zOjY%nn%er>`i6${7aA`$HMO+1T)xtJ_4?HtH?Q4L-_W$Tb#!WP>9n`HbUn9w?%eIY z+jm=UFbv$kcYm<|!NY-vj~+Z48hrfZ;n343BcsD(&qrTOj!#a%n0`4i{c`H%>#0|! z>DRL_XWzbh^KSP2uWx?&@b1IMnAq6Vw2kSTH}B5L*|YZtu{2MTmsfa5p*&o2s=V@S zUH#emhWc}j7n+)XzI^rawd?A3ZCl5!&aR$Y-Mx4E?&Ku zDl08JaZ*)r`b^E)x`w)Q=Px$5Txw};ZoPc%<{Wifd*`k8PF+V=x2~u6cAr7tKQJ)( z=<(Cxr^eBz#xdjgi;0<6uiw5my?g)mmk;aKt>3nNd%jFwc1l%IReiCkrRnF^E7xyc zSGQ@joqhfH`{$xQdi=~dHu_>>d}3DQ(i)2!+3`-2K)*-2Gx{kfhy z`p)j2m!>z*M#oN^Dj%PmI-x2bdNwjL{sR1;5BWd%$gtJ1Axut~-x8`BG>1d}!*^A3 zY8ojem-KB`^3L?F=~>C7$h3?NytLiPB(I#DoF!YfC#R-w+qiwnwzO<-K>iJea9|mr z{JD!i{|aC#)IVkN@9|_hr>{A|$K)fkDHG?b_CST;VsUCfFOo z?_azgNg+=Y6Po&20p5#z=%F49@RExF+_dgcGhlxmLWA#R`d$`^QAb z&{i^;EQ73n;Ii`D?z4*%CA1Y^+rAL5jf&v-i=6Q*lh~2*@zJEUs~28*h%&*tVz-D! z2W5+NsDP9o=$w%yDgD_>rN{)-QAtOrs3H_vfcz65`gi;b0!So=GPg@)P-4a!C^;F* z*~FLA)^CEi3JVlXl9&i>UzeS-VJFxO@r$7?I8tKjHV!8P;j_O_6Y+WLH`4Zs_O4m~ z9X?00E3;ip=Vgg^@^~5Dvc3E@YjXQ}>4OrwFW)y;oD(VMmy7vZQ`z*<-EKMWpoPSp zdt5mDl%dkf+c2I?C@-27V*dMw<*p^QagqeQ zEs3u0z*a9zClt>zQRZL5`L$eazk*~-XH?0^?O`}4Kik|YC|*jOFC*Lz)FOg;PH?(2 z4JOfm-6k6Ym1yuQ4CC3bf8S3feTwJ$UpxY=%^Xi}qZVOE5Wt8iQgS*Meq*@^lEL1# zng#wKHD=h`K=3+9fw;CIq-rE;BPYSo75fvW{E>xUQ{1utSXt&^WR{r z3hezob_q!e%uv)(*2BJO@6-c%k<2ZqM*jF23E&N4ySgj|Y})Y@452cuP4FqA_P>d= z&T~YqAN4rkvl=AT6e;y_ilvs(0j#+FMuzV>&`WE^#T^gYX9T>GFcre&G;tkvY_cmO zB^D`)+&G>2u`VoJeP4HfjlVA<5*cLNdCRgfPa$DCwoc-ym0%B#SytD^6Ilx`1<2Lx zhBf5=lw_D0&nfCX+h;2{Vvl?%h{mfeJvad~jfRV}_{DKQ-mz$a1OrICZ$j5)W$li^ za?k!2faVHoddxNpT!&mIT@ck`T$lslQ(S+W8rEXxxOhT$Jix>OQ}!_>=YZ4-EaB<~ zx%N!oB(UYUo>k&whvPzufkv*ocT!LpKu^Vy5*J!CV5-@DX?&97ykfg@209p?tzsm! zx5o&5pNDUaprT3Umg~Y!9H*k;`tz7OtdGQYjWB6-Z!|GRWj`N}VgPqSKQ_4VJDq5k z4kb!(!f*(K;WZSyLY%V$5v0^7z)rrbJ;OkNM(JF&_+bD6A2&v1px$lrlcsL|ZOX=T zjz~|XnE`W4ko2SOu!3FgVM%V0>oZC79MOeTqawB2%oA+PZrWLgD|9b&pk<`E-7QLr zfDMDiTC7g!@AbP%E92I9BTl|dABFP78C&9`3wC7G;Wbgq(<6ABWWMB;!MooLZnV*` z3#wO_&f54ATw3apEdgQfR=B8>4vEx|2&)J)CrFW986kqBvYH@51_jIyvI z!P;++px@jV#Ch4S3T(V>lt9owmj2yxh!&V3&JM$OTttXjf202*Mwu0qC08jMF&?%M zgNrk1P#wa63>Zikv&#Zi9^A6N%qlD;;F}?h2pyIm?C#1~&A%l-;kXoYN6n~SWg+r! zbj!}-3>VmQzP7$5&O?;eQEP{Za??RHofmFlEA+6^IA%`K9r>G}qo4V__eA78-Si(FOv@R2^D>^{3hb&MMtc`l*p-N_Ly<=}^d0iF#PxGjlQPKxx&tkXB^K5Zi0lBr39XuF zAN<@xDN?y&ejv1}yr^sy%ud1<>sN%-p~W#(69gvPhU5bKrNAnVr40d`rkcpczLqZl zlsOC-QkZ7lsp6z%rLi49^MnCPJMqc$)BJUQB#gZXL3i?CQnV{LXH5$o!0RPyKlNLp;wZ$`*ex$-gdDQL zz@Ms#zn@B7vUtuDRb;|54%h>pAfs5JtU+6n{|I94AT448%8;VHM!ML#z_D+_tNf6U z!+KfGmgFx3UL2`?^L@bx5=1FLZ|i0WBWAnpy#0- zb&2MN9rtKnI1aov++hIEPK$k_>e3*Fi?b@dY6VneTXGUNCGBQ0I9UG^A@^Wm(@c7lQVoA#2v)AKq-j7VbD?d^5 z?A_l17qfRq zp0#xJJ$d`FrQ@znKXSY0!S(juM=yTve>{1x;&^>iOJ()hjt9ddFW>!$baxIszS8=W z?!gGsKXiZm#lVx7vi!n(kEa@LwDk=?eK`51XK4K3k>hDwq?x;Ny9URaZgt!nd*0SR zbhP^HqvvlMZ?+YcRvbBby5s(^Jioa5e8cdIpT}n2KNx?3+#MX6dXts2x8`D_TvLSH zeR%xzxigoWv-c{t@5;?ps7sHXEH10O(>Ks`tNrw)ruxR~2aX(@c>A&a{-X;&-n`j$ zFDg1_pSqxH;PK6_``>@>f8y+gBd2ONZOyoN?RLk5k)p#DI{m2j+?5q8BSJ#MV%Dy^ z)qOwzKxsiqSyk=1ic_`MknW-9Z`H*m8xkZN5|c%eWSP29KQaAN-(beh-8pjA#w{89 z@(Kcjf~(G)ztP#BzAdxiX4{WHbzNyiwq@;VyxE?%S-QXM=+!%&J9FjDKXtA7AvPf? zb=%I}*V?-48m_7LAIjXFyT7dRR?mYSIeYVp4&LbK(iHt`j9hu3nQX&%52LPfeHR{rR`#z~JCL%KWau$GhdKx`yj@jn^JN zo4MJ2KS!RooWnVHwe@7(#bwKvXYY}BKOEb+N0zJ1zjXah^PSG(!Q(A`Z=+kD{2ab@BD9XWfHg$EBG*KXRj zT~&CXysG-@ZC&@nadA>=(=8nU01p2!iU^8Y9l#X?d3vzW;Gai-U${~%Nunq0qOZsh zZ%^BtmLaA`ByCJgP0A9}nLBsx^hn<-mZWV--s-U>DbodT_yU1M00+2#d;HB+GyuT= z1DJ=m;R`qw9w@wPeD>r@oE&TA?MY_=0eOynxp3-KJI2Vyg>fsJ6Q}?qjWfTF3dU83 z7^^^^kID0U7{Mfjky?z>@#Xb2Lu$2>a0rD#a+RH9C$YF-fHy27AODUT?oZ{&^Nosd z4CH^*faMizj>@D=&y|4|xA@^e4oB7yy&YQGnkt7D(KeeAvtOKkR8V9qisAbRIr&(! zAOERK%(*1cgSmA4YbUN3O-a!CB)_P{ShPvcb)9+hQDst-NQ#?4IPZ+N^4DMUXH`S% z^PLS#&#pWtqS%XqtTG35E=!!YP@|&fojT7ntq5xd7dZ(*|^-y!z7v*CBcB z?Wldb{}2u(v{B}x(Rx9n7BHbW@8**yXCGp>I@OxS%g{JX@iwE;IZ3-j){%pbuZovB z57k$q5slf|?Ug2Mbhs~HslIB*qWZ?I#5E@p&&=~%OK)vQp?6>``fbXqCzg9zd!&l5 zeaEF_BLgN0r9CYR7VeH$|4nkFRvJdsYdH=11>GezU(#iVSm&!jsmckwcOGmwuOfCDt-Ub>Qlsn@m_J&e6(jY)Qi5_A4L0kFz`IYe=#@?|mvdrs&r znvqT+)@yk9z{mtsqTIeu)4((YpAQWKr0(wvt* z82nbK44rRoLx_6o1eo|>Jvpm&SO{SByrdf@K~N$Kt|u+7iweSS7M906$0_#LqyO;d zh&K+(!&bNwGv8MSx|o{pi1HJiy~{%>mmzCL9m_`)FA3$Q8xrUQ~Lx%0i!2kOuo z7%XRl_tOT$FQ8)BLj+2o4}-p|DZIbMiz1n>^#r_eW|GJ#B%DqG)~Z;+rkG`b3JqifefTn$W(<6R1qIreoze3&L|;TK z=h(b=lvA8DJGP>2nSy^2fc~okaNistMG7crG&P=C!iD5yg;^Tia1W)1>TU_0rQn5R zEM(PQ3Y|t=f?^!lh-(zzt~IQT?F&Q_+(=f<=?GGBc`4Ciw?Q9i=I-rx+*{A?9_|Ef zG$e^EO(&b=cp(87?wo(EJ8pN|7c^|CRBd1#@9l)NZ|!$&IFuU zspelAV<|C4j;xmSjJD+a`E`RQ6oVC7#VrlcN7WimO(7k4v?ZjVw zSxPd=N2IX&B5nrEbZ|F9@}ji>Hp>|;dejnKmyB#nWOL>0(BTr>U)L;1C<3Lw*#`W7 z`2zza8VYiD?}23i7Uc#PVz^q8C7BS1Y-iLsg^;1k^&cEhcUUxkumk~lL}g)wzqd=8 zDKbBFAH9E3Ax{z)tGf6~O7XnNHtw&aDwwQK8|Ha8^y}xDi^pCJW ze6Ws1G9?M$#AI^R6tmUV?f4gH z$8{hq;fO@OP7vPQH71oVQxuxH@l=8Yp^O-8oshFp9JgcRu=5Vxk)_ceUp0HX$?W3V zt^_z$XqHSTz5;{07A2_YSDUH}B|DF49GKd?LU_=QkY360LlXMo^lU#t!SHr)i5;D4 z;Ej!1EJ6ubC~k@-vdX{PGz!)70m7gRZMb9~`dmdeY5(=!7=lNPm2uxu9fvd+GYQ*A z;9<@>3auMn&tgt@#}vgH6a^+8uSzHmu2HL1Grg6O|C0ZIC;$Oc;_zqwFu5`Wld5-z zW3&iQf$f>g9__vt2yE6*wBR{1`Q|OKhxA1xV7gHpTncd%g2e>)7>^PI_d#(HHbxLX zP!}OTfY~^7EX4#N8>2BmY-9)uVC*S0qjPJJd|~dl+8?Z4wHoy9%GG$)a%}6-`4{8# zXRKVD-Hs8brHq4AhDA!fllQ7#UPXw+l|7ZLUSEh|urv8hfDyWq?6dTP_9Gf$*w46d zZ-kz(u3G9uT6#lew{Zu=uctkB4K=Uu8n^3lD14Q-KBDGNo5faLZcTdet_@3=n5C+J)L? zj1oKx|F`G~e~lc2Cy~8YSQhj=5Wx zhA*H$IDi4Q%^9l)YY}_<`k0CL;Mp_lY!-Xqdp+;xQ!&eCnefXAp**gcL=q*gD$EyT zU38JY3_A+8*GZPnzz{^!}4q=dzD#R6PgmjJTrVVB5!eP!`JS$yWX~Qrc#?i=$ z2UwyH1Nl}tU$9KpuBLm9SkIIQ5jUdv!IJ1P>gO|`D%LIV+xK_(F~%Fuq=>r7yD~07 zF!i{~)V3l4iZ~&hR9RDA--9OC)^i;_0$dfZnu$UIRKQ(Mf>`jEZaZ`DEQgf2C6OW- z^@nC=JP@z~T#_C`LbDygqNT$Pv!6Gw4=n7rh!+87a!p4Js*9Fb3cj1K4U$ce(K2Gi zdklt3U7F1ejU?&$n`jt%yWHvs6~QIRVyeOY>O|98FP=`sYMm43tC zpydK2%^NyhFITD|2OaEK!qLD~aE_h`BzC9jOhJ0de4`+bQ`gGb1R(T?3FxmNaoo+j z)es#op}XqfBeArv%(8{GU^y;NH)#quSXS}(Li$L2SD5cCX(>qt4LSc%fFix&vIgd% zmR}348F7)c+4213?Xt!dhrAxEMd6MT=K#{==sTYW z1=g9Ab%N8MWv4)hS#uYC%{B{UUGB-ZU(1~qDtOLfB-9xDq~a7uO_f)N>IrOnidQ-R zArFKcRO`qX=$|78|5w4A;B7R2g1&ysH_#hIfD+G;^f9r0vdjAW`NH(^uQ2Th6EY)F)H0C+4AAdMMp;gy@XBF*((# zwGjBMtej~@;}ocbER{444ydpSbA=|6j7hSEalFK#88V5LyT{i@Zbv(D)6o@dhoF1I7COu-e9u5!bvKk4Sj#M-vrC~&8hx3A8a9kTFx*D)b+QfOP2J@c*ZY zBg4+aP+V=8$bl+63WJaF5h#otQS%E%yrjL|ijqHp|*Y(glj^NjN;^Bug zikFcNOrk7tPAg84D)lpa{zh~PJ=32W#0(PeGlPgM~h zd`~+wleth?_JqRJoAHaKuW zs=$YokyJzAL+*Y$ks}HKZ7c!K`@jhPA-9zRA4^70hud*ycZmk<;3PVGYMTqD@C?w% zOG2Z`A2L~1PL-7?Q6Clj;bcEmns9i3fk{S`AEJv=VO?>_2pv$)W4WdqQ-O26CnSFE z#{^*T{WWS6yGlYrV>h1iy$g{eufe@Ir+G)J%TuJISyOca^)JOBBBoQjiQ^d31shZS9ks z*kU>rXddMo9-6j9lhXxPx z0IOJ~0ZD)F{Vku7fkdrghWl{s%vT(h1sN|w*g>p{M}FUeQ5NOzQ^NVCD>l>6)=!cf zTcK*{Q(QUV;iYo_LwaFt?Fy?g18v5T2h{%Z^-TRtdG}F{tT1_+lSe#gk$GHb8Qoor zwWB`9>XDd$e5|vR6@w0lPdM-1_$Z-fgi(ys+6#7Vi#>SKG+Y)KZSeh+3X<8ntXpHE zq_YqqzOSuw+Q@ag*U27k*a`Asm)cxysY)v|3pY1$9MA^;Dz|wHBk=2vN~;wY*vZwX zqrtWFAYBPve|8lS1Es0}UPXtI-1f-Oc`iNV)Z7{gmm?4+v6Xf+-X&f8h$UPN?ShMe zM_XB?<)D410ZWS&xdQFh-Tn9*sC$qb+%dx@v7EBjRzCLuw=@2R%kKp}rm7sn8e>&ZX< z|Np;pZ^4Hi#uMxFW-_tftUmZB`~SiP?FRpE-rIZC`}@1Ue2?FsWs?;7DtGQZqv53M vO^$|h?Ae*#EnM~g|NMtH!wi1#J!NKC>C|F-zkgXj&}arvS3j3^P6ApuU}TkeQ6zhk?G*nKP5JJxOv3xtMaBa4GI+ZBxvXFVdQ&MBb@0C9^i&j0`b diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-big.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-big.png deleted file mode 100644 index dee5b106773c4099e2556a627e4e298e36a38a13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)5NPGBY6KG&XE+ zZdO@WS6NwAR#rwvMk_5YKSD!MQ&fO|e_C2vU|?V~H8p2wXjocXGBh+oLPB(ObQTyH zmY0=MQc@@?DoII6N=!`=5fWcvVqIHXTUuITVPQBrI#EM~Q&Ut@QBqV?RaRJ5 zS6AiX9ZdiL07Z0CPE!CoH5_44+*zSMUB006d0L_t(|UbT$Xj)YJE zLp$#7?ry8@a$($E*X93zV1b0(Fz=j~HYZIXKPqKMArywNps1&x8ljLm0Y$t0)9C@0 zaGEfpHGCLN6EnZ%pnJ>OYJ0T<48NxDjuxCfmwWHqGxEacUjzWK^clh55D@r0IqjaEUjUa^U*Fd^5V;-S k-OnC?$K})W<^}Te4+e7{FsGaqS^xk507*qoM6N<$f=?#jT>t<8 diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-A.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-A.png deleted file mode 100644 index 5970b4d48a81be75ef97272ee38afbd66b2163c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmV;R0$=@!P)^ z85Qc@2S6gfUX9U>!3Pf=T4UP3}b93UYe zBPB;mO+!XVDl9D?A|omX7t4D&w2UiXm()b8=i>tIfx%R;}li6YoM{MV8k2?-?rqV9=pL+5I@8Q03 zrRqOvAlSURz5%$s>ko$a4@Z8SK0Pm90AAN`?;k&(aN+h@Pa4MaTKr}J0000&%QBqb&%DJooEU=CD4>mhIDlah|BPByfNmyK64Gs^E0VPRn}Ffd$RUS(usFD@>6d3b((d|6vt zY;0_7X=yn*I&N-lJv=;FSy&DZ4^dK5DlacCFE4dgTUl5&H8n{|NN8$mQdL%si;8GxXIflcA0HoJVPSxOeqmr=f`NcHI5-s+ z791TO9UdN3R8%`XK5uPp-IbTr0000&bW%=J06z8D-_Z3Yu~T{m;F6$ko_4^+3knH)UMiF_4W1QxI**JHHQEI0J}*< zK~#8NwaCMQ#840bz#iMSXK5Qr#Gzlhx0d=C>%ow@c`@QPQQ@@3YHKv@4%{3n^83g9 zKRI1McDe5Mctid`knFd_9Kd}1Y616Riq0(oEDuL3xL2o<+ckjo?DYoj&DU^f3t+oY z+(Em$SFPRc9~`z~?IYCP-to!l*Z0ra`310U22Xb*S76eJJOBUy07*qoM6N<$g0R~G AQvd(} diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-F.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-F.png deleted file mode 100644 index eea5b71ed3379069274fd38c4b8a14de769f193d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmV+{0@MA8P)<}GBh+YGcLqlC%U3hkNUS3^LPfs~KK81sWCMqj7H#j^!K7V|C zfq;K5Ffc4GE?iz-$4Ucb0000obW%=J06whs_4UZe=Jnkp)4Wv zo_OGF6&M*3O+8#0J%_)_mP7UR^@=AhP~`vs0F_BZK~#8Nz0Ac9!!Qs<(LkA*nHd}| zGc&{g|3|$`ZLiz6xzf>SsGsk&W;NOk*XN9;Z)Pl$>D;Z;8;*YD+>52&E>;~flzBT<}N?ao40VmS9eJdsSLaTY*^{GFYNQjX;O ua>W-2EtYosL%CAL_;Rh)8_!ph`o}(zZxaB_=|7MF0000&1@% diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-G.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold-G.png deleted file mode 100644 index 5781fae032f80b56364b9180a50d6345f12dbcc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmV;R0$=@!P)_D=se@9v&7N8#OpNDlINIIy)#UEj2heDlIQ6E-z0~Q*m>2ZgFvKaBypFZbe5) zF*GzTFftz`B_}E?BPS>)Dl0KHHXtJ;B`7Ht8XOrQAtos*CMhZ%AtFgkOiE5sCMzr` zD=Zx#A#QJQUSVN8Jw6~LBo!DMB_}5_GBPPDDj*{x8XX=Q9w13dOMH5IP*6}(QBZ+^ ze`I50R#jDab#-K5UoI~&e|~*cRaI3}Q)Ogic6fP8N=j*HXJlq(M@L76gM*uynN(9! zKtMk}K|*S3Y9JyaDl02IJv~)aQ+<4UX=rFeL_~;&g+@t9ZES3OeSL$1fr5d7MMXt; zd3lC}gJxxAf`WoVLqjw*H8C9|(p>4uAhdfM|?)czlYJoOorE0Fe5fu7Oxz+}v&e*i2`( zK-tb0c6NciN_8K!gGRG;cy!$BpMc}^?EK^N;_~Vme{Km{sT!0QHMc7O0000eiCO|?$ASEX_JUw=IcW-cTAtfeoa&j*+Ga)4>G&nk6Vq!c%LMtvVb9HtQ6&52W zC?Y2*B`GN&BPAIg9~d1T9U~L?$A0#9f93M_lQ6C{AA0s3uD=jTDGbbx8EHN?_85<-gCmkXqCn_v7H8n9Z zGbJi27aANLAR=vUZg6mLIy*ZwH8o~rWM5%oJUu>TW@k%HO-)WtR#j9(L_|_hPdYj} zKtVxvbaOX2IbB{}jf{*kG&Mj#KsPx$QdCt%M@L~}WKmO8Zft8wNJv>(SvWa5W@ctT zKtM=JNbZi+tx4NH=SwH?f0Hf z_gr&e*yCVaxkQR0^ve?@Og-ickDtn76e6V~Ez?kUMeXDASw)tb&;m8xN$cwRUXRL9 zHPXyzm@O~wRvUo*f!W8WPM5oldjPz*{e0&Gf4)!(K=9u?$pQ#}e$_`tAK3#uHvalH zF_{@;n2JQPSbUo1nba&9b7$v=NAolcXlg# gWbJ?d9KewG2TGWcbar=hb#-fQZ(LwtWNB(4B_=O1Gj?}(addQYb96d9JW5SYG&wsE6c#i# zHXI=#6c`#ND=Zfr9X2;OA|@y%DJm{7F*Z0kEiW-7C@Cf?D=sfECMqi}Ffu18DJm~8 zNK8!|A0SCgOj}-F85|xeD=QoxAQc%J9UvhY9w0b6J0vJ66&oHpJw7EVDkv>4Eiy7Z zJw7xyI5|B(Cn_v4GczhHD=RE4FE21ADJy+@dtzT-H#av}SXg^{dPhh}b#``ESXfa| zP%$wwQ&LiScXwlBV?IAXFEKJ$S5|y`dw_s|dwO|RS5{Y7S7c;lSy@?GT3L5?b~80L zP*6~ahJ{~WUsqLCcy@JLTU%UQTy=ADY-(y=US58FeppvmQBO}cI5?Y{ntgnGVPauz zZf`CzF>Y>ddwF?JPbZrI002I8QchC<{UG)E`O0VkqSW>D^Y`NwBmSW~xgPwY!R_e6 zqO|p*#Nwb!l;qdJ-?UhzAN-*q{iJ!h<{9o=HSORCr#!$isre zP!s^rTidp6YbLdA+nxFUb+<3cx;@JSA4hxg_yT%`!DO+~=5WWizD_TkokU{vCDPtV z2J-pls6bn(`Y);hG>xtnZ7Kzu7yyimwTaMMGl1oMvEuvwuz|gtFF5dB`g6LfwYnSd z-E6fx9EqN=)zhNh{7g}#BInU$4*sF;+zf`*Q+y_1WijGU&9 zuBNWOw34!siHU@)yquDfqMDktf|9a^mb#Xfn3RmXl8UmrhLNe6l$?U5j*hOOp`x0m zv56^=YiIA^;^C#Dt|=-dV{B>`8X29MmM$r;pr)be9~@$03R0t>tST-oXJ~9JCM_$c zsI07}4zyHKR<5?X+S=O2*4`mK3k3Z9{ednI3<_#)Y^bUzPf1CsEHAgSvv+g%sHv** z_V$j8i>s-r4h#wm3lE<;V|qz(vAerRVL`rMKtNi0Mruk*T1pDgMrRjSMC3iva>S7Lc{!mg6td|yu7`mA|qrofigk7nPojI(pjdW#`Yd9;H9|8$GtZxn4Yx|D(a~ z{Q;HLiy!L(4Vv%i;uum9xA(;1Nz9B4Y!B_X<=&2X?~`*oYTtk9B}Fr(=1hKnw-l{nhlL@3SMObrVZC?aJF%)u98#AzCb1>_+(vfS@iC2l>0{14?M}iBdGP~bbIyt{ vRo`H{f6cYo;RSo%^1pxZ%Oc+HBS-jwBGKh(2jfoyoyy?p>gTe~DWM4fIo#Vf diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-bold.png deleted file mode 100644 index 5970b4d48a81be75ef97272ee38afbd66b2163c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmV;R0$=@!P)^ z85Qc@2S6gfUX9U>!3Pf=T4UP3}b93UYe zBPB;mO+!XVDl9D?A|omX7t4D&w2UiXm()b8=i>tIfx%R;}li6YoM{MV8k2?-?rqV9=pL+5I@8Q03 zrRqOvAlSURz5%$s>ko$a4@Z8SK0Pm90AAN`?;k&(aN+h@Pa4MaTKr}J0000UF)|(>AQBQ25E2q!UteKiVu65uR8>|sIyy*8 zOjuV|P*YT3U|%XLEPZ@@Pf$=lK|)zuTu@R{M@L6iS65+PTsAj1I5;?EW@j@sHBV7e zE-o(<6%{ZrFh4&(D=scqSXo$DSPu^mMn^|7PZ16P002RBQchC<_24WJTFyoN;>&!c zEs>ui(5JD~0g=p0kZAP=qv>5Xy`fNj~^fJc9hj z!p??|t6;u5i*Oc8q+1!L@~1+%RH3RqXh3_{p{$=7z(|=8HSa6{R?24QvV(T^`oq!K z#ZmXdt<79}}NYSX5kGQks;S z=IZ4W93G*mqpPB>scT?p>*#E2Z!aPtB`z%^udF5{E-5Xqps1{>prj(LsABKvq^PQ@ zpsFS%FR!4YE+!?dZ)~h@Xk=w$tE#DGYww__reyDyJ<;~UoeBiy6?*rCLWx3f8JlSuw-+Yp9|Q3E@75P z&|G)-Y2UB%-vt*I$cSeBvyHYrxqrdUubdN}Zj;vH(3lA{pw-jGF{C1H@42mfhZ%TW z1KA}{odE)#|NqT>t*=gee&?yDyByEDBOBV4k8|^hif4Q7>k(P=%Iz{^&vogQmh+;& zRqWYU|CN2+!S`*4URW5-bnDblI&C4K`pvT|__@i^nbFf8-7)xo+exr6Gi=?B;Ml7S sq4(cOoxQg5E@RC0@_L)!%moYiEzEf$6&fz?13HMo)78&qol`;+0Mx0m!~g&Q diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-I.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-I.png deleted file mode 100644 index b47d2b2cfa57d71dea5bf2afe527a1f1e1e1a6f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6djotzT>t<7@95?p92OoMpAZrj zrmU{1p{uWBVC3TJCMYb-FDR&MWGo;kF?(!BqEZPmGylia}>}cIwe7V!3^?$KYo8H({t~5_S#d|7YckW4>p>7Ytxn+ z({v+>e~2!+rq%TGX}sLcpC5n6WdCuV4b+$J>Eakt5x4h@sn8Jv2Iq?g#>VM0XTGmr z^EUTt;7_;DGc}JDnaADeQ1RZh$$GWa-|PHrr)J1=uXsBr=D@wbZ<+bFDSEjdmnbaq zZA|MA=iBjPs_28N`xkDM{Y{lfS2;hw`{}FQY0GZNuPS3-w6gr1FVIQ`Pgg&ebxsLQ E08o37i2wiq diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-K.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic-K.png deleted file mode 100644 index 8e8c55a94613ec81207660d7a8f5de54874a73c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EaHVULx{qpPT*s;zG*EhjIprf%=(B&($C z?H}Oi>JC&dt)L{Uq8c6*Ew8L1udEsr5|WycsidZ^t#9BT6q1mXY;I+3W?|{;>no?M zA}OzEZD+5nswN~Rp{=W@qi+Dxt^`CXDw^6BR@UM&a?0wO+6IP(rlu+y8fKPOmbUgl zE>KENMNL!BKte`N$G}iSPhVYI$IRT^$kPE$)8=xk?K*MPvl__+A|{QS_c zu(puRcV^YSC2qN5`t?HwGF zQc{wVle4li4NT3#!^15st&)?H%FD}~TwMD5di{NUIy>4^l9CLKjMOx>T-@B>kY6yv*T3gXzJ67h{c>egz~hFcvt})2e4V{vcAuTno{H?V zJJKg^J^A$F?`Yw_M|JP-F`p)u{amJh%bJrfE$gnvi3S|^xcTR++T^DP+YRpljbvEr z>Eakt5x4ck;ikg@46GNTZ*9v>ezP*S_{{(C>1R*drB@!X$g4h;bl$??!;jNvSF$=? zeB!Rt_~ogu8hdNf3YG=G!kfJo-+jeUdy}JSrMGL=k`8h6tU~NqBHlZ^mFm)J6?TT qm+x0=y=(XXKUEBJ^Z(5|xI>v+K(a`nd;dC+i#=WaT-G@yGywp1ROsXY diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-italic.png deleted file mode 100644 index 47881e1f7871e8870e0cf0bae5172266a3081ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmV-S0<-;zP)UF)|(>AQBQ25E2q!UteKiVu65uR8>|sIyy*8 zOjuV|P*YT3U|%XLEPZ@@Pf$=lK|)zuTu@R{M@L6iS65+PTsAj1I5;?EW@j@sHBV7e zE-o(<6%{ZrFh4&(D=scqSXo$DSPu^mMn^|7PZ16P002RBQchC<_24WJTFyoN;>&!c zEs>ui(5JD~0g=p0kZAP=qv>5Xy`fNj~^fJc9hj z!p??|t6;u5i*Oc8q+1!L@~1+%RH3RqXh3_{p{$=7z(|=8HSa6{R?24QvV(T^`oq!K z#ZmXdZU0qvIQB_u6SyEeHU0hn2l#-B`93P(;8yg>8RFYp%lzaB3w-C@Z zq9s9o!3+#aq3_C%-d%Oz=$Qk%1&X?*l(X*RnAP(h2Qi(^Pd+|>T#d`yNstg@3B zP6wU7z3ty`o@s(2Fhq@FHS*3N(L&w6d;_PHCv zPVqjR&u3t0Cb6R3rIy2Z`EtDvRaWV@{~F#GvF2mh^Y-HU$sel{b6(6{y78XpOSh@l qeXBLz^*`@s4qn_DCU8yUq`1Bk_tWL7Z-CBWVDNPHb6Mw<&;$UM%!`Kr diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-small.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/format-small.png deleted file mode 100644 index 9a8b865645260a80b43a72cfe739c11fd2efafa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 640 zcmV-`0)PF9P)Hl8%5NPGBY6^Yie9z zVJQdCqzLPA(tTQW2> zRaRDCVPX~-8FX}XQc_YVDk@1yNlHvj5fKt|a&cl|VNp|5XJ}|RIyzNWSd^8MU0YjQ zT3YR*a3}x(07Z0CPE!C&pS3&n6$Rxc+~;3@L7BwuZ2KQQq7UH5_44*f@bGj10068>L_t(|UbV{Aj)MRI zMA50cySw|kJ5YCbUHShX*g!&B8eX|Clbj5MPodmNc~~^thB!^&NzoCks%mP@ zKnqYmbQH_FmEQ1Y1PJC$vTUlr+^|@|%{H{d;hek9*!}GRyj$NH``dwPFw|^?IU4Cl zWAQ{XwM=t3bI8(@`^^_lw74%ZdoeCw9`)+Fesg;V+&^@Ck56EG9=*Iy-+=eU$LIPB a!uJp1(;D*B(FgJX0000B9Ud?-G8!HqR#;jG2?`@9DJd%~7aScjGc-z1P%knwH#|KXA0bdvQ%g@!RajXv zG&LC>9wH_vM@vmYMn)zlC>$XoDlac1BO@3Y85kQKC@n7=92^l55)u>@6&V{YG&cA5 z_mY#6QB+cAXlT#S&{0!VD=jWyU|=&fHGqGARaRJZbaYWvR8mt@LPA1HOif&0VNz03 zGBh+_VPZ*1NfsCxR##VBT3T9KT0cTVS6NvR5fXE9aa~(meu02SMn)(qDmXeiVqsxa zQc+b_R#H?{SXx{BKnXAa002dFQchC<<+b&n+&fEOenFYU6$NbjA3dTE^M|V@EWpX& z`ThNEw3VxH5_44*b@Pnc200022Nklz$NAyQeub4^E$6)RPOaV)7~#VDV-z(eczd zmF4D29;+5=%|XlKavz3Aqlu&De+#U(m7T+mu?uj2dpPWU_C5IngW&^9gMXoLBpQov z6D&@CrI@APGFhNa2x&8#?-amP{QW2aT|$#CfJ${#t2cmVYxZ+?4$w;)04~;-SG#NA j=JWRM5NPGBY6KG&Yfx zl=t`eRaRJZbaZEEXi7{?VqsxbR#rwvMs|64Oi@x-Sy_O8e_L8wKSD!aVPaNSS72aZ zQd3h@Qc*KCHFI)tGBh+&R8(48S{4`?QBzc1U|}dKD$~@}SXx^V5fV{UR7pumI668~ zQc^-fLS0*1D=jWN#`<3X002dFQchC<1v^XSpSATBCfw&=enFYU?QHuWJ)#fuhpQ~W z$>90@{Y7oGm8+F#0 z7GY>hvbaBxNKb7cgj$5k4syk>5}2c^sx@6Li*^5?Ul@!GHSNq`vHsW?Y%e(goHZAN z-EB|L>l;q|G!4vyp>QM``-;;z@tr&;^_R|2G+W7Cny)tsq!zC_*EhESclV?5!y~~@ mv*(xPE5O_4{bTmicWMpQiRaBJ~mE;$f7N%#Wrluz+r6eRK$Hyne#>Ph%6y=szmh7KjJr8Ixe@T#E zFp%CYc=ycF14oY@0OGl!P2Ye*g`O^sAr*0J&t2y`tiaP2$UJkgY0CL`U;p{fm?W*k zxGL&vOx>m@^8cDU0}MPaXq50NwJ|QJ+8g?+q{gcx{(1DZhG6;4ttr(BJ#KDnes>p2 z&D!?nwcy?BE1y4IKQnmV^ppiU&!5(;T)+KyGtZrc8{75Qo=M@1_*U+DA80v)r>mdK II;Vst0N@aT>;M1& diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/generate.sh b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/generate.sh deleted file mode 100644 index ca14ee6..0000000 --- a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/generate.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/bash - -# Compresses all PNGs in the current directory and puts the compressed -# version in the parent directory -# -# Requires pngcrush - -for f in *.png -do - pngcrush $f ../$f -done - diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-file.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-file.png deleted file mode 100644 index cabc613adc5301746a8f04f7cebd0c6bad4b8b74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 929 zcmV;S177@zP)z30A>IOq5mkM#cmU%7hWcGa>ENs{ze00mJ+ zQSRVkvY%U)#sAi0Syg`F(s|BgSr!>^^VR_7=I58hR`=^TdgKH|_3XP-fKH9QZ0r*S zh{Uq2K%(<|v&2-m+apsz6ax%oQt0Pvo$2g^8B14+5Fj zP+d^lCScnFl~1SLK&k;aMDH@DL18MGs-Y#K!wCB^o}GnCzF0?ueizWu79gN10b7`y zDk7vaaNEJc&wxdrBf7^0RG2tbIyJO4hp~2b6l3WE9=%E-7WKo=EM#+eJQ;ouk1Ap1 z@*raEp$1^NoY6hDDg3;3A%jO`mu zY*?iupxF(xsWX-p89^^8gwe26g$Bl9mGj6=PGK%PfqRdpiA9xSYIB%!Dnx`KYAE!t z=F_O!pY&LQt~r!|hEbk@wJ;CLfi@pUYp;RCaxV^FdksypFgiYqn-9lu`(z&xsDUb) z52kMZ$e7cleexGLl@hu(ZA2*6O#w1W(^*W8yrA{~XLiMLAo(1nih~E|wm|pRWG1Uk z@ED!Qd(9tvTrQWPOJ5L8bizpVLe`>?w08KG#j&DqD~x7f&$d>Q8OO05ors2HSDs=P zk=8D#!46jdnM_9LnzO|_E&}zQ^;AoM*f!PtN*JmUMIb1F)aAzIW*6L8iFrx%cZ`(6(d=NDlsTZOdvi?!Wcm*$rB>SQOo{c3PxqoIG^`sqqxX z$*4gib>Nmr1bcVy{H;4dC5@XcCQP#x!C;7%rG!)}T?6IZe){;?KIXVP@8HnEBY$-9 zjE=rVq9@_9rK+vrm&3=0hK90I@^b%O+u{5F^gb3ncQ~)k+;=**WzNhoiQrsA!AV zQ*O`6&c-wygrn2+T@CPK&j^oJE(O81`Cu`hwr9^CcgB*%kLa4dH7he~TV-X{ih@>v^IF?I(cHE@5=9KEiEnaM8_SStqnFsecn@6 zc7O4jQf1k)45LT2EY&aLG9I0dDMP~pywY^we}j*7 zwpFXm&CQXH&bHp1oZRZULgawBTkfth+axe^$9gajJp0py-s<@WjHgdR+(KHDU`4@- zAg3cRJvWAD=GN?ZJ52o2`9xj?v`{!SRJ^8?!NI{qLAW!)nuM4ERv0XG)*8Z6k(LTE z4PohE8A!_@eu*ToqHB6)eqMg^Gl>aMEwD|aWac9r8v%%oze9Yq4{VbVw}3cEi9k<^ zD*z6s`GCviP6q3KFaikuMgj_8%iN1d9YMJNBIcUl^WHy+nn6U`WKvu$C@4@pYrQpA zTqYGJBIA7W**W&Ne922MM`&zpMAJ07ySq95o{xdyNqm=sjNOwZ0qJy_(lkx!bULLg)h>lVLb6kgnX^(# z*>SX0s;O@G#_Sc@e0AkYqTAi40j?(2p-_Z{6rGACtrgQ@)|sZsH)C%mHl>vJ?8F@x z7Zq0vAz1BL%Pm)!Bb{vvcDIlW-RMyV2M50M`F^Q+s(deIjf08E1V4{_&-tN`@r|Fw z<_e*^q8O%vO;Z5S6g#GE5z~_@>*TA{7i{LW)xgkiu~1uMWm-^fPmk|e4HOV&AEXtt_Auy z^=yEyt`q(j_BH1F{r(^j`#131o(UL$QCC;Dvdmjr>vp>~=H%pVuBxnZ=jG<(a=8&g zAcUa3gglx`9T^>UxDZhzCk cGxNiL1H_ZVA7$-F$p8QV07*qoM6N<$g2Hn*lK=n! diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-link.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-link.png deleted file mode 100644 index b16eeabaf4b2fe0a608a296e7a85edb90c13a449..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 769 zcmV+c1OEJpP)TuM3$&LOp_ zZBP{Gv^p>tc7fe~4>*oX#fXv8nfIHa^HL{#`|%Zcp2t`+{muX~h&UMg-TNF4+{jOs zWk3{VU}y%)%FE!$(Rw&kc@XGX6*MJ?nNqz!W0%GDJvdK zd5_FenOn5Aws76oy9-#Bg`VCX@cDdM52&c97|yp}z&tP9x_vY9XyAz3GqM)rln zQH|sE8_3DY1w2g9>-E4eYJ4Gq1wjx%2n!HK$T%1Z!ODssyh~opkL9D*Q`Gr{EK`Ai z-^>gAUS3$O=KNffbJ}^#<5_}8B$E2FY(~>G=yG&WT2ca4)m7fYg2GXgF>l6XGzCak zkaCdPG;Q{>HIYcrOUphO92!~Y1>xD`#9LdYU`>6)fXQfVI$^cs78mUSawcfgNI&us zS@?Z;l~pyC^hLqW+O5@U7qEVP&JXXlydZ~b>)O?7rXv=Mm175z3*tZ?AQPXbCKqA5 zjQZPzauGCqKIpP7HU(jWx&iT>-{!v&{w2Tw^9Vq4J5DEJ00000NkvXXu0mjfz`kTF diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-newline.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-newline.png deleted file mode 100644 index d5ec80b652527902e94d558cdb4a2ca1f74c880f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 834 zcmV-I1HJr-P)mr!Ix;3jGCIgjfnK4X!Lip(J7;ArX~CV@aY3 zl3?RUqV}HGPHIik3MGqPc+8tO^UmCR&UtsF>+5SOM^sRmqHMqlc``pgPswDG3sU)pdOAd#FbUGbPPEJxfoyN1L3kwS`CMG6q8jXgktE(xS&C>b#IfcXFU;%Kc zfCg1nRrxtb>f+*Jh!Ys<>gpne;s?a`_BJlkoq=xvk|c?J(#gpQS*=zwnM}01yGxCY zjl>@-PDN1xDk}7qm6dOJ`kKc_zW=q6GhJI-BbUoXO-)VI+}wOO@oH;p@B4hdFH1{H z&+6*x-tto4+1XjXf~%`5s;Q}=`uch?WJ*c`V-vq<^!xoDr_-q$7#P5^DjtvLMn*;` z8jYsaYPA5qlPhFUR=v&R@q7pdg9f9~NUN)>q*AG9adGjv*Xw;aHa6DAK`kvUGUtB= z1}FoVH#axmZEbC}fwSf1Wip%1l*weMx3_nyzrSCI1o2X-RDobcftjxdZnxXXJPJ?< z!@|+g(UIT~;K=au@-oly!NGyxwpiwQ;6x(fi$o%t_V#vKSy>U@1u%@ywB*IX8o=?q z6zFfjgM)(+7E2Qfg$O4K1d;~{X-V1*pA0LAnsQ@?-2*BtXwwYsQX2yb^0UD4A{M*yh zBY@C9N-l6opC$R6-%BxfS;b8X4t=db8~YW zu~-b^eC73T=w|=i=()#cna@|l!^3gT#Li3pn@#9%A^ms%yzc@G02*Xljd^)p%m4rY M07*qoM6N<$f^GAJ+5i9m diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-nowiki.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-nowiki.png deleted file mode 100644 index ab9a375252de33d5e7d83945b3703d7f9bc63ca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1562 zcmV+#2IcvQP)hASK@b^hvPh)7dRyed5}g4s%fB?kP;tS%5ScCKqqsoS}+~nZ)cYr>Lm`o@IegBvzqHn+<_~dkHy)DFK1tV03b_Jvuy` zorp$(OPvnGKp>H@WPbjj*kt-UI`Mxofq+KfrvQSda3~4ENXGB)3ikCmkmA?4M~^f( zjt3~c{((F%Z&Ie$`ve>pj*X5!>pOPr-!Yf#A{URBrSsF^Cs6cYMBM9rEpX}5zxag( z38_}!ju;FdQZ`$gs-vTvZfz}#baq)xxnuhxQJZm-CK_3jV9Mwvl%`I<^|*az)#kHSktvCnYf&EdZeSYhxq) z^T-jwr+fCi?PzXZa+Z|v6J1@-xr-Nb7KesbnXCBviV7%@N=rQh17`>v2an0bT``+; zhsENv0*`*{qEWLb znG8x8Mlf$O5gw}*k`f8b_x8SuEGbKa13sUIou1y!5d=`kr=~yvN((rIs8XOM<)-3z| z`4|EVF$}6v4|n-|a9koO+=*c)bu?{n%F4KcKEvTtB-1Gx`W-n|8gQ2RHebdvP4QcsZ{#iQt5kFT&|AAx;iC6 z(;PlE^{4{J1=V7)uF~rT7DZl0Mov>f!ATJkJvBB4mdwnXSpZoafH1kTf~Uda+*~@< ze?pd()|8aQzH&GQ7=Z15lEmf|3MyPsfZb(KrD8FxRjDM6i;M7VGP!=m;Q&33!+O2` zZ-QI5G)y8v;UZBq4HinJ6DU}AX-QcKP)6eTT<*IvxDb-#_Sk_%I-7 zY}{g^C_+KgphDJU&CGy!W@clAWr0m5Q+D1<7Y}&el~Gzcz=lFfwb$F-SY17I&+A>G zC<;Ub0WqX7GCO-?-sd~<|6p(i`3qj;^;m5!d?b;a3|cIwe^n~0srfn$Cbim#dh6B` zoKPqv-0rq^x!jh(@gEta0C*ngg#|7Y3b}cXyWyXja-lwk3}l@fsgC0Ke{hB&xM-9l z^!ocEt@djAN-vF!0O~)P$8Nvmv{?9?&CR}^=bjtix^Ex1v7rk80ublcf>Z-6Yjh$5`8{1QwQqmoEsVgNTPL=*3bf6ST?Zy>=Rf{M`u zmP8?I1W~|Xgh;|oBta4kx0tMgfn8ulmWI8x+wHcUIogvprHRpBe3SQl-^|Ip=biUE zGb5Bz+=}o39Qo<+hd#frEf@$IN+}mWp~q4|xxfz?O5uQ#>2x|TgzTuUj<5E4y#O>f zPtn9gqtW)6cej$uXF-5+U6fL|8gA(vQ0N5u+;Q^QkvM10o_g)O?{}^Kho?yVswPHC znReWK@Ot7JLP!dtU00zfWS3k%Prx+s`+W=!4xs>n($@`-2g5L~hr?kk%c``(ab2gN zObDR?5@{%uD{xU%MQl8oBz>2<8CQQBxoid<2&9mO#T})}PXi!}k5vIsP^eM(%>Xr) zLHnkiv@BmsCUKR5I)Nw&DcJmF^5%-S0f%^PE!kZD-#wNB-3TdkK`0oa z?~fjOlVcF6;atyU?n7XBym$?RhN=)9Clh!-+RUm2vvQ41O$1F7P?a7_X&|LU8U}j8 zW28@lWChV0e(A!-B3@a^&!@sm(1@x&cYuPjMm?QeWQn}#%6+V ze6cLr*t8)oGB*>0Kr1bxtor3e3z!w^r~hmhp->3Bxe;sXbbQS%xc(rx4zm9*Fhiu5 zZ+yjRZrxt?7#9%eLzMH#$S`(%A_v}ii6_=>;n0yDm^c;eYJ^YW7oyZGFbqU`7~$jw zip1r)GN}fJ^e{LyKx}FY2RE!_>$Y$Cy6Y+zhY}!Oz-PilM}s zvSLMLh;owBU^qF1Wkp!}-197TM^OEP{C@fb4{!U0KU*JzuAf!-%ePjg(&;tsxG-hK zC{b!+;h%$)#&*W*-8L_%`W1r5Px)59Z$eLuZ8lfBjN*{U)z_x7+ zX#hgwzhcZEX7t=?HZEJji*r{+KmTDr(W(gC{O0Z3w{MSW2Igf(M^XHLc)ecEU+Cub zSuviSHql4Mev7yY^osmbu{`;~<$A%vU`-NBB%>nd9P)Bofzj%j-Ir4p<%H=Zc?`LT8-lY50M;{jVc6O*#Dv{@Tl*{F4 zVc~&)_w!L_cw}HIFj`JLbhmf$D;<}2`)}Q()zuZMR4Vjr+@edF{XKH>4vnW$w03`* zve_(UG8sBJI3U+`saP!1^73!g-+z;&B~1<>sp?w7jG5@@I1kQGPlrgLSak7t{SV|` zNn-cspQ@(}I!Azq)!Nzy!-zpz(v(V_ZtA{e+Nc=T?YUAz)b+q$SM|)?+%0#}l>TV?A8G);AEp zdIf8JeGraw(s32GZCiHCo`rcl5r0v)Ra~a|MjxEbO*lhC)xA@&q4N{CPK)VEJYE~d zF^i`>)L_m{*RLZxJB#Sd%&Cs80G5_CL)cDOieVW4F=J5$7=W|auA$P<0B?F4>h5k8 zmWFAY$1nqHirFz}npP9#j2~Y?Lbxi50wo%Saq%Jw*(~%YPpYsqq$N!bhDOcMp{i=l z`7*|ku5Uy`x(QvE-bG8xIYa}vuCp_QBO4oGr$iLOdQ5{f6@b<2mI_6QhEP85;Ma!> zSX_K0fw03!B!Zr+?;)K^V|@He_*B2d&Mz*4f6$9$G8uj_x~V~$3P5KV=UCtP z6Z7+P@H`Lc#x%ORFNL6t<2blK^Bo9;^KW*9*GlH^Pd>%b{yu)V_che0h6`_B0FQ7; zQvo3ath@d47C_CY9eK2W7-t3Hi`M|im$pfeDJmj`7lv&!B0_I( zuL>Z}Sj8d^lZacK!2}7Dz+xa~lnP!07$T~vW;Z0|5CD zK1okc4^O313IJ6^g$4ngf$1Pt<74`eblp1_5ioXvnz z*LPb2$s z02z~~PK20zYzfQpB`hXZ)Ot3^?^j;l zS@`OH8_;2YzF+NaF*&w`N6*CU|G(eIR>(ZLkpAn_p@yk$|9-zTG&kS0c>~bxKwF&c zMF0JMRo75cUSQGJV%XW;R-UK6c*&xQii$mZcmMzQqdZUb{1%hRQzz`0#&Bc-!|^2? z#}{+3C*0ct)UQ_(xmyO9(#6e+sVJr&gI=dwEp`1u(~aUe=F<4jd#8{ z|7X#`ryD+B<2=o^;JD1(L?QblCk@g)cf8Brz5B(s`l4kwUvDjZz0CCAiJ1Z`XZJ1o zo-rj&hiPdJzs6TK|K>PP!^!J5`|oIQW|X;e&!2zcji-8?42Nt_z5ICc<>{N2Uj*9& z4?JEazGF^JZG7glH4YPVe;Rr^a;fc}CtwgMz&QEsZ)X1a!t46i*Hi&L$KdJe=d#Wz Gp$Pzr-Y2*K diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-table.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/insert-table.png deleted file mode 100644 index 070a3e3c410c18d8f6f45ce730eade746e4a463f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@I3?$8F6>?5E^tfz}(NJU)l zsfD}^1`;h7xfQewat?6x91?Lq#Bfwe+uD`2OVCOxcb5Im1;36w6>gUcHn5gC+x@d< zR>^cV;nRP9?~sb0{bkK!*{8x!CvSZ^dAD8Pvtt5hx(W@YkFak|3D|l!{{JeVMGT&< KelF{r5}E+al~v6E diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/search-replace.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/png24/search-replace.png deleted file mode 100644 index 6c2c6617dfd614557b77e14c74ab7fd97eda8ec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1047 zcma)5eNd7I7zeS7W^j!^=Nk)?Y0}72?o9X6sI;B#n#bRl0X}AJxa68jrK<1MfJ(*0GpoA0pk>ftG#VEc78Vy5 z+Xp9+EfHhUVzC$i0EI#^J39+#%zQ@1+S(fbkG~BDLxWfcsOPH%k{8xjavj9!nH2m! z{1RSg2-Msja9A>=?zptIwPiM&$;s%Llkc|l&{>_*eIj?-27Pabke|e;))2W@q`l)#<;p`D|5?ZIz>Gk?@YU#*`OeT}^sCb)M z3f}*Y&q%-74f6ZP5Q+E0OX_1(YayO`0@ZwJ2P z|7DhZVEUS>{xa@eE7*lCt*DY#C;!75ppQ_%t3J| z-S@O+A8ErHfjJ>nUa$opN@{x8zG+wrKmTbZ?gfyN7*_YvxY()9Z{pnv+dMtq_gQ4l zp7Zq#Fv|PMYs%3K4A@${;w4KyGkz*#D5Dc6x)MJU<+HWC8URV-J(G@`zT)^`Is`${ z%JP~qZ1!m8w`t#uOjt0khw~w2&+-hws_}W7+I-|z7)j|HRG7sqy;yK*s`t?;X#Ypt zy40iL1||`V$Zjz0>&ULv7GSYocdu_&ahE^l5`-(m*?!&lPCvh-Un2_F8(r52qdp0V ne8s5ZhAF^%ABq}>Ze*3CudfiMCQTKZoj=6J;bI@eT%i5~`fw&Z diff --git a/documentacion/extensions/WikiEditor/modules/images/toolbar/search-replace.png b/documentacion/extensions/WikiEditor/modules/images/toolbar/search-replace.png deleted file mode 100644 index cded6728355e857b76666beb1183ebb69a414f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 788 zcmV+v1MB>WP)+0(2@9*#M@bBg2s?dUoyR#kIAyva+(~?e&C(f~>8o?d|Q2j*Nteg6!<;=;-L}?d<94>F@9E z*x1B+L#l^&!u*=BT=%9jBjgN}V%*^iU#-qR8hN#WX ztZ>=m?SF!OjIPpsqRhb4=821j&ZcOy$lmt$_S4?$xw*NUx!8=3iEddqzNm+bjfjGV zfUCpYufo@ltj)-uWT>^nUQI7;L;;eNk^1`jr?<$BsKltb&C8)>LOCI?yU6S7>Z-ZO zn|@K;+}y^-#mdUc%goBm%*({Y!+=i#fr5Y4;OwHf(4xB3ro7Ve@$uW`@zJYlslV2r zfmD5^&cnpQ!^6XXPywWeSIXJyn6l5GxX}Or0F74x*4NdFjECy#>8QTgqp!S{v(lQh z(5I-TzP`T4$Ht7X*6{G~Z>OBi00001bW%=J06^y0W&i*ILP?@jwra#%NrfHvlm$NJwwABNlL9e;xhx6I=#VH_|mt_hcD#%8ffPBVujmGoQ#)4$n5^J$8hbp1>Z4bfmk6{jnjwV|HyjH@d@D={S|`q- z^vTZz9@Fl@q1+=)c>n7>i!RX0_0rUCcwMNO*bnY9L6s#Rru+V+Hc3k&c>K;1is1wS6+SUy~c+H7`vJenZ==%pSjFhPY^6q-fTZ+Zh{y)`NH S4d5&Q0000\ -
    \ - \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    \ -
    \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    \ - ', - - init: function () { - function isExternalLink( s ) { - // The following things are considered to be external links: - // * Starts a URL protocol - // * Starts with www. - // All of these are potentially valid titles, and the latter two categories match about 6300 - // titles in enwiki's ns0. Out of 6.9M titles, that's 0.09% - if ( typeof arguments.callee.regex === 'undefined' ) { - // Cache the regex - arguments.callee.regex = - new RegExp( "^(" + mw.config.get( 'wgUrlProtocols' ) + "|www\\.)", 'i'); - } - return s.match( arguments.callee.regex ); - } - - // Updates the status indicator above the target link - function updateWidget( status ) { - $( '#wikieditor-toolbar-link-int-target-status' ).children().hide(); - $( '#wikieditor-toolbar-link-int-target' ).parent() - .removeClass( - 'status-invalid status-external status-notexists status-exists status-loading' - ); - if ( status ) { - $( '#wikieditor-toolbar-link-int-target-status-' + status ).show(); - $( '#wikieditor-toolbar-link-int-target' ).parent().addClass( 'status-' + status ); - } - if ( status === 'invalid' ) { - $( '.ui-dialog:visible .ui-dialog-buttonpane button:first' ) - .attr( 'disabled', true ) - .addClass( 'disabled' ); - } else { - $( '.ui-dialog:visible .ui-dialog-buttonpane button:first' ) - .removeAttr('disabled') - .removeClass('disabled'); - } - } - - // Updates the UI to show if the page title being inputed by the user exists or not - // accepts parameter internal for bypassing external link detection - function updateExistence( internal ) { - // ensure the internal parameter is a boolean - if ( internal !== true ) { - internal = false; - } - // Abort previous request - var request = $( '#wikieditor-toolbar-link-int-target-status' ).data( 'request' ); - if ( request ) { - request.abort(); - } - var target = $( '#wikieditor-toolbar-link-int-target' ).val(); - var cache = $( '#wikieditor-toolbar-link-int-target-status' ).data( 'existencecache' ); - if ( cache[target] ) { - updateWidget( cache[target] ); - return; - } - if ( target.replace( /^\s+$/,'' ) === '' ) { - // Hide the widget when the textbox is empty - updateWidget( false ); - return; - } - // If the forced internal paremter was not true, check if the target is an external link - if ( !internal && isExternalLink( target ) ) { - updateWidget( 'external' ); - return; - } - if ( target.indexOf( '|' ) !== -1 ) { - // Title contains | , which means it's invalid - // but confuses the API. Show invalid and bypass API - updateWidget( 'invalid' ); - return; - } - // Show loading spinner while waiting for the API to respond - updateWidget( 'loading' ); - // Call the API to check page status, saving the request object so it can be aborted if - // necessary - $( '#wikieditor-toolbar-link-int-target-status' ).data( - 'request', - $.ajax( { - url: mw.util.wikiScript( 'api' ), - dataType: 'json', - data: { - action: 'query', - indexpageids: '', - titles: target, - converttitles: '', - format: 'json' - }, - success: function ( data ) { - var status; - if ( !data || !data.query ) { - // This happens in some weird cases - status = false; - } else { - var page = data.query.pages[data.query.pageids[0]]; - status = 'exists'; - if ( page.missing !== undefined ) { - status = 'notexists'; - } else if ( page.invalid !== undefined ) { - status = 'invalid'; - } - } - // Cache the status of the link target if the force internal - // parameter was not passed - if ( !internal ) { - cache[target] = status; - } - updateWidget( status ); - } - } ) - ); - } - $( '#wikieditor-toolbar-link-type-int, #wikieditor-toolbar-link-type-ext' ).click( function () { - if ( $( '#wikieditor-toolbar-link-type-ext' ).is( ':checked' ) ) { - // Abort previous request - var request = $( '#wikieditor-toolbar-link-int-target-status' ).data( 'request' ); - if ( request ) { - request.abort(); - } - updateWidget( 'external' ); - } - if ( $( '#wikieditor-toolbar-link-type-int' ).is( ':checked' ) ) - updateExistence( true ); - }); - // Set labels of tabs based on rel values - $(this).find( '[rel]' ).each( function () { - $(this).text( mw.msg( $(this).attr( 'rel' ) ) ); - }); - // Set tabindexes on form fields - $.wikiEditor.modules.dialogs.fn.setTabindexes( $(this).find( 'input' ).not( '[tabindex]' ) ); - // Setup the tooltips in the textboxes - $( '#wikieditor-toolbar-link-int-target' ) - .data( 'tooltip', mw.msg( 'wikieditor-toolbar-tool-link-int-target-tooltip' ) ); - $( '#wikieditor-toolbar-link-int-text' ) - .data( 'tooltip', mw.msg( 'wikieditor-toolbar-tool-link-int-text-tooltip' ) ); - $( '#wikieditor-toolbar-link-int-target, #wikieditor-toolbar-link-int-text' ) - .each( function () { - var tooltip = mw.msg( $( this ).attr( 'id' ) + '-tooltip' ); - if ( $( this ).val() === '' ) - $( this ) - .addClass( 'wikieditor-toolbar-dialog-hint' ) - .val( $( this ).data( 'tooltip' ) ) - .data( 'tooltip-mode', true ); - } ) - .focus( function () { - if ( $( this ).val() === $( this ).data( 'tooltip' ) ) { - $( this ) - .val( '' ) - .removeClass( 'wikieditor-toolbar-dialog-hint' ) - .data( 'tooltip-mode', false ); - } - }) - .bind( 'change', function () { - if ( $( this ).val() !== $( this ).data( 'tooltip' ) ) { - $( this ) - .removeClass( 'wikieditor-toolbar-dialog-hint' ) - .data( 'tooltip-mode', false ); - } - }) - .bind( 'blur', function () { - if ( $( this ).val() === '' ) { - $( this ) - .addClass( 'wikieditor-toolbar-dialog-hint' ) - .val( $( this ).data( 'tooltip' ) ) - .data( 'tooltip-mode', true ); - } - }); - - // Automatically copy the value of the internal link page title field to the link text field unless the - // user has changed the link text field - this is a convenience thing since most link texts are going to - // be the the same as the page title - Also change the internal/external radio button accordingly - $( '#wikieditor-toolbar-link-int-target' ).bind( 'change keydown paste cut', function () { - // $(this).val() is the old value, before the keypress - Defer this until $(this).val() has - // been updated - setTimeout( function () { - if ( isExternalLink( $( '#wikieditor-toolbar-link-int-target' ).val() ) ) { - $( '#wikieditor-toolbar-link-type-ext' ).prop( 'checked', true ); - updateWidget( 'external' ); - } else { - $( '#wikieditor-toolbar-link-type-int' ).prop( 'checked', true ); - updateExistence(); - } - if ( $( '#wikieditor-toolbar-link-int-text' ).data( 'untouched' ) ) - if ( $( '#wikieditor-toolbar-link-int-target' ).val() == - $( '#wikieditor-toolbar-link-int-target' ).data( 'tooltip' ) ) { - $( '#wikieditor-toolbar-link-int-text' ) - .addClass( 'wikieditor-toolbar-dialog-hint' ) - .val( $( '#wikieditor-toolbar-link-int-text' ).data( 'tooltip' ) ) - .change(); - } else { - $( '#wikieditor-toolbar-link-int-text' ) - .val( $( '#wikieditor-toolbar-link-int-target' ).val() ) - .change(); - } - }, 0 ); - }); - $( '#wikieditor-toolbar-link-int-text' ).bind( 'change keydown paste cut', function () { - var oldVal = $(this).val(); - var that = this; - setTimeout( function () { - if ( $(that).val() !== oldVal ) - $(that).data( 'untouched', false ); - }, 0 ); - }); - // Add images to the page existence widget, which will be shown mutually exclusively to communicate if - // the page exists, does not exist or the title is invalid (like if it contains a | character) - var existsMsg = mw.msg( 'wikieditor-toolbar-tool-link-int-target-status-exists' ); - var notexistsMsg = mw.msg( 'wikieditor-toolbar-tool-link-int-target-status-notexists' ); - var invalidMsg = mw.msg( 'wikieditor-toolbar-tool-link-int-target-status-invalid' ); - var externalMsg = mw.msg( 'wikieditor-toolbar-tool-link-int-target-status-external' ); - var loadingMsg = mw.msg( 'wikieditor-toolbar-tool-link-int-target-status-loading' ); - $( '#wikieditor-toolbar-link-int-target-status' ) - .append( $( '
    ' ) - .attr( 'id', 'wikieditor-toolbar-link-int-target-status-exists' ) - .append( existsMsg ) - ) - .append( $( '
    ' ) - .attr( 'id', 'wikieditor-toolbar-link-int-target-status-notexists' ) - .append( notexistsMsg ) - ) - .append( $( '
    ' ) - .attr( 'id', 'wikieditor-toolbar-link-int-target-status-invalid' ) - .append( invalidMsg ) - ) - .append( $( '
    ' ) - .attr( 'id', 'wikieditor-toolbar-link-int-target-status-external' ) - .append( externalMsg ) - ) - .append( $( '
    ' ) - .attr( 'id', 'wikieditor-toolbar-link-int-target-status-loading' ) - .append( $( '' ).attr( { - 'src': $.wikiEditor.imgPath + 'dialogs/' + 'loading-small.gif', - 'alt': loadingMsg, - 'title': loadingMsg - } ) ) - ) - .data( 'existencecache', {} ) - .children().hide(); - - $( '#wikieditor-toolbar-link-int-target' ) - .bind( 'keyup paste cut', function () { - // Cancel the running timer if applicable - if ( typeof $(this).data( 'timerID' ) !== 'undefined' ) { - clearTimeout( $(this).data( 'timerID' ) ); - } - // Delay fetch for a while - // FIXME: Make 120 configurable elsewhere - var timerID = setTimeout( updateExistence, 120 ); - $(this).data( 'timerID', timerID ); - } ) - .change( function () { - // Cancel the running timer if applicable - if ( typeof $(this).data( 'timerID' ) !== 'undefined' ) { - clearTimeout( $(this).data( 'timerID' ) ); - } - // Fetch right now - updateExistence(); - } ); - - // Title suggestions - $( '#wikieditor-toolbar-link-int-target' ).data( 'suggcache', {} ).suggestions( { - fetch: function ( query ) { - var that = this; - var title = $(this).val(); - - if ( isExternalLink( title ) || title.indexOf( '|' ) !== -1 || title === '') { - $(this).suggestions( 'suggestions', [] ); - return; - } - - var cache = $(this).data( 'suggcache' ); - if ( typeof cache[title] !== 'undefined' ) { - $(this).suggestions( 'suggestions', cache[title] ); - return; - } - - var request = $.ajax( { - url: mw.util.wikiScript( 'api' ), - data: { - action: 'opensearch', - search: title, - namespace: 0, - suggest: '', - format: 'json' - }, - dataType: 'json', - success: function ( data ) { - cache[title] = data[1]; - $(that).suggestions( 'suggestions', data[1] ); - } - }); - $(this).data( 'request', request ); - }, - cancel: function () { - var request = $(this).data( 'request' ); - if ( request ) - request.abort(); - } - }); - }, - dialog: { - width: 500, - dialogClass: 'wikiEditor-toolbar-dialog', - buttons: { - 'wikieditor-toolbar-tool-link-insert': function () { - function escapeInternalText( s ) { - return s.replace( /(\]{2,})/g, '$1' ); - } - function escapeExternalTarget( s ) { - return s.replace( / /g, '%20' ) - .replace( /\[/g, '%5B' ) - .replace( /\]/g, '%5D' ); - } - function escapeExternalText( s ) { - return s.replace( /(\]+)/g, '$1' ); - } - var insertText = ''; - var whitespace = $( '#wikieditor-toolbar-link-dialog' ).data( 'whitespace' ); - var target = $( '#wikieditor-toolbar-link-int-target' ).val(); - var text = $( '#wikieditor-toolbar-link-int-text' ).val(); - // check if the tooltips were passed as target or text - if ( $( '#wikieditor-toolbar-link-int-target' ).data( 'tooltip-mode' ) ) - target = ""; - if ( $( '#wikieditor-toolbar-link-int-text' ).data( 'tooltip-mode' ) ) - text = ""; - if ( target === '' ) { - alert( mw.msg( 'wikieditor-toolbar-tool-link-empty' ) ); - return; - } - if ( $.trim( text ) === '' ) { - // [[Foo| ]] creates an invisible link - // Instead, generate [[Foo|]] - text = ''; - } - if ( $( '#wikieditor-toolbar-link-type-int' ).is( ':checked' ) ) { - // FIXME: Exactly how fragile is this? - if ( $( '#wikieditor-toolbar-link-int-target-status-invalid' ).is( ':visible' ) ) { - // Refuse to add links to invalid titles - alert( mw.msg( 'wikieditor-toolbar-tool-link-int-invalid' ) ); - return; - } - - if ( target === text || !text.length ) - insertText = '[[' + target + ']]'; - else - insertText = '[[' + target + '|' + escapeInternalText( text ) + ']]'; - } else { - // Prepend http:// if there is no protocol - if ( !target.match( /^[a-z]+:\/\/./ ) ) - target = 'http://' + target; - - // Detect if this is really an internal link in disguise - var match = target.match( $(this).data( 'articlePathRegex' ) ); - if ( match && !$(this).data( 'ignoreLooksInternal' ) ) { - var buttons = { }; - var that = this; - buttons[ mw.msg( 'wikieditor-toolbar-tool-link-lookslikeinternal-int' ) ] = - function () { - $( '#wikieditor-toolbar-link-int-target' ).val( match[1] ).change(); - $(this).dialog( 'close' ); - }; - buttons[ mw.msg( 'wikieditor-toolbar-tool-link-lookslikeinternal-ext' ) ] = - function () { - $(that).data( 'ignoreLooksInternal', true ); - $(that).closest( '.ui-dialog' ).find( 'button:first' ).click(); - $(that).data( 'ignoreLooksInternal', false ); - $(this).dialog( 'close' ); - }; - $.wikiEditor.modules.dialogs.quickDialog( - mw.msg( 'wikieditor-toolbar-tool-link-lookslikeinternal', match[1] ), - { buttons: buttons } - ); - return; - } - - var escTarget = escapeExternalTarget( target ); - var escText = escapeExternalText( text ); - - if ( escTarget === escText ) - insertText = escTarget; - else if ( text === '' ) - insertText = '[' + escTarget + ']'; - else - insertText = '[' + escTarget + ' ' + escText + ']'; - } - // Preserve whitespace in selection when replacing - if ( whitespace ) { - insertText = whitespace[0] + insertText + whitespace[1]; - } - $(this).dialog( 'close' ); - $.wikiEditor.modules.toolbar.fn.doAction( $(this).data( 'context' ), { - type: 'replace', - options: { - pre: insertText - } - }, $(this) ); - - // Blank form - $( '#wikieditor-toolbar-link-int-target, #wikieditor-toolbar-link-int-text' ).val( '' ); - $( '#wikieditor-toolbar-link-type-int, #wikieditor-toolbar-link-type-ext' ) - .attr( 'checked', '' ); - }, - 'wikieditor-toolbar-tool-link-cancel': function () { - // Clear any saved selection state - var context = $(this).data( 'context' ); - context.fn.restoreCursorAndScrollTop(); - $(this).dialog( 'close' ); - } - }, - open: function () { - var target, text, type, matches; - - // Obtain the server name without the protocol. wgServer may be protocol-relative - var serverName = mw.config.get( 'wgServer' ).replace( /^(https?:)?\/\//, '' ); - // Cache the articlepath regex - $(this).data( 'articlePathRegex', new RegExp( - '^https?://' + $.escapeRE( serverName + mw.config.get( 'wgArticlePath' ) ) - .replace( /\\\$1/g, '(.*)' ) + '$' - ) ); - // Pre-fill the text fields based on the current selection - var context = $(this).data( 'context' ); - // Restore and immediately save selection state, needed for inserting stuff later - context.fn.restoreCursorAndScrollTop(); - context.fn.saveCursorAndScrollTop(); - var selection = context.$textarea.textSelection( 'getSelection' ); - $( '#wikieditor-toolbar-link-int-target' ).focus(); - // Trigger the change event, so the link status indicator is up to date - $( '#wikieditor-toolbar-link-int-target' ).change(); - $( '#wikieditor-toolbar-link-dialog' ).data( 'whitespace', [ '', '' ] ); - if ( selection !== '' ) { - if ( ( matches = selection.match( /^(\s*)\[\[([^\]\|]+)(\|([^\]\|]*))?\]\](\s*)$/ ) ) ) { - // [[foo|bar]] or [[foo]] - target = matches[2]; - text = ( matches[4] ? matches[4] : matches[2] ); - type = 'int'; - // Preserve whitespace when replacing - $( '#wikieditor-toolbar-link-dialog' ).data( 'whitespace', [ matches[1], matches[5] ] ); - } else if ( ( matches = selection.match( /^(\s*)\[([^\] ]+)( ([^\]]+))?\](\s*)$/ ) ) ) { - // [http://www.example.com foo] or [http://www.example.com] - target = matches[2]; - text = ( matches[4] || '' ); - type = 'ext'; - // Preserve whitespace when replacing - $( '#wikieditor-toolbar-link-dialog' ).data( 'whitespace', [ matches[1], matches[5] ] ); - } else { - // Trim any leading and trailing whitespace from the selection, - // but preserve it when replacing - target = text = $.trim( selection ); - if ( target.length < selection.length ) { - $( '#wikieditor-toolbar-link-dialog' ).data( 'whitespace', [ - selection.substr( 0, selection.indexOf( target.charAt( 0 ) ) ), - selection.substr( - selection.lastIndexOf( target.charAt( target.length - 1 ) ) + 1 - ) ] - ); - } - } - - // Change the value by calling val() doesn't trigger the change event, so let's do that - // ourselves - if ( typeof text !== 'undefined' ) - $( '#wikieditor-toolbar-link-int-text' ).val( text ).change(); - if ( typeof target !== 'undefined' ) - $( '#wikieditor-toolbar-link-int-target' ).val( target ).change(); - if ( typeof type !== 'undefined' ) - $( '#wikieditor-toolbar-link-' + type ).prop( 'checked', true ); - } - $( '#wikieditor-toolbar-link-int-text' ).data( 'untouched', - $( '#wikieditor-toolbar-link-int-text' ).val() === - $( '#wikieditor-toolbar-link-int-target' ).val() || - $( '#wikieditor-toolbar-link-int-text' ).hasClass( 'wikieditor-toolbar-dialog-hint' ) - ); - $( '#wikieditor-toolbar-link-int-target' ).suggestions(); - - // don't overwrite user's text - if ( selection !== '' ){ - $( '#wikieditor-toolbar-link-int-text' ).data( 'untouched', false ); - } - - $( '#wikieditor-toolbar-link-int-text, #wikiedit-toolbar-link-int-target' ) - .each( function () { - if ( $(this).val() === '' ) - $(this).parent().find( 'label' ).show(); - }); - - if ( !$(this).data( 'dialogkeypressset' ) ) { - $(this).data( 'dialogkeypressset', true ); - // Execute the action associated with the first button - // when the user presses Enter - $(this).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { - var button = $(this).data( 'dialogaction' ) || $(this).find( 'button:first' ); - button.click(); - e.preventDefault(); - } - }); - - // Make tabbing to a button and pressing - // Enter do what people expect - $(this).closest( '.ui-dialog' ).find( 'button' ).focus( function () { - $(this).closest( '.ui-dialog' ).data( 'dialogaction', this ); - }); - } - } - } - }, - 'insert-reference': { - titleMsg: 'wikieditor-toolbar-tool-reference-title', - id: 'wikieditor-toolbar-reference-dialog', - html: '\ -
    \ -
    \ -
    \ - \ - \ -
    \ -
    \ -
    ', - init: function () { - // Insert translated strings into labels - $( this ).find( '[rel]' ).each( function () { - $( this ).text( mw.msg( $( this ).attr( 'rel' ) ) ); - } ); - - }, - dialog: { - dialogClass: 'wikiEditor-toolbar-dialog', - width: 590, - buttons: { - 'wikieditor-toolbar-tool-reference-insert': function () { - var insertText = $( '#wikieditor-toolbar-reference-text' ).val(); - var whitespace = $( '#wikieditor-toolbar-reference-dialog' ).data( 'whitespace' ); - var attributes = $( '#wikieditor-toolbar-reference-dialog' ).data( 'attributes' ); - // Close the dialog - $( this ).dialog( 'close' ); - $.wikiEditor.modules.toolbar.fn.doAction( - $( this ).data( 'context' ), - { - type: 'replace', - options: { - pre: whitespace[0] + '', - peri: insertText, - post: '' + whitespace[1] - } - }, - $( this ) - ); - // Restore form state - $( '#wikieditor-toolbar-reference-text' ).val( '' ); - }, - 'wikieditor-toolbar-tool-reference-cancel': function () { - // Clear any saved selection state - var context = $( this ).data( 'context' ); - context.fn.restoreCursorAndScrollTop(); - $( this ).dialog( 'close' ); - } - }, - open: function () { - // Pre-fill the text fields based on the current selection - var context = $(this).data( 'context' ); - // Restore and immediately save selection state, needed for inserting stuff later - context.fn.restoreCursorAndScrollTop(); - context.fn.saveCursorAndScrollTop(); - var selection = context.$textarea.textSelection( 'getSelection' ); - // set focus - $( '#wikieditor-toolbar-reference-text' ).focus(); - $( '#wikieditor-toolbar-reference-dialog' ) - .data( 'whitespace', [ '', '' ] ) - .data( 'attributes', '' ); - if ( selection !== '' ) { - var matches, text; - if ( ( matches = selection.match( /^(\s*)]*)>([^<]*)<\/ref\>(\s*)$/ ) ) ) { - text = matches[3]; - // Preserve whitespace when replacing - $( '#wikieditor-toolbar-reference-dialog' ) - .data( 'whitespace', [ matches[1], matches[4] ] ); - $( '#wikieditor-toolbar-reference-dialog' ).data( 'attributes', matches[2] ); - } else { - text = selection; - } - $( '#wikieditor-toolbar-reference-text' ).val( text ); - } - if ( !( $( this ).data( 'dialogkeypressset' ) ) ) { - $( this ).data( 'dialogkeypressset', true ); - // Execute the action associated with the first button - // when the user presses Enter - $( this ).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { - var button = $( this ).data( 'dialogaction' ) || $( this ).find( 'button:first' ); - button.click(); - e.preventDefault(); - } - } ); - // Make tabbing to a button and pressing - // Enter do what people expect - $( this ).closest( '.ui-dialog' ).find( 'button' ).focus( function () { - $( this ).closest( '.ui-dialog' ).data( 'dialogaction', this ); - } ); - } - } - } - }, - 'insert-file': { - titleMsg: 'wikieditor-toolbar-tool-file-title', - id: 'wikieditor-toolbar-file-dialog', - html: '\ -
    \ -
    \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    \ -
    \ -
    \ - \ -
    \ -
    \ -
    \ - \ -
    \ -
    \ -
    \ - \ -
    \ -
    \ -
    ', - init: function () { - var magicWordsI18N = mw.config.get( 'wgWikiEditorMagicWords' ); - var defaultMsg = mw.msg( 'wikieditor-toolbar-file-default' ); - $( this ) - .find( '[data-i18n-magic]' ) - .text( function () { - return magicWordsI18N[ $( this ).attr( 'data-i18n-magic' ) ]; - }) - .removeAttr( 'data-i18n-magic' ) - .end() - .find( '#wikieditor-toolbar-file-size' ) - .attr( 'placeholder', defaultMsg ) - // The message may be long in some languages - .attr( 'size', defaultMsg.length ) - .end() - .find( '[rel]' ) - .text( function () { - return mw.msg( $( this ).attr( 'rel' ) ); - }) - .removeAttr( 'rel' ) - .end(); - }, - dialog: { - resizable: false, - dialogClass: 'wikiEditor-toolbar-dialog', - width: 590, - buttons: { - 'wikieditor-toolbar-tool-file-insert': function () { - var fileName, caption, fileFloat, fileFormat, fileSize, fileTitle, - options, fileUse, - hasPxRgx = /.+px$/; - fileName = $( '#wikieditor-toolbar-file-target' ).val(); - caption = $( '#wikieditor-toolbar-file-caption' ).val(); - fileFloat = $( '#wikieditor-toolbar-file-float' ).val(); - fileFormat = $( '#wikieditor-toolbar-file-format' ).val(); - fileSize = $( '#wikieditor-toolbar-file-size' ).val(); - // Append px to end to size if not already contains it - if ( fileSize !== '' && !hasPxRgx.test( fileSize ) ) { - fileSize += 'px'; - } - if ( fileName !== '' ) { - fileTitle = new mw.Title( fileName ); - // Append file namespace prefix to filename if not already contains it - if ( fileTitle.getNamespaceId() !== 6 ){ - fileTitle = new mw.Title( fileName, 6 ); - } - fileName = fileTitle.toText(); - } - options = [ fileSize, fileFormat, fileFloat ]; - // Filter empty values - options = $.grep( options, function ( val ) { - return val.length && val !== 'default'; - } ); - if ( caption.length ) { - options.push( caption ); - } - fileUse = options.length === 0 ? fileName : ( fileName + '|' + options.join( '|' ) ); - $( this ).dialog( 'close' ); - $.wikiEditor.modules.toolbar.fn.doAction( - $( this ).data( 'context' ), - { - type: 'replace', - options: { - pre: '[[', - peri: fileUse, - post: ']]', - ownline: true - } - }, - $( this ) - ); - - // Restore form state - $( ['#wikieditor-toolbar-file-target', - '#wikieditor-toolbar-file-caption', - '#wikieditor-toolbar-file-size', - '#wikieditor-toolbar-file-float', - '#wikieditor-toolbar-file-format'].join( ',' ) - ).val( '' ); - }, - 'wikieditor-toolbar-tool-file-cancel': function () { - $( this ).dialog( 'close' ); - } - }, - open: function () { - $( '#wikieditor-toolbar-file-target' ).focus(); - if ( !( $( this ).data( 'dialogkeypressset' ) ) ) { - $( this ).data( 'dialogkeypressset', true ); - // Execute the action associated with the first button - // when the user presses Enter - $( this ).closest( '.ui-dialog' ).keypress( function( e ) { - if ( e.which === 13 ) { - var button = $( this ).data( 'dialogaction' ) || - $( this ).find( 'button:first' ); - button.click(); - e.preventDefault(); - } - }); - - // Make tabbing to a button and pressing - // Enter do what people expect - $( this ).closest( '.ui-dialog' ).find( 'button' ).focus( function() { - $( this ).closest( '.ui-dialog' ).data( 'dialogaction', this ); - }); - } - } - } - }, - 'insert-table': { - titleMsg: 'wikieditor-toolbar-tool-table-title', - id: 'wikieditor-toolbar-table-dialog', - // FIXME: Localize 'x'? - html: '\ -
    \ -
    \ -
    \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    \ -
    \ -
    \ - \ -
    \ -
    \ -
    \ - \ -
    \ -
    \ -
    \ -
    \ - \ -
    \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ -
    \ -
    \ -
    ', - init: function () { - $(this).find( '[rel]' ).each( function () { - $(this).text( mw.msg( $(this).attr( 'rel' ) ) ); - }); - // Set tabindexes on form fields - $.wikiEditor.modules.dialogs.fn.setTabindexes( $(this).find( 'input' ).not( '[tabindex]' ) ); - - $( '#wikieditor-toolbar-table-dimensions-rows' ).val( 3 ); - $( '#wikieditor-toolbar-table-dimensions-columns' ).val( 3 ); - $( '#wikieditor-toolbar-table-wikitable' ).click( function () { - $( '.wikieditor-toolbar-table-preview' ).toggleClass( 'wikitable' ); - }); - - // Hack for sortable preview: dynamically adding - // sortable class doesn't work, so we use a clone - $( '#wikieditor-toolbar-table-preview' ) - .clone() - .attr( 'id', 'wikieditor-toolbar-table-preview2' ) - .addClass( 'sortable' ) - .insertAfter( $( '#wikieditor-toolbar-table-preview' ) ) - .hide(); - - mw.loader.using( 'jquery.tablesorter', function () { - $( '#wikieditor-toolbar-table-preview2' ).tablesorter(); - }); - - $( '#wikieditor-toolbar-table-sortable' ).click( function () { - // Swap the currently shown one clone with the other one - $( '#wikieditor-toolbar-table-preview' ) - .hide() - .attr( 'id', 'wikieditor-toolbar-table-preview3' ); - $( '#wikieditor-toolbar-table-preview2' ) - .attr( 'id', 'wikieditor-toolbar-table-preview' ) - .show(); - $( '#wikieditor-toolbar-table-preview3' ).attr( 'id', 'wikieditor-toolbar-table-preview2' ); - }); - - $( '#wikieditor-toolbar-table-dimensions-header' ).click( function () { - // Instead of show/hiding, switch the HTML around - // We do this because the sortable tables script styles the first row, - // visible or not - var headerHTML = $( '.wikieditor-toolbar-table-preview-header' ).html(); - var hiddenHTML = $( '.wikieditor-toolbar-table-preview-hidden' ).html(); - $( '.wikieditor-toolbar-table-preview-header' ).html( hiddenHTML ); - $( '.wikieditor-toolbar-table-preview-hidden' ).html( headerHTML ); - if ( typeof jQuery.fn.tablesorter == 'function' ) { - $( '#wikieditor-toolbar-table-preview, #wikieditor-toolbar-table-preview2' ) - .filter( '.sortable' ) - .tablesorter(); - } - }); - }, - dialog: { - resizable: false, - dialogClass: 'wikiEditor-toolbar-dialog', - width: 590, - buttons: { - 'wikieditor-toolbar-tool-table-insert': function () { - var rowsVal = $( '#wikieditor-toolbar-table-dimensions-rows' ).val(); - var colsVal = $( '#wikieditor-toolbar-table-dimensions-columns' ).val(); - var rows = parseInt( rowsVal, 10 ); - var cols = parseInt( colsVal, 10 ); - var header = $( '#wikieditor-toolbar-table-dimensions-header' ).prop( 'checked' ) ? 1 : 0; - if ( isNaN( rows ) || isNaN( cols ) || String( rows ) !== rowsVal || String( cols ) !== colsVal || rowsVal < 0 || colsVal < 0 ) { - alert( mw.msg( 'wikieditor-toolbar-tool-table-invalidnumber' ) ); - return; - } - if ( rows + header === 0 || cols === 0 ) { - alert( mw.msg( 'wikieditor-toolbar-tool-table-zero' ) ); - return; - } - if ( ( rows * cols ) > 1000 ) { - alert( mw.msg( 'wikieditor-toolbar-tool-table-toomany', 1000 ) ); - return; - } - var headerText = mw.msg( 'wikieditor-toolbar-tool-table-example-header' ); - var normalText = mw.msg( 'wikieditor-toolbar-tool-table-example' ); - var table = ""; - for ( var r = 0; r < rows + header; r++ ) { - table += "|-\n"; - for ( var c = 0; c < cols; c++ ) { - var isHeader = ( header && r === 0 ); - var delim = isHeader ? '!' : '|'; - if ( c > 0 ) { - delim += delim; - } - table += delim + ' ' + ( isHeader ? headerText : normalText ) + ' '; - } - // Replace trailing space by newline - // table[table.length - 1] is read-only - table = table.substr( 0, table.length - 1 ) + "\n"; - } - var classes = []; - if ( $( '#wikieditor-toolbar-table-wikitable' ).is( ':checked' ) ) - classes.push( 'wikitable' ); - if ( $( '#wikieditor-toolbar-table-sortable' ).is( ':checked' ) ) - classes.push( 'sortable' ); - var classStr = classes.length > 0 ? ' class="' + classes.join( ' ' ) + '"' : ''; - $(this).dialog( 'close' ); - $.wikiEditor.modules.toolbar.fn.doAction( - $(this).data( 'context' ), - { - type: 'replace', - options: { - pre: '{|' + classStr + "\n", - peri: table, - post: '|}', - ownline: true - } - }, - $(this) - ); - - // Restore form state - $( '#wikieditor-toolbar-table-dimensions-rows' ).val( 3 ); - $( '#wikieditor-toolbar-table-dimensions-columns' ).val( 3 ); - // Simulate clicks instead of setting values, so the according - // actions are performed - if ( !$( '#wikieditor-toolbar-table-dimensions-header' ).is( ':checked' ) ) - $( '#wikieditor-toolbar-table-dimensions-header' ).click(); - if ( !$( '#wikieditor-toolbar-table-wikitable' ).is( ':checked' ) ) - $( '#wikieditor-toolbar-table-wikitable' ).click(); - if ( $( '#wikieditor-toolbar-table-sortable' ).is( ':checked' ) ) - $( '#wikieditor-toolbar-table-sortable' ).click(); - }, - 'wikieditor-toolbar-tool-table-cancel': function () { - $(this).dialog( 'close' ); - } - }, - open: function () { - $( '#wikieditor-toolbar-table-dimensions-rows' ).focus(); - if ( !( $(this).data( 'dialogkeypressset' ) ) ) { - $(this).data( 'dialogkeypressset', true ); - // Execute the action associated with the first button - // when the user presses Enter - $(this).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { - var button = $(this).data( 'dialogaction' ) || $(this).find( 'button:first' ); - button.click(); - e.preventDefault(); - } - }); - - // Make tabbing to a button and pressing - // Enter do what people expect - $(this).closest( '.ui-dialog' ).find( 'button' ).focus( function () { - $(this).closest( '.ui-dialog' ).data( 'dialogaction', this ); - }); - } - } - } - }, - 'search-and-replace': { - 'browsers': { - // Left-to-right languages - 'ltr': { - 'msie': false, - 'firefox': [['>=', 2]], - 'opera': false, - 'safari': [['>=', 3]], - 'chrome': [['>=', 3]] - }, - // Right-to-left languages - 'rtl': { - 'msie': false, - 'firefox': [['>=', 2]], - 'opera': false, - 'safari': [['>=', 3]], - 'chrome': [['>=', 3]] - } - }, - titleMsg: 'wikieditor-toolbar-tool-replace-title', - id: 'wikieditor-toolbar-replace-dialog', - html: '\ -
    \ -
    \ -
    \ -
    \ -
    \ -
    \ -
    \ -
    \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    \ - \ - \ -
    \ -
    ', - init: function () { - $(this).find( '[rel]' ).each( function () { - $(this).text( mw.msg( $(this).attr( 'rel' ) ) ); - }); - // Set tabindexes on form fields - $.wikiEditor.modules.dialogs.fn.setTabindexes( $(this).find( 'input' ).not( '[tabindex]' ) ); - - // TODO: Find a cleaner way to share this function - $(this).data( 'replaceCallback', function ( mode ) { - var offset, textRemainder, regex, index, i, - start, end; - - $( '#wikieditor-toolbar-replace-nomatch, #wikieditor-toolbar-replace-success, #wikieditor-toolbar-replace-emptysearch, #wikieditor-toolbar-replace-invalidregex' ).hide(); - - // Search string cannot be empty - var searchStr = $( '#wikieditor-toolbar-replace-search' ).val(); - if ( searchStr === '' ) { - $( '#wikieditor-toolbar-replace-emptysearch' ).show(); - return; - } - - // Replace string can be empty - var replaceStr = $( '#wikieditor-toolbar-replace-replace' ).val(); - - // Prepare the regular expression flags - var flags = 'm'; - var matchCase = $( '#wikieditor-toolbar-replace-case' ).is( ':checked' ); - if ( !matchCase ) { - flags += 'i'; - } - var isRegex = $( '#wikieditor-toolbar-replace-regex' ).is( ':checked' ); - if ( !isRegex ) { - searchStr = $.escapeRE( searchStr ); - } - if ( mode === 'replaceAll' ) { - flags += 'g'; - } - - try { - regex = new RegExp( searchStr, flags ); - } catch ( e ) { - $( '#wikieditor-toolbar-replace-invalidregex' ) - .text( mw.msg( 'wikieditor-toolbar-tool-replace-invalidregex', - e.message ) ) - .show(); - return; - } - - var $textarea = $(this).data( 'context' ).$textarea; - var text = $textarea.textSelection( 'getContents' ); - var match = false; - if ( mode !== 'replaceAll' ) { - if ( mode === 'replace' ) { - offset = $(this).data( 'matchIndex' ); - } else { - offset = $(this).data( 'offset' ); - } - textRemainder = text.substr( offset ); - match = textRemainder.match( regex ); - } - if ( !match ) { - // Search hit BOTTOM, continuing at TOP - // TODO: Add a "Wrap around" option. - offset = 0; - textRemainder = text; - match = textRemainder.match( regex ); - } - - if ( !match ) { - $( '#wikieditor-toolbar-replace-nomatch' ).show(); - } else if ( mode == 'replaceAll' ) { - // Instead of using repetitive .match() calls, we use one .match() call with /g - // and indexOf() followed by substr() to find the offsets. This is actually - // faster because our indexOf+substr loop is faster than a match loop, and the - // /g match is so ridiculously fast that it's negligible. - // FIXME: Repetitively calling encapsulateSelection() is probably the best strategy - // in Firefox/Webkit, but in IE replacing the entire content once is better. - for ( i = 0; i < match.length; i++ ) { - index = textRemainder.indexOf( match[i] ); - if ( index === -1 ) { - // This shouldn't happen - break; - } - var matchedText = textRemainder.substr( index, match[i].length ); - textRemainder = textRemainder.substr( index + match[i].length ); - - start = index + offset; - end = start + match[i].length; - // Make regex placeholder substitution ($1) work - var replace = isRegex ? matchedText.replace( regex, replaceStr ) : replaceStr; - var newEnd = start + replace.length; - $textarea - .textSelection( 'setSelection', { 'start': start, 'end': end } ) - .textSelection( 'encapsulateSelection', { - 'peri': replace, - 'replace': true } ) - .textSelection( 'setSelection', { 'start': start, 'end': newEnd } ); - offset = newEnd; - } - $( '#wikieditor-toolbar-replace-success' ) - .text( mw.msg( 'wikieditor-toolbar-tool-replace-success', match.length ) ) - .show(); - $(this).data( 'offset', 0 ); - } else { - - if ( mode == 'replace' ) { - var actualReplacement; - - if (isRegex) { - // If backreferences (like $1) are used, the actual actual replacement string will be different - actualReplacement = match[0].replace( regex, replaceStr ); - } else { - actualReplacement = replaceStr; - } - - if (match) { - // Do the replacement - $textarea.textSelection( 'encapsulateSelection', { - 'peri': actualReplacement, - 'replace': true } ); - // Reload the text after replacement - text = $textarea.textSelection( 'getContents' ); - } - - // Find the next instance - offset = offset + match[0].length + actualReplacement.length; - textRemainder = text.substr( offset ); - match = textRemainder.match( regex ); - - if (match) { - start = offset + match.index; - end = start + match[0].length; - } else { - // If no new string was found, try searching from the beginning. - // TODO: Add a "Wrap around" option. - textRemainder = text; - match = textRemainder.match( regex ); - if (match) { - start = match.index; - end = start + match[0].length; - } else { - // Give up - start = 0; - end = 0; - } - } - } else { - start = offset + match.index; - end = start + match[0].length; - } - - $( this ).data( 'matchIndex', start); - - $textarea.textSelection( 'setSelection', { - 'start': start, - 'end': end - } ); - $textarea.textSelection( 'scrollToCaretPosition' ); - $( this ).data( 'offset', end ); - var context = $( this ).data( 'context' ); - var textbox = typeof context.$iframe !== 'undefined' ? - context.$iframe[0].contentWindow : $textarea[0]; - textbox.focus(); - } - }); - }, - dialog: { - width: 500, - dialogClass: 'wikiEditor-toolbar-dialog', - modal: false, - buttons: { - 'wikieditor-toolbar-tool-replace-button-findnext': function ( e ) { - $(this).closest( '.ui-dialog' ).data( 'dialogaction', e.target ); - $(this).data( 'replaceCallback' ).call( this, 'find' ); - }, - 'wikieditor-toolbar-tool-replace-button-replace': function ( e ) { - $(this).closest( '.ui-dialog' ).data( 'dialogaction', e.target ); - $(this).data( 'replaceCallback' ).call( this, 'replace' ); - }, - 'wikieditor-toolbar-tool-replace-button-replaceall': function ( e ) { - $(this).closest( '.ui-dialog' ).data( 'dialogaction', e.target ); - $(this).data( 'replaceCallback' ).call( this, 'replaceAll' ); - }, - 'wikieditor-toolbar-tool-replace-close': function () { - $(this).dialog( 'close' ); - } - }, - open: function () { - $(this).data( 'offset', 0 ); - $(this).data( 'matchIndex', 0 ); - - $( '#wikieditor-toolbar-replace-search' ).focus(); - $( '#wikieditor-toolbar-replace-nomatch, #wikieditor-toolbar-replace-success, #wikieditor-toolbar-replace-emptysearch, #wikieditor-toolbar-replace-invalidregex' ).hide(); - if ( !( $(this).data( 'onetimeonlystuff' ) ) ) { - $(this).data( 'onetimeonlystuff', true ); - // Execute the action associated with the first button - // when the user presses Enter - $(this).closest( '.ui-dialog' ).keypress( function ( e ) { - if ( ( e.keyCode || e.which ) == 13 ) { - var button = $(this).data( 'dialogaction' ) || $(this).find( 'button:first' ); - button.click(); - e.preventDefault(); - } - }); - // Make tabbing to a button and pressing - // Enter do what people expect - $(this).closest( '.ui-dialog' ).find( 'button' ).focus( function () { - $(this).closest( '.ui-dialog' ).data( 'dialogaction', this ); - }); - } - var dialog = $(this).closest( '.ui-dialog' ); - var that = this; - var context = $(this).data( 'context' ); - var textbox = typeof context.$iframe !== 'undefined' ? - context.$iframe[0].contentWindow.document : context.$textarea; - - $( textbox ) - .bind( 'keypress.srdialog', function ( e ) { - if ( e.which == 13 ) { - // Enter - var button = dialog.data( 'dialogaction' ) || dialog.find( 'button:first' ); - button.click(); - e.preventDefault(); - } else if ( e.which == 27 ) { - // Escape - $(that).dialog( 'close' ); - } - }); - }, - close: function () { - var context = $(this).data( 'context' ); - var textbox = typeof context.$iframe !== 'undefined' ? - context.$iframe[0].contentWindow.document : context.$textarea; - $( textbox ).unbind( 'keypress.srdialog' ); - $(this).closest( '.ui-dialog' ).data( 'dialogaction', false ); - } - } - } - } }; - } - -}; - -}( jQuery, mediaWiki ) ); diff --git a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.css b/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.css deleted file mode 100644 index b97ce7e..0000000 --- a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.css +++ /dev/null @@ -1,68 +0,0 @@ -/** - * CSS for WikiEditor Dialogs jQuery plugin - */ - -.wikiEditor-toolbar-dialog table { - margin-top: 0.75em; -} - -.wikiEditor-toolbar-dialog table td { - padding: 0.5em; - height: 3em; - overflow: visible; -} - -/* Put suggestions (default z-index 99) on top of dialogs (z-index 1002) */ -div.suggestions { - z-index: 1099; -} - -.wikiEditor-toolbar-dialog table td { - padding: 0 !important; -} - -.wikiEditor-toolbar-dialog .ui-dialog-content fieldset { - border: none !important; - margin: 0 !important; - padding: 0 !important; -} - -.wikiEditor-toolbar-dialog .ui-widget-header { - border-bottom:1px solid #6bc8f3 !important; -} - -.wikiEditor-toolbar-dialog .ui-dialog-content input[type=text] { - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -webkit-box-sizing: border-box; - -khtml-box-sizing: border-box; -} - -.wikiEditor-toolbar-dialog .ui-dialog-content input[type="radio"], -.wikiEditor-toolbar-dialog .ui-dialog-content input[type="checkbox"] { - margin-left: 0; -} - -.wikiEditor-toolbar-dialog .ui-dialog-titlebar-close { - padding: 0; -} -body .wikiEditor-toolbar-dialog .ui-dialog-titlebar-close { - right: 0.9em; -} - -.wikieditor-toolbar-field-wrapper { - padding: 0 0 25px 0; -} - -.wikieditor-toolbar-floated-field-wrapper { - float: left; - margin-right: 2em; -} - -.wikieditor-toolbar-dialog-hint { - color: #999999; -} - -.wikiEditor-toolbar-dialog { - border: none; -} \ No newline at end of file diff --git a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js b/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js deleted file mode 100644 index f6d86d7..0000000 --- a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.dialogs.js +++ /dev/null @@ -1,234 +0,0 @@ -/** - * Dialog Module for wikiEditor - */ -( function ( $, mw ) { - -$.wikiEditor.modules.dialogs = { - - /** - * Compatability map - */ - browsers: { - // Left-to-right languages - ltr: { - msie: [['>=', 7]], - // jQuery UI appears to be broken in FF 2.0 - 2.0.0.4 - firefox: [ - ['>=', 2], ['!=', '2.0'], ['!=', '2.0.0.1'], ['!=', '2.0.0.2'], ['!=', '2.0.0.3'], ['!=', '2.0.0.4'] - ], - opera: [['>=', 9.6]], - safari: [['>=', 3]], - chrome: [['>=', 3]] - }, - // Right-to-left languages - rtl: { - msie: [['>=', 7]], - // jQuery UI appears to be broken in FF 2.0 - 2.0.0.4 - firefox: [ - ['>=', 2], ['!=', '2.0'], ['!=', '2.0.0.1'], ['!=', '2.0.0.2'], ['!=', '2.0.0.3'], ['!=', '2.0.0.4'] - ], - opera: [['>=', 9.6]], - safari: [['>=', 3]], - chrome: [['>=', 3]] - } - }, - - /** - * API accessible functions - */ - api: { - addDialog: function ( context, data ) { - $.wikiEditor.modules.dialogs.fn.create( context, data ); - }, - openDialog: function ( context, module ) { - if ( module in $.wikiEditor.modules.dialogs.modules ) { - var mod = $.wikiEditor.modules.dialogs.modules[module]; - var $dialog = $( '#' + mod.id ); - if ( $dialog.length === 0 ) { - $.wikiEditor.modules.dialogs.fn.reallyCreate( context, mod, module ); - $dialog = $( '#' + mod.id ); - } - - // Workaround for bug in jQuery UI: close button in top right retains focus - $dialog.closest( '.ui-dialog' ) - .find( '.ui-dialog-titlebar-close' ) - .removeClass( 'ui-state-focus' ); - - $dialog.dialog( 'open' ); - } - }, - closeDialog: function ( context, module ) { - if ( module in $.wikiEditor.modules.dialogs.modules ) { - $( '#' + $.wikiEditor.modules.dialogs.modules[module].id ).dialog( 'close' ); - } - } - }, - - /** - * Internally used functions - */ - fn: { - /** - * Creates a dialog module within a wikiEditor - * - * @param {Object} context Context object of editor to create module in - * @param {Object} config Configuration object to create module from - */ - create: function ( context, config ) { - var mod, module, filtered, i, $existingDialog; - - // Defer building of modules, but do check whether they need the iframe rightaway - for ( mod in config ) { - module = config[mod]; - // Only create the dialog if it's supported, isn't filtered and doesn't exist yet - filtered = false; - if ( typeof module.filters != 'undefined' ) { - for ( i = 0; i < module.filters.length; i++ ) { - if ( $( module.filters[i] ).length === 0 ) { - filtered = true; - break; - } - } - } - // If the dialog already exists, but for another textarea, simply remove it - $existingDialog = $( '#' + module.id ); - if ( $existingDialog.length > 0 && $existingDialog.data( 'context' ).$textarea != context.$textarea ) { - $existingDialog.remove(); - } - // Re-select from the DOM, we might have removed the dialog just now - $existingDialog = $( '#' + module.id ); - if ( !filtered && $.wikiEditor.isSupported( module ) && $existingDialog.length === 0 ) { - $.wikiEditor.modules.dialogs.modules[mod] = module; - // If this dialog requires the iframe, set it up - if ( typeof context.$iframe === 'undefined' && $.wikiEditor.isRequired( module, 'iframe' ) ) { - context.fn.setupIframe(); - } - context.$textarea.trigger( 'wikiEditor-dialogs-setup-' + mod ); - // If this dialog requires immediate creation, create it now - if ( typeof module.immediateCreate !== 'undefined' && module.immediateCreate ) { - $.wikiEditor.modules.dialogs.fn.reallyCreate( context, module, mod ); - } - } - } - }, - - /** - * Build the actual dialog. This done on-demand rather than in create() - * @param {Object} context Context object of editor dialog belongs to - * @param {Object} module Dialog module object - * @param {String} name Dialog name (key in $.wikiEditor.modules.dialogs.modules) - */ - reallyCreate: function ( context, module, name ) { - var msg, - configuration = module.dialog; - // Add some stuff to configuration - configuration.bgiframe = true; - configuration.autoOpen = false; - // By default our dialogs are modal, unless explicitely defined in their specific configuration. - if( typeof configuration.modal == "undefined" ) { - configuration.modal = true; - } - configuration.title = $.wikiEditor.autoMsg( module, 'title' ); - // Transform messages in keys - // Stupid JS won't let us do stuff like - // foo = { mw.msg( 'bar' ): baz } - configuration.newButtons = {}; - for ( msg in configuration.buttons ) { - configuration.newButtons[mw.msg( msg )] = configuration.buttons[msg]; - } - configuration.buttons = configuration.newButtons; - // Create the dialog
    - var dialogDiv = $( '
    ' ) - .attr( 'id', module.id ) - .html( module.html ) - .data( 'context', context ) - .appendTo( $( 'body' ) ) - .each( module.init ) - .dialog( configuration ); - // Set tabindexes on buttons added by .dialog() - $.wikiEditor.modules.dialogs.fn.setTabindexes( dialogDiv.closest( '.ui-dialog' ) - .find( 'button' ).not( '[tabindex]' ) ); - if ( !( 'resizeme' in module ) || module.resizeme ) { - dialogDiv - .bind( 'dialogopen', $.wikiEditor.modules.dialogs.fn.resize ) - .find( '.ui-tabs' ).bind( 'tabsshow', function () { - $(this).closest( '.ui-dialog-content' ).each( - $.wikiEditor.modules.dialogs.fn.resize ); - }); - } - dialogDiv.bind( 'dialogclose', function () { - context.fn.restoreSelection(); - } ); - - // Let the outside world know we set up this dialog - context.$textarea.trigger( 'wikiEditor-dialogs-loaded-' + name ); - }, - - /** - * Resize a dialog so its contents fit - * - * Usage: dialog.each( resize ); or dialog.bind( 'blah', resize ); - * NOTE: This function assumes $.ui.dialog has already been loaded - */ - resize: function () { - var wrapper = $(this).closest( '.ui-dialog' ); - var oldWidth = wrapper.width(); - // Make sure elements don't wrapped so we get an accurate idea of whether they really fit. Also temporarily show - // hidden elements. Work around jQuery bug where
    inside a dialog is both - // :visible and :hidden - var oldHidden = $(this).find( '*' ).not( ':visible' ); - // Save the style attributes of the hidden elements to restore them later. Calling hide() after show() messes up - // for elements hidden with a class - oldHidden.each( function () { - $(this).data( 'oldstyle', $(this).attr( 'style' ) ); - }); - oldHidden.show(); - var oldWS = $(this).css( 'white-space' ); - $(this).css( 'white-space', 'nowrap' ); - if ( wrapper.width() <= $(this).get(0).scrollWidth ) { - var thisWidth = $(this).data( 'thisWidth' ) ? $(this).data( 'thisWidth' ) : 0; - thisWidth = Math.max( $(this).get(0).width, thisWidth ); - $(this).width( thisWidth ); - $(this).data( 'thisWidth', thisWidth ); - var wrapperWidth = $(this).data( 'wrapperWidth' ) ? $(this).data( 'wrapperWidth' ) : 0; - wrapperWidth = Math.max( wrapper.get(0).scrollWidth, wrapperWidth ); - wrapper.width( wrapperWidth ); - $(this).data( 'wrapperWidth', wrapperWidth ); - $(this).dialog( { 'width': wrapper.width() } ); - wrapper.css( 'left', parseInt( wrapper.css( 'left' ), 10 ) - ( wrapper.width() - oldWidth ) / 2 ); - } - $(this).css( 'white-space', oldWS ); - oldHidden.each( function () { - $(this).attr( 'style', $(this).data( 'oldstyle' ) ); - }); - }, - /** - * Set the right tabindexes on elements in a dialog - * @param $elements Elements to set tabindexes on. If they already have tabindexes, this function can behave a bit weird - */ - setTabindexes: function ( $elements ) { - // Get the highest tab index - var tabIndex = $( document ).lastTabIndex() + 1; - $elements.each( function () { - $(this).attr( 'tabindex', tabIndex++ ); - } ); - } - }, - - // This stuff is just hanging here, perhaps we could come up with a better home for this stuff - modules: {}, - - quickDialog: function ( body, settings ) { - $( '
    ' ) - .text( body ) - .appendTo( $( 'body' ) ) - .dialog( $.extend( { - bgiframe: true, - modal: true - }, settings ) ) - .dialog( 'open' ); - } - -}; - -}( jQuery, mediaWiki ) ); diff --git a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js b/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js deleted file mode 100644 index 9d964fa..0000000 --- a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.highlight.js +++ /dev/null @@ -1,373 +0,0 @@ -/* Highlight module for wikiEditor */ - -( function ( $ ) { - -$.wikiEditor.modules.highlight = { - - /** - * Core Requirements - */ - req: [ 'iframe' ], - - /** - * Configuration - */ - cfg: { - styleVersion: 3 - }, - - /** - * Internally used event handlers - */ - evt: { - delayedChange: function ( context, event ) { - if ( event.data.scope == 'realchange' ) { - $.wikiEditor.modules.highlight.fn.scan( context ); - $.wikiEditor.modules.highlight.fn.mark( context, event.data.scope ); - } - }, - ready: function ( context, event ) { - $.wikiEditor.modules.highlight.fn.scan( context ); - $.wikiEditor.modules.highlight.fn.mark( context, 'ready' ); - } - }, - - /** - * Internally used functions - */ - fn: { - /** - * Creates a highlight module within a wikiEditor - * - * @param config Configuration object to create module from - */ - create: function ( context, config ) { - context.modules.highlight.markersStr = ''; - }, - /** - * Scans text division for tokens - * - * @param division - */ - scan: function ( context, division ) { - var tokenArray, text, module, exp, - left, right, match; - /*jshint eqnull: true */ - - // Remove all existing tokens - tokenArray = context.modules.highlight.tokenArray = []; - // Scan text for new tokens - text = context.fn.getContents(); - // Perform a scan for each module which provides any expressions to scan for - // FIXME: This traverses the entire string once for every regex. Investigate - // whether |-concatenating regexes then traversing once is faster. - for ( module in context.modules ) { - if ( module in $.wikiEditor.modules && 'exp' in $.wikiEditor.modules[module] ) { - for ( exp in $.wikiEditor.modules[module].exp ) { - // Prepare configuration - var regex = $.wikiEditor.modules[module].exp[exp].regex; - var label = $.wikiEditor.modules[module].exp[exp].label; - var markAfter = $.wikiEditor.modules[module].exp[exp].markAfter || false; - // Search for tokens - var offset = 0; - while ( ( match = text.substr( offset ).match( regex ) ) != null ) { - right = ( left = offset + match.index ) + match[0].length; - tokenArray[tokenArray.length] = { - offset: markAfter ? right : left, - label: label, - tokenStart: left, - match: match - }; - // Move to the right of this match - offset = right; - } - } - } - } - // Sort by start - tokenArray.sort( function ( a, b ) { - return a.tokenStart - b.tokenStart; - } ); - // Let the world know, a scan just happened! - context.fn.trigger( 'scan' ); - }, - - /** - * Marks up text with HTML - * - * @param division - * @param tokens - */ - // FIXME: What do division and tokens do? - // TODO: Document the scan() and mark() APIs somewhere - mark: function ( context, division, tokens ) { - var i, subtracted, oldLength, j, o; - - // Reset markers - var markers = []; - - // Recycle markers that will be skipped in this run - if ( context.modules.highlight.markers && division !== '' ) { - for ( i = 0; i < context.modules.highlight.markers.length; i++ ) { - if ( context.modules.highlight.markers[i].skipDivision == division ) { - markers.push( context.modules.highlight.markers[i] ); - } - } - } - context.modules.highlight.markers = markers; - - // Get all markers - context.fn.trigger( 'mark' ); - markers.sort( function ( a, b ) { - return a.start - b.start || a.end - b.end; - } ); - - // Serialize the markers array to a string and compare it with the one stored in the previous run - if they're - // equal, there's no markers to change - var markersStr = ''; - for ( i = 0; i < markers.length; i++ ) { - markersStr += markers[i].start + ',' + markers[i].end + ',' + markers[i].type + ','; - } - if ( context.modules.highlight.markersStr == markersStr ) { - // No change, bail out - return; - } - context.modules.highlight.markersStr = markersStr; - - // Traverse the iframe DOM, inserting markers where they're needed - store visited markers here so we know which - // markers should be removed - var visited = [], v = 0; - for ( i = 0; i < markers.length; i++ ) { - if ( typeof markers[i].skipDivision !== 'undefined' && ( division == markers[i].skipDivision ) ) { - continue; - } - - // We want to isolate each marker, so we may need to split textNodes if a marker starts or ends halfway one. - var start = markers[i].start; - var s = context.fn.getOffset( start ); - if ( !s ) { - // This shouldn't happen - continue; - } - var startNode = s.node; - - // Don't wrap leading BRs, produces undesirable results - // FIXME: It's also possible that the offset is a bit high because getOffset() has incremented .length to - // fake the newline caused by startNode being in a P. In this case, prevent the textnode splitting below - // from making startNode an empty textnode, IE barfs on that - while ( startNode.nodeName === 'BR' || s.offset === startNode.nodeValue.length ) { - start++; - s = context.fn.getOffset( start ); - startNode = s.node; - } - - // The next marker starts somewhere in this textNode or at this BR - if ( s.offset > 0 && s.node.nodeName == '#text' ) { - // Split off the prefix - this leaves the prefix in the current node and puts the rest in a new node - // which is our start node - var newStartNode = startNode.splitText( s.offset < s.node.nodeValue.length ? - s.offset : s.node.nodeValue.length - 1 - ); - var oldStartNode = startNode; - startNode = newStartNode; - // Update offset objects. We don't need purgeOffsets(), simply manipulating the existing offset objects - // will suffice - // FIXME: This manipulates context.offsets directly, which is ugly, but the performance improvement vs. - // purgeOffsets() is worth it - this code doesn't set lastTextNode to newStartNode for offset objects - // with lastTextNode == oldStartNode, but that doesn't really matter - subtracted = s.offset; - oldLength = s.length; - - // Update offset objects referring to oldStartNode - for ( j = start - subtracted; j < start; j++ ) { - if ( j in context.offsets ) { - o = context.offsets[j]; - o.node = oldStartNode; - o.length = subtracted; - } - } - // Update offset objects referring to newStartNode - for ( j = start; j < start - subtracted + oldLength; j++ ) { - if ( j in context.offsets ) { - o = context.offsets[j]; - o.node = newStartNode; - o.offset -= subtracted; - o.length -= subtracted; - o.lastTextNode = oldStartNode; - } - } - } - var end = markers[i].end; - // To avoid ending up at the first char of the next node, we grab the offset for end - 1 and add one to the - // offset - var e = context.fn.getOffset( end - 1 ); - if ( !e ) { - // This shouldn't happen - continue; - } - var endNode = e.node; - if ( e.offset + 1 < e.length - 1 && endNode.nodeName == '#text' ) { - // Split off the suffix. This puts the suffix in a new node and leaves the rest in endNode - var oldEndNode = endNode; - var newEndNode = endNode.splitText( e.offset + 1 ); - // Update offset objects - subtracted = e.offset + 1; - oldLength = e.length; - - // Update offset objects referring to oldEndNode - for ( j = end - subtracted; j < end; j++ ) { - if ( j in context.offsets ) { - o = context.offsets[j]; - o.node = oldEndNode; - o.length = subtracted; - } - } - // We have to insert this one, as it might not exist: we didn't call getOffset( end ) - context.offsets[end] = { - 'node': newEndNode, - 'offset': 0, - 'length': oldLength - subtracted, - 'lastTextNode': oldEndNode - }; - // Update offset objects referring to newEndNode - for ( j = end + 1; j < end - subtracted + oldLength; j++ ) { - if ( j in context.offsets ) { - o = context.offsets[j]; - o.node = newEndNode; - o.offset -= subtracted; - o.length -= subtracted; - o.lastTextNode = oldEndNode; - } - } - } - // Don't wrap trailing BRs, doing that causes weird issues - if ( endNode.nodeName == 'BR' ) { - endNode = e.lastTextNode; - } - // If startNode and endNode have different parents, we need to pull endNode and all textnodes in between - // into startNode's parent and replace

    with
    - if ( startNode.parentNode !== endNode.parentNode ) { - var startP = $( startNode ).closest( 'p' ).get( 0 ); - var t = new context.fn.rawTraverser( startNode, startP, context.$content.get( 0 ), false ); - var afterStart = startNode.nextSibling; - var lastP = startP; - var nextT = t.next(); - while ( nextT && t.node !== endNode ) { - t = nextT; - nextT = t.next(); - // If t.node has a different parent, merge t.node.parentNode with startNode.parentNode - if ( t.node.parentNode !== startNode.parentNode ) { - var oldParent = t.node.parentNode; - if ( afterStart ) { - if ( lastP !== t.inP ) { - // We're entering a new

    , insert a
    - startNode.parentNode.insertBefore( - startNode.ownerDocument.createElement( 'br' ), - afterStart - ); - } - // A

    with just a
    in it is an empty line, so let's not bother with unwrapping it - if ( !( oldParent.childNodes.length == 1 && oldParent.firstChild.nodeName == 'BR' ) ) { - // Move all children of oldParent into startNode's parent - while ( oldParent.firstChild ) { - startNode.parentNode.insertBefore( oldParent.firstChild, afterStart ); - } - } - } else { - if ( lastP !== t.inP ) { - // We're entering a new

    , insert a
    - startNode.parentNode.appendChild( - startNode.ownerDocument.createElement( 'br' ) - ); - } - // A

    with just a
    in it is an empty line, so let's not bother with unwrapping it - if ( !( oldParent.childNodes.length == 1 && oldParent.firstChild.nodeName == 'BR' ) ) { - // Move all children of oldParent into startNode's parent - while ( oldParent.firstChild ) { - startNode.parentNode.appendChild( oldParent.firstChild ); - } - } - } - // Remove oldParent, which is now empty - oldParent.parentNode.removeChild( oldParent ); - } - lastP = t.inP; - } - // Moving nodes around like this invalidates offset objects - // TODO: Update offset objects ourselves for performance. Requires rewriting this code block to be - // offset-based rather than traverser-based - } - // Now wrap everything between startNode and endNode (may be equal). - var ca1 = startNode, ca2 = endNode; - if ( ca1 && ca2 && ca1.parentNode ) { - var anchor = markers[i].getAnchor( ca1, ca2 ); - if ( !anchor ) { - var commonAncestor = ca1.parentNode; - if ( markers[i].anchor == 'wrap') { - // We have to store things like .parentNode and .nextSibling because appendChild() changes these - var newNode = ca1.ownerDocument.createElement( 'span' ); - var nextNode = ca2.nextSibling; - // Append all nodes between ca1 and ca2 (inclusive) to newNode - var n = ca1; - while ( n !== nextNode ) { - var ns = n.nextSibling; - newNode.appendChild( n ); - n = ns; - } - // Insert newNode in the right place - if ( nextNode ) { - commonAncestor.insertBefore( newNode, nextNode ); - } else { - commonAncestor.appendChild( newNode ); - } - anchor = newNode; - } else if ( markers[i].anchor == 'tag' ) { - anchor = commonAncestor; - } - $( anchor ).data( 'marker', markers[i] ).addClass( 'wikiEditor-highlight' ); - // Allow the module adding this marker to manipulate it - markers[i].afterWrap( anchor, markers[i] ); - - } else { - // Update the marker object - $( anchor ).data( 'marker', markers[i] ); - if ( typeof markers[i].onSkip == 'function' ) { - markers[i].onSkip( anchor ); - } - } - visited[v++] = anchor; - } - } - // Remove markers that were previously inserted but weren't passed to this function - visited[] contains the - // visited elements in order and find() and each() preserve order - j = 0; - context.$content.find( '.wikiEditor-highlight' ).each( function () { - if ( visited[j] == this ) { - // This marker is legit, leave it in - j++; - return true; - } - // Remove this marker - var marker = $(this).data( 'marker' ); - if ( marker && typeof marker.skipDivision !== 'undefined' && ( division === marker.skipDivision ) ) { - // Don't remove these either - return true; - } - if ( marker && typeof marker.beforeUnwrap === 'function' ) - marker.beforeUnwrap( this ); - if ( ( marker && marker.anchor === 'tag' ) || $(this).is( 'p' ) ) { - // Remove all classes - $(this).removeAttr( 'class' ); - } else { - // Assume anchor == 'wrap' - $(this).replaceWith( this.childNodes ); - } - context.fn.purgeOffsets(); - }); - - } - } -}; - -}( jQuery ) ); - diff --git a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.html b/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.html deleted file mode 100644 index f11521a..0000000 --- a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - WikiEditor - - - - - - diff --git a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js b/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js deleted file mode 100644 index 4d42501..0000000 --- a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.iframe.js +++ /dev/null @@ -1,1387 +0,0 @@ -/* IFrame extension for wikiEditor */ - -( function( $ ) { $.wikiEditor.extensions.iframe = function( context ) { - -/* - * Event Handlers - * - * These act as filters returning false if the event should be ignored or returning true if it should be passed - * on to all modules. This is also where we can attach some extra information to the events. - */ -context.evt = $.extend( context.evt, { - /** - * Filters change events, which occur when the user interacts with the contents of the iframe. The goal of this - * function is to both classify the scope of changes as 'division' or 'character' and to prevent further - * processing of events which did not actually change the content of the iframe. - */ - 'keydown': function( event ) { - switch ( event.which ) { - case 90: // z - case 89: // y - if ( event.which == 89 && !$.browser.msie ) { - // only handle y events for IE - return true; - } else if ( ( event.ctrlKey || event.metaKey ) && context.history.length ) { - // HistoryPosition is a negative number between -1 and -context.history.length, in other words - // it's the number of steps backwards from the latest state. - var newPosition; - if ( event.shiftKey || event.which == 89 ) { - // Redo - newPosition = context.historyPosition + 1; - } else { - // Undo - newPosition = context.historyPosition - 1; - } - // Only act if we are switching to a valid state - if ( newPosition >= ( context.history.length * -1 ) && newPosition < 0 ) { - // Make sure we run the history storing code before we make this change - context.fn.updateHistory( context.oldDelayedHTML != context.$content.html() ); - context.oldDelayedHistoryPosition = context.historyPosition; - context.historyPosition = newPosition; - // Change state - // FIXME: Destroys event handlers, will be a problem with template folding - context.$content.html( - context.history[context.history.length + context.historyPosition].html - ); - context.fn.purgeOffsets(); - if( context.history[context.history.length + context.historyPosition].sel ) { - context.fn.setSelection( { - start: context.history[context.history.length + context.historyPosition].sel[0], - end: context.history[context.history.length + context.historyPosition].sel[1] - } ); - } - } - // Prevent the browser from jumping in and doing its stuff - return false; - } - break; - // Intercept all tab events to provide consisten behavior across browsers - // Webkit browsers insert tab characters by default into the iframe rather than changing input focus - case 9: //tab - // if any modifier keys are pressed, allow the browser to do it's thing - if ( event.ctrlKey || event.altKey || event.shiftKey ) { - return true; - } else { - var $tabindexList = $( '[tabindex]:visible' ).sort( function( a, b ) { - return a.tabIndex - b.tabIndex; - } ); - for( var i=0; i < $tabindexList.length; i++ ) { - if( $tabindexList.eq( i ).attr( 'id' ) == context.$iframe.attr( 'id' ) ) { - $tabindexList.get( i + 1 ).focus(); - break; - } - } - return false; - } - break; - case 86: //v - if ( event.ctrlKey && $.browser.msie && 'paste' in context.evt ) { - //paste, intercepted for IE - context.evt.paste( event ); - } - break; - } - return true; - }, - 'change': function( event ) { - event.data.scope = 'division'; - var newHTML = context.$content.html(); - if ( context.oldHTML != newHTML ) { - context.fn.purgeOffsets(); - context.oldHTML = newHTML; - event.data.scope = 'realchange'; - } - // Never let the body be totally empty - if ( context.$content.children().length == 0 ) { - context.$content.append( '

    ' ); - } - return true; - }, - 'delayedChange': function( event ) { - event.data.scope = 'division'; - var newHTML = context.$content.html(); - if ( context.oldDelayedHTML != newHTML ) { - context.oldDelayedHTML = newHTML; - event.data.scope = 'realchange'; - // Surround by

    if it does not already have it - var cursorPos = context.fn.getCaretPosition(); - var t = context.fn.getOffset( cursorPos[0] ); - if ( ! $.browser.msie && t && t.node.nodeName == '#text' && t.node.parentNode.nodeName.toLowerCase() == 'body' ) { - $( t.node ).wrap( "

    " ); - context.fn.purgeOffsets(); - context.fn.setSelection( { start: cursorPos[0], end: cursorPos[1] } ); - } - } - context.fn.updateHistory( event.data.scope == 'realchange' ); - return true; - }, - 'cut': function( event ) { - setTimeout( function() { - context.$content.find( 'br' ).each( function() { - if ( $(this).parent().is( 'body' ) ) { - $(this).wrap( $( '

    ' ) ); - } - } ); - }, 100 ); - return true; - }, - 'paste': function( event ) { - // Save the cursor position to restore it after all this voodoo - var cursorPos = context.fn.getCaretPosition(); - var oldLength = context.fn.getContents().length; - var positionFromEnd = oldLength - cursorPos[1]; - - //give everything the wikiEditor class so that we can easily pick out things without that class as pasted - context.$content.find( '*' ).addClass( 'wikiEditor' ); - if ( $.layout.name !== 'webkit' ) { - context.$content.addClass( 'pasting' ); - } - - setTimeout( function() { - // Kill stuff we know we don't want - context.$content.find( 'script,style,img,input,select,textarea,hr,button,link,meta' ).remove(); - var nodeToDelete = []; - var pastedContent = []; - var firstDirtyNode; - var $lastDirtyNode; - var elementAtCursor; - if ( $.browser.msie && !context.offsets ) { - elementAtCursor = null; - } else { - elementAtCursor = context.fn.getOffset( cursorPos[0] ); - } - if ( elementAtCursor == null || elementAtCursor.node == null ) { - context.$content.prepend( '

    ' ); - firstDirtyNode = context.$content.children()[0]; - } else { - firstDirtyNode = elementAtCursor.node; - } - - //this is ugly but seems like the best way to handle the case where we select and replace all editor contents - try { - firstDirtyNode.parentNode; - } catch ( err ) { - context.$content.prepend( '

    ' ); - firstDirtyNode = context.$content.children()[0]; - } - - while ( firstDirtyNode != null ) { - //we're going to replace the contents of the entire parent node. - while ( firstDirtyNode.parentNode && firstDirtyNode.parentNode.nodeName != 'BODY' - && ! $( firstDirtyNode ).hasClass( 'wikiEditor' ) - ) { - firstDirtyNode = firstDirtyNode.parentNode; - } - //go back till we find the first pasted node - while ( firstDirtyNode.previousSibling != null - && ! $( firstDirtyNode.previousSibling ).hasClass( 'wikiEditor' ) - ) { - - if ( $( firstDirtyNode.previousSibling ).hasClass( '#comment' ) ) { - $( firstDirtyNode ).remove(); - } else { - firstDirtyNode = firstDirtyNode.previousSibling; - } - } - - if ( firstDirtyNode.previousSibling != null ) { - $lastDirtyNode = $( firstDirtyNode.previousSibling ); - } else { - $lastDirtyNode = $( firstDirtyNode ); - } - - var cc = makeContentCollector( $.browser, null ); - while ( firstDirtyNode != null ) { - cc.collectContent(firstDirtyNode); - cc.notifyNextNode(firstDirtyNode.nextSibling); - - nodeToDelete.push( firstDirtyNode ); - - firstDirtyNode = firstDirtyNode.nextSibling; - if ( $( firstDirtyNode ).hasClass( 'wikiEditor' ) ) { - break; - } - } - - var ccData = cc.finish(); - pastedContent = ccData.lines; - var pastedPretty = ''; - for ( var i = 0; i < pastedContent.length; i++ ) { - //escape html - pastedPretty = pastedContent[i].replace(/&/g, '&').replace(//g, '>').replace(/\r?\n/g, '\\n'); - //replace leading white spaces with   - match = pastedContent[i].match(/^[\s]+[^\s]/); - if ( match != null && match.length > 0 ) { - index = match[0].length; - leadingSpace = match[0].replace(/[\s]/g, ' '); - pastedPretty = leadingSpace + pastedPretty.substring(index, pastedPretty.length); - } - - - if( !pastedPretty && $.browser.msie && i == 0 ) { - continue; - } - $newElement = $( '

    ' ); - if ( pastedPretty ) { - $newElement.html( pastedPretty ); - } else { - $newElement.html( '
    ' ); - } - $newElement.insertAfter( $lastDirtyNode ); - - $lastDirtyNode = $newElement; - - } - - //now delete all the original nodes that we prettified already - while ( nodeToDelete.length > 0 ) { - $deleteNode = $( nodeToDelete.pop() ); - $deleteNode.remove(); - } - - //anything without wikiEditor class was pasted. - $selection = context.$content.find( ':not(.wikiEditor)' ); - if ( $selection.length == 0 ) { - break; - } else { - firstDirtyNode = $selection.eq( 0 )[0]; - } - } - context.$content.find( '.wikiEditor' ).removeClass( 'wikiEditor' ); - - //now place the cursor at the end of pasted content - var newLength = context.fn.getContents().length; - var newPos = newLength - positionFromEnd; - - context.fn.purgeOffsets(); - context.fn.setSelection( { start: newPos, end: newPos } ); - - context.fn.scrollToCaretPosition(); - }, 0 ); - return true; - }, - 'ready': function( event ) { - // Initialize our history queue - if ( context.$content ) { - context.history.push( { 'html': context.$content.html(), 'sel': context.fn.getCaretPosition() } ); - } else { - context.history.push( { 'html': '', 'sel': context.fn.getCaretPosition() } ); - } - return true; - } -} ); - -/** - * Internally used functions - */ -context.fn = $.extend( context.fn, { - 'highlightLine': function( $element, mode ) { - if ( !$element.is( 'p' ) ) { - $element = $element.closest( 'p' ); - } - $element.css( 'backgroundColor', '#AACCFF' ); - setTimeout( function() { $element.animate( { 'backgroundColor': 'white' }, 'slow' ); }, 100 ); - setTimeout( function() { $element.css( 'backgroundColor', 'white' ); }, 1000 ); - }, - 'htmlToText': function( html ) { - // This function is slow for large inputs, so aggressively cache input/output pairs - if ( html in context.htmlToTextMap ) { - return context.htmlToTextMap[html]; - } - var origHTML = html; - - // We use this elaborate trickery for cross-browser compatibility - // IE does overzealous whitespace collapsing for $( '
    ' ).html( html );
    -		// We also do 
    and easy cases for

    conversion here, complicated cases are handled later - html = html - .replace( /\r?\n/g, "" ) // IE7 inserts newlines before block elements - .replace( / /g, " " ) // We inserted these to prevent IE from collapsing spaces - .replace( /\]*\>\<\/p\>/gi, '

    ' ) // Remove trailing
    from

    - .replace( /\<\/p\>\s*\]*\>/gi, "\n" ) // Easy case for

    conversion - .replace( /\]*\>/gi, "\n" ) //
    conversion - .replace( /\<\/p\>(\n*)\]*\>/gi, "$1\n" ) - // Un-nest

    tags - .replace( /\]*\>]*\>/gi, '

    ' ) - .replace( /\<\/p\><\/p\>/gi, '

    ' ); - // Save leading and trailing whitespace now and restore it later. IE eats it all, and even Firefox - // won't leave everything alone - var leading = html.match( /^\s*/ )[0]; - var trailing = html.match( /\s*$/ )[0]; - html = html.substr( leading.length, html.length - leading.length - trailing.length ); - var $pre = $( '
    ' + html + '
    ' ); - $pre.find( '.wikiEditor-noinclude' ).each( function() { $( this ).remove(); } ); - // Convert tabs,

    s and
    s back - $pre.find( '.wikiEditor-tab' ).each( function() { $( this ).text( "\t" ); } ); - $pre.find( 'br' ).each( function() { $( this ).replaceWith( "\n" ); } ); - // Converting

    s is wrong if there's nothing before them, so check that. - // .find( '* + p' ) isn't good enough because textnodes aren't considered - $pre.find( 'p' ).each( function() { - var text = $( this ).text(); - // If this

    is preceded by some text, add a \n at the beginning, and if - // it's followed by a textnode, add a \n at the end - // We need the traverser because there can be other weird stuff in between - - // Check for preceding text - var t = new context.fn.rawTraverser( this.firstChild, this, $pre.get( 0 ), true ).prev(); - while ( t && t.node.nodeName != '#text' && t.node.nodeName != 'BR' && t.node.nodeName != 'P' ) { - t = t.prev(); - } - if ( t ) { - text = "\n" + text; - } - - // Check for following text - t = new context.fn.rawTraverser( this.lastChild, this, $pre.get( 0 ), true ).next(); - while ( t && t.node.nodeName != '#text' && t.node.nodeName != 'BR' && t.node.nodeName != 'P' ) { - t = t.next(); - } - if ( t && !t.inP && t.node.nodeName == '#text' && t.node.nodeValue.charAt( 0 ) != '\n' - && t.node.nodeValue.charAt( 0 ) != '\r' ) { - text += "\n"; - } - $( this ).text( text ); - } ); - var retval; - if ( $.browser.msie ) { - // IE aggressively collapses whitespace in .text() after having done DOM manipulation, - // but for some crazy reason this does work. Also convert \r back to \n - retval = $( '

    ' + $pre.html() + '
    ' ).text().replace( /\r/g, '\n' ); - } else { - retval = $pre.text(); - } - return context.htmlToTextMap[origHTML] = leading + retval + trailing; - }, - /** - * Get the first element before the selection that's in a certain class - * @param classname Class to match. Defaults to '', meaning any class - * @param strict If true, the element the selection starts in cannot match (default: false) - * @return jQuery object or null if unknown - */ - 'beforeSelection': function( classname, strict ) { - if ( typeof classname == 'undefined' ) { - classname = ''; - } - var e = null, offset = null; - if ( $.browser.msie && !context.$iframe[0].contentWindow.document.body ) { - return null; - } - if ( context.$iframe[0].contentWindow.getSelection ) { - // Firefox and Opera - var selection = context.$iframe[0].contentWindow.getSelection(); - // On load, webkit seems to not have a valid selection - if ( selection.baseNode !== null ) { - // Start at the selection's start and traverse the DOM backwards - // This is done by traversing an element's children first, then the element itself, then its parent - e = selection.getRangeAt( 0 ).startContainer; - offset = selection.getRangeAt( 0 ).startOffset; - } else { - return null; - } - - // When the cursor is on an empty line, Opera gives us a bogus range object with - // startContainer=endContainer=body and startOffset=endOffset=1 - var body = context.$iframe[0].contentWindow.document.body; - if ( $.browser.opera && e == body && offset == 1 ) { - return null; - } - } - if ( !e && context.$iframe[0].contentWindow.document.selection ) { - // IE - // Because there's nothing like range.startContainer in IE, we need to do a DOM traversal - // to find the element the start of the selection is in - var range = context.$iframe[0].contentWindow.document.selection.createRange(); - // Set range2 to the text before the selection - var range2 = context.$iframe[0].contentWindow.document.body.createTextRange(); - // For some reason this call throws errors in certain cases, e.g. when the selection is - // not in the iframe - try { - range2.setEndPoint( 'EndToStart', range ); - } catch ( ex ) { - return null; - } - var seekPos = context.fn.htmlToText( range2.htmlText ).length; - var offset = context.fn.getOffset( seekPos ); - e = offset ? offset.node : null; - offset = offset ? offset.offset : null; - if ( !e ) { - return null; - } - } - if ( e.nodeName != '#text' ) { - // The selection is not in a textnode, but between two non-text nodes - // (usually inside the between two
    s). Go to the rightmost - // child of the node just before the selection - var newE = e.firstChild; - for ( var i = 0; i < offset - 1 && newE; i++ ) { - newE = newE.nextSibling; - } - while ( newE && newE.lastChild ) { - newE = newE.lastChild; - } - e = newE || e; - } - - // We'd normally use if( $( e ).hasClass( class ) in the while loop, but running the jQuery - // constructor thousands of times is very inefficient - var classStr = ' ' + classname + ' '; - while ( e ) { - if ( !strict && ( !classname || ( ' ' + e.className + ' ' ).indexOf( classStr ) != -1 ) ) { - return $( e ); - } - var next = e.previousSibling; - while ( next && next.lastChild ) { - next = next.lastChild; - } - e = next || e.parentNode; - strict = false; - } - return $( [] ); - }, - /** - * Object used by traverser(). Don't use this unless you know what you're doing - */ - 'rawTraverser': function( node, inP, ancestor, skipNoinclude ) { - this.node = node; - this.inP = inP; - this.ancestor = ancestor; - this.skipNoinclude = skipNoinclude; - this.next = function() { - var p = this.node; - var nextInP = this.inP; - while ( p && !p.nextSibling ) { - p = p.parentNode; - if ( p == this.ancestor ) { - // We're back at the ancestor, stop here - p = null; - } - if ( p && p.nodeName == "P" ) { - nextInP = null; - } - } - p = p ? p.nextSibling : null; - if ( p && p.nodeName == "P" ) { - nextInP = p; - } - do { - // Filter nodes with the wikiEditor-noinclude class - // Don't use $( p ).hasClass( 'wikiEditor-noinclude' ) because - // $() is slow in a tight loop - if ( this.skipNoinclude ) { - while ( p && ( ' ' + p.className + ' ' ).indexOf( ' wikiEditor-noinclude ' ) != -1 ) { - p = p.nextSibling; - } - } - if ( p && p.firstChild ) { - p = p.firstChild; - if ( p.nodeName == "P" ) { - nextInP = p; - } - } - } while ( p && p.firstChild ); - // Instead of calling the rawTraverser constructor, inline it. This avoids function call overhead - return p ? { 'node': p, 'inP': nextInP, 'ancestor': this.ancestor, - 'skipNoinclude': this.skipNoinclude, 'next': this.next, 'prev': this.prev } : null; - }; - this.prev = function() { - var p = this.node; - var prevInP = this.inP; - while ( p && !p.previousSibling ) { - p = p.parentNode; - if ( p == this.ancestor ) { - // We're back at the ancestor, stop here - p = null; - } - if ( p && p.nodeName == "P" ) { - prevInP = null; - } - } - p = p ? p.previousSibling : null; - if ( p && p.nodeName == "P" ) { - prevInP = p; - } - do { - // Filter nodes with the wikiEditor-noinclude class - // Don't use $( p ).hasClass( 'wikiEditor-noinclude' ) because - // $() is slow in a tight loop - if ( this.skipNoinclude ) { - while ( p && ( ' ' + p.className + ' ' ).indexOf( ' wikiEditor-noinclude ' ) != -1 ) { - p = p.previousSibling; - } - } - if ( p && p.lastChild ) { - p = p.lastChild; - if ( p.nodeName == "P" ) { - prevInP = p; - } - } - } while ( p && p.lastChild ); - // Instead of calling the rawTraverser constructor, inline it. This avoids function call overhead - return p ? { 'node': p, 'inP': prevInP, 'ancestor': this.ancestor, - 'skipNoinclude': this.skipNoinclude, 'next': this.next, 'prev': this.prev } : null; - }; - }, - /** - * Get an object used to traverse the leaf nodes in the iframe DOM. This traversal skips leaf nodes - * inside an element with the wikiEditor-noinclude class. This basically wraps rawTraverser - * - * @param start Node to start at - * @return Traverser object, use .next() or .prev() to get a traverser object referring to the - * previous/next node - */ - 'traverser': function( start ) { - // Find the leftmost leaf node in the tree - var startNode = start.jquery ? start.get( 0 ) : start; - var node = startNode; - var inP = node.nodeName == "P" ? node : null; - do { - // Filter nodes with the wikiEditor-noinclude class - // Don't use $( p ).hasClass( 'wikiEditor-noinclude' ) because - // $() is slow in a tight loop - while ( node && ( ' ' + node.className + ' ' ).indexOf( ' wikiEditor-noinclude ' ) != -1 ) { - node = node.nextSibling; - } - if ( node && node.firstChild ) { - node = node.firstChild; - if ( node.nodeName == "P" ) { - inP = node; - } - } - } while ( node && node.firstChild ); - return new context.fn.rawTraverser( node, inP, startNode, true ); - }, - 'getOffset': function( offset ) { - if ( !context.offsets ) { - context.fn.refreshOffsets(); - } - if ( offset in context.offsets ) { - return context.offsets[offset]; - } - // Our offset is not pre-cached. Find the highest offset below it and interpolate - // We need to traverse the entire object because for() doesn't traverse in order - // We don't do in-order traversal because the object is sparse - var lowerBound = -1; - for ( var o in context.offsets ) { - var realO = parseInt( o ); - if ( realO < offset && realO > lowerBound) { - lowerBound = realO; - } - } - if ( !( lowerBound in context.offsets ) ) { - // Weird edge case: either offset is too large or the document is empty - return null; - } - var base = context.offsets[lowerBound]; - return context.offsets[offset] = { - 'node': base.node, - 'offset': base.offset + offset - lowerBound, - 'length': base.length, - 'lastTextNode': base.lastTextNode - }; - }, - 'purgeOffsets': function() { - context.offsets = null; - }, - 'refreshOffsets': function() { - context.offsets = [ ]; - var t = context.fn.traverser( context.$content ); - var pos = 0, lastTextNode = null; - while ( t ) { - if ( t.node.nodeName != '#text' && t.node.nodeName != 'BR' ) { - t = t.next(); - continue; - } - var nextPos = t.node.nodeName == '#text' ? pos + t.node.nodeValue.length : pos + 1; - var nextT = t.next(); - var leavingP = t.node.nodeName == '#text' && t.inP && nextT && ( !nextT.inP || nextT.inP != t.inP ); - context.offsets[pos] = { - 'node': t.node, - 'offset': 0, - 'length': nextPos - pos + ( leavingP ? 1 : 0 ), - 'lastTextNode': lastTextNode - }; - if ( leavingP ) { - //

    Foo

    looks like "Foo\n", make it quack like it too - // Basically we're faking the \n character much like we're treating
    s - context.offsets[nextPos] = { - 'node': t.node, - 'offset': nextPos - pos, - 'length': nextPos - pos + 1, - 'lastTextNode': lastTextNode - }; - } - pos = nextPos + ( leavingP ? 1 : 0 ); - if ( t.node.nodeName == '#text' ) { - lastTextNode = t.node; - } - t = nextT; - } - }, - 'saveCursorAndScrollTop': function() { - // Stub out textarea behavior - return; - }, - 'restoreCursorAndScrollTop': function() { - // Stub out textarea behavior - return; - }, - 'saveSelection': function() { - if ( $.client.profile().name === 'msie' ) { - context.$iframe[0].contentWindow.focus(); - context.savedSelection = context.$iframe[0].contentWindow.document.selection.createRange(); - } - }, - 'restoreSelection': function() { - if ( $.client.profile().name === 'msie' && context.savedSelection !== null ) { - context.$iframe[0].contentWindow.focus(); - context.savedSelection.select(); - context.savedSelection = null; - } - }, - /** - * Update the history queue - * - * @param htmlChange pass true or false to inidicate if there was a text change that should potentially - * be given a new history state. - */ - 'updateHistory': function( htmlChange ) { - var newHTML = context.$content.html(); - var newSel = context.fn.getCaretPosition(); - // Was text changed? Was it because of a REDO or UNDO action? - if ( - context.history.length == 0 || - ( htmlChange && context.oldDelayedHistoryPosition == context.historyPosition ) - ) { - context.oldDelayedSel = newSel; - // Do we need to trim extras from our history? - // FIXME: this should really be happing on change, not on the delay - if ( context.historyPosition < -1 ) { - //clear out the extras - context.history.splice( context.history.length + context.historyPosition + 1 ); - context.historyPosition = -1; - } - context.history.push( { 'html': newHTML, 'sel': newSel } ); - // If the history has grown longer than 10 items, remove the earliest one - while ( context.history.length > 10 ) { - context.history.shift(); - } - } else if ( context.oldDelayedSel != newSel ) { - // If only the selection was changed, update it - context.oldDelayedSel = newSel; - context.history[context.history.length + context.historyPosition].sel = newSel; - } - // synch our old delayed history position until the next undo/redo action - context.oldDelayedHistoryPosition = context.historyPosition; - }, - /** - * Sets up the iframe in place of the textarea to allow more advanced operations - */ - 'setupIframe': function() { - context.$iframe = $( '' ) - .attr( { - 'frameBorder': 0, - 'border': 0, - 'tabindex': 1, - 'src': mw.config.get( 'wgExtensionAssetsPath' ) + '/WikiEditor/modules/jquery.wikiEditor.html?' + - 'instance=' + context.instance + '&ts=' + ( new Date() ).getTime() + '&is=content', - 'id': 'wikiEditor-iframe-' + context.instance - } ) - .css( { - 'backgroundColor': 'white', - 'width': '100%', - 'height': context.$textarea.height(), - 'display': 'none', - 'overflow-y': 'scroll', - 'overflow-x': 'hidden' - } ) - .insertAfter( context.$textarea ) - .load( function() { - // Internet Explorer will reload the iframe once we turn on design mode, so we need to only turn it - // on during the first run, and then bail - if ( !this.isSecondRun ) { - // Turn the document's design mode on - context.$iframe[0].contentWindow.document.designMode = 'on'; - // Let the rest of this function happen next time around - if ( $.browser.msie ) { - this.isSecondRun = true; - return; - } - } - // Get a reference to the content area of the iframe - context.$content = $( context.$iframe[0].contentWindow.document.body ); - // Add classes to the body to influence the styles based on what's enabled - for ( module in context.modules ) { - context.$content.addClass( 'wikiEditor-' + module ); - } - // If we just do "context.$content.text( context.$textarea.val() )", Internet Explorer will strip - // out the whitespace charcters, specifically "\n" - so we must manually encode text and append it - // TODO: Refactor this into a textToHtml() function - var html = context.$textarea.val() - // We're gonna use &esc; as an escape sequence - .replace( /&esc;/g, '&esc;esc;' ) - // Escape existing uses of

    ,

    ,   and - .replace( /\/g, '&esc;<p>' ) - .replace( /\<\/p\>/g, '&esc;</p>' ) - .replace( - /\\<\/span\>/g, - '&esc;<span class="wikiEditor-tab"></span>' - ) - .replace( / /g, '&esc;&nbsp;' ); - // We must do some extra processing on IE to avoid dirty diffs, specifically IE will collapse - // leading spaces - browser sniffing is not ideal, but executing this code on a non-broken browser - // doesn't cause harm - if ( $.browser.msie ) { - html = html.replace( /\t/g, '' ); - if ( $.browser.versionNumber <= 7 ) { - // Replace all spaces matching   - IE <= 7 needs this because of its overzealous - // whitespace collapsing - html = html.replace( / /g, " " ); - } else { - // IE8 is happy if we just convert the first leading space to   - html = html.replace( /(^|\n) /g, "$1 " ); - } - } - // Use a dummy div to escape all entities - // This'll also escape
    , and   , so we unescape those after - // We also need to unescape the doubly-escaped things mentioned above - html = $( '
    ' ).text( '

    ' + html.replace( /\r?\n/g, '

    ' ) + '

    ' ).html() - .replace( /&nbsp;/g, ' ' ) - // Allow

    tags to survive encoding - .replace( /<p>/g, '

    ' ) - .replace( /<\/p>/g, '

    ' ) - // And too - .replace( - /<span( | )class=("|")wikiEditor-tab("|")><\/span>/g, - '' - ) - // Empty

    tags need
    tags in them - .replace( /

    <\/p>/g, '


    ' ) - // Unescape &esc; stuff - .replace( /&esc;&amp;nbsp;/g, '&nbsp;' ) - .replace( /&esc;&lt;p&gt;/g, '<p>' ) - .replace( /&esc;&lt;\/p&gt;/g, '</p>' ) - .replace( - /&esc;&lt;span&nbsp;class=&quot;wikiEditor-tab&quot;&gt;&lt;\/span&gt;/g, - '<span class="wikiEditor-tab"><\/span>' - ) - .replace( /&esc;esc;/g, '&esc;' ); - context.$content.html( html ); - - // Reflect direction of parent frame into child - if ( $( 'body' ).is( '.rtl' ) ) { - context.$content.addClass( 'rtl' ).attr( 'dir', 'rtl' ); - } - // Activate the iframe, encoding the content of the textarea and copying it to the content of iframe - context.$textarea.attr( 'disabled', true ); - context.$textarea.hide(); - context.$iframe.show(); - // Let modules know we're ready to start working with the content - context.fn.trigger( 'ready' ); - // Only save HTML now: ready handlers may have modified it - context.oldHTML = context.oldDelayedHTML = context.$content.html(); - //remove our temporary loading - /* Disaling our loading div for now - $( '.wikiEditor-ui-loading' ).fadeOut( 'fast', function() { - $( this ).remove(); - } ); - */ - // Setup event handling on the iframe - $( context.$iframe[0].contentWindow.document ) - .bind( 'keydown', function( event ) { - event.jQueryNode = context.fn.getElementAtCursor(); - return context.fn.trigger( 'keydown', event ); - - } ) - .bind( 'keyup', function( event ) { - event.jQueryNode = context.fn.getElementAtCursor(); - return context.fn.trigger( 'keyup', event ); - } ) - .bind( 'keypress', function( event ) { - event.jQueryNode = context.fn.getElementAtCursor(); - return context.fn.trigger( 'keypress', event ); - } ) - .bind( 'paste', function( event ) { - return context.fn.trigger( 'paste', event ); - } ) - .bind( 'cut', function( event ) { - return context.fn.trigger( 'cut', event ); - } ) - .bind( 'keyup paste mouseup cut encapsulateSelection', function( event ) { - return context.fn.trigger( 'change', event ); - } ) - .delayedBind( 250, 'keyup paste mouseup cut encapsulateSelection', function( event ) { - context.fn.trigger( 'delayedChange', event ); - } ); - } ); - // Attach a submit handler to the form so that when the form is submitted the content of the iframe gets - // decoded and copied over to the textarea - context.$textarea.closest( 'form' ).submit( function() { - context.$textarea.attr( 'disabled', false ); - context.$textarea.val( context.$textarea.textSelection( 'getContents' ) ); - } ); - /* FIXME: This was taken from EditWarning.js - maybe we could do a jquery plugin for this? */ - // Attach our own handler for onbeforeunload which respects the current one - context.fallbackWindowOnBeforeUnload = window.onbeforeunload; - window.onbeforeunload = function() { - context.$textarea.val( context.$textarea.textSelection( 'getContents' ) ); - if ( context.fallbackWindowOnBeforeUnload ) { - return context.fallbackWindowOnBeforeUnload(); - } - }; - }, - - /** - * Compatibility with the $.textSelection jQuery plug-in. When the iframe is in use, these functions provide - * equivilant functionality to the otherwise textarea-based functionality. - */ - - 'getElementAtCursor': function() { - if ( context.$iframe[0].contentWindow.getSelection ) { - // Firefox and Opera - var selection = context.$iframe[0].contentWindow.getSelection(); - if ( selection.rangeCount == 0 ) { - // We don't know where the cursor is - return $( [] ); - } - var sc = selection.getRangeAt( 0 ).startContainer; - if ( sc.nodeName == "#text" ) sc = sc.parentNode; - return $( sc ); - } else if ( context.$iframe[0].contentWindow.document.selection ) { // should come last; Opera! - // IE - var selection = context.$iframe[0].contentWindow.document.selection.createRange(); - return $( selection.parentElement() ); - } - }, - - /** - * Gets the complete contents of the iframe (in plain text, not HTML) - */ - 'getContents': function() { - // For

    , .html() returns

     

    in IE - // This seems to convince IE while not affecting display - if ( !context.$content ) { - return ''; - } - var html; - if ( $.browser.msie ) { - // Don't manipulate the iframe DOM itself, causes cursor jumping issues - var $c = $( context.$content.get( 0 ).cloneNode( true ) ); - $c.find( 'p' ).each( function() { - if ( $(this).html() == '' ) { - $(this).replaceWith( '

    ' ); - } - } ); - html = $c.html(); - } else { - html = context.$content.html(); - } - return context.fn.htmlToText( html ); - }, - /** - * Gets the currently selected text in the content - * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead - */ - 'getSelection': function() { - var retval; - if ( context.$iframe[0].contentWindow.getSelection ) { - // Firefox and Opera - retval = context.$iframe[0].contentWindow.getSelection(); - if ( $.browser.opera ) { - // Opera strips newlines in getSelection(), so we need something more sophisticated - if ( retval.rangeCount > 0 ) { - retval = context.fn.htmlToText( $( '
    ' )
    -							.append( retval.getRangeAt( 0 ).cloneContents() )
    -							.html()
    -					);
    -				} else {
    -					retval = '';
    -				}
    -			}
    -		} else if ( context.$iframe[0].contentWindow.document.selection ) { // should come last; Opera!
    -			// IE
    -			retval = context.$iframe[0].contentWindow.document.selection.createRange();
    -		}
    -		if ( typeof retval.text != 'undefined' ) {
    -			// In IE8, retval.text is stripped of newlines, so we need to process retval.htmlText
    -			// to get a reliable answer. IE7 does get this right though
    -			// Run this fix for all IE versions anyway, it doesn't hurt
    -			retval = context.fn.htmlToText( retval.htmlText );
    -		} else if ( typeof retval.toString != 'undefined' ) {
    -			retval = retval.toString();
    -		}
    -		return retval;
    -	},
    -	/**
    -	 * Inserts text at the begining and end of a text selection, optionally inserting text at the caret when
    -	 * selection is empty.
    -	 * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead
    -	 */
    -	'encapsulateSelection': function( options ) {
    -		var selText = $(this).textSelection( 'getSelection' );
    -		var selTextArr;
    -		var collapseToEnd = false;
    -		var selectAfter = false;
    -		var setSelectionTo = null;
    -		var pre = options.pre, post = options.post;
    -		if ( !selText ) {
    -			selText = options.peri;
    -			selectAfter = true;
    -		} else if ( options.peri == selText.replace( /\s+$/, '' ) ) {
    -			// Probably a successive button press
    -			// strip any extra white space from selText
    -			selText = selText.replace( /\s+$/, '' );
    -			// set the collapseToEnd flag to ensure our selection is collapsed to the end before any insertion is done
    -			collapseToEnd = true;
    -			// set selectAfter to true since we know we'll be populating with our default text
    -			selectAfter = true;
    -		} else if ( options.replace ) {
    -			selText = options.peri;
    -		} else if ( selText.charAt( selText.length - 1 ) == ' ' ) {
    -			// Exclude ending space char
    -			// FIXME: Why?
    -			selText = selText.substring( 0, selText.length - 1 );
    -			post += ' ';
    -		}
    -		if ( options.splitlines ) {
    -			selTextArr = selText.split( /\n/ );
    -		}
    -
    -		if ( context.$iframe[0].contentWindow.getSelection ) {
    -			// Firefox and Opera
    -			var range = context.$iframe[0].contentWindow.getSelection().getRangeAt( 0 );
    -			// if our test above indicated that this was a sucessive button press, we need to collapse the
    -			// selection to the end to avoid replacing text
    -			if ( collapseToEnd ) {
    -				// Make sure we're not collapsing ourselves into a BR tag
    -				if ( range.endContainer.nodeName == 'BR' ) {
    -					range.setEndBefore( range.endContainer );
    -				}
    -				range.collapse( false );
    -			}
    -			if ( options.ownline ) {
    -				// We need to figure out if the cursor is at the start or end of a line
    -				var atStart = false, atEnd = false;
    -				var body = context.$content.get( 0 );
    -				if ( range.startOffset == 0 ) {
    -					// Start of a line
    -					// FIXME: Not necessarily the case with syntax highlighting or
    -					// template collapsing
    -					atStart = true;
    -				} else if ( range.startContainer == body ) {
    -					// Look up the node just before the start of the selection
    -					// If it's a 
    , we're at the start of a line that starts with a - // block element; if not, we're at the end of a line - var n = body.firstChild; - for ( var i = 0; i < range.startOffset - 1 && n; i++ ) { - n = n.nextSibling; - } - if ( n && n.nodeName == 'BR' ) { - atStart = true; - } else { - atEnd = true; - } - } - if ( ( range.endOffset == 0 && range.endContainer.nodeValue == null ) || - ( range.endContainer.nodeName == '#text' && - range.endOffset == range.endContainer.nodeValue.length ) || - ( range.endContainer.nodeName == 'P' && range.endContainer.nodeValue == null ) ) { - atEnd = true; - } - if ( !atStart ) { - pre = "\n" + options.pre; - } - if ( !atEnd ) { - post += "\n"; - } - } - var insertText = ""; - if ( options.splitlines ) { - for( var j = 0; j < selTextArr.length; j++ ) { - insertText = insertText + pre + selTextArr[j] + post; - if( j != selTextArr.length - 1 ) { - insertText += "\n"; - } - } - } else { - insertText = pre + selText + post; - } - var insertLines = insertText.split( "\n" ); - range.extractContents(); - // Insert the contents one line at a time - insertNode() inserts at the beginning, so this has to happen - // in reverse order - // Track the first and last inserted node, and if we need to also track where the text we need to select - // afterwards starts and ends - var firstNode = null, lastNode = null; - var selSC = null, selEC = null, selSO = null, selEO = null, offset = 0; - for ( var i = insertLines.length - 1; i >= 0; i-- ) { - firstNode = context.$iframe[0].contentWindow.document.createTextNode( insertLines[i] ); - range.insertNode( firstNode ); - lastNode = lastNode || firstNode; - var newOffset = offset + insertLines[i].length; - if ( !selEC && post.length <= newOffset ) { - selEC = firstNode; - selEO = selEC.nodeValue.length - ( post.length - offset ); - } - if ( selEC && !selSC && pre.length >= insertText.length - newOffset ) { - selSC = firstNode; - selSO = pre.length - ( insertText.length - newOffset ); - } - offset = newOffset; - if ( i > 0 ) { - firstNode = context.$iframe[0].contentWindow.document.createElement( 'br' ); - range.insertNode( firstNode ); - newOffset = offset + 1; - if ( !selEC && post.length <= newOffset ) { - selEC = firstNode; - selEO = 1 - ( post.length - offset ); - } - if ( selEC && !selSC && pre.length >= insertText.length - newOffset ) { - selSC = firstNode; - selSO = pre.length - ( insertText.length - newOffset ); - } - offset = newOffset; - } - } - if ( firstNode ) { - context.fn.scrollToTop( $( firstNode.parentNode ) ); - } - if ( selectAfter ) { - setSelectionTo = { - startContainer: selSC, - endContainer: selEC, - start: selSO, - end: selEO - }; - } else if ( lastNode ) { - setSelectionTo = { - startContainer: lastNode, - endContainer: lastNode, - start: lastNode.nodeValue.length, - end: lastNode.nodeValue.length - }; - } - } else if ( context.$iframe[0].contentWindow.document.selection ) { - // IE - context.$iframe[0].contentWindow.focus(); - var range = context.$iframe[0].contentWindow.document.selection.createRange(); - if ( options.ownline && range.moveStart ) { - // Check if we're at the start of a line - // If not, prepend a newline - var range2 = context.$iframe[0].contentWindow.document.selection.createRange(); - range2.collapse(); - range2.moveStart( 'character', -1 ); - // FIXME: Which check is correct? - if ( range2.text != "\r" && range2.text != "\n" && range2.text != "" ) { - pre = "\n" + pre; - } - - // Check if we're at the end of a line - // If not, append a newline - var range3 = context.$iframe[0].contentWindow.document.selection.createRange(); - range3.collapse( false ); - range3.moveEnd( 'character', 1 ); - if ( range3.text != "\r" && range3.text != "\n" && range3.text != "" ) { - post += "\n"; - } - } - // if our test above indicated that this was a sucessive button press, we need to collapse the - // selection to the end to avoid replacing text - if ( collapseToEnd ) { - range.collapse( false ); - } - // TODO: Clean this up. Duplicate code due to the pre-existing browser specific structure of this - // function - var insertText = ""; - if ( options.splitlines ) { - for( var j = 0; j < selTextArr.length; j++ ) { - insertText = insertText + pre + selTextArr[j] + post; - if( j != selTextArr.length - 1 ) { - insertText += "\n"; - } - } - } else { - insertText = pre + selText + post; - } - // TODO: Maybe find a more elegant way of doing this like the Firefox code above? - range.pasteHTML( insertText - .replace( /\/g, '>' ) - .replace( /\r?\n/g, '
    ' ) - ); - if ( selectAfter ) { - range.moveStart( 'character', -post.length - selText.length ); - range.moveEnd( 'character', -post.length ); - range.select(); - } - } - - if ( setSelectionTo ) { - context.fn.setSelection( setSelectionTo ); - } - // Trigger the encapsulateSelection event (this might need to get named something else/done differently) - $( context.$iframe[0].contentWindow.document ).trigger( - 'encapsulateSelection', [ pre, options.peri, post, options.ownline, options.replace ] - ); - return context.$textarea; - }, - /** - * Gets the position (in resolution of bytes not nessecarily characters) in a textarea - * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead - */ - 'getCaretPosition': function( options ) { - var startPos = null, endPos = null; - if ( context.$iframe[0].contentWindow.getSelection ) { - var selection = context.$iframe[0].contentWindow.getSelection(); - if ( selection.rangeCount == 0 ) { - // We don't know where the cursor is - return [ 0, 0 ]; - } - var sc = selection.getRangeAt( 0 ).startContainer, ec = selection.getRangeAt( 0 ).endContainer; - var so = selection.getRangeAt( 0 ).startOffset, eo = selection.getRangeAt( 0 ).endOffset; - if ( sc.nodeName == 'BODY' ) { - // Grab the node just before the start of the selection - var n = sc.firstChild; - for ( var i = 0; i < so - 1 && n; i++ ) { - n = n.nextSibling; - } - sc = n; - so = 0; - } - if ( ec.nodeName == 'BODY' ) { - var n = ec.firstChild; - for ( var i = 0; i < eo - 1 && n; i++ ) { - n = n.nextSibling; - } - ec = n; - eo = 0; - } - - // Make sure sc and ec are leaf nodes - while ( sc.firstChild ) { - sc = sc.firstChild; - } - while ( ec.firstChild ) { - ec = ec.firstChild; - } - // Make sure the offsets are regenerated if necessary - context.fn.getOffset( 0 ); - var o; - for ( o in context.offsets ) { - if ( startPos === null && context.offsets[o].node == sc ) { - // For some wicked reason o is a string, even though - // we put it in as an integer. Use ~~ to coerce it too an int - startPos = ~~o + so - context.offsets[o].offset; - } - if ( startPos !== null && context.offsets[o].node == ec ) { - endPos = ~~o + eo - context.offsets[o].offset; - break; - } - } - } else if ( context.$iframe[0].contentWindow.document.selection ) { - // IE - // FIXME: This is mostly copypasted from the textSelection plugin - var d = context.$iframe[0].contentWindow.document; - var postFinished = false; - var periFinished = false; - var postFinished = false; - var preText, rawPreText, periText; - var rawPeriText, postText, rawPostText; - // Depending on the document state, and if the cursor has ever been manually placed within the document - // the following call such as setEndPoint can result in nasty errors. These cases are always cases - // in which the start and end points can safely be assumed to be 0, so we will just try our best to do - // the full process but fall back to 0. - try { - // Create range containing text in the selection - var periRange = d.selection.createRange().duplicate(); - // Create range containing text before the selection - var preRange = d.body.createTextRange(); - // Move the end where we need it - preRange.setEndPoint( "EndToStart", periRange ); - // Create range containing text after the selection - var postRange = d.body.createTextRange(); - // Move the start where we need it - postRange.setEndPoint( "StartToEnd", periRange ); - // Load the text values we need to compare - preText = rawPreText = preRange.text; - periText = rawPeriText = periRange.text; - postText = rawPostText = postRange.text; - /* - * Check each range for trimmed newlines by shrinking the range by 1 - * character and seeing if the text property has changed. If it has - * not changed then we know that IE has trimmed a \r\n from the end. - */ - do { - if ( !postFinished ) { - if ( preRange.compareEndPoints( "StartToEnd", preRange ) == 0 ) { - postFinished = true; - } else { - preRange.moveEnd( "character", -1 ); - if ( preRange.text == preText ) { - rawPreText += "\r\n"; - } else { - postFinished = true; - } - } - } - if ( !periFinished ) { - if ( periRange.compareEndPoints( "StartToEnd", periRange ) == 0 ) { - periFinished = true; - } else { - periRange.moveEnd( "character", -1 ); - if ( periRange.text == periText ) { - rawPeriText += "\r\n"; - } else { - periFinished = true; - } - } - } - if ( !postFinished ) { - if ( postRange.compareEndPoints("StartToEnd", postRange) == 0 ) { - postFinished = true; - } else { - postRange.moveEnd( "character", -1 ); - if ( postRange.text == postText ) { - rawPostText += "\r\n"; - } else { - postFinished = true; - } - } - } - } while ( ( !postFinished || !periFinished || !postFinished ) ); - startPos = rawPreText.replace( /\r\n/g, "\n" ).length; - endPos = startPos + rawPeriText.replace( /\r\n/g, "\n" ).length; - } catch( e ) { - startPos = endPos = 0; - } - } - return [ startPos, endPos ]; - }, - /** - * Sets the selection of the content - * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead - * - * @param start Character offset of selection start - * @param end Character offset of selection end - * @param startContainer Element in iframe to start selection in. If not set, start is a character offset - * @param endContainer Element in iframe to end selection in. If not set, end is a character offset - */ - 'setSelection': function( options ) { - var sc = options.startContainer, ec = options.endContainer; - sc = sc && sc.jquery ? sc[0] : sc; - ec = ec && ec.jquery ? ec[0] : ec; - if ( context.$iframe[0].contentWindow.getSelection ) { - // Firefox and Opera - var start = options.start, end = options.end; - if ( !sc || !ec ) { - var s = context.fn.getOffset( start ); - var e = context.fn.getOffset( end ); - sc = s ? s.node : null; - ec = e ? e.node : null; - start = s ? s.offset : null; - end = e ? e.offset : null; - // Don't try to set the selection past the end of a node, causes errors - // Just put the selection at the end of the node in this case - if ( sc != null && sc.nodeName == '#text' && start > sc.nodeValue.length ) { - start = sc.nodeValue.length - 1; - } - if ( ec != null && ec.nodeName == '#text' && end > ec.nodeValue.length ) { - end = ec.nodeValue.length - 1; - } - } - if ( !sc || !ec ) { - // The requested offset isn't in the offsets array - // Give up - return context.$textarea; - } - - var sel = context.$iframe[0].contentWindow.getSelection(); - while ( sc.firstChild && sc.nodeName != '#text' ) { - sc = sc.firstChild; - } - while ( ec.firstChild && ec.nodeName != '#text' ) { - ec = ec.firstChild; - } - var range = context.$iframe[0].contentWindow.document.createRange(); - range.setStart( sc, start ); - range.setEnd( ec, end ); - sel.removeAllRanges(); - sel.addRange( range ); - context.$iframe[0].contentWindow.focus(); - } else if ( context.$iframe[0].contentWindow.document.body.createTextRange ) { - // IE - var range = context.$iframe[0].contentWindow.document.body.createTextRange(); - if ( sc ) { - range.moveToElementText( sc ); - } - range.collapse(); - range.moveEnd( 'character', options.start ); - - var range2 = context.$iframe[0].contentWindow.document.body.createTextRange(); - if ( ec ) { - range2.moveToElementText( ec ); - } - range2.collapse(); - range2.moveEnd( 'character', options.end ); - - // IE does newline emulation for

    s:

    foo

    bar

    becomes foo\nbar just fine - // but

    foo



    bar

    becomes foo\n\n\n\nbar , one \n too many - // Correct for this - var matches, counted = 0; - // while ( matches = range.htmlText.match( regex ) && matches.length <= counted ) doesn't work - // because the assignment side effect hasn't happened yet when the second term is evaluated - while ( matches = range.htmlText.match( /\<\/p\>(\]*\>)+\/gi ) ) { - if ( matches.length <= counted ) - break; - range.moveEnd( 'character', matches.length ); - counted += matches.length; - } - range2.moveEnd( 'character', counted ); - while ( matches = range2.htmlText.match( /\<\/p\>(\]*\>)+\/gi ) ) { - if ( matches.length <= counted ) - break; - range2.moveEnd( 'character', matches.length ); - counted += matches.length; - } - - range2.setEndPoint( 'StartToEnd', range ); - range2.select(); - } - return context.$textarea; - }, - /** - * Scroll a textarea to the current cursor position. You can set the cursor position with setSelection() - * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead - */ - 'scrollToCaretPosition': function( options ) { - context.fn.scrollToTop( context.fn.getElementAtCursor(), true ); - }, - /** - * Scroll an element to the top of the iframe - * DO NOT CALL THIS DIRECTLY, use $.textSelection( 'functionname', options ) instead - * - * @param $element jQuery object containing an element in the iframe - * @param force If true, scroll the element even if it's already visible - */ - 'scrollToTop': function( $element, force ) { - var html = context.$content.closest( 'html' ), - body = context.$content.closest( 'body' ), - parentHtml = $( 'html' ), - parentBody = $( 'body' ); - var y = $element.offset().top; - if ( !$.browser.msie && ! $element.is( 'body' ) ) { - y = parentHtml.scrollTop() > 0 ? y + html.scrollTop() - parentHtml.scrollTop() : y; - y = parentBody.scrollTop() > 0 ? y + body.scrollTop() - parentBody.scrollTop() : y; - } - var topBound = html.scrollTop() > body.scrollTop() ? html.scrollTop() : body.scrollTop(), - bottomBound = topBound + context.$iframe.height(); - if ( force || y < topBound || y > bottomBound ) { - html.scrollTop( y ); - body.scrollTop( y ); - } - $element.trigger( 'scrollToTop' ); - } -} ); - -/* Setup the IFrame */ -context.fn.setupIframe(); - -} } )( jQuery ); diff --git a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.js b/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.js deleted file mode 100644 index 6e87a45..0000000 --- a/documentacion/extensions/WikiEditor/modules/jquery.wikiEditor.js +++ /dev/null @@ -1,580 +0,0 @@ -/** - * This plugin provides a way to build a wiki-text editing user interface around a textarea. - * - * @example To intialize without any modules: - * $( 'div#edittoolbar' ).wikiEditor(); - * - * @example To initialize with one or more modules, or to add modules after it's already been initialized: - * $( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'toolbar', { ... config ... } ); - * - */ -( function ( $ ) { - -/** - * Global static object for wikiEditor that provides generally useful functionality to all modules and contexts. - */ -$.wikiEditor = { - /** - * For each module that is loaded, static code shared by all instances is loaded into this object organized by - * module name. The existance of a module in this object only indicates the module is available. To check if a - * module is in use by a specific context check the context.modules object. - */ - modules: {}, - - /** - * A context can be extended, such as adding iframe support, on a per-wikiEditor instance basis. - */ - extensions: {}, - - /** - * In some cases like with the iframe's HTML file, it's convienent to have a lookup table of all instances of the - * WikiEditor. Each context contains an instance field which contains a key that corrosponds to a reference to the - * textarea which the WikiEditor was build around. This way, by passing a simple integer you can provide a way back - * to a specific context. - */ - instances: [], - - /** - * For each browser name, an array of conditions that must be met are supplied in [operaton, value]-form where - * operation is a string containing a JavaScript compatible binary operator and value is either a number to be - * compared with $.browser.versionNumber or a string to be compared with $.browser.version. If a browser is not - * specifically mentioned, we just assume things will work. - */ - browsers: { - // Left-to-right languages - ltr: { - // The toolbar layout is broken in IE6 - msie: [['>=', 7]], - // Layout issues in FF < 2 - firefox: [['>=', 2]], - // Text selection bugs galore - this may be a different situation with the new iframe-based solution - opera: [['>=', 9.6]], - // jQuery minimums - safari: [['>=', 3]], - chrome: [['>=', 3]], - netscape: [['>=', 9]], - blackberry: false, - ipod: false, - iphone: false - }, - // Right-to-left languages - rtl: { - // The toolbar layout is broken in IE 7 in RTL mode, and IE6 in any mode - msie: [['>=', 8]], - // Layout issues in FF < 2 - firefox: [['>=', 2]], - // Text selection bugs galore - this may be a different situation with the new iframe-based solution - opera: [['>=', 9.6]], - // jQuery minimums - safari: [['>=', 3]], - chrome: [['>=', 3]], - netscape: [['>=', 9]], - blackberry: false, - ipod: false, - iphone: false - } - }, - - /** - * Path to images - this is a bit messy, and it would need to change if this code (and images) gets moved into the - * core - or anywhere for that matter... - */ - imgPath : mw.config.get( 'wgExtensionAssetsPath' ) + '/WikiEditor/modules/images/', - - /** - * Checks the current browser against the browsers object to determine if the browser has been black-listed or not. - * Because these rules are often very complex, the object contains configurable operators and can check against - * either the browser version number or string. This process also involves checking if the current browser is amung - * those which we have configured as compatible or not. If the browser was not configured as comptible we just go on - * assuming things will work - the argument here is to prevent the need to update the code when a new browser comes - * to market. The assumption here is that any new browser will be built on an existing engine or be otherwise so - * similar to another existing browser that things actually do work as expected. The merrits of this argument, which - * is essentially to blacklist rather than whitelist are debateable, but at this point we've decided it's the more - * "open-web" way to go. - * @param module Module object, defaults to $.wikiEditor - */ - isSupported: function ( module ) { - // Fallback to the wikiEditor browser map if no special map is provided in the module - var mod = module && 'browsers' in module ? module : $.wikiEditor; - // Check for and make use of cached value and early opportunities to bail - if ( typeof mod.supported !== 'undefined' ) { - // Cache hit - return mod.supported; - } - // Run a browser support test and then cache and return the result - return mod.supported = $.client.test( mod.browsers ); - }, - - /** - * Checks if a module has a specific requirement - * @param module Module object - * @param requirement String identifying requirement - */ - isRequired: function ( module, requirement ) { - if ( typeof module.req !== 'undefined' ) { - for ( var req in module.req ) { - if ( module.req[req] == requirement ) { - return true; - } - } - } - return false; - }, - - /** - * Provides a way to extract messages from objects. Wraps the mediaWiki.msg() function, which - * may eventually become a wrapper for some kind of core MW functionality. - * - * @param object Object to extract messages from - * @param property String of name of property which contains the message. This should be the base name of the - * property, which means that in the case of the object { this: 'that', fooMsg: 'bar' }, passing property as 'this' - * would return the raw text 'that', while passing property as 'foo' would return the internationalized message - * with the key 'bar'. - */ - autoMsg: function ( object, property ) { - // Accept array of possible properties, of which the first one found will be used - if ( typeof property == 'object' ) { - for ( var i in property ) { - if ( property[i] in object || property[i] + 'Msg' in object ) { - property = property[i]; - break; - } - } - } - if ( property in object ) { - return object[property]; - } else if ( property + 'Msg' in object ) { - var p = object[property + 'Msg']; - if ( $.isArray( p ) && p.length >= 2 ) { - return mediaWiki.msg.apply( mediaWiki.msg, p ); - } else { - return mediaWiki.msg( p ); - } - } else { - return ''; - } - }, - - /** - * Provides a way to extract a property of an object in a certain language, falling back on the property keyed as - * 'default' or 'default-rtl'. If such key doesn't exist, the object itself is considered the actual value, which - * should ideally be the case so that you may use a string or object of any number of strings keyed by language - * with a default. - * - * @param object Object to extract property from - * @param lang Language code, defaults to wgUserLanguage - */ - autoLang: function ( object, lang ) { - var defaultKey = $( 'body' ).hasClass( 'rtl' ) ? 'default-rtl' : 'default'; - return object[lang || mw.config.get( 'wgUserLanguage' )] || object[defaultKey] || object['default'] || object; - }, - - /** - * Provides a way to extract the path of an icon in a certain language, automatically appending a version number for - * caching purposes and prepending an image path when icon paths are relative. - * - * @param icon Icon object from e.g. toolbar config - * @param path Default icon path, defaults to $.wikiEditor.imgPath - * @param lang Language code, defaults to wgUserLanguage - */ - autoIcon: function ( icon, path, lang ) { - var src = $.wikiEditor.autoLang( icon, lang ); - path = path || $.wikiEditor.imgPath; - // Prepend path if src is not absolute - if ( src.substr( 0, 7 ) != 'http://' && src.substr( 0, 8 ) != 'https://' && src[0] != '/' ) { - src = path + src; - } - return src + '?' + mw.loader.version( 'jquery.wikiEditor' ); - }, - - /** - * Get the sprite offset for a language if available, icon for a language if available, or the default offset or icon, - * in that order of preference. - * @param icon Icon object, see autoIcon() - * @param offset Offset object - * @param path Icon path, see autoIcon() - * @param lang Language code, defaults to wgUserLanguage - */ - autoIconOrOffset: function ( icon, offset, path, lang ) { - lang = lang || mw.config.get( 'wgUserLanguage' ); - if ( typeof offset == 'object' && lang in offset ) { - return offset[lang]; - } else if ( typeof icon == 'object' && lang in icon ) { - return $.wikiEditor.autoIcon( icon, undefined, lang ); - } else { - return $.wikiEditor.autoLang( offset, lang ); - } - } -}; - -/** - * jQuery plugin that provides a way to initialize a wikiEditor instance on a textarea. - */ -$.fn.wikiEditor = function () { - -// Skip any further work when running in browsers that are unsupported -if ( !$.wikiEditor.isSupported() ) { - return $(this); -} - -/* Initialization */ - -// The wikiEditor context is stored in the element's data, so when this function gets called again we can pick up right -// where we left off -var context = $(this).data( 'wikiEditor-context' ); -// On first call, we need to set things up, but on all following calls we can skip right to the API handling -if ( !context || typeof context == 'undefined' ) { - - // Star filling the context with useful data - any jQuery selections, as usual should be named with a preceding $ - context = { - // Reference to the textarea element which the wikiEditor is being built around - '$textarea': $(this), - // Container for any number of mutually exclusive views that are accessible by tabs - 'views': {}, - // Container for any number of module-specific data - only including data for modules in use on this context - 'modules': {}, - // General place to shouve bits of data into - 'data': {}, - // Unique numeric ID of this instance used both for looking up and differentiating instances of wikiEditor - 'instance': $.wikiEditor.instances.push( $(this) ) - 1, - // Array mapping elements in the textarea to character offsets - 'offsets': null, - // Cache for context.fn.htmlToText() - 'htmlToTextMap': {}, - // The previous HTML of the iframe, stored to detect whether something really changed. - 'oldHTML': null, - // Same for delayedChange() - 'oldDelayedHTML': null, - // The previous selection of the iframe, stored to detect whether the selection has changed - 'oldDelayedSel': null, - // Saved selection state for IE - 'savedSelection': null, - // Stack of states in { html: [string] } form - 'history': [], - // Current history state position - this is number of steps backwards, so it's always -1 or less - 'historyPosition': -1, - /// The previous historyPosition, stored to detect if change events were due to an undo or redo action - 'oldDelayedHistoryPosition': -1, - // List of extensions active on this context - 'extensions': [] - }; - - /** - * Externally Accessible API - * - * These are available using calls to $(selection).wikiEditor( call, data ) where selection is a jQuery selection - * of the textarea that the wikiEditor instance was built around. - */ - - context.api = { - /** - * Activates a module on a specific context with optional configuration data. - * - * @param data Either a string of the name of a module to add without any additional configuration parameters, - * or an object with members keyed with module names and valued with configuration objects. - */ - 'addModule': function ( context, data ) { - var module, call, - modules = {}; - if ( typeof data == 'string' ) { - modules[data] = {}; - } else if ( typeof data == 'object' ) { - modules = data; - } - for ( module in modules ) { - // Check for the existance of an available / supported module with a matching name and a create function - if ( typeof module == 'string' && typeof $.wikiEditor.modules[module] !== 'undefined' && - $.wikiEditor.isSupported( $.wikiEditor.modules[module] ) ) - { - // Extend the context's core API with this module's own API calls - if ( 'api' in $.wikiEditor.modules[module] ) { - for ( call in $.wikiEditor.modules[module].api ) { - // Modules may not overwrite existing API functions - first come, first serve - if ( !( call in context.api ) ) { - context.api[call] = $.wikiEditor.modules[module].api[call]; - } - } - } - // Activate the module on this context - if ( 'fn' in $.wikiEditor.modules[module] && 'create' in $.wikiEditor.modules[module].fn ) { - // Add a place for the module to put it's own stuff - context.modules[module] = {}; - // Tell the module to create itself on the context - $.wikiEditor.modules[module].fn.create( context, modules[module] ); - } - } - } - } - }; - - /** - * Event Handlers - * - * These act as filters returning false if the event should be ignored or returning true if it should be passed - * on to all modules. This is also where we can attach some extra information to the events. - */ - - context.evt = { - /* Empty until extensions add some; see jquery.wikiEditor.iframe.js for examples. */ - }; - - /* Internal Functions */ - - context.fn = { - /** - * Executes core event filters as well as event handlers provided by modules. - */ - trigger: function ( name, event ) { - // Event is an optional argument, but from here on out, at least the type field should be dependable - if ( typeof event == 'undefined' ) { - event = { 'type': 'custom' }; - } - // Ensure there's a place for extra information to live - if ( typeof event.data == 'undefined' ) { - event.data = {}; - } - - // Allow filtering to occur - if ( name in context.evt ) { - if ( !context.evt[name]( event ) ) { - return false; - } - } - var returnFromModules = null; //they return null by default - // Pass the event around to all modules activated on this context - - for ( var module in context.modules ) { - if ( - module in $.wikiEditor.modules && - 'evt' in $.wikiEditor.modules[module] && - name in $.wikiEditor.modules[module].evt - ) { - var ret = $.wikiEditor.modules[module].evt[name]( context, event ); - if (ret !== null) { - //if 1 returns false, the end result is false - if( returnFromModules === null ) { - returnFromModules = ret; - } else { - returnFromModules = returnFromModules && ret; - } - } - } - } - if ( returnFromModules !== null ) { - return returnFromModules; - } else { - return true; - } - }, - - /** - * Adds a button to the UI - */ - addButton: function ( options ) { - // Ensure that buttons and tabs are visible - context.$controls.show(); - context.$buttons.show(); - return $( '