| Index: branches/REL1_18/extensions/CreateBox/CreateBox.php |
| — | — | @@ -63,7 +63,7 @@ |
| 64 | 64 | $title = Title::newFromText( $prefix . $text ); |
| 65 | 65 | if( is_null( $title ) ) { |
| 66 | 66 | global $wgTitle; |
| 67 | | - $wgTitle = new BadTitle; |
| | 67 | + $wgTitle = SpecialPage::getTitleFor( 'Badtitle' ); |
| 68 | 68 | throw new ErrorPageError( 'badtitle', 'badtitletext' ); |
| 69 | 69 | } elseif( $title->getArticleID() == 0 ) { |
| 70 | 70 | acRedirect( $title, 'edit' ); |
| Index: branches/REL1_18/extensions/ParserFunctions/convertTests.txt |
| — | — | @@ -203,7 +203,7 @@ |
| 204 | 204 | <ul><li>0.01 kilometres |
| 205 | 205 | </li><li>0.01kilometres |
| 206 | 206 | </li><li>10,000 metres |
| 207 | | -</li><li>0.1 milimetres of mercury |
| | 207 | +</li><li>0.1 millimetres of mercury |
| 208 | 208 | </li></ul> |
| 209 | 209 | |
| 210 | 210 | !! end |
| — | — | @@ -220,7 +220,7 @@ |
| 221 | 221 | <ul><li>0.01 meters |
| 222 | 222 | </li><li>10,000,000 meters |
| 223 | 223 | </li><li>0.01 megameters |
| 224 | | -</li><li>0.1 milimeters of mercury |
| | 224 | +</li><li>0.1 millimeters of mercury |
| 225 | 225 | </li><li><strong class="error">Error: unknown unit "pa"</strong> |
| 226 | 226 | </li></ul> |
| 227 | 227 | |
| Index: branches/REL1_18/extensions/ParserFunctions/Convert.php |
| — | — | @@ -563,7 +563,7 @@ |
| 564 | 564 | |
| 565 | 565 | 'bar' => array( 100000, 'bar', false ), |
| 566 | 566 | 'decibar' => array( 10000, 'dbar', false ), |
| 567 | | - 'milibar' => array( 100 , 'mbar|mb', false ), |
| | 567 | + 'millibar' => array( 100 , 'mbar|mb', false ), |
| 568 | 568 | 'kilobarye' => array( 100, 'kba', false ), |
| 569 | 569 | 'barye' => array( 0.1, 'ba', false ), |
| 570 | 570 | |
| — | — | @@ -588,7 +588,7 @@ |
| 589 | 589 | */ |
| 590 | 590 | protected static $prefixes = array( |
| 591 | 591 | 'kilo' => array( 1E3, 'k' ), |
| 592 | | - 'mili' => array( 1E-3, 'm' ), |
| | 592 | + 'milli' => array( 1E-3, 'm' ), |
| 593 | 593 | 'centi' => array( 1E-2, 'c' ), |
| 594 | 594 | 'giga' => array( 1E9, 'G' ), |
| 595 | 595 | 'micro' => array( 1E-6, '(?:\x{03BC}|\x{00B5})' ), # There are two similar mu characters |
| Index: branches/REL1_18/extensions/ParserFunctions/ParserFunctions.i18n.php |
| — | — | @@ -69,7 +69,7 @@ |
| 70 | 70 | 'pfunc-convert-prefix-deca' => 'deca', |
| 71 | 71 | 'pfunc-convert-prefix-deci' => 'deci', |
| 72 | 72 | 'pfunc-convert-prefix-centi' => 'centi', |
| 73 | | - 'pfunc-convert-prefix-mili' => 'mili', |
| | 73 | + 'pfunc-convert-prefix-milli' => 'milli', |
| 74 | 74 | 'pfunc-convert-prefix-micro' => 'micro', |
| 75 | 75 | 'pfunc-convert-prefix-nano' => 'nano', |
| 76 | 76 | 'pfunc-convert-prefix-pico' => 'pico', |
| — | — | @@ -90,7 +90,7 @@ |
| 91 | 91 | 'pfunc-convert-prefix-deca-abbr' => 'da', |
| 92 | 92 | 'pfunc-convert-prefix-deci-abbr' => 'd', |
| 93 | 93 | 'pfunc-convert-prefix-centi-abbr' => 'c', |
| 94 | | - 'pfunc-convert-prefix-mili-abbr' => 'm', |
| | 94 | + 'pfunc-convert-prefix-milli-abbr' => 'm', |
| 95 | 95 | 'pfunc-convert-prefix-micro-abbr' => 'μ', |
| 96 | 96 | 'pfunc-convert-prefix-nano-abbr' => 'n', |
| 97 | 97 | 'pfunc-convert-prefix-pico-abbr' => 'p', |
| — | — | @@ -250,14 +250,14 @@ |
| 251 | 251 | 'pfunc-convert-unit-pressure-barye' => 'barye', |
| 252 | 252 | 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|atmosphere|atmospheres}}', |
| 253 | 253 | 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1|Torr|Torr}}', |
| 254 | | - 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|milimeter of mercury|milimeters of mercury}}', |
| | 254 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|millimeter of mercury|millimeters of mercury}}', |
| 255 | 255 | 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|inch of mercury|inches of mercury}}', |
| 256 | 256 | 'pfunc-convert-unit-pressure-psi' => '{{PLURAL:$1|pound per square-inch|pounds per square-inch}}', |
| 257 | 257 | |
| 258 | 258 | 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Pa', |
| 259 | 259 | 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| 260 | 260 | 'pfunc-convert-unit-pressure-decibar-abbr' => 'dbar', |
| 261 | | - 'pfunc-convert-unit-pressure-milibar-abbr' => 'mbar', |
| | 261 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'mbar', |
| 262 | 262 | 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'kBa', |
| 263 | 263 | 'pfunc-convert-unit-pressure-barye-abbr' => 'Ba', |
| 264 | 264 | 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| — | — | @@ -431,6 +431,54 @@ |
| 432 | 432 | 'pfunc_expr_unknown_error' => "Error d'espresión: Error desconocíu ($1)", |
| 433 | 433 | 'pfunc_expr_not_a_number' => 'En $1: el resultáu nun ye un númberu', |
| 434 | 434 | 'pfunc_string_too_long' => 'Error: la cadena pasa la llende de $1 caráuteres', |
| | 435 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2metru|$2metros}}', |
| | 436 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|angstrom|angstroms}}', |
| | 437 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|milla|milles}}', |
| | 438 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|yarda|yardes}}', |
| | 439 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|pie|pies}}', |
| | 440 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|quilómetru cuadráu|quilómetros cuadraos}}', |
| | 441 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|metru cuadráu|metros cuadraos}}', |
| | 442 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 443 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 444 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 445 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 446 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ha', |
| | 447 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|segundu|segundos}}', |
| | 448 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|$2añu|$2años}}', |
| | 449 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|día|díes}}', |
| | 450 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|hora|hores}}', |
| | 451 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|minutu|minutos}}', |
| | 452 | + 'pfunc-convert-unit-time-second-abbr' => 's', |
| | 453 | + 'pfunc-convert-unit-time-year-abbr' => '$2añ', |
| | 454 | + 'pfunc-convert-unit-time-day-abbr' => 'día', |
| | 455 | + 'pfunc-convert-unit-time-hour-abbr' => 'h', |
| | 456 | + 'pfunc-convert-unit-time-minute-abbr' => 'min', |
| | 457 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|metru cúbicu|metros cúbicos}}', |
| | 458 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|centímetru cúbicu|centímetros cúbicos}}', |
| | 459 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|milímetru cúbicu|milímetros cúbicos}}', |
| | 460 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|kilollitru|kilollitros}}', |
| | 461 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|llitru|llitros}}', |
| | 462 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|centillitru|centillitros}}', |
| | 463 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|millillitru|millillitros}}', |
| | 464 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>3</sup>', |
| | 465 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm<sup>3</sup>', |
| | 466 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm<sup>3</sup>', |
| | 467 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2l', |
| | 468 | + 'pfunc-convert-unit-speed-mile-hour' => 'milles por hora', |
| | 469 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|$2pascal|$2pascales}}', |
| | 470 | + 'pfunc-convert-unit-pressure-bar' => 'bar', |
| | 471 | + 'pfunc-convert-unit-pressure-decibar' => 'decibar', |
| | 472 | + 'pfunc-convert-unit-pressure-millibar' => 'millibar', |
| | 473 | + 'pfunc-convert-unit-pressure-kilobarye' => 'kilobario', |
| | 474 | + 'pfunc-convert-unit-pressure-barye' => 'bario', |
| | 475 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|atmósfera|atmósferes}}', |
| | 476 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Pa', |
| | 477 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| | 478 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'dbar', |
| | 479 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'mbar', |
| | 480 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'kBa', |
| | 481 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'Ba', |
| | 482 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| 435 | 483 | ); |
| 436 | 484 | |
| 437 | 485 | /** Azerbaijani (Azərbaycanca) |
| — | — | @@ -685,6 +733,59 @@ |
| 686 | 734 | 'pfunc_expr_unknown_error' => 'Chyba ve výrazu: Neznámá chyba ($1)', |
| 687 | 735 | 'pfunc_expr_not_a_number' => 'V $1: výsledkem není číslo', |
| 688 | 736 | 'pfunc_string_too_long' => 'Chyba: Řetězec je delší než $1 {{PLURAL:$1|znak|znaky|znaků}}, což je limit', |
| | 737 | + 'pfunc-convert-dimensionmismatch' => 'Chyba: Nelze převést mezi jednotkami „$1“ a „$2“.', |
| | 738 | + 'pfunc-convert-unknownunit' => 'Chyba: Neznámá jednotka „$1“.', |
| | 739 | + 'pfunc-convert-unknowndimension' => 'Chyba: Neznámý rozměr „$1“', |
| | 740 | + 'pfunc-convert-invalidcompoundunit' => 'Chyba: Neplatná složená jednotka „$1“.', |
| | 741 | + 'pfunc-convert-nounit' => 'Chyba: Nebyla zadána zdrojová jednotka.', |
| | 742 | + 'pfunc-convert-doublecompoundunit' => 'Chyba: Nelze zpracovat dvojitě složené jednotky, jako je „$1“.', |
| | 743 | + 'pfunc-convert-dimension-length' => 'délka', |
| | 744 | + 'pfunc-convert-dimension-area' => 'plocha', |
| | 745 | + 'pfunc-convert-dimension-volume' => 'objem', |
| | 746 | + 'pfunc-convert-dimension-time' => 'čas', |
| | 747 | + 'pfunc-convert-dimension-timesquared' => 'čas²', |
| | 748 | + 'pfunc-convert-dimension-mass' => 'hmotnost', |
| | 749 | + 'pfunc-convert-dimension-speed' => 'rychlost', |
| | 750 | + 'pfunc-convert-dimension-temperature' => 'teplota', |
| | 751 | + 'pfunc-convert-dimension-acceleration' => 'zrychlení', |
| | 752 | + 'pfunc-convert-dimension-force' => 'síla', |
| | 753 | + 'pfunc-convert-dimension-torque' => 'točivý moment', |
| | 754 | + 'pfunc-convert-dimension-energy' => 'energie', |
| | 755 | + 'pfunc-convert-dimension-power' => 'výkon', |
| | 756 | + 'pfunc-convert-dimension-pressure' => 'tlak', |
| | 757 | + 'pfunc-convert-dimension-density' => 'hustota', |
| | 758 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'spotřeba', |
| | 759 | + 'pfunc-convert-prefix-yotta' => 'yotta', |
| | 760 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 761 | + 'pfunc-convert-prefix-exa' => 'exa', |
| | 762 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 763 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 764 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 765 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 766 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 767 | + 'pfunc-convert-prefix-hecto' => 'hekto', |
| | 768 | + 'pfunc-convert-prefix-deca' => 'deka', |
| | 769 | + 'pfunc-convert-prefix-deci' => 'deci', |
| | 770 | + 'pfunc-convert-prefix-centi' => 'centi', |
| | 771 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 772 | + 'pfunc-convert-prefix-micro' => 'mikro', |
| | 773 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 774 | + 'pfunc-convert-prefix-pico' => 'piko', |
| | 775 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 776 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 777 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 778 | + 'pfunc-convert-prefix-yocto' => 'yokto', |
| | 779 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2metr|$2metry|$2metrů}}', |
| | 780 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|míle|míle|mil}}', |
| | 781 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|stopa|stopy|stop}}', |
| | 782 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|palec|palce|palců}}', |
| | 783 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|$2parsek|$2parseky|$2parseků}}', |
| | 784 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|astronomická jednotka|astronomické jednotky|astronomických jednotek}}', |
| | 785 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|kilometr čtvereční|kilometry čtvereční|kilometrů čtverečních}}', |
| | 786 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|hektar|hektary|hektarů}}', |
| | 787 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|akr|akry|akrů}}', |
| | 788 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|čtvereční stopa|čtvereční stopy|čtverečních stop}}', |
| | 789 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|čtvereční palec|čtvereční palce|čtverečních palců}}', |
| 689 | 790 | ); |
| 690 | 791 | |
| 691 | 792 | /** Danish (Dansk) |
| — | — | @@ -850,7 +951,7 @@ |
| 851 | 952 | 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|$2litre|$2litres}}', |
| 852 | 953 | |
| 853 | 954 | # PRESSURE |
| 854 | | - 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|milimetre of mercury|milimetres of mercury}}', |
| | 955 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|millimetre of mercury|miillimetres of mercury}}', |
| 855 | 956 | ); |
| 856 | 957 | |
| 857 | 958 | /** Esperanto (Esperanto) |
| — | — | @@ -1002,25 +1103,94 @@ |
| 1003 | 1104 | */ |
| 1004 | 1105 | $messages['fr'] = array( |
| 1005 | 1106 | 'pfunc_desc' => 'Améliore le parseur avec des fonctions logiques', |
| 1006 | | - 'pfunc_time_error' => 'Erreur : durée invalide', |
| 1007 | | - 'pfunc_time_too_long' => 'Erreur : appels trop nombreux à <code>#time</code>', |
| 1008 | | - 'pfunc_time_too_big' => 'Erreur : #time prend uniquement en charge des années jusqu’à 9999', |
| 1009 | | - 'pfunc_rel2abs_invalid_depth' => 'Erreur: profondeur invalide dans le chemin « $1 » (a essayé d’accéder à un niveau au-dessus du nœud racine)', |
| 1010 | | - 'pfunc_expr_stack_exhausted' => 'Erreur d’expression : pile épuisée', |
| 1011 | | - 'pfunc_expr_unexpected_number' => 'Erreur d’expression : nombre inattendu', |
| 1012 | | - 'pfunc_expr_preg_match_failure' => 'Erreur d’expression : échec inattendu de <code>preg_match</code>', |
| 1013 | | - 'pfunc_expr_unrecognised_word' => 'Erreur d’expression : mot « $1 » non reconnu', |
| 1014 | | - 'pfunc_expr_unexpected_operator' => "Erreur d’expression : opérateur '''$1''' inattendu", |
| 1015 | | - 'pfunc_expr_missing_operand' => "Erreur d’expression : opérande manquant pour '''$1'''", |
| 1016 | | - 'pfunc_expr_unexpected_closing_bracket' => 'Erreur d’expression : parenthèse fermante inattendue', |
| 1017 | | - 'pfunc_expr_unrecognised_punctuation' => 'Erreur d’expression : caractère de ponctuation « $1 » non reconnu', |
| 1018 | | - 'pfunc_expr_unclosed_bracket' => 'Erreur d’expression : parenthèse non fermée', |
| 1019 | | - 'pfunc_expr_division_by_zero' => 'Division par zéro', |
| 1020 | | - 'pfunc_expr_invalid_argument' => "Argument incorrect pour '''$1''' : < -1 ou > 1", |
| 1021 | | - 'pfunc_expr_invalid_argument_ln' => "Argument incorrect pour '''ln''' : ≤ 0", |
| 1022 | | - 'pfunc_expr_unknown_error' => 'Erreur d’expression : erreur inconnue ($1)', |
| 1023 | | - 'pfunc_expr_not_a_number' => 'Dans $1 : le résultat n’est pas un nombre', |
| 1024 | | - 'pfunc_string_too_long' => 'Erreur : La chaîne dépasse la limite maximale de $1 caractère{{PLURAL:$1||s}}', |
| | 1107 | + 'pfunc_time_error' => 'Erreur : durée invalide.', |
| | 1108 | + 'pfunc_time_too_long' => 'Erreur : appels trop nombreux à <code>#time</code>.', |
| | 1109 | + 'pfunc_time_too_big' => 'Erreur : #time prend uniquement en charge des années jusqu’à 9999.', |
| | 1110 | + 'pfunc_rel2abs_invalid_depth' => 'Erreur : profondeur invalide dans le chemin « $1 » (a essayé d’accéder à un niveau au-dessus du nœud racine).', |
| | 1111 | + 'pfunc_expr_stack_exhausted' => 'Erreur d’expression : pile épuisée.', |
| | 1112 | + 'pfunc_expr_unexpected_number' => 'Erreur d’expression : nombre inattendu.', |
| | 1113 | + 'pfunc_expr_preg_match_failure' => 'Erreur d’expression : échec inattendu de <code>preg_match</code>.', |
| | 1114 | + 'pfunc_expr_unrecognised_word' => 'Erreur d’expression : mot « $1 » non reconnu.', |
| | 1115 | + 'pfunc_expr_unexpected_operator' => "Erreur d’expression : opérateur '''$1''' inattendu.", |
| | 1116 | + 'pfunc_expr_missing_operand' => "Erreur d’expression : opérande manquant pour '''$1'''.", |
| | 1117 | + 'pfunc_expr_unexpected_closing_bracket' => 'Erreur d’expression : parenthèse fermante inattendue.', |
| | 1118 | + 'pfunc_expr_unrecognised_punctuation' => 'Erreur d’expression : caractère de ponctuation « $1 » non reconnu.', |
| | 1119 | + 'pfunc_expr_unclosed_bracket' => 'Erreur d’expression : parenthèse non fermée.', |
| | 1120 | + 'pfunc_expr_division_by_zero' => 'Division par zéro.', |
| | 1121 | + 'pfunc_expr_invalid_argument' => "Paramètre incorrect pour '''$1''' : < -1 ou > 1.", |
| | 1122 | + 'pfunc_expr_invalid_argument_ln' => "Paramètre incorrect pour '''ln''' : ≤ 0.", |
| | 1123 | + 'pfunc_expr_unknown_error' => 'Erreur d’expression : erreur inconnue ($1).', |
| | 1124 | + 'pfunc_expr_not_a_number' => 'Dans $1 : le résultat n’est pas un nombre.', |
| | 1125 | + 'pfunc_string_too_long' => 'Erreur : La chaîne dépasse la limite maximale de $1 caractère{{PLURAL:$1||s}}.', |
| | 1126 | + 'pfunc-convert-unknownunit' => 'Erreur : "$1" est une unité inconnue.', |
| | 1127 | + 'pfunc-convert-unknowndimension' => 'Erreur : "$1" est une dimension inconnue.', |
| | 1128 | + 'pfunc-convert-dimension-length' => 'longueur', |
| | 1129 | + 'pfunc-convert-dimension-area' => 'aire', |
| | 1130 | + 'pfunc-convert-dimension-volume' => 'volume', |
| | 1131 | + 'pfunc-convert-dimension-time' => 'temps', |
| | 1132 | + 'pfunc-convert-dimension-timesquared' => 'temps<sup>2</sup>', |
| | 1133 | + 'pfunc-convert-dimension-mass' => 'masse', |
| | 1134 | + 'pfunc-convert-dimension-speed' => 'vitesse', |
| | 1135 | + 'pfunc-convert-dimension-temperature' => 'température', |
| | 1136 | + 'pfunc-convert-dimension-acceleration' => 'accélération', |
| | 1137 | + 'pfunc-convert-dimension-force' => 'force', |
| | 1138 | + 'pfunc-convert-dimension-torque' => 'couple', |
| | 1139 | + 'pfunc-convert-dimension-energy' => 'énergie', |
| | 1140 | + 'pfunc-convert-dimension-power' => 'puissance', |
| | 1141 | + 'pfunc-convert-dimension-pressure' => 'pression', |
| | 1142 | + 'pfunc-convert-dimension-density' => 'densité', |
| | 1143 | + 'pfunc-convert-prefix-yotta' => 'yotta', |
| | 1144 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 1145 | + 'pfunc-convert-prefix-exa' => 'exa', |
| | 1146 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 1147 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 1148 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 1149 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 1150 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 1151 | + 'pfunc-convert-prefix-hecto' => 'hecto', |
| | 1152 | + 'pfunc-convert-prefix-deca' => 'deca', |
| | 1153 | + 'pfunc-convert-prefix-deci' => 'deci', |
| | 1154 | + 'pfunc-convert-prefix-centi' => 'centi', |
| | 1155 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 1156 | + 'pfunc-convert-prefix-micro' => 'micro', |
| | 1157 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 1158 | + 'pfunc-convert-prefix-pico' => 'pico', |
| | 1159 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 1160 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 1161 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 1162 | + 'pfunc-convert-prefix-yocto' => 'yocto', |
| | 1163 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|brasse|brasses}}', |
| | 1164 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|pied|pieds}}', |
| | 1165 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|main|mains}}', |
| | 1166 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|pouce|pouces}}', |
| | 1167 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|unité astronomique|unités astronomiques}}', |
| | 1168 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|hectare|hectares}}', |
| | 1169 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 1170 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 1171 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 1172 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 1173 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|seconde|secondes}}', |
| | 1174 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|jour|jours}}', |
| | 1175 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|heure|heures}}', |
| | 1176 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|minute|minutes}}', |
| | 1177 | + 'pfunc-convert-unit-time-second-abbr' => 's', |
| | 1178 | + 'pfunc-convert-unit-time-year-abbr' => '$2an', |
| | 1179 | + 'pfunc-convert-unit-time-day-abbr' => 'j', |
| | 1180 | + 'pfunc-convert-unit-time-hour-abbr' => 'h', |
| | 1181 | + 'pfunc-convert-unit-time-minute-abbr' => 'm', |
| | 1182 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|litre|litres}}', |
| | 1183 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|centilitre|centilitres}}', |
| | 1184 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|millilitre|millilitres}}', |
| | 1185 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1|boisseau|boisseaux}}', |
| | 1186 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>3</sup>', |
| | 1187 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm<sup>3</sup>', |
| | 1188 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm<sup>3</sup>', |
| | 1189 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2l', |
| | 1190 | + 'pfunc-convert-unit-speed-mile-hour' => 'miles par heure', |
| | 1191 | + 'pfunc-convert-unit-pressure-bar' => 'bar', |
| | 1192 | + 'pfunc-convert-unit-pressure-decibar' => 'decibar', |
| | 1193 | + 'pfunc-convert-unit-pressure-millibar' => 'millibar', |
| | 1194 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| 1025 | 1195 | ); |
| 1026 | 1196 | |
| 1027 | 1197 | /** Franco-Provençal (Arpetan) |
| — | — | @@ -1056,25 +1226,62 @@ |
| 1057 | 1227 | */ |
| 1058 | 1228 | $messages['gl'] = array( |
| 1059 | 1229 | 'pfunc_desc' => 'Mellora o analizador con funcións lóxicas', |
| 1060 | | - 'pfunc_time_error' => 'Erro: hora non válida', |
| 1061 | | - 'pfunc_time_too_long' => 'Erro: demasiadas chamadas #time', |
| 1062 | | - 'pfunc_time_too_big' => 'Erro: #time só permite anos ata o 9999', |
| 1063 | | - 'pfunc_rel2abs_invalid_depth' => 'Erro: profundidade da ruta non válida: "$1" (tentouse acceder a un nodo por riba do nodo raíz)', |
| 1064 | | - 'pfunc_expr_stack_exhausted' => 'Erro de expresión: pila esgotada', |
| 1065 | | - 'pfunc_expr_unexpected_number' => 'Erro de expresión: número inesperado', |
| 1066 | | - 'pfunc_expr_preg_match_failure' => 'Erro de expresión: fallo de preg_match inesperado', |
| 1067 | | - 'pfunc_expr_unrecognised_word' => 'Erro de expresión: descoñécese a palabra "$1"', |
| 1068 | | - 'pfunc_expr_unexpected_operator' => 'Erro de expresión: operador "$1" inesperado', |
| 1069 | | - 'pfunc_expr_missing_operand' => 'Erro de expresión: falta un operador para $1', |
| 1070 | | - 'pfunc_expr_unexpected_closing_bracket' => 'Erro de expresión: corchete de peche inesperado', |
| 1071 | | - 'pfunc_expr_unrecognised_punctuation' => 'Erro de expresión: descoñécese o signo de puntuación "$1"', |
| 1072 | | - 'pfunc_expr_unclosed_bracket' => 'Erro de expresión: paréntese sen pechar', |
| 1073 | | - 'pfunc_expr_division_by_zero' => 'División por cero', |
| 1074 | | - 'pfunc_expr_invalid_argument' => 'Argumento inválido para $1: < -1 ou > 1', |
| 1075 | | - 'pfunc_expr_invalid_argument_ln' => 'Argumento inválido para ln: <= 0', |
| 1076 | | - 'pfunc_expr_unknown_error' => 'Erro de expresión: erro descoñecido ($1)', |
| 1077 | | - 'pfunc_expr_not_a_number' => 'En $1: o resultado non é un número', |
| 1078 | | - 'pfunc_string_too_long' => 'Erro: a cadea excede o límite de $1 caracteres', |
| | 1230 | + 'pfunc_time_error' => 'Erro: Hora non válida.', |
| | 1231 | + 'pfunc_time_too_long' => 'Erro: Demasiadas chamadas #time.', |
| | 1232 | + 'pfunc_time_too_big' => 'Erro: #time só permite anos ata o 9999.', |
| | 1233 | + 'pfunc_rel2abs_invalid_depth' => 'Erro: Profundidade da ruta non válida: "$1" (intentouse acceder a un nodo por riba do nodo raíz).', |
| | 1234 | + 'pfunc_expr_stack_exhausted' => 'Erro de expresión: Pila esgotada.', |
| | 1235 | + 'pfunc_expr_unexpected_number' => 'Erro de expresión: Número inesperado.', |
| | 1236 | + 'pfunc_expr_preg_match_failure' => 'Erro de expresión: Fallo de preg_match inesperado.', |
| | 1237 | + 'pfunc_expr_unrecognised_word' => 'Erro de expresión: Descoñécese a palabra "$1".', |
| | 1238 | + 'pfunc_expr_unexpected_operator' => 'Erro de expresión: Operador "$1" inesperado.', |
| | 1239 | + 'pfunc_expr_missing_operand' => 'Erro de expresión: Falta un operador para $1.', |
| | 1240 | + 'pfunc_expr_unexpected_closing_bracket' => 'Erro de expresión: Corchete de peche inesperado.', |
| | 1241 | + 'pfunc_expr_unrecognised_punctuation' => 'Erro de expresión: Descoñécese o signo de puntuación "$1".', |
| | 1242 | + 'pfunc_expr_unclosed_bracket' => 'Erro de expresión: Paréntese sen pechar.', |
| | 1243 | + 'pfunc_expr_division_by_zero' => 'División por cero.', |
| | 1244 | + 'pfunc_expr_invalid_argument' => 'Argumento inválido para $1: < -1 ou > 1.', |
| | 1245 | + 'pfunc_expr_invalid_argument_ln' => 'Argumento inválido para ln: <= 0.', |
| | 1246 | + 'pfunc_expr_unknown_error' => 'Erro de expresión: Erro descoñecido ($1).', |
| | 1247 | + 'pfunc_expr_not_a_number' => 'En $1: O resultado non é un número.', |
| | 1248 | + 'pfunc_string_too_long' => 'Erro: A cadea excede o límite de $1 caracteres.', |
| | 1249 | + 'pfunc-convert-dimension-length' => 'lonxitude', |
| | 1250 | + 'pfunc-convert-dimension-area' => 'área', |
| | 1251 | + 'pfunc-convert-dimension-volume' => 'volume', |
| | 1252 | + 'pfunc-convert-dimension-time' => 'tempo', |
| | 1253 | + 'pfunc-convert-dimension-timesquared' => 'tempo<sup>2</sup>', |
| | 1254 | + 'pfunc-convert-dimension-mass' => 'masa', |
| | 1255 | + 'pfunc-convert-dimension-speed' => 'velocidade', |
| | 1256 | + 'pfunc-convert-dimension-temperature' => 'temperatura', |
| | 1257 | + 'pfunc-convert-dimension-acceleration' => 'aceleración', |
| | 1258 | + 'pfunc-convert-dimension-force' => 'forza', |
| | 1259 | + 'pfunc-convert-dimension-torque' => 'torque', |
| | 1260 | + 'pfunc-convert-dimension-energy' => 'enerxía', |
| | 1261 | + 'pfunc-convert-dimension-power' => 'potencia', |
| | 1262 | + 'pfunc-convert-dimension-pressure' => 'presión', |
| | 1263 | + 'pfunc-convert-dimension-density' => 'densidade', |
| | 1264 | + 'pfunc-convert-prefix-yotta' => 'yotta', |
| | 1265 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 1266 | + 'pfunc-convert-prefix-exa' => 'exa', |
| | 1267 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 1268 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 1269 | + 'pfunc-convert-prefix-giga' => 'xiga', |
| | 1270 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 1271 | + 'pfunc-convert-prefix-kilo' => 'quilo', |
| | 1272 | + 'pfunc-convert-prefix-hecto' => 'hecto', |
| | 1273 | + 'pfunc-convert-prefix-deca' => 'deca', |
| | 1274 | + 'pfunc-convert-prefix-deci' => 'deci', |
| | 1275 | + 'pfunc-convert-prefix-centi' => 'centi', |
| | 1276 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 1277 | + 'pfunc-convert-prefix-micro' => 'micro', |
| | 1278 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 1279 | + 'pfunc-convert-prefix-pico' => 'pico', |
| | 1280 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 1281 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 1282 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 1283 | + 'pfunc-convert-prefix-yocto' => 'yocto', |
| | 1284 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 1285 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| 1079 | 1286 | ); |
| 1080 | 1287 | |
| 1081 | 1288 | /** Ancient Greek (Ἀρχαία ἑλληνικὴ) |
| — | — | @@ -1134,6 +1341,122 @@ |
| 1135 | 1342 | 'pfunc_expr_unknown_error' => 'שגיאה בביטוי: שגיאה בלתי ידועה ($1)', |
| 1136 | 1343 | 'pfunc_expr_not_a_number' => 'התוצאה של $1 אינה מספר', |
| 1137 | 1344 | 'pfunc_string_too_long' => 'שגיאה: המחרוזת עוברת את גבול התווים המותר, $1', |
| | 1345 | + 'pfunc-convert-dimensionmismatch' => 'שגיאה: לא ניתן להמיר בין יחידות של "$1" ושל "$2".', |
| | 1346 | + 'pfunc-convert-unknownunit' => 'שגיאה: יחידה לא ידועה "$1".', |
| | 1347 | + 'pfunc-convert-unknowndimension' => 'שגיאה: ממד לא ידוע "$1".', |
| | 1348 | + 'pfunc-convert-invalidcompoundunit' => 'שגיאה: יחידה מורכבת לא ידועה "$1".', |
| | 1349 | + 'pfunc-convert-nounit' => 'שגיאה: לא ניתנה יחידה התחלתית.', |
| | 1350 | + 'pfunc-convert-doublecompoundunit' => 'שגיאה: לא ניתן לפענח יחידות מורכבות כפולות כמו "$1".', |
| | 1351 | + 'pfunc-convert-dimension-length' => 'אורך', |
| | 1352 | + 'pfunc-convert-dimension-area' => 'שטח', |
| | 1353 | + 'pfunc-convert-dimension-volume' => 'נפח', |
| | 1354 | + 'pfunc-convert-dimension-time' => 'זמן', |
| | 1355 | + 'pfunc-convert-dimension-timesquared' => 'זמן<sup>2</sup>', |
| | 1356 | + 'pfunc-convert-dimension-mass' => 'מסה', |
| | 1357 | + 'pfunc-convert-dimension-speed' => 'מהירות', |
| | 1358 | + 'pfunc-convert-dimension-temperature' => 'חום', |
| | 1359 | + 'pfunc-convert-dimension-acceleration' => 'תאוצה', |
| | 1360 | + 'pfunc-convert-dimension-force' => 'כוח', |
| | 1361 | + 'pfunc-convert-dimension-torque' => 'מומנט הסיבוב', |
| | 1362 | + 'pfunc-convert-dimension-energy' => 'אנרגיה', |
| | 1363 | + 'pfunc-convert-dimension-power' => 'הספק', |
| | 1364 | + 'pfunc-convert-dimension-pressure' => 'לחץ', |
| | 1365 | + 'pfunc-convert-dimension-density' => 'צפיפות', |
| | 1366 | + 'pfunc-convert-prefix-yotta' => 'יוטא', |
| | 1367 | + 'pfunc-convert-prefix-zetta' => 'זטא', |
| | 1368 | + 'pfunc-convert-prefix-exa' => 'אקסה', |
| | 1369 | + 'pfunc-convert-prefix-peta' => 'פטה', |
| | 1370 | + 'pfunc-convert-prefix-tera' => 'טרה', |
| | 1371 | + 'pfunc-convert-prefix-giga' => 'גיגה', |
| | 1372 | + 'pfunc-convert-prefix-mega' => 'מגה', |
| | 1373 | + 'pfunc-convert-prefix-kilo' => 'קילו', |
| | 1374 | + 'pfunc-convert-prefix-hecto' => 'הקטו', |
| | 1375 | + 'pfunc-convert-prefix-deca' => 'דקה', |
| | 1376 | + 'pfunc-convert-prefix-deci' => 'דצי', |
| | 1377 | + 'pfunc-convert-prefix-centi' => 'סנטי', |
| | 1378 | + 'pfunc-convert-prefix-milli' => 'מילי', |
| | 1379 | + 'pfunc-convert-prefix-micro' => 'מיקרו', |
| | 1380 | + 'pfunc-convert-prefix-nano' => 'ננו', |
| | 1381 | + 'pfunc-convert-prefix-pico' => 'פיקו', |
| | 1382 | + 'pfunc-convert-prefix-femto' => 'פמטו', |
| | 1383 | + 'pfunc-convert-prefix-atto' => 'אטו', |
| | 1384 | + 'pfunc-convert-prefix-zepto' => 'זפטו', |
| | 1385 | + 'pfunc-convert-prefix-yocto' => 'יוקטו', |
| | 1386 | + 'pfunc-convert-unit-length-furlong-abbr' => 'פרלונג', |
| | 1387 | + 'pfunc-convert-unit-length-chain-abbr' => 'שלשלת', |
| | 1388 | + 'pfunc-convert-unit-length-rod-abbr' => 'מַטֶּה', |
| | 1389 | + 'pfunc-convert-unit-length-fathom-abbr' => 'פאתום', |
| | 1390 | + 'pfunc-convert-unit-length-yard-abbr' => 'יארד', |
| | 1391 | + 'pfunc-convert-unit-length-foot-abbr' => 'רגל', |
| | 1392 | + 'pfunc-convert-unit-length-hand-abbr' => 'כף־יד', |
| | 1393 | + 'pfunc-convert-unit-length-inch-abbr' => 'אינץ׳', |
| | 1394 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'מיל ימי', |
| | 1395 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'מיל ימי (אנגלי)', |
| | 1396 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'מיל ימי (ארה״ב לפני 1954)', |
| | 1397 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2 פארסק', |
| | 1398 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2 שנות אור', |
| | 1399 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'יחידה אסטרונומית', |
| | 1400 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'קמ״ר', |
| | 1401 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'מ״ר', |
| | 1402 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'סמ״ר', |
| | 1403 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'ממ״ר', |
| | 1404 | + 'pfunc-convert-unit-area-hectare-abbr' => 'הקטאר', |
| | 1405 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'מיל רבוע', |
| | 1406 | + 'pfunc-convert-unit-area-acre-abbr' => 'אקר', |
| | 1407 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'יארד רבוע', |
| | 1408 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'רגל רבועה', |
| | 1409 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'אינץ׳ רבוע', |
| | 1410 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'מיל ימי רבוע', |
| | 1411 | + 'pfunc-convert-unit-area-dunam-abbr' => 'דונם', |
| | 1412 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'צובו', |
| | 1413 | + 'pfunc-convert-unit-time-second-abbr' => 'שנייה', |
| | 1414 | + 'pfunc-convert-unit-time-day-abbr' => 'יום', |
| | 1415 | + 'pfunc-convert-unit-time-hour-abbr' => 'שעה', |
| | 1416 | + 'pfunc-convert-unit-time-minute-abbr' => 'דקה', |
| | 1417 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'מטר מעוקב', |
| | 1418 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'ס״מ מעוקב', |
| | 1419 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'מ״מ מעוקב', |
| | 1420 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2 ל׳', |
| | 1421 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'יארד מעוקב', |
| | 1422 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'רגל מעוקבת', |
| | 1423 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'אינץ׳ מעוקב', |
| | 1424 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'חבית', |
| | 1425 | + 'pfunc-convert-unit-volume-bushel-abbr' => 'בושל', |
| | 1426 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'גלון', |
| | 1427 | + 'pfunc-convert-unit-volume-quart-abbr' => 'קווארטה', |
| | 1428 | + 'pfunc-convert-unit-volume-pint-abbr' => 'פיינט', |
| | 1429 | + 'pfunc-convert-unit-volume-fluidounce-abbr' => 'אונקייה', |
| | 1430 | + 'pfunc-convert-unit-volume-barrelus-abbr' => 'חבית אמריקאית', |
| | 1431 | + 'pfunc-convert-unit-volume-barreloil-abbr' => 'חבית', |
| | 1432 | + 'pfunc-convert-unit-volume-barrelbeer-abbr' => 'חבית', |
| | 1433 | + 'pfunc-convert-unit-volume-usgallon-abbr' => 'גלון אמריקאי', |
| | 1434 | + 'pfunc-convert-unit-volume-usquart-abbr' => 'קווארטה אמריקאית', |
| | 1435 | + 'pfunc-convert-unit-volume-uspint-abbr' => 'פיינט אמריקאי', |
| | 1436 | + 'pfunc-convert-unit-volume-usfluidounce-abbr' => 'אונקייה אמריקאית', |
| | 1437 | + 'pfunc-convert-unit-volume-usdrybarrel-abbr' => 'חבית אמריקאית', |
| | 1438 | + 'pfunc-convert-unit-volume-usbushel-abbr' => 'בושל אמריקאי', |
| | 1439 | + 'pfunc-convert-unit-volume-usdrygallon-abbr' => 'גלון יבש אמריקאי', |
| | 1440 | + 'pfunc-convert-unit-volume-usdryquart-abbr' => 'קווארטה יבשה אמריקאית', |
| | 1441 | + 'pfunc-convert-unit-volume-usdrypint-abbr' => 'פיינט יבש אמריקאי', |
| | 1442 | + 'pfunc-convert-unit-speed-mile-hour' => 'מיל לשעה', |
| | 1443 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 1444 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'מיל לשעה', |
| | 1445 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| | 1446 | + 'pfunc-convert-unit-pressure-bar' => 'בר', |
| | 1447 | + 'pfunc-convert-unit-pressure-decibar' => 'דציבר', |
| | 1448 | + 'pfunc-convert-unit-pressure-millibar' => 'מיליבר', |
| | 1449 | + 'pfunc-convert-unit-pressure-kilobarye' => 'קילובָּרְיֶה', |
| | 1450 | + 'pfunc-convert-unit-pressure-barye' => 'בָּרְיֶה', |
| | 1451 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'בר', |
| | 1452 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'דציבר', |
| | 1453 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'מיליבר', |
| | 1454 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'קילובָּרְיֶה', |
| | 1455 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'בָּרְיֶה', |
| | 1456 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'אטמ׳', |
| | 1457 | + 'pfunc-convert-unit-pressure-torr-abbr' => 'טור', |
| | 1458 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'מ״מ כספית', |
| | 1459 | + 'pfunc-convert-unit-pressure-inhg-abbr' => 'אינץ׳ כספית', |
| | 1460 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'psi', |
| 1138 | 1461 | ); |
| 1139 | 1462 | |
| 1140 | 1463 | /** Hindi (हिन्दी) |
| — | — | @@ -1264,6 +1587,55 @@ |
| 1265 | 1588 | 'pfunc_expr_unknown_error' => 'Error de expression: Error incognite ($1)', |
| 1266 | 1589 | 'pfunc_expr_not_a_number' => 'In $1: le resultato non es un numero', |
| 1267 | 1590 | 'pfunc_string_too_long' => 'Error: Le catena excede le limite de $1 {{PLURAL:$1|character|characteres}}', |
| | 1591 | + 'pfunc-convert-dimensionmismatch' => 'Error: Impossibile converter inter unitates de "$1" e "$2".', |
| | 1592 | + 'pfunc-convert-unknownunit' => 'Error: Unitate "$1" incognite.', |
| | 1593 | + 'pfunc-convert-unknowndimension' => 'Error: Dimension "$1" incognite.', |
| | 1594 | + 'pfunc-convert-invalidcompoundunit' => 'Error: Unitate composite "$1" invalide.', |
| | 1595 | + 'pfunc-convert-nounit' => 'Error: Nulle unitate de origine specificate.', |
| | 1596 | + 'pfunc-convert-doublecompoundunit' => 'Error: Non pote processar unitates composite duplice como "$1".', |
| | 1597 | + 'pfunc-convert-dimension-length' => 'longitude', |
| | 1598 | + 'pfunc-convert-dimension-area' => 'area', |
| | 1599 | + 'pfunc-convert-dimension-volume' => 'volumine', |
| | 1600 | + 'pfunc-convert-dimension-time' => 'tempore', |
| | 1601 | + 'pfunc-convert-dimension-timesquared' => 'tempore<sup>2</sup>', |
| | 1602 | + 'pfunc-convert-dimension-mass' => 'massa', |
| | 1603 | + 'pfunc-convert-dimension-speed' => 'velocitate', |
| | 1604 | + 'pfunc-convert-dimension-temperature' => 'temperatura', |
| | 1605 | + 'pfunc-convert-dimension-acceleration' => 'acceleration', |
| | 1606 | + 'pfunc-convert-dimension-force' => 'fortia', |
| | 1607 | + 'pfunc-convert-dimension-torque' => 'torsion', |
| | 1608 | + 'pfunc-convert-dimension-energy' => 'energia', |
| | 1609 | + 'pfunc-convert-dimension-power' => 'potentia', |
| | 1610 | + 'pfunc-convert-dimension-pressure' => 'pression', |
| | 1611 | + 'pfunc-convert-dimension-density' => 'densitate', |
| | 1612 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'efficientiaenergeticpositive', |
| | 1613 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'efficientiaenergeticnegative', |
| | 1614 | + 'pfunc-convert-prefix-yotta' => 'yotta', |
| | 1615 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 1616 | + 'pfunc-convert-prefix-exa' => 'exa', |
| | 1617 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 1618 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 1619 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 1620 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 1621 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 1622 | + 'pfunc-convert-prefix-hecto' => 'hecto', |
| | 1623 | + 'pfunc-convert-prefix-deca' => 'deca', |
| | 1624 | + 'pfunc-convert-prefix-deci' => 'deci', |
| | 1625 | + 'pfunc-convert-prefix-centi' => 'centi', |
| | 1626 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 1627 | + 'pfunc-convert-prefix-micro' => 'micro', |
| | 1628 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 1629 | + 'pfunc-convert-prefix-pico' => 'pico', |
| | 1630 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 1631 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 1632 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 1633 | + 'pfunc-convert-prefix-yocto' => 'yocto', |
| | 1634 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2metro|$2metros}}', |
| | 1635 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|ångström|ångströmes}}', |
| | 1636 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|millia|millias}}', |
| | 1637 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|furlong|furlongs}}', |
| | 1638 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|catena|catenas}}', |
| | 1639 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|pertica|perticas}}', |
| 1268 | 1640 | ); |
| 1269 | 1641 | |
| 1270 | 1642 | /** Indonesian (Bahasa Indonesia) |
| — | — | @@ -1519,6 +1891,38 @@ |
| 1520 | 1892 | 'pfunc_expr_unknown_error' => 'Fähler en enem Ußdrock: Unbikannt ($1)', |
| 1521 | 1893 | 'pfunc_expr_not_a_number' => 'Fähler en enem Ußdrock: En <code>$1</code> es dat wat erus kütt kein Zahl.', |
| 1522 | 1894 | 'pfunc_string_too_long' => 'Fähler en enem Ußdrock: En Zeijshereih es länger wi $1 Zeijshe.', |
| | 1895 | + 'pfunc-convert-dimension-length' => 'Längemohß', |
| | 1896 | + 'pfunc-convert-dimension-area' => 'Flächemohß', |
| | 1897 | + 'pfunc-convert-dimension-volume' => 'Hohlmohß', |
| | 1898 | + 'pfunc-convert-dimension-time' => 'Ziggmohß', |
| | 1899 | + 'pfunc-convert-dimension-timesquared' => 'Zigg<sup>2</sup>-Mohß', |
| | 1900 | + 'pfunc-convert-dimension-mass' => 'Mohß för de Mass', |
| | 1901 | + 'pfunc-convert-dimension-speed' => 'Jeschwendechkeit', |
| | 1902 | + 'pfunc-convert-dimension-pressure' => 'Drock', |
| | 1903 | + 'pfunc-convert-prefix-yotta' => 'Yotta', |
| | 1904 | + 'pfunc-convert-prefix-zetta' => 'Zetta', |
| | 1905 | + 'pfunc-convert-prefix-exa' => 'Exa', |
| | 1906 | + 'pfunc-convert-prefix-tera' => 'Tera', |
| | 1907 | + 'pfunc-convert-prefix-giga' => 'Giga', |
| | 1908 | + 'pfunc-convert-prefix-mega' => 'Mega', |
| | 1909 | + 'pfunc-convert-prefix-kilo' => 'Killo', |
| | 1910 | + 'pfunc-convert-prefix-hecto' => 'Häkto', |
| | 1911 | + 'pfunc-convert-prefix-deca' => 'Dekka', |
| | 1912 | + 'pfunc-convert-prefix-deci' => 'Dezi', |
| | 1913 | + 'pfunc-convert-prefix-centi' => 'Cänti', |
| | 1914 | + 'pfunc-convert-prefix-milli' => 'Milli', |
| | 1915 | + 'pfunc-convert-prefix-micro' => 'Mikro', |
| | 1916 | + 'pfunc-convert-prefix-nano' => 'Nanno', |
| | 1917 | + 'pfunc-convert-prefix-pico' => 'Picko', |
| | 1918 | + 'pfunc-convert-prefix-femto' => 'Fämto', |
| | 1919 | + 'pfunc-convert-prefix-atto' => 'Atto', |
| | 1920 | + 'pfunc-convert-prefix-zepto' => 'Zäpto', |
| | 1921 | + 'pfunc-convert-prefix-yocto' => 'Jokto', |
| | 1922 | + 'pfunc-convert-unit-length-metre' => 'Meeter', |
| | 1923 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|Meil|Meile|Meile}}', |
| | 1924 | + 'pfunc-convert-unit-area-squarekilometre' => 'Quadraatkillomeetere', |
| | 1925 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 1926 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm²', |
| 1523 | 1927 | ); |
| 1524 | 1928 | |
| 1525 | 1929 | /** Luxembourgish (Lëtzebuergesch) |
| — | — | @@ -1612,6 +2016,217 @@ |
| 1613 | 2017 | 'pfunc_expr_unknown_error' => 'Грешка во изразот: Непозната грешка ($1)', |
| 1614 | 2018 | 'pfunc_expr_not_a_number' => 'Во $1: резултатот не е број', |
| 1615 | 2019 | 'pfunc_string_too_long' => 'Грешка: низата го надминува ограничувањето од $1 знаци', |
| | 2020 | + 'pfunc-convert-dimensionmismatch' => 'Грешка: претворањето од единицата „$1“ во единицата „$2“ е невозможно', |
| | 2021 | + 'pfunc-convert-unknownunit' => 'Грешка: непозната единица „$1“', |
| | 2022 | + 'pfunc-convert-unknowndimension' => 'Грешка: непозната димензија „$1“', |
| | 2023 | + 'pfunc-convert-invalidcompoundunit' => 'Грешка: неважечка мешовита единица „$1“', |
| | 2024 | + 'pfunc-convert-nounit' => 'Грешка: нема наведено изворна единица', |
| | 2025 | + 'pfunc-convert-doublecompoundunit' => 'Грешка: не можам да парсирам двојни мешовити единици како „$1“', |
| | 2026 | + 'pfunc-convert-dimension-length' => 'должина', |
| | 2027 | + 'pfunc-convert-dimension-area' => 'плоштина', |
| | 2028 | + 'pfunc-convert-dimension-volume' => 'волумен', |
| | 2029 | + 'pfunc-convert-dimension-time' => 'време', |
| | 2030 | + 'pfunc-convert-dimension-timesquared' => 'време<sup>2</sup>', |
| | 2031 | + 'pfunc-convert-dimension-mass' => 'маса', |
| | 2032 | + 'pfunc-convert-dimension-speed' => 'брзина', |
| | 2033 | + 'pfunc-convert-dimension-temperature' => 'температура', |
| | 2034 | + 'pfunc-convert-dimension-acceleration' => 'забрзување', |
| | 2035 | + 'pfunc-convert-dimension-force' => 'сила', |
| | 2036 | + 'pfunc-convert-dimension-torque' => 'момент на сила', |
| | 2037 | + 'pfunc-convert-dimension-energy' => 'енергија', |
| | 2038 | + 'pfunc-convert-dimension-power' => 'моќ', |
| | 2039 | + 'pfunc-convert-dimension-pressure' => 'притисок', |
| | 2040 | + 'pfunc-convert-dimension-density' => 'густина', |
| | 2041 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'позитивна горивна ефикасност', |
| | 2042 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'негативна горивна ефикасност', |
| | 2043 | + 'pfunc-convert-prefix-yotta' => 'јота', |
| | 2044 | + 'pfunc-convert-prefix-zetta' => 'зета', |
| | 2045 | + 'pfunc-convert-prefix-exa' => 'екса', |
| | 2046 | + 'pfunc-convert-prefix-peta' => 'пета', |
| | 2047 | + 'pfunc-convert-prefix-tera' => 'тера', |
| | 2048 | + 'pfunc-convert-prefix-giga' => 'гига', |
| | 2049 | + 'pfunc-convert-prefix-mega' => 'мега', |
| | 2050 | + 'pfunc-convert-prefix-kilo' => 'кило', |
| | 2051 | + 'pfunc-convert-prefix-hecto' => 'хекто', |
| | 2052 | + 'pfunc-convert-prefix-deca' => 'дека', |
| | 2053 | + 'pfunc-convert-prefix-deci' => 'деци', |
| | 2054 | + 'pfunc-convert-prefix-centi' => 'санти', |
| | 2055 | + 'pfunc-convert-prefix-milli' => 'мили', |
| | 2056 | + 'pfunc-convert-prefix-micro' => 'микро', |
| | 2057 | + 'pfunc-convert-prefix-nano' => 'нано', |
| | 2058 | + 'pfunc-convert-prefix-pico' => 'пико', |
| | 2059 | + 'pfunc-convert-prefix-femto' => 'фемто', |
| | 2060 | + 'pfunc-convert-prefix-atto' => 'ато', |
| | 2061 | + 'pfunc-convert-prefix-zepto' => 'зепто', |
| | 2062 | + 'pfunc-convert-prefix-yocto' => 'јокто', |
| | 2063 | + 'pfunc-convert-prefix-yotta-abbr' => 'Ј', |
| | 2064 | + 'pfunc-convert-prefix-zetta-abbr' => 'З', |
| | 2065 | + 'pfunc-convert-prefix-exa-abbr' => 'Е', |
| | 2066 | + 'pfunc-convert-prefix-peta-abbr' => 'П', |
| | 2067 | + 'pfunc-convert-prefix-tera-abbr' => 'Т', |
| | 2068 | + 'pfunc-convert-prefix-giga-abbr' => 'Г', |
| | 2069 | + 'pfunc-convert-prefix-mega-abbr' => 'М', |
| | 2070 | + 'pfunc-convert-prefix-kilo-abbr' => 'к', |
| | 2071 | + 'pfunc-convert-prefix-hecto-abbr' => 'х', |
| | 2072 | + 'pfunc-convert-prefix-deca-abbr' => 'да', |
| | 2073 | + 'pfunc-convert-prefix-deci-abbr' => 'д', |
| | 2074 | + 'pfunc-convert-prefix-centi-abbr' => 'с', |
| | 2075 | + 'pfunc-convert-prefix-milli-abbr' => 'м', |
| | 2076 | + 'pfunc-convert-prefix-micro-abbr' => 'μ', |
| | 2077 | + 'pfunc-convert-prefix-nano-abbr' => 'н', |
| | 2078 | + 'pfunc-convert-prefix-pico-abbr' => 'п', |
| | 2079 | + 'pfunc-convert-prefix-femto-abbr' => 'ф', |
| | 2080 | + 'pfunc-convert-prefix-atto-abbr' => 'а', |
| | 2081 | + 'pfunc-convert-prefix-zepto-abbr' => 'з', |
| | 2082 | + 'pfunc-convert-prefix-yocto-abbr' => 'ј', |
| | 2083 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|метар|метри}}', |
| | 2084 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|ангстрем|ангстреми}}', |
| | 2085 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|милја|милји}}', |
| | 2086 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|фурлонг|фурлонзи}}', |
| | 2087 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|ланец|ланци}}', |
| | 2088 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|прачка|прачки}}', |
| | 2089 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|фатом|фатоми}}', |
| | 2090 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|јарда|јарди}}', |
| | 2091 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|стапка|стапки}}', |
| | 2092 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|дланка|дланки}}', |
| | 2093 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|инч|инчи}}', |
| | 2094 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1|наутичка милја|наутички милји}}', |
| | 2095 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1|наутичка милја (британска, пред 1970)|наутички милји (британска, пред 1970)}}', |
| | 2096 | + 'pfunc-convert-unit-length-nauticalmileus' => '{PLURAL:$1|наутичка милја (американска, пред 1954)|наутички милји (американски, пред 1954)}}', |
| | 2097 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|$2 парсек|$2 парсеци}}', |
| | 2098 | + 'pfunc-convert-unit-length-lightyear' => '{{PLURAL:$1|светлосна година|светлосни години}}', |
| | 2099 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|астрономска единица|астрономски единици}}', |
| | 2100 | + 'pfunc-convert-unit-length-metre-abbr' => '$2 м', |
| | 2101 | + 'pfunc-convert-unit-length-mile-abbr' => 'ми', |
| | 2102 | + 'pfunc-convert-unit-length-furlong-abbr' => 'фурлонг', |
| | 2103 | + 'pfunc-convert-unit-length-chain-abbr' => 'ланец', |
| | 2104 | + 'pfunc-convert-unit-length-rod-abbr' => 'пр', |
| | 2105 | + 'pfunc-convert-unit-length-fathom-abbr' => 'фатом', |
| | 2106 | + 'pfunc-convert-unit-length-yard-abbr' => 'јд', |
| | 2107 | + 'pfunc-convert-unit-length-foot-abbr' => 'ст', |
| | 2108 | + 'pfunc-convert-unit-length-hand-abbr' => 'дл', |
| | 2109 | + 'pfunc-convert-unit-length-inch-abbr' => 'ин', |
| | 2110 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'нми', |
| | 2111 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'нми (брит)', |
| | 2112 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'нми (амер. пред 1954)', |
| | 2113 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2 пс', |
| | 2114 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2 сг', |
| | 2115 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'ae', |
| | 2116 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|квадратен километар|квадратни километри}}', |
| | 2117 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|квадратен метар|квадратни метри}}', |
| | 2118 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|квадратен сантиметар|квадратни сантиметри}}', |
| | 2119 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|квадратен милиметар|квадратни милиметри}}', |
| | 2120 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|хектар|хектари}}', |
| | 2121 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|квадратна милја|квадратни милји}}', |
| | 2122 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|акр|акри}}', |
| | 2123 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|квадратна јарда|квадратни јарди}}', |
| | 2124 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|квадратна стапка|квадратни стапки}}', |
| | 2125 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|квадратен инч|квадратни инчи}}', |
| | 2126 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|квадратна наутичка милја|квадратни наутички милји}}', |
| | 2127 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|дунум|дунуми}}', |
| | 2128 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|цубо|цуба}}', |
| | 2129 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'км<sup>2</sup>', |
| | 2130 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'м<sup>2</sup>', |
| | 2131 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'см<sup>2</sup>', |
| | 2132 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'мм<msup>2</sup>', |
| | 2133 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ха', |
| | 2134 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'ми<sup>2</sup>', |
| | 2135 | + 'pfunc-convert-unit-area-acre-abbr' => 'акр', |
| | 2136 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'јд<sup>2</sup>', |
| | 2137 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'ст<sup>2</sup>', |
| | 2138 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'ин<sup>2</sup>', |
| | 2139 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'нми<sup>2</sup>', |
| | 2140 | + 'pfunc-convert-unit-area-dunam-abbr' => 'дунум', |
| | 2141 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'цубо', |
| | 2142 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|секунда|секунди}}', |
| | 2143 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|година|години}}', |
| | 2144 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|ден|дена}}', |
| | 2145 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|час|часа}}', |
| | 2146 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|минута|минути}}', |
| | 2147 | + 'pfunc-convert-unit-time-second-abbr' => 'с', |
| | 2148 | + 'pfunc-convert-unit-time-year-abbr' => '$2 г', |
| | 2149 | + 'pfunc-convert-unit-time-day-abbr' => 'ден', |
| | 2150 | + 'pfunc-convert-unit-time-hour-abbr' => 'ч', |
| | 2151 | + 'pfunc-convert-unit-time-minute-abbr' => 'мин', |
| | 2152 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|кубен метар|кубни метри}}', |
| | 2153 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|кубен сантиметар|кубни сантиметри}}', |
| | 2154 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|кубен милиметар|кубни милиметри}}', |
| | 2155 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|килолитар|килолитри}}', |
| | 2156 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|литар|литри}}', |
| | 2157 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|центилитар|центилитри}}', |
| | 2158 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|милилитар|милилитри}}', |
| | 2159 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1|кубна јарда|кубни јарди}}', |
| | 2160 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1|кубна стапка|кубни стапки}}', |
| | 2161 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1|кубен инч|кубни инчи}}', |
| | 2162 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1|барел|барели}}', |
| | 2163 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1|бушел|бушели}}', |
| | 2164 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1|галон|галони}}', |
| | 2165 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|кварта|кварти}}', |
| | 2166 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1|пинта|пинти}}', |
| | 2167 | + 'pfunc-convert-unit-volume-fluidounce' => '{{PLURAL:$1|течна унца|течни унци}}', |
| | 2168 | + 'pfunc-convert-unit-volume-barrelus' => '{{PLURAL:$1|американски барел|американски барели}}', |
| | 2169 | + 'pfunc-convert-unit-volume-barreloil' => '{{PLURAL:$1|барел|барели}}', |
| | 2170 | + 'pfunc-convert-unit-volume-barrelbeer' => '{{PLURAL:$1|барел|барели}}', |
| | 2171 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1|американски галон|американски галони}}', |
| | 2172 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1|американска кварта|американски кварти}}', |
| | 2173 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1|американска пинта|американски пинти}}', |
| | 2174 | + 'pfunc-convert-unit-volume-usfluidounce' => '{{PLURAL:$1|американска течна унца|американски течни унци}}', |
| | 2175 | + 'pfunc-convert-unit-volume-usdrybarrel' => '{{PLURAL:$1|американски сув барел|американски суви барели}}', |
| | 2176 | + 'pfunc-convert-unit-volume-usbushel' => '{{PLURAL:$1|американски бушел|американски бушели}}', |
| | 2177 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1|американски сув галон|американски суви галони}}', |
| | 2178 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1|американска сува кварта|американски суви кварти}}', |
| | 2179 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1|американска сува пинта|американски суви пинти}}', |
| | 2180 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'м<sup>3</sup>', |
| | 2181 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'см<sup>3</sup>', |
| | 2182 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'мм<sup>3</sup>', |
| | 2183 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2 л', |
| | 2184 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'јд<sup>3</sup>', |
| | 2185 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'ст<sup>3</sup>', |
| | 2186 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'ин<sup>3</sup>', |
| | 2187 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'ббл', |
| | 2188 | + 'pfunc-convert-unit-volume-bushel-abbr' => 'бш', |
| | 2189 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'гал', |
| | 2190 | + 'pfunc-convert-unit-volume-quart-abbr' => 'кт', |
| | 2191 | + 'pfunc-convert-unit-volume-pint-abbr' => 'пт', |
| | 2192 | + 'pfunc-convert-unit-volume-fluidounce-abbr' => 'тч уц', |
| | 2193 | + 'pfunc-convert-unit-volume-barrelus-abbr' => 'ббл (САД)', |
| | 2194 | + 'pfunc-convert-unit-volume-barreloil-abbr' => 'ббл', |
| | 2195 | + 'pfunc-convert-unit-volume-barrelbeer-abbr' => 'ббл', |
| | 2196 | + 'pfunc-convert-unit-volume-usgallon-abbr' => 'гал (САД)', |
| | 2197 | + 'pfunc-convert-unit-volume-usquart-abbr' => 'кт (САД)', |
| | 2198 | + 'pfunc-convert-unit-volume-uspint-abbr' => 'пт (САД)', |
| | 2199 | + 'pfunc-convert-unit-volume-usfluidounce-abbr' => 'тч уц (САД)', |
| | 2200 | + 'pfunc-convert-unit-volume-usdrybarrel-abbr' => 'ббл (САД)', |
| | 2201 | + 'pfunc-convert-unit-volume-usbushel-abbr' => 'бш (САД)', |
| | 2202 | + 'pfunc-convert-unit-volume-usdrygallon-abbr' => 'сув гал (САД)', |
| | 2203 | + 'pfunc-convert-unit-volume-usdryquart-abbr' => 'сув кт (САД)', |
| | 2204 | + 'pfunc-convert-unit-volume-usdrypint-abbr' => 'сув пт (САД)', |
| | 2205 | + 'pfunc-convert-unit-speed-mile-hour' => 'милји на час', |
| | 2206 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 2207 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'ми/ч', |
| | 2208 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| | 2209 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|паскал|паскали}}', |
| | 2210 | + 'pfunc-convert-unit-pressure-bar' => 'бар', |
| | 2211 | + 'pfunc-convert-unit-pressure-decibar' => 'децибар', |
| | 2212 | + 'pfunc-convert-unit-pressure-millibar' => 'милибар', |
| | 2213 | + 'pfunc-convert-unit-pressure-kilobarye' => 'килобарија', |
| | 2214 | + 'pfunc-convert-unit-pressure-barye' => 'барија', |
| | 2215 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|атмосфера|атмосфери}}', |
| | 2216 | + 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1|тор|тора}}', |
| | 2217 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|милиметар живин столб|милиметри живин столб}}', |
| | 2218 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|инч живин столб|инчи живин столб}}', |
| | 2219 | + 'pfunc-convert-unit-pressure-psi' => '{{PLURAL:$1|фунта на квадратен инч|фунти на квадратен инч}}', |
| | 2220 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2 Па', |
| | 2221 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'бар', |
| | 2222 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'дбар', |
| | 2223 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'мбар', |
| | 2224 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'кБа', |
| | 2225 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'Ба', |
| | 2226 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'атм', |
| | 2227 | + 'pfunc-convert-unit-pressure-torr-abbr' => 'тор', |
| | 2228 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'ммHg', |
| | 2229 | + 'pfunc-convert-unit-pressure-inhg-abbr' => 'инHg', |
| | 2230 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'psi', |
| 1616 | 2231 | ); |
| 1617 | 2232 | |
| 1618 | 2233 | /** Malayalam (മലയാളം) |
| — | — | @@ -1694,6 +2309,195 @@ |
| 1695 | 2310 | 'pfunc_expr_unknown_error' => 'Ralat ungkapan: Ralat tidak diketahui ($1)', |
| 1696 | 2311 | 'pfunc_expr_not_a_number' => 'Dalam $1: hasil bukan nombor', |
| 1697 | 2312 | 'pfunc_string_too_long' => 'Ralat: Rentetan melampaui batas aksara $1', |
| | 2313 | + 'pfunc-convert-dimensionmismatch' => 'Ralat: Tidak boleh menukar antara unit-unit "$1" dan "$2".', |
| | 2314 | + 'pfunc-convert-unknownunit' => 'Ralat: Unit "$1" tidak dikenali.', |
| | 2315 | + 'pfunc-convert-unknowndimension' => 'Ralat: Matra "$1" tidak dikenali.', |
| | 2316 | + 'pfunc-convert-invalidcompoundunit' => 'Ralat: Unit majmuk "$1" tidak sah.', |
| | 2317 | + 'pfunc-convert-nounit' => 'Ralat: Tiada unit sumber yang diberikan.', |
| | 2318 | + 'pfunc-convert-doublecompoundunit' => 'Ralat: Unit majmuk berganda seperti "$1" tidak boleh dihuraikan.', |
| | 2319 | + 'pfunc-convert-dimension-length' => 'panjang', |
| | 2320 | + 'pfunc-convert-dimension-area' => 'luas', |
| | 2321 | + 'pfunc-convert-dimension-volume' => 'isipadu', |
| | 2322 | + 'pfunc-convert-dimension-time' => 'masa', |
| | 2323 | + 'pfunc-convert-dimension-timesquared' => 'masa<sup>2</sup>', |
| | 2324 | + 'pfunc-convert-dimension-mass' => 'jisim', |
| | 2325 | + 'pfunc-convert-dimension-speed' => 'kelajuan', |
| | 2326 | + 'pfunc-convert-dimension-temperature' => 'suhu', |
| | 2327 | + 'pfunc-convert-dimension-acceleration' => 'pecutan', |
| | 2328 | + 'pfunc-convert-dimension-force' => 'daya', |
| | 2329 | + 'pfunc-convert-dimension-torque' => 'tork', |
| | 2330 | + 'pfunc-convert-dimension-energy' => 'tenaga', |
| | 2331 | + 'pfunc-convert-dimension-power' => 'kuasa', |
| | 2332 | + 'pfunc-convert-dimension-pressure' => 'tekanan', |
| | 2333 | + 'pfunc-convert-dimension-density' => 'ketumpatan', |
| | 2334 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'kecekapanbahanapipositif', |
| | 2335 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'kecekapanbahanapinegatif', |
| | 2336 | + 'pfunc-convert-prefix-yotta' => 'yotta', |
| | 2337 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 2338 | + 'pfunc-convert-prefix-exa' => 'eksa', |
| | 2339 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 2340 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 2341 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 2342 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 2343 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 2344 | + 'pfunc-convert-prefix-hecto' => 'hekto', |
| | 2345 | + 'pfunc-convert-prefix-deca' => 'deka', |
| | 2346 | + 'pfunc-convert-prefix-deci' => 'desi', |
| | 2347 | + 'pfunc-convert-prefix-centi' => 'senti', |
| | 2348 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 2349 | + 'pfunc-convert-prefix-micro' => 'mikro', |
| | 2350 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 2351 | + 'pfunc-convert-prefix-pico' => 'piko', |
| | 2352 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 2353 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 2354 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 2355 | + 'pfunc-convert-prefix-yocto' => 'yokto', |
| | 2356 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2meter|$2meter}}', |
| | 2357 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|angstrom|angstrom}}', |
| | 2358 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|batu|batu}}', |
| | 2359 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|furlong|furlong}}', |
| | 2360 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|rantai|rantai}}', |
| | 2361 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|pol|pol}}', |
| | 2362 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|fatom|fatom}}', |
| | 2363 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|ela|ela}}', |
| | 2364 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|kaki|kaki}}', |
| | 2365 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|tangan|tangan}}', |
| | 2366 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|inci|inci}}', |
| | 2367 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1|batu nautika|batu nautika}}', |
| | 2368 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1|batu nautika (British pra-1970)|batu nautika (British pra-1970)}}', |
| | 2369 | + 'pfunc-convert-unit-length-nauticalmileus' => '{{PLURAL:$1|batu nautika (AS pra-1954)|batu nautika (AS pra-1954)}}', |
| | 2370 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|$2parsek|$2parsek}}', |
| | 2371 | + 'pfunc-convert-unit-length-lightyear' => '{{PLURAL:$1|$2tahun cahaya|$2tahun cahaya}}', |
| | 2372 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|unit astronomi|unit astronomi}}', |
| | 2373 | + 'pfunc-convert-unit-length-furlong-abbr' => 'furlong', |
| | 2374 | + 'pfunc-convert-unit-length-chain-abbr' => 'rantai', |
| | 2375 | + 'pfunc-convert-unit-length-rod-abbr' => 'pol', |
| | 2376 | + 'pfunc-convert-unit-length-fathom-abbr' => 'fatom', |
| | 2377 | + 'pfunc-convert-unit-length-yard-abbr' => 'ela', |
| | 2378 | + 'pfunc-convert-unit-length-foot-abbr' => 'kaki', |
| | 2379 | + 'pfunc-convert-unit-length-hand-abbr' => 'tgn', |
| | 2380 | + 'pfunc-convert-unit-length-inch-abbr' => 'in', |
| | 2381 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'batu n', |
| | 2382 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'batu n (Brit)', |
| | 2383 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'batu n (AS pra-1954)', |
| | 2384 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2pc', |
| | 2385 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2tc', |
| | 2386 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'AU', |
| | 2387 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|kilometer persegi|kilometer persegi}}', |
| | 2388 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|meter persegi|meter persegi}}', |
| | 2389 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|sentimeter persegi|sentimeter persegi}}', |
| | 2390 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|millimeter persegi|millimeter persegi}}', |
| | 2391 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|hektar|hektar}}', |
| | 2392 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|batu persegi|batu persegi}}', |
| | 2393 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|ekar|ekar}}', |
| | 2394 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|ela persegi|ela persegi}}', |
| | 2395 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|kaki persegi|kaki persegi}}', |
| | 2396 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|inci persegi|inci persegi}}', |
| | 2397 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|batu nautika persegi|batu nautika persegi}}', |
| | 2398 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|dunam|dunam}}', |
| | 2399 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|tsubo|tsubo}}', |
| | 2400 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 2401 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 2402 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 2403 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 2404 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ha', |
| | 2405 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'batu<sup>2</sup>', |
| | 2406 | + 'pfunc-convert-unit-area-acre-abbr' => 'ekar', |
| | 2407 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'ela<sup>2</sup>', |
| | 2408 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'kaki<sup>2</sup>', |
| | 2409 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'inci<sup>2</sup>', |
| | 2410 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'batu n<sup>2</sup>', |
| | 2411 | + 'pfunc-convert-unit-area-dunam-abbr' => 'dunam', |
| | 2412 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'tsubo', |
| | 2413 | + 'pfunc-convert-unit-time-second' => '{{PLURAL: $1|saat|saat}}', |
| | 2414 | + 'pfunc-convert-unit-time-year' => '{{PLURAL: $1|$2tahun|$2tahun}}', |
| | 2415 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|hari|hari}}', |
| | 2416 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|jam|jam}}', |
| | 2417 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|minit|minit}}', |
| | 2418 | + 'pfunc-convert-unit-time-second-abbr' => 's', |
| | 2419 | + 'pfunc-convert-unit-time-year-abbr' => '$2thn', |
| | 2420 | + 'pfunc-convert-unit-time-day-abbr' => 'hari', |
| | 2421 | + 'pfunc-convert-unit-time-hour-abbr' => 'jam', |
| | 2422 | + 'pfunc-convert-unit-time-minute-abbr' => 'min', |
| | 2423 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|meter padu|meter padu}}', |
| | 2424 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|sentimeter padu|sentimeter padu}}', |
| | 2425 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|millimeter padu|millimeter padu}}', |
| | 2426 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|kilolite|kiloliter}}', |
| | 2427 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|liter|liter}}', |
| | 2428 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|sentiliter|sentiliter}}', |
| | 2429 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|milliliter|milliliter}}', |
| | 2430 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1|ela padu|ela padu}}', |
| | 2431 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1|kaki padu|kaki padu}}', |
| | 2432 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1|inci padu|inci padu}}', |
| | 2433 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1|tong|tong}}', |
| | 2434 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1|busyel|busyel}}', |
| | 2435 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1|gelen|gelen}}', |
| | 2436 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|kuart|kuart}}', |
| | 2437 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1|pain|pain}}', |
| | 2438 | + 'pfunc-convert-unit-volume-fluidounce' => '{{PLURAL:$1|auns bendalir|auns bendalir}}', |
| | 2439 | + 'pfunc-convert-unit-volume-barrelus' => '{{PLURAL:$1|tong AS|tong AS}}', |
| | 2440 | + 'pfunc-convert-unit-volume-barreloil' => '{{PLURAL:$1|tong|tong}}', |
| | 2441 | + 'pfunc-convert-unit-volume-barrelbeer' => '{{PLURAL:$1|tong|tong}}', |
| | 2442 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1|gelen AS|gelen AS}}', |
| | 2443 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1|kuart AS|kuart AS}}', |
| | 2444 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1|pain AS|pain AS}}', |
| | 2445 | + 'pfunc-convert-unit-volume-usfluidounce' => '{{PLURAL:$1|auns bendalir AS|auns bendalir AS}}', |
| | 2446 | + 'pfunc-convert-unit-volume-usdrybarrel' => '{{PLURAL:$1|tong kering AS|tong kering AS}}', |
| | 2447 | + 'pfunc-convert-unit-volume-usbushel' => '{{PLURAL:$1|busyel AS|busyel AS}}', |
| | 2448 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1|gelen kering AS|gelen kering AS}}', |
| | 2449 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1|kuart kering AS|kuart kering AS}}', |
| | 2450 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1|pain kering AS|pain kering AS}}', |
| | 2451 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>3</sup>', |
| | 2452 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm<sup>3</sup>', |
| | 2453 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm<sup>3</sup>', |
| | 2454 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2l', |
| | 2455 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'ela<sup>3</sup>', |
| | 2456 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'kaki<sup>3</sup>', |
| | 2457 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'inci<sup>3</sup>', |
| | 2458 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'tong', |
| | 2459 | + 'pfunc-convert-unit-volume-bushel-abbr' => 'bsh', |
| | 2460 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'gal', |
| | 2461 | + 'pfunc-convert-unit-volume-quart-abbr' => 'qt', |
| | 2462 | + 'pfunc-convert-unit-volume-pint-abbr' => 'pt', |
| | 2463 | + 'pfunc-convert-unit-volume-fluidounce-abbr' => 'fl oz', |
| | 2464 | + 'pfunc-convert-unit-volume-barrelus-abbr' => 'tong AS', |
| | 2465 | + 'pfunc-convert-unit-volume-barreloil-abbr' => 'tong', |
| | 2466 | + 'pfunc-convert-unit-volume-barrelbeer-abbr' => 'tong', |
| | 2467 | + 'pfunc-convert-unit-volume-usgallon-abbr' => 'gal AS', |
| | 2468 | + 'pfunc-convert-unit-volume-usquart-abbr' => 'qt AS', |
| | 2469 | + 'pfunc-convert-unit-volume-uspint-abbr' => 'pt AS', |
| | 2470 | + 'pfunc-convert-unit-volume-usfluidounce-abbr' => 'fl oz AS', |
| | 2471 | + 'pfunc-convert-unit-volume-usdrybarrel-abbr' => 'tong AS', |
| | 2472 | + 'pfunc-convert-unit-volume-usbushel-abbr' => 'bsh AS', |
| | 2473 | + 'pfunc-convert-unit-volume-usdrygallon-abbr' => 'gal kering AS', |
| | 2474 | + 'pfunc-convert-unit-volume-usdryquart-abbr' => 'qt kering AS', |
| | 2475 | + 'pfunc-convert-unit-volume-usdrypint-abbr' => 'pt kering AS', |
| | 2476 | + 'pfunc-convert-unit-speed-mile-hour' => 'batu sejam', |
| | 2477 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 2478 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'bsj', |
| | 2479 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| | 2480 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|$2pascal|$2pascal}}', |
| | 2481 | + 'pfunc-convert-unit-pressure-bar' => 'bar', |
| | 2482 | + 'pfunc-convert-unit-pressure-decibar' => 'desibar', |
| | 2483 | + 'pfunc-convert-unit-pressure-millibar' => 'millibar', |
| | 2484 | + 'pfunc-convert-unit-pressure-kilobarye' => 'kilobarye', |
| | 2485 | + 'pfunc-convert-unit-pressure-barye' => 'barye', |
| | 2486 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|atmosfera|atmosfera}}', |
| | 2487 | + 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1|Torr|Torr}}', |
| | 2488 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|millimeter raksa|millimeter raksa}}', |
| | 2489 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|inci raksa|inci raksa}}', |
| | 2490 | + 'pfunc-convert-unit-pressure-psi' => '{{PLURAL:$1|paun seinci persegi|paun seinci persegi}}', |
| | 2491 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Pa', |
| | 2492 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| | 2493 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'dbar', |
| | 2494 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'mbar', |
| | 2495 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'kBa', |
| | 2496 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'Ba', |
| | 2497 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| | 2498 | + 'pfunc-convert-unit-pressure-torr-abbr' => 'Torr', |
| | 2499 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'mmHg', |
| | 2500 | + 'pfunc-convert-unit-pressure-inhg-abbr' => 'inHg', |
| | 2501 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'psi', |
| 1698 | 2502 | ); |
| 1699 | 2503 | |
| 1700 | 2504 | /** Erzya (Эрзянь) |
| — | — | @@ -1768,6 +2572,195 @@ |
| 1769 | 2573 | 'pfunc_expr_unknown_error' => 'Fout in uitdrukking: onbekende fout ($1)', |
| 1770 | 2574 | 'pfunc_expr_not_a_number' => 'In $1: resultaat is geen getal', |
| 1771 | 2575 | 'pfunc_string_too_long' => 'Fout: De tekst is langer dan de limiet van $1 {{PLURAL:$1|karakter|karakters}}', |
| | 2576 | + 'pfunc-convert-dimensionmismatch' => 'Fout: het is niet mogelijk te converteren tussen de eenheden van "$1" en "$2".', |
| | 2577 | + 'pfunc-convert-unknownunit' => 'Fout: onbekende eenheid "$1".', |
| | 2578 | + 'pfunc-convert-unknowndimension' => 'Fout: Onbekende afmeting "$1".', |
| | 2579 | + 'pfunc-convert-invalidcompoundunit' => 'Fout: Ongeldige samengestelde eenheid "$1".', |
| | 2580 | + 'pfunc-convert-nounit' => 'Fout: Geen broneenheid opgegeven.', |
| | 2581 | + 'pfunc-convert-doublecompoundunit' => 'Fout: het is niet mogelijk samengestelde eenheden zoals "$1" te verwerken.', |
| | 2582 | + 'pfunc-convert-dimension-length' => 'lengte', |
| | 2583 | + 'pfunc-convert-dimension-area' => 'oppervlakte', |
| | 2584 | + 'pfunc-convert-dimension-volume' => 'inhoud', |
| | 2585 | + 'pfunc-convert-dimension-time' => 'tijd', |
| | 2586 | + 'pfunc-convert-dimension-timesquared' => 'tijd<sup>2</sup>', |
| | 2587 | + 'pfunc-convert-dimension-mass' => 'massa', |
| | 2588 | + 'pfunc-convert-dimension-speed' => 'snelheid', |
| | 2589 | + 'pfunc-convert-dimension-temperature' => 'temperatuur', |
| | 2590 | + 'pfunc-convert-dimension-acceleration' => 'versnelling', |
| | 2591 | + 'pfunc-convert-dimension-force' => 'kracht', |
| | 2592 | + 'pfunc-convert-dimension-torque' => 'koppel', |
| | 2593 | + 'pfunc-convert-dimension-energy' => 'energie', |
| | 2594 | + 'pfunc-convert-dimension-power' => 'vermogen', |
| | 2595 | + 'pfunc-convert-dimension-pressure' => 'druk', |
| | 2596 | + 'pfunc-convert-dimension-density' => 'dichtheid', |
| | 2597 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'brandstofefficientiepositief', |
| | 2598 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'brandstofefficientienegatief', |
| | 2599 | + 'pfunc-convert-prefix-yotta' => 'yotta', |
| | 2600 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 2601 | + 'pfunc-convert-prefix-exa' => 'exa', |
| | 2602 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 2603 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 2604 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 2605 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 2606 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 2607 | + 'pfunc-convert-prefix-hecto' => 'hecto', |
| | 2608 | + 'pfunc-convert-prefix-deca' => 'deca', |
| | 2609 | + 'pfunc-convert-prefix-deci' => 'deci', |
| | 2610 | + 'pfunc-convert-prefix-centi' => 'centi', |
| | 2611 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 2612 | + 'pfunc-convert-prefix-micro' => 'micro', |
| | 2613 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 2614 | + 'pfunc-convert-prefix-pico' => 'pico', |
| | 2615 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 2616 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 2617 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 2618 | + 'pfunc-convert-prefix-yocto' => 'yocto', |
| | 2619 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|meter|meter}}', |
| | 2620 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|angstrom|angstrom}}', |
| | 2621 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|mijl|mijl}}', |
| | 2622 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|furlong|furlong}}', |
| | 2623 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|chain|chains}}', |
| | 2624 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|roede|roede}}', |
| | 2625 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|vadem|vadem}}', |
| | 2626 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|yard|yards}}', |
| | 2627 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|voet|voet}}', |
| | 2628 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|hand|handen}}', |
| | 2629 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|inch|inches}}', |
| | 2630 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1|nautische mijl|nautische mijlen}}', |
| | 2631 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1|nautische mijl (Brits, voor 1970)|nautische mijlen (Brits, voor 1970)}}', |
| | 2632 | + 'pfunc-convert-unit-length-nauticalmileus' => '{{PLURAL:$1|nautische mijl (VS, voor 1954)|nautische mijlen (VS, voor 1954)}}', |
| | 2633 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|$2 parsec|$2 parsecs}}', |
| | 2634 | + 'pfunc-convert-unit-length-lightyear' => '{{PLURAL:$1|$2 lichtjaar|$2 lichtjaren}}', |
| | 2635 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|astronomische eenheid|astronomische eenheden}}', |
| | 2636 | + 'pfunc-convert-unit-length-furlong-abbr' => 'furlong', |
| | 2637 | + 'pfunc-convert-unit-length-chain-abbr' => 'chain', |
| | 2638 | + 'pfunc-convert-unit-length-rod-abbr' => 'rd', |
| | 2639 | + 'pfunc-convert-unit-length-fathom-abbr' => 'fath', |
| | 2640 | + 'pfunc-convert-unit-length-yard-abbr' => 'yd', |
| | 2641 | + 'pfunc-convert-unit-length-foot-abbr' => 'ft', |
| | 2642 | + 'pfunc-convert-unit-length-hand-abbr' => 'h', |
| | 2643 | + 'pfunc-convert-unit-length-inch-abbr' => 'in', |
| | 2644 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'NM', |
| | 2645 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'MN (Brits)', |
| | 2646 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'MN (VS voor 1954)', |
| | 2647 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2pc', |
| | 2648 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2lj', |
| | 2649 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'AE', |
| | 2650 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|vierkante kilometer|vierkante kilometer}}', |
| | 2651 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|vierkante meter|vierkante meter}}', |
| | 2652 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|vierkante centimeter|vierkante centimeter}}', |
| | 2653 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|vierkante millimeter|vierkante millimeter}}', |
| | 2654 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|hectare|hectare}}', |
| | 2655 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|vierkante mijl|vierkante mijl}}', |
| | 2656 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|acre|acres}}', |
| | 2657 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|vierkante yard|vierkante yards}}', |
| | 2658 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|voerkante foot|vierkante foot}}', |
| | 2659 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|vierkante inch|vierkante inches}}', |
| | 2660 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|vierkante nautische mijl|vierkante nautische mijlen}}', |
| | 2661 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|dunam|dunams}}', |
| | 2662 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|tsubo|tsubo}}', |
| | 2663 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 2664 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 2665 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 2666 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 2667 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ha', |
| | 2668 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'sq mi', |
| | 2669 | + 'pfunc-convert-unit-area-acre-abbr' => 'acre', |
| | 2670 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'sq yd', |
| | 2671 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'sq ft', |
| | 2672 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'sq in', |
| | 2673 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'vierkante mijl', |
| | 2674 | + 'pfunc-convert-unit-area-dunam-abbr' => 'dunam', |
| | 2675 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'tsubo', |
| | 2676 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|seconde|seconden}}', |
| | 2677 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|$2jaar|$2jaren}}', |
| | 2678 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|dag|dagen}}', |
| | 2679 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|uur|uur}}', |
| | 2680 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|minuut|minuten}}', |
| | 2681 | + 'pfunc-convert-unit-time-second-abbr' => 'sec.', |
| | 2682 | + 'pfunc-convert-unit-time-year-abbr' => '$2jaar', |
| | 2683 | + 'pfunc-convert-unit-time-day-abbr' => 'dag', |
| | 2684 | + 'pfunc-convert-unit-time-hour-abbr' => 'uur', |
| | 2685 | + 'pfunc-convert-unit-time-minute-abbr' => 'min', |
| | 2686 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1| kubieke meter|kubieke meter}}', |
| | 2687 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|kubieke centimeter|kubieke centimeter}}', |
| | 2688 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|kubieke millimeter|kubieke millimeter}}', |
| | 2689 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|kiloliter|kiloliter}}', |
| | 2690 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|liter|liter}}', |
| | 2691 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|centiliters|centiliter}}', |
| | 2692 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|milliliter|milliliter}}', |
| | 2693 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1|kubieke yard|kubieke yard}}', |
| | 2694 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1|kubieke voet|kubieke voet}}', |
| | 2695 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1|kubieke inch|kubieke inch}}', |
| | 2696 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1|vat|vaten}}', |
| | 2697 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1|bushel|bushels}}', |
| | 2698 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1|gallon|gallon}}', |
| | 2699 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|quart|quart}}', |
| | 2700 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1|pint|pints}}', |
| | 2701 | + 'pfunc-convert-unit-volume-fluidounce' => '{{PLURAL:$1|fluid ounce|fluid ounces}}', |
| | 2702 | + 'pfunc-convert-unit-volume-barrelus' => '{{PLURAL:$1|VS-vat|VS-vaten}}', |
| | 2703 | + 'pfunc-convert-unit-volume-barreloil' => '{{PLURAL:$1|vat|vaten}}', |
| | 2704 | + 'pfunc-convert-unit-volume-barrelbeer' => '{{PLURAL:$1|vat|vaten}}', |
| | 2705 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1|VS-gallon|VS-gallon}}', |
| | 2706 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1|VS-quart|VS-quart}}', |
| | 2707 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1|VS-pint|VS-pints}}', |
| | 2708 | + 'pfunc-convert-unit-volume-usfluidounce' => '{{PLURAL:$1|VS-fluid ounce|VS-fluid ounces}}', |
| | 2709 | + 'pfunc-convert-unit-volume-usdrybarrel' => '{{PLURAL:$1|VS-droog vat|VS-droge vaten}}', |
| | 2710 | + 'pfunc-convert-unit-volume-usbushel' => '{{PLURAL:$1|VS-bushel|VS-bushels}}', |
| | 2711 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1|VS-droge gallon|VS-droge gallon}}', |
| | 2712 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1|VS-droge quart|VS-droge quart}}', |
| | 2713 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1|VS-droge pint|VS-droge pints}}', |
| | 2714 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>3</sup>', |
| | 2715 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm<sup>3</sup>', |
| | 2716 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm<sup>3</sup>', |
| | 2717 | + 'pfunc-convert-unit-volume-litre-abbr' => 'l', |
| | 2718 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'yd<sup>3</sup>', |
| | 2719 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'ft<sup>3</sup>', |
| | 2720 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'in<sup>3</sup>', |
| | 2721 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'bbl', |
| | 2722 | + 'pfunc-convert-unit-volume-bushel-abbr' => 'bsh', |
| | 2723 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'gal', |
| | 2724 | + 'pfunc-convert-unit-volume-quart-abbr' => 'qt', |
| | 2725 | + 'pfunc-convert-unit-volume-pint-abbr' => 'pt', |
| | 2726 | + 'pfunc-convert-unit-volume-fluidounce-abbr' => 'fl.oz.', |
| | 2727 | + 'pfunc-convert-unit-volume-barrelus-abbr' => 'VS bbl', |
| | 2728 | + 'pfunc-convert-unit-volume-barreloil-abbr' => 'bbl', |
| | 2729 | + 'pfunc-convert-unit-volume-barrelbeer-abbr' => 'bbl', |
| | 2730 | + 'pfunc-convert-unit-volume-usgallon-abbr' => 'VS gal', |
| | 2731 | + 'pfunc-convert-unit-volume-usquart-abbr' => 'VS qt', |
| | 2732 | + 'pfunc-convert-unit-volume-uspint-abbr' => 'VS pt', |
| | 2733 | + 'pfunc-convert-unit-volume-usfluidounce-abbr' => 'VS fl.oz.', |
| | 2734 | + 'pfunc-convert-unit-volume-usdrybarrel-abbr' => 'VS bbl', |
| | 2735 | + 'pfunc-convert-unit-volume-usbushel-abbr' => 'VS bsh', |
| | 2736 | + 'pfunc-convert-unit-volume-usdrygallon-abbr' => 'VS drg.gal', |
| | 2737 | + 'pfunc-convert-unit-volume-usdryquart-abbr' => 'VS drg.qt', |
| | 2738 | + 'pfunc-convert-unit-volume-usdrypint-abbr' => 'VS drg.pt', |
| | 2739 | + 'pfunc-convert-unit-speed-mile-hour' => 'mijl per uur', |
| | 2740 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 2741 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'mpu', |
| | 2742 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| | 2743 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|$2pascal|$2pascal}}', |
| | 2744 | + 'pfunc-convert-unit-pressure-bar' => 'bar', |
| | 2745 | + 'pfunc-convert-unit-pressure-decibar' => 'decibar', |
| | 2746 | + 'pfunc-convert-unit-pressure-millibar' => 'millibar', |
| | 2747 | + 'pfunc-convert-unit-pressure-kilobarye' => 'kilobarn', |
| | 2748 | + 'pfunc-convert-unit-pressure-barye' => 'barye', |
| | 2749 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|atmosfeer|atmosfeer}}', |
| | 2750 | + 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1|Torr|Torr}}', |
| | 2751 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|millimeter kwik|millimeter kwik}}', |
| | 2752 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|duim kwik|duimen kwik}}', |
| | 2753 | + 'pfunc-convert-unit-pressure-psi' => '{{PLURAL:$1|pond per vierkante inch|pond per vierkante inch}}', |
| | 2754 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Pa', |
| | 2755 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| | 2756 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'dbar', |
| | 2757 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'mbar', |
| | 2758 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'kBa', |
| | 2759 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'Ba', |
| | 2760 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| | 2761 | + 'pfunc-convert-unit-pressure-torr-abbr' => 'Torr', |
| | 2762 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'mmHg', |
| | 2763 | + 'pfunc-convert-unit-pressure-inhg-abbr' => 'inHg', |
| | 2764 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'psi', |
| 1772 | 2765 | ); |
| 1773 | 2766 | |
| 1774 | 2767 | /** Norwegian Nynorsk (Norsk (nynorsk)) |
| — | — | @@ -1875,6 +2868,142 @@ |
| 1876 | 2869 | 'pfunc_expr_unknown_error' => 'Błąd w wyrażeniu – nieznany błąd ($1)', |
| 1877 | 2870 | 'pfunc_expr_not_a_number' => 'W $1 – wynik nie jest liczbą', |
| 1878 | 2871 | 'pfunc_string_too_long' => 'Błąd – długość ciągu znaków przekracza dopuszczalne $1', |
| | 2872 | + 'pfunc-convert-dimensionmismatch' => 'Błąd – nie można konwertować pomiędzy jednostkami „$1” i „$2”', |
| | 2873 | + 'pfunc-convert-unknownunit' => 'Błąd – nieznana jednostka „$1”', |
| | 2874 | + 'pfunc-convert-unknowndimension' => 'Błąd – nieznana jednostka „$1”', |
| | 2875 | + 'pfunc-convert-invalidcompoundunit' => 'Błąd – nieprawidłowa jednostka złożona „$1”', |
| | 2876 | + 'pfunc-convert-nounit' => 'Błąd – brak jednostki źródłowej', |
| | 2877 | + 'pfunc-convert-doublecompoundunit' => 'Błąd – nie można przetworzyć jednostki podwójnie złożonej jak „$1”', |
| | 2878 | + 'pfunc-convert-dimension-length' => 'długość', |
| | 2879 | + 'pfunc-convert-dimension-area' => 'powierzchnia', |
| | 2880 | + 'pfunc-convert-dimension-volume' => 'objętość', |
| | 2881 | + 'pfunc-convert-dimension-time' => 'czas', |
| | 2882 | + 'pfunc-convert-dimension-timesquared' => 'czas<sup>2</sup>', |
| | 2883 | + 'pfunc-convert-dimension-mass' => 'masa', |
| | 2884 | + 'pfunc-convert-dimension-speed' => 'prędkość', |
| | 2885 | + 'pfunc-convert-dimension-temperature' => 'temperatura', |
| | 2886 | + 'pfunc-convert-dimension-acceleration' => 'przyspieszenie', |
| | 2887 | + 'pfunc-convert-dimension-force' => 'siła', |
| | 2888 | + 'pfunc-convert-dimension-torque' => 'moment obrotowy', |
| | 2889 | + 'pfunc-convert-dimension-energy' => 'energia', |
| | 2890 | + 'pfunc-convert-dimension-power' => 'moc', |
| | 2891 | + 'pfunc-convert-dimension-pressure' => 'ciśnienie', |
| | 2892 | + 'pfunc-convert-dimension-density' => 'gęstość', |
| | 2893 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'bezwzględne zużycie paliwa', |
| | 2894 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'nieprawidłowe zużycie paliwa', |
| | 2895 | + 'pfunc-convert-prefix-yotta' => 'jotta', |
| | 2896 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 2897 | + 'pfunc-convert-prefix-exa' => 'eksa', |
| | 2898 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 2899 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 2900 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 2901 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 2902 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 2903 | + 'pfunc-convert-prefix-hecto' => 'hekto', |
| | 2904 | + 'pfunc-convert-prefix-deca' => 'deka', |
| | 2905 | + 'pfunc-convert-prefix-deci' => 'decy', |
| | 2906 | + 'pfunc-convert-prefix-centi' => 'centy', |
| | 2907 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 2908 | + 'pfunc-convert-prefix-micro' => 'mikro', |
| | 2909 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 2910 | + 'pfunc-convert-prefix-pico' => 'piko', |
| | 2911 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 2912 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 2913 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 2914 | + 'pfunc-convert-prefix-yocto' => 'jokto', |
| | 2915 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2 metr|$2 metry|$2 metrów}}', |
| | 2916 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|angstrem|angstremy|angstremów}}', |
| | 2917 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|mila|mile|mil}}', |
| | 2918 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|furlong|furlongi|furlongów}}', |
| | 2919 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|łańcuch|łańcuchy|łańcuchów}}', |
| | 2920 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|pręt|pręty|prętów}}', |
| | 2921 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|sążeń|sążnie|sążni}}', |
| | 2922 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|jard|jardy|jardów}}', |
| | 2923 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|stopa|stopy|stóp}}', |
| | 2924 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|dłoń|dłonie|dłoni}}', |
| | 2925 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|cal|cale|cali}}', |
| | 2926 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1|mila morska|mile morskie|mil morskich}}', |
| | 2927 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1|mila morska brytyjska|mile morskie brytyjskie|mil morskich brytyjskich}} sprzed 1970 roku', |
| | 2928 | + 'pfunc-convert-unit-length-nauticalmileus' => '{{PLURAL:$1|mila morska amerykańska|mile morskie amerykańskie|mil morskich amerykańskich}} sprzed 1954 roku', |
| | 2929 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|$2 parsek|$2 parseki|$2 parseków}}', |
| | 2930 | + 'pfunc-convert-unit-length-lightyear' => '{{PLURAL:$1|$2 rok świetlny|$2 lata świetlne|$2 lat świetlnych}}', |
| | 2931 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|jednostka astronomiczna|jednostki astronomiczne|jednostek astronomicznych}}', |
| | 2932 | + 'pfunc-convert-unit-length-furlong-abbr' => 'furlong', |
| | 2933 | + 'pfunc-convert-unit-length-chain-abbr' => 'łańcuch', |
| | 2934 | + 'pfunc-convert-unit-length-rod-abbr' => 'rd', |
| | 2935 | + 'pfunc-convert-unit-length-fathom-abbr' => 'sążeń', |
| | 2936 | + 'pfunc-convert-unit-length-yard-abbr' => 'jard', |
| | 2937 | + 'pfunc-convert-unit-length-foot-abbr' => 'stopa', |
| | 2938 | + 'pfunc-convert-unit-length-hand-abbr' => 'dłoń', |
| | 2939 | + 'pfunc-convert-unit-length-inch-abbr' => 'cal', |
| | 2940 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'INM', |
| | 2941 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'angielska mila morska', |
| | 2942 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'amerykańska mila morska sprzed 1954 roku', |
| | 2943 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2 pc', |
| | 2944 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2 lat świetlnych', |
| | 2945 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'j.a.', |
| | 2946 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|kilometr kwadratowy|kilometry kwadratowe|kilometrów kwadratowych}}', |
| | 2947 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|metr kwadratowy|metry kwadratowe|metrów kwadratowych}}', |
| | 2948 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|centymetr kwadratowy|centymetry kwadratowe|centymetrów kwadratowych}}', |
| | 2949 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|millimetr kwadratowy|millimetry kwadratowe|millimetrów kwadratowych}}', |
| | 2950 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|hektar|hektary|hektarów}}', |
| | 2951 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|mila kwadratowa|mile kwadratowe|mil kwadratowych}}', |
| | 2952 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|akr|akry|akrów}}', |
| | 2953 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|jard kwadratowy|jardy kwadratowe|jardów kwadratowych}}', |
| | 2954 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|stopa kwadratowa|stopy kwadratowe|stóp kwadratowych}}', |
| | 2955 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|cal kwadratowy|cale kwadratowe|cali kwadratowych}}', |
| | 2956 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|mila morska kwadratowa|mile morskie kwadratowe|mil morskich kwadratowych}}', |
| | 2957 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|dunam|dunamy|dunamów}}', |
| | 2958 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|tsubo|tsubo|tsubo}}', |
| | 2959 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 2960 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 2961 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 2962 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 2963 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ha', |
| | 2964 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'mila<sup>2</sup>', |
| | 2965 | + 'pfunc-convert-unit-area-acre-abbr' => 'akr', |
| | 2966 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'jard<sup>2</sup>', |
| | 2967 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'stopa<sup>2</sup>', |
| | 2968 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'cal<sup>2</sup>', |
| | 2969 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'mila morska<sup>2</sup>', |
| | 2970 | + 'pfunc-convert-unit-area-dunam-abbr' => 'dunam', |
| | 2971 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'tsubo', |
| | 2972 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|sekunda|sekundy|sekund}}', |
| | 2973 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|$2 rok|$2 lata|$2 lat}}', |
| | 2974 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|dzień|dni}}', |
| | 2975 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|godzina|godziny|godzin}}', |
| | 2976 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|minuta|minuty|minut}}', |
| | 2977 | + 'pfunc-convert-unit-time-second-abbr' => 's', |
| | 2978 | + 'pfunc-convert-unit-time-year-abbr' => '$2 jard', |
| | 2979 | + 'pfunc-convert-unit-time-day-abbr' => 'doba', |
| | 2980 | + 'pfunc-convert-unit-time-hour-abbr' => 'h', |
| | 2981 | + 'pfunc-convert-unit-time-minute-abbr' => 'min', |
| | 2982 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|metr sześcienny|metry sześcienne|metrów sześciennych}}', |
| | 2983 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|centymetr sześcienny|centymetry sześcienne|centymetrów sześciennych}}', |
| | 2984 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|millimetr sześcienny|millimetry sześcienne|millimetrów sześciennych}}', |
| | 2985 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|tysiąc litrów|tysiące litrów|tysięcy litrów}}', |
| | 2986 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|litr|litry|litrów}}', |
| | 2987 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|dziesiąta część|dziesiąte części|dziesiątych części}} litra', |
| | 2988 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|millilitr|millilitry|millilitrów}}', |
| | 2989 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|jard|jardów}}', |
| | 2990 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>3</sup>', |
| | 2991 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm<sup>3</sup>', |
| | 2992 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm<sup>3</sup>', |
| | 2993 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2 l', |
| | 2994 | + 'pfunc-convert-unit-speed-mile-hour' => 'mil na godzinę', |
| | 2995 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|$2paskal|$2paskali}}', |
| | 2996 | + 'pfunc-convert-unit-pressure-bar' => 'barów', |
| | 2997 | + 'pfunc-convert-unit-pressure-decibar' => 'decybarów', |
| | 2998 | + 'pfunc-convert-unit-pressure-millibar' => 'millibarów', |
| | 2999 | + 'pfunc-convert-unit-pressure-kilobarye' => 'kilobarów', |
| | 3000 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|atmosfera|atmosfer}}', |
| | 3001 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|millimtr słupka rtęci|millimetrów słupka rtęci}}', |
| | 3002 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|cal słupka rtęci|cali słupka rtęci}}', |
| | 3003 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Pa', |
| | 3004 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar.', |
| | 3005 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'dbar', |
| | 3006 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| | 3007 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'mmHg', |
| 1879 | 3008 | ); |
| 1880 | 3009 | |
| 1881 | 3010 | /** Piedmontese (Piemontèis) |
| — | — | @@ -1904,6 +3033,134 @@ |
| 1905 | 3034 | 'pfunc_string_too_long' => 'Eror: la stringa a passa ël lìmit ëd $1 caràter', |
| 1906 | 3035 | ); |
| 1907 | 3036 | |
| | 3037 | +/** Western Punjabi (پنجابی) |
| | 3038 | + * @author Khalid Mahmood |
| | 3039 | + */ |
| | 3040 | +$messages['pnb'] = array( |
| | 3041 | + 'pfunc-convert-dimension-length' => 'لمبائی', |
| | 3042 | + 'pfunc-convert-dimension-area' => 'تھاں', |
| | 3043 | + 'pfunc-convert-dimension-volume' => 'والیوم', |
| | 3044 | + 'pfunc-convert-dimension-time' => 'ویلہ', |
| | 3045 | + 'pfunc-convert-dimension-timesquared' => 'واری<sup>2</sup>', |
| | 3046 | + 'pfunc-convert-dimension-mass' => 'ماس', |
| | 3047 | + 'pfunc-convert-dimension-speed' => 'دوڑ', |
| | 3048 | + 'pfunc-convert-dimension-temperature' => 'گرمی ناپ', |
| | 3049 | + 'pfunc-convert-dimension-acceleration' => 'سدی دوڑ', |
| | 3050 | + 'pfunc-convert-dimension-force' => 'زور', |
| | 3051 | + 'pfunc-convert-dimension-torque' => 'ٹارک', |
| | 3052 | + 'pfunc-convert-dimension-energy' => 'انرجی', |
| | 3053 | + 'pfunc-convert-dimension-power' => 'پاور', |
| | 3054 | + 'pfunc-convert-dimension-pressure' => 'دبآ', |
| | 3055 | + 'pfunc-convert-dimension-density' => 'گوڑا', |
| | 3056 | + 'pfunc-convert-prefix-yotta' => 'یوٹا', |
| | 3057 | + 'pfunc-convert-prefix-zetta' => 'زیٹا', |
| | 3058 | + 'pfunc-convert-prefix-exa' => 'ایکسا', |
| | 3059 | + 'pfunc-convert-prefix-peta' => 'پیٹا', |
| | 3060 | + 'pfunc-convert-prefix-tera' => 'ٹیرا', |
| | 3061 | + 'pfunc-convert-prefix-giga' => 'گیگا', |
| | 3062 | + 'pfunc-convert-prefix-mega' => 'میگا', |
| | 3063 | + 'pfunc-convert-prefix-kilo' => 'کلو', |
| | 3064 | + 'pfunc-convert-prefix-hecto' => 'ہیکٹو', |
| | 3065 | + 'pfunc-convert-prefix-deca' => 'ڈیکا', |
| | 3066 | + 'pfunc-convert-prefix-deci' => 'ڈیسی', |
| | 3067 | + 'pfunc-convert-prefix-centi' => 'سنٹی', |
| | 3068 | + 'pfunc-convert-prefix-milli' => 'ملی', |
| | 3069 | + 'pfunc-convert-prefix-micro' => 'مائکرو', |
| | 3070 | + 'pfunc-convert-prefix-nano' => 'نینو', |
| | 3071 | + 'pfunc-convert-prefix-pico' => 'پکو', |
| | 3072 | + 'pfunc-convert-prefix-femto' => 'فمٹو', |
| | 3073 | + 'pfunc-convert-prefix-atto' => 'اٹو', |
| | 3074 | + 'pfunc-convert-prefix-zepto' => 'زپٹو', |
| | 3075 | + 'pfunc-convert-prefix-yocto' => 'یوکٹو', |
| | 3076 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2میٹر}}', |
| | 3077 | + 'pfunc-convert-unit-length-furlong-abbr' => 'فرلانگ', |
| | 3078 | + 'pfunc-convert-unit-length-chain-abbr' => 'زنجیر', |
| | 3079 | + 'pfunc-convert-unit-length-rod-abbr' => 'رداس', |
| | 3080 | + 'pfunc-convert-unit-length-fathom-abbr' => 'فیدم', |
| | 3081 | + 'pfunc-convert-unit-length-yard-abbr' => 'گز', |
| | 3082 | + 'pfunc-convert-unit-length-foot-abbr' => 'فٹ', |
| | 3083 | + 'pfunc-convert-unit-length-hand-abbr' => 'کینٹہ', |
| | 3084 | + 'pfunc-convert-unit-length-inch-abbr' => 'انچ', |
| | 3085 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'سمندری میل', |
| | 3086 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'سمندری میل (برطانیہ)', |
| | 3087 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'سمندری میل (امریکہ 1954 توں پہلے)', |
| | 3088 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2کمپیوٹر', |
| | 3089 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2ly', |
| | 3090 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'اسمانی ناپ', |
| | 3091 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|مربع کلومیٹر|مربع کلومیٹر}}', |
| | 3092 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|مربع میٹر|مربع میٹر}}', |
| | 3093 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|مربع سینٹیمیٹر|مربع سینٹیمیٹر}}', |
| | 3094 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|مربع میلیمیٹر|مربع میلیمیٹر}}', |
| | 3095 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|ہیکٹر|ہیکٹر}}', |
| | 3096 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|مربع میلیمیٹر|مربع میل}}', |
| | 3097 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|ایکڑ|ایکڑ}}', |
| | 3098 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|مربع گز|مربع گز}}', |
| | 3099 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|مربع فٹ|مربع فٹ}}', |
| | 3100 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|مربع انچ|مربع انچ}}', |
| | 3101 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|مربع سمندری میل|مربع سمندری میل}}', |
| | 3102 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|ڈنام|ڈنام}}', |
| | 3103 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|زوبو|زوبو}}', |
| | 3104 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'کلومیٹر<sup>2</sup>', |
| | 3105 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 3106 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 3107 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 3108 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ہیکٹر', |
| | 3109 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'مربع میل', |
| | 3110 | + 'pfunc-convert-unit-area-acre-abbr' => 'ایکڑ', |
| | 3111 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'مربع گز', |
| | 3112 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'مربع فٹ', |
| | 3113 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'مربع انچ', |
| | 3114 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'مربع سمندری میل', |
| | 3115 | + 'pfunc-convert-unit-area-dunam-abbr' => 'دونام', |
| | 3116 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'سوبو', |
| | 3117 | + 'pfunc-convert-unit-time-second' => '$1 {{PLURAL:$1|سکنٹ|سکنٹاں}}', |
| | 3118 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|$2ورہ|$2ورے}}', |
| | 3119 | + 'pfunc-convert-unit-time-day' => ' {{PLURAL:$1|دن|دناں}}', |
| | 3120 | + 'pfunc-convert-unit-time-hour' => ' {{PLURAL:$1|کینٹا|کینٹے}}', |
| | 3121 | + 'pfunc-convert-unit-time-minute' => ' {{PLURAL:$1|منٹ|منٹاں}}', |
| | 3122 | + 'pfunc-convert-unit-time-second-abbr' => 'سکنث', |
| | 3123 | + 'pfunc-convert-unit-time-year-abbr' => '$2ورہ', |
| | 3124 | + 'pfunc-convert-unit-time-day-abbr' => 'دیاڑھ', |
| | 3125 | + 'pfunc-convert-unit-time-hour-abbr' => 'کینٹہ', |
| | 3126 | + 'pfunc-convert-unit-time-minute-abbr' => 'منٹ', |
| | 3127 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|مربع میٹر|مربع میٹر}}', |
| | 3128 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|مربع سینٹیمیٹر|مربع سینٹیمیٹر}}', |
| | 3129 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|مربع میلیمیٹر|مربع میلیمیٹر}}', |
| | 3130 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|کلولٹر|کلولٹر}}', |
| | 3131 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|لٹر|لٹر}}', |
| | 3132 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|سینٹیلٹر}}', |
| | 3133 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|ملیلٹر}}', |
| | 3134 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1|مربع گز}}', |
| | 3135 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1|مربع فٹ}}', |
| | 3136 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1|مربع انچ}}', |
| | 3137 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1|بیرل}}', |
| | 3138 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1|بشل}}', |
| | 3139 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1|گیلن}}', |
| | 3140 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|کوارٹز}}', |
| | 3141 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1|پنٹ}}', |
| | 3142 | + 'pfunc-convert-unit-volume-fluidounce' => '{{PLURAL:$1|پانیسر اونس}}', |
| | 3143 | + 'pfunc-convert-unit-volume-barrelus' => '{{PLURAL:$1|بیرل}}', |
| | 3144 | + 'pfunc-convert-unit-volume-barreloil' => '{{PLURAL:$1|بیرل}}', |
| | 3145 | + 'pfunc-convert-unit-volume-barrelbeer' => '{{PLURAL:$1|بیرل}}', |
| | 3146 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1|گیلن}}', |
| | 3147 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1|کوارٹز}}', |
| | 3148 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1|پنٹ}}', |
| | 3149 | + 'pfunc-convert-unit-volume-usfluidounce' => '{{PLURAL:$1|پانیسر اونس}}', |
| | 3150 | + 'pfunc-convert-unit-volume-usdrybarrel' => '{{PLURAL:$1|بیرل}}', |
| | 3151 | + 'pfunc-convert-unit-volume-usbushel' => '{{PLURAL:$1|بشل}}', |
| | 3152 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1|گیلن}}', |
| | 3153 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1|کوارٹز}}', |
| | 3154 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1|پنٹ}}', |
| | 3155 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>2</sup>', |
| | 3156 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'سینٹی میٹر<sup>3</sup>', |
| | 3157 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'ملی میٹر<sup>3</sup>', |
| | 3158 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2ly', |
| | 3159 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'مربع گز', |
| | 3160 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'مربع فٹ', |
| | 3161 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'مکعب انچ', |
| | 3162 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'bbl', |
| | 3163 | +); |
| | 3164 | + |
| 1908 | 3165 | /** Pashto (پښتو) |
| 1909 | 3166 | * @author Ahmed-Najib-Biabani-Ibrahimkhel |
| 1910 | 3167 | */ |
| — | — | @@ -2069,6 +3326,195 @@ |
| 2070 | 3327 | 'pfunc_expr_unknown_error' => 'Ошибка выражения: неизвестная ошибка ($1)', |
| 2071 | 3328 | 'pfunc_expr_not_a_number' => 'В $1: результат не является числом', |
| 2072 | 3329 | 'pfunc_string_too_long' => 'Ошибка: строка превышает ограничение в $1 символов', |
| | 3330 | + 'pfunc-convert-dimensionmismatch' => 'Ошибка. Не удается преобразовать единицы измерения «$1» и «$2».', |
| | 3331 | + 'pfunc-convert-unknownunit' => 'Ошибка. Неизвестная единица «$1».', |
| | 3332 | + 'pfunc-convert-unknowndimension' => 'Ошибка. Неизвестная размерность «$1».', |
| | 3333 | + 'pfunc-convert-invalidcompoundunit' => 'Ошибка. Недопустимая составная единица «$1».', |
| | 3334 | + 'pfunc-convert-nounit' => 'Ошибка. Не указана исходная единица.', |
| | 3335 | + 'pfunc-convert-doublecompoundunit' => 'Ошибка. Невозможно разобрать двойные составные единицы вида «$1».', |
| | 3336 | + 'pfunc-convert-dimension-length' => 'длина', |
| | 3337 | + 'pfunc-convert-dimension-area' => 'площадь', |
| | 3338 | + 'pfunc-convert-dimension-volume' => 'объём', |
| | 3339 | + 'pfunc-convert-dimension-time' => 'время', |
| | 3340 | + 'pfunc-convert-dimension-timesquared' => 'время<sup>2</sup>', |
| | 3341 | + 'pfunc-convert-dimension-mass' => 'масса', |
| | 3342 | + 'pfunc-convert-dimension-speed' => 'скорость', |
| | 3343 | + 'pfunc-convert-dimension-temperature' => 'температура', |
| | 3344 | + 'pfunc-convert-dimension-acceleration' => 'ускорение', |
| | 3345 | + 'pfunc-convert-dimension-force' => 'сила', |
| | 3346 | + 'pfunc-convert-dimension-torque' => 'крутящий момент', |
| | 3347 | + 'pfunc-convert-dimension-energy' => 'энергия', |
| | 3348 | + 'pfunc-convert-dimension-power' => 'мощность', |
| | 3349 | + 'pfunc-convert-dimension-pressure' => 'давление', |
| | 3350 | + 'pfunc-convert-dimension-density' => 'плотность', |
| | 3351 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'позитивная топливная эффективность', |
| | 3352 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'негативная топливная эффективность', |
| | 3353 | + 'pfunc-convert-prefix-yotta' => 'йотта', |
| | 3354 | + 'pfunc-convert-prefix-zetta' => 'зетта', |
| | 3355 | + 'pfunc-convert-prefix-exa' => 'экса', |
| | 3356 | + 'pfunc-convert-prefix-peta' => 'пета', |
| | 3357 | + 'pfunc-convert-prefix-tera' => 'тера', |
| | 3358 | + 'pfunc-convert-prefix-giga' => 'гига', |
| | 3359 | + 'pfunc-convert-prefix-mega' => 'мега', |
| | 3360 | + 'pfunc-convert-prefix-kilo' => 'кило', |
| | 3361 | + 'pfunc-convert-prefix-hecto' => 'гекто', |
| | 3362 | + 'pfunc-convert-prefix-deca' => 'дека', |
| | 3363 | + 'pfunc-convert-prefix-deci' => 'деци', |
| | 3364 | + 'pfunc-convert-prefix-centi' => 'санти', |
| | 3365 | + 'pfunc-convert-prefix-milli' => 'милли', |
| | 3366 | + 'pfunc-convert-prefix-micro' => 'микро', |
| | 3367 | + 'pfunc-convert-prefix-nano' => 'нано', |
| | 3368 | + 'pfunc-convert-prefix-pico' => 'пико', |
| | 3369 | + 'pfunc-convert-prefix-femto' => 'фемто', |
| | 3370 | + 'pfunc-convert-prefix-atto' => 'атто', |
| | 3371 | + 'pfunc-convert-prefix-zepto' => 'зепто', |
| | 3372 | + 'pfunc-convert-prefix-yocto' => 'йокто', |
| | 3373 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2метр|$2метра|$2метров}}', |
| | 3374 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|ангстрем|ангстрема|ангстрем}}', |
| | 3375 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|миля|мили|миль}}', |
| | 3376 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|фурлонг|фурлонга|фурлонгов}}', |
| | 3377 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|чейн|чейна|чейнов}}', |
| | 3378 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|род|рода|родов}}', |
| | 3379 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|фатом|фатома|фатомов}}', |
| | 3380 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|ярд|ярда|ярдов}}', |
| | 3381 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|фут|фута|футов}}', |
| | 3382 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|хэнд|хэнда|хэндов}}', |
| | 3383 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|дюйм|дюйма|дюймов}}', |
| | 3384 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1|морская миля|морские мили|морских милей}}', |
| | 3385 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1|морская миля (британская до 1970)|морские мили (британских до 1970)|морских миль (британских до 1970)}}', |
| | 3386 | + 'pfunc-convert-unit-length-nauticalmileus' => '{{PLURAL:$1|морская миля (США до 1970)|морские мили (США до 1970)|морских миль (США до 1970)}}', |
| | 3387 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|$2парсек|$2парсека|$2парсек}}', |
| | 3388 | + 'pfunc-convert-unit-length-lightyear' => '{{PLURAL:$1|$2 световой год|$2 световых года|$2 световых лет}}', |
| | 3389 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|астрономическая единица|астрономические единицы|астрономических единиц}}', |
| | 3390 | + 'pfunc-convert-unit-length-furlong-abbr' => 'фурлонг', |
| | 3391 | + 'pfunc-convert-unit-length-chain-abbr' => 'чейн', |
| | 3392 | + 'pfunc-convert-unit-length-rod-abbr' => 'род', |
| | 3393 | + 'pfunc-convert-unit-length-fathom-abbr' => 'фатом', |
| | 3394 | + 'pfunc-convert-unit-length-yard-abbr' => 'ярд', |
| | 3395 | + 'pfunc-convert-unit-length-foot-abbr' => 'фут', |
| | 3396 | + 'pfunc-convert-unit-length-hand-abbr' => 'хэнд', |
| | 3397 | + 'pfunc-convert-unit-length-inch-abbr' => 'дюйм', |
| | 3398 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'морская миля', |
| | 3399 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'брит. морская миля', |
| | 3400 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'морская миля (США до 1954)', |
| | 3401 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2 пк', |
| | 3402 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2 св. г.', |
| | 3403 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'а. е.', |
| | 3404 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|квадратный километр|квадратных километра|квадратных километров}}', |
| | 3405 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|квадратный метр|квадратных метра|квадратных метров}}', |
| | 3406 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|квадратный сантиметр|квадратных сантиметра|квадратных сантиметров}}', |
| | 3407 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|квадратный миллиметр|квадратных миллиметра|квадратных миллиметров}}', |
| | 3408 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|гектар|гектара|гектар}}', |
| | 3409 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|квадратная миля|квадратных мили|квадратных миль}}', |
| | 3410 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|акр|акра|акров}}', |
| | 3411 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|квадратный ярд|квадратных ярда|квадратных ярдов}}', |
| | 3412 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|квадратный фут|квадратных фута|квадратных футов}}', |
| | 3413 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|квадратный дюйм|квадратных дюйма|квадратных дюймов}}', |
| | 3414 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|квадратная морская миля|квадратные морские мили|квадратных морских миль}}', |
| | 3415 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|дунам|дунама|дунамов}}', |
| | 3416 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|цубо|цубо|цубо}}', |
| | 3417 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'км<sup>2</sup>', |
| | 3418 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'м<sup>2</sup>', |
| | 3419 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'см<sup>2</sup>', |
| | 3420 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'мм<sup>2</sup>', |
| | 3421 | + 'pfunc-convert-unit-area-hectare-abbr' => 'га', |
| | 3422 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'кв. ми', |
| | 3423 | + 'pfunc-convert-unit-area-acre-abbr' => 'акр', |
| | 3424 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'кв. ярд', |
| | 3425 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'кв. м', |
| | 3426 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'кв. дюйм', |
| | 3427 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'кв. м. ми', |
| | 3428 | + 'pfunc-convert-unit-area-dunam-abbr' => 'дунам', |
| | 3429 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'цубо', |
| | 3430 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|секунда|секунды|секунд}}', |
| | 3431 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|$2год|$2года|$2лет}}', |
| | 3432 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|день|дня|дней}}', |
| | 3433 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|час|часа|часов}}', |
| | 3434 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|минута|минуты|минут}}', |
| | 3435 | + 'pfunc-convert-unit-time-second-abbr' => 'с', |
| | 3436 | + 'pfunc-convert-unit-time-year-abbr' => '$2 г', |
| | 3437 | + 'pfunc-convert-unit-time-day-abbr' => 'дн', |
| | 3438 | + 'pfunc-convert-unit-time-hour-abbr' => 'ч.', |
| | 3439 | + 'pfunc-convert-unit-time-minute-abbr' => 'м.', |
| | 3440 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|кубический метр|кубических метра|кубических метров}}', |
| | 3441 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|кубический сантиметр|кубических сантиметра|кубических сантиметров}}', |
| | 3442 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|кубический миллиметр|кубических миллиметра|кубических миллиметров}}', |
| | 3443 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|килолитр|килолитра|килолитров}}', |
| | 3444 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|литр|литра|литров}}', |
| | 3445 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|сантилитр|сантилитра|сантилитров}}', |
| | 3446 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|миллилитр|миллилитра|миллилитров}}', |
| | 3447 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1|кубический ярд|кубических ярда|кубических ярдов}}', |
| | 3448 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1|кубический фут|кубических фута|кубических футов}}', |
| | 3449 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1|кубический дюйм|кубических дюйма|кубических дюймов}}', |
| | 3450 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1|баррель|барреля|баррелей}}', |
| | 3451 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1|бушель|бушеля|бушелей}}', |
| | 3452 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1|галлон|галлона|галлонов}}', |
| | 3453 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|кварта|кварты|кварт}}', |
| | 3454 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1|пинта|пинты|пинт}}', |
| | 3455 | + 'pfunc-convert-unit-volume-fluidounce' => '{{PLURAL:$1|жидкая унция|жидких унции|жидких унций}}', |
| | 3456 | + 'pfunc-convert-unit-volume-barrelus' => '{{PLURAL:$1|баррель США|барреля США|баррелей США}}', |
| | 3457 | + 'pfunc-convert-unit-volume-barreloil' => '{{PLURAL:$1|баррель|барреля|баррелей}}', |
| | 3458 | + 'pfunc-convert-unit-volume-barrelbeer' => '{{PLURAL:$1|баррель|барреля|баррелей}}', |
| | 3459 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1|галлон США|галлона США|галлонов США}}', |
| | 3460 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1|кварта США|кварты США|кварт США}}', |
| | 3461 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1|пинта США|пинты США|пинт США}}', |
| | 3462 | + 'pfunc-convert-unit-volume-usfluidounce' => '{{PLURAL:$1|жидкая унция США|жидких унции США|жидких унций США}}', |
| | 3463 | + 'pfunc-convert-unit-volume-usdrybarrel' => '{{PLURAL:$1|сухой баррель США|сухих барреля США|сухих баррелей США}}', |
| | 3464 | + 'pfunc-convert-unit-volume-usbushel' => '{{PLURAL:$1|бушель США|бушеля США|бушелей США}}', |
| | 3465 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1|сухой галлон США|сухих галлона США|сухих галлонов США}}', |
| | 3466 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1|сухая кварта США|сухие кварты США|сухих кварт США}}', |
| | 3467 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1|сухая пинта США|сухих пинты США|сухих пинт США}}', |
| | 3468 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'м<sup>3</sup>', |
| | 3469 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'см<sup>3</sup>', |
| | 3470 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'мм<sup>3</sup>', |
| | 3471 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2 л', |
| | 3472 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'куб. ярд', |
| | 3473 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'куб. фут', |
| | 3474 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'куб. дюйм', |
| | 3475 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'бр.', |
| | 3476 | + 'pfunc-convert-unit-volume-bushel-abbr' => 'бш.', |
| | 3477 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'гал.', |
| | 3478 | + 'pfunc-convert-unit-volume-quart-abbr' => 'кв.', |
| | 3479 | + 'pfunc-convert-unit-volume-pint-abbr' => 'пт.', |
| | 3480 | + 'pfunc-convert-unit-volume-fluidounce-abbr' => 'жид. унц.', |
| | 3481 | + 'pfunc-convert-unit-volume-barrelus-abbr' => 'бр. США', |
| | 3482 | + 'pfunc-convert-unit-volume-barreloil-abbr' => 'бр.', |
| | 3483 | + 'pfunc-convert-unit-volume-barrelbeer-abbr' => 'бр.', |
| | 3484 | + 'pfunc-convert-unit-volume-usgallon-abbr' => 'гал. США', |
| | 3485 | + 'pfunc-convert-unit-volume-usquart-abbr' => 'кт. США', |
| | 3486 | + 'pfunc-convert-unit-volume-uspint-abbr' => 'пт. США', |
| | 3487 | + 'pfunc-convert-unit-volume-usfluidounce-abbr' => 'жид. унц. США', |
| | 3488 | + 'pfunc-convert-unit-volume-usdrybarrel-abbr' => 'бр. США', |
| | 3489 | + 'pfunc-convert-unit-volume-usbushel-abbr' => 'вш. США', |
| | 3490 | + 'pfunc-convert-unit-volume-usdrygallon-abbr' => 'сух. гал. США', |
| | 3491 | + 'pfunc-convert-unit-volume-usdryquart-abbr' => 'сух. кт. США', |
| | 3492 | + 'pfunc-convert-unit-volume-usdrypint-abbr' => 'сух. пт. США', |
| | 3493 | + 'pfunc-convert-unit-speed-mile-hour' => 'миль/час', |
| | 3494 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 3495 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'миль/ч', |
| | 3496 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| | 3497 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|$2паскаль|$2паскаля|$2паскалей}}', |
| | 3498 | + 'pfunc-convert-unit-pressure-bar' => 'бар', |
| | 3499 | + 'pfunc-convert-unit-pressure-decibar' => 'децибар', |
| | 3500 | + 'pfunc-convert-unit-pressure-millibar' => 'миллибар', |
| | 3501 | + 'pfunc-convert-unit-pressure-kilobarye' => 'килобария', |
| | 3502 | + 'pfunc-convert-unit-pressure-barye' => 'бария', |
| | 3503 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|атмосфера|атмосферы|атмосфер}}', |
| | 3504 | + 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1|торр|торра|торр}}', |
| | 3505 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|миллиметр ртутного столба|миллиметра ртутного столба|миллиметров ртутного столба}}', |
| | 3506 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|дюйм ртутного столба|дюйма ртутного столба|дюймов ртутного столба}}', |
| | 3507 | + 'pfunc-convert-unit-pressure-psi' => '{{PLURAL:$1|фунт на квадратный дюйм|фунта на квадратный дюйм|фунтов на квадратный дюйм}}', |
| | 3508 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Па', |
| | 3509 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'бар', |
| | 3510 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'дбар', |
| | 3511 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'мбар', |
| | 3512 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'КБа', |
| | 3513 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'Ба', |
| | 3514 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'атм', |
| | 3515 | + 'pfunc-convert-unit-pressure-torr-abbr' => 'торр', |
| | 3516 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'мм рт. ст.', |
| | 3517 | + 'pfunc-convert-unit-pressure-inhg-abbr' => 'дюйм. рт. ст.', |
| | 3518 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'фунт. на кв. дюйм', |
| 2073 | 3519 | ); |
| 2074 | 3520 | |
| 2075 | 3521 | /** Rusyn (Русиньскый) |
| — | — | @@ -2223,6 +3669,197 @@ |
| 2224 | 3670 | 'pfunc_expr_unknown_error' => 'Napaka v izrazu: Neznana napaka ($1)', |
| 2225 | 3671 | 'pfunc_expr_not_a_number' => 'V $1: rezultat ni število', |
| 2226 | 3672 | 'pfunc_string_too_long' => 'Napaka: Niz presega omejitev $1 {{PLURAL:$1|znaka|znakov}}', |
| | 3673 | + 'pfunc-convert-dimensionmismatch' => 'Napaka: Ne morem pretvoriti med enotama »$1« in »$2«.', |
| | 3674 | + 'pfunc-convert-unknownunit' => 'Napaka: Neznana enota »$1«.', |
| | 3675 | + 'pfunc-convert-unknowndimension' => 'Napaka: Neznana razsežnost »$1«.', |
| | 3676 | + 'pfunc-convert-invalidcompoundunit' => 'Napaka: Neveljavna sestavljena enota »$1«.', |
| | 3677 | + 'pfunc-convert-nounit' => 'Napaka: Izvirna enota ni podana.', |
| | 3678 | + 'pfunc-convert-doublecompoundunit' => 'Napaka: Ne morem razčleniti dvojne sestavljene enote, kot je »$1«.', |
| | 3679 | + 'pfunc-convert-dimension-length' => 'dolžina', |
| | 3680 | + 'pfunc-convert-dimension-area' => 'ploščina', |
| | 3681 | + 'pfunc-convert-dimension-volume' => 'prostornina', |
| | 3682 | + 'pfunc-convert-dimension-time' => 'čas', |
| | 3683 | + 'pfunc-convert-dimension-timesquared' => 'čas<sup>2</sup>', |
| | 3684 | + 'pfunc-convert-dimension-mass' => 'masa', |
| | 3685 | + 'pfunc-convert-dimension-speed' => 'hitrost', |
| | 3686 | + 'pfunc-convert-dimension-temperature' => 'temperatura', |
| | 3687 | + 'pfunc-convert-dimension-acceleration' => 'pospešek', |
| | 3688 | + 'pfunc-convert-dimension-force' => 'sila', |
| | 3689 | + 'pfunc-convert-dimension-torque' => 'navor', |
| | 3690 | + 'pfunc-convert-dimension-energy' => 'energija', |
| | 3691 | + 'pfunc-convert-dimension-power' => 'moč', |
| | 3692 | + 'pfunc-convert-dimension-pressure' => 'tlak', |
| | 3693 | + 'pfunc-convert-dimension-density' => 'gostota', |
| | 3694 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'pozitivna učinkovitost goriva', |
| | 3695 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'negativna učinkovitost goriva', |
| | 3696 | + 'pfunc-convert-prefix-yotta' => 'jota', |
| | 3697 | + 'pfunc-convert-prefix-zetta' => 'zeta', |
| | 3698 | + 'pfunc-convert-prefix-exa' => 'eksa', |
| | 3699 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 3700 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 3701 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 3702 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 3703 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 3704 | + 'pfunc-convert-prefix-hecto' => 'hekto', |
| | 3705 | + 'pfunc-convert-prefix-deca' => 'deka', |
| | 3706 | + 'pfunc-convert-prefix-deci' => 'deci', |
| | 3707 | + 'pfunc-convert-prefix-centi' => 'centi', |
| | 3708 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 3709 | + 'pfunc-convert-prefix-micro' => 'mikro', |
| | 3710 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 3711 | + 'pfunc-convert-prefix-pico' => 'piko', |
| | 3712 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 3713 | + 'pfunc-convert-prefix-atto' => 'ato', |
| | 3714 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 3715 | + 'pfunc-convert-prefix-yocto' => 'jokto', |
| | 3716 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|meter|metra|metri|metrov}}', |
| | 3717 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|angstrem|angstrema|angstremi|angstremov}}', |
| | 3718 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|milja|milji|milje|milj}}', |
| | 3719 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|furlong|furlonga|furlongi|furlongov}}', |
| | 3720 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|veriga|verigi|verige|verig}}', |
| | 3721 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|palica|palici|palice|palic}}', |
| | 3722 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|seženj|sežnja|sežnji|sežnjev}}', |
| | 3723 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|jard|jarda|jardi|jardov}}', |
| | 3724 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|čevelj|čevlja|čevlji|čeljev}}', |
| | 3725 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|dlan|dlani}}', |
| | 3726 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|palec|palca|palci|palcev}}', |
| | 3727 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1|navtična milja|navtični milji|navtične milje|navtičnih milj}}', |
| | 3728 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1|navtična milja|navtični milji|navtične milje|navtičnih milj}} (britanska, pred 1970)', |
| | 3729 | + 'pfunc-convert-unit-length-nauticalmileus' => '{{PLURAL:$1|navtična milja|navtični milji|navtične milje|navtičnih milj}} (ZDA, pred 1954)', |
| | 3730 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|parsek|parseka|parseki|persekov}}', |
| | 3731 | + 'pfunc-convert-unit-length-lightyear' => '$2 {{PLURAL:$1|svetlobno leto|svetlobni leti|svetlobna leta|svetlobnih let}}', |
| | 3732 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|astronomska enota|astronomski enoti|astronomske enote|astronomskih enot}}', |
| | 3733 | + 'pfunc-convert-unit-length-metre-abbr' => 'm', |
| | 3734 | + 'pfunc-convert-unit-length-angstrom-abbr' => 'Å', |
| | 3735 | + 'pfunc-convert-unit-length-furlong-abbr' => 'furlong', |
| | 3736 | + 'pfunc-convert-unit-length-chain-abbr' => 'veriga', |
| | 3737 | + 'pfunc-convert-unit-length-rod-abbr' => 'rd', |
| | 3738 | + 'pfunc-convert-unit-length-fathom-abbr' => 'seženj', |
| | 3739 | + 'pfunc-convert-unit-length-yard-abbr' => 'yd', |
| | 3740 | + 'pfunc-convert-unit-length-foot-abbr' => 'ft', |
| | 3741 | + 'pfunc-convert-unit-length-hand-abbr' => 'h', |
| | 3742 | + 'pfunc-convert-unit-length-inch-abbr' => 'in', |
| | 3743 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'nmi', |
| | 3744 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'nmi (Brit)', |
| | 3745 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'nmi (ZDA, pred 1954)', |
| | 3746 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2 pc', |
| | 3747 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2 sv. l.', |
| | 3748 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'a.e.', |
| | 3749 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|kvadratni kilometer|kvadratna kilometra|kvadratni kilometri|kvadratnih kilometrov}}', |
| | 3750 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|kvadratni meter|kvadratna metra|kvadratni metri|kvadratnih metrov}}', |
| | 3751 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|kvadratni centimeter|kvadratna centimetra|kvadratni centimetri|kvadratnih centimetrov}}', |
| | 3752 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|kvadratni millimeter|kvadratna millimetra|kvadratni millimetri|kvadratnih millimetrov}}', |
| | 3753 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|hektar|hektara|hektare|hektarov}}', |
| | 3754 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|kvadratna milja|kvadratni milji|kvadratne milje|kvadratnih milj}}', |
| | 3755 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|aker|akra|akri|akrov}}', |
| | 3756 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|kvadratni jard|kvadratna jarda|kvadratni jardi|kvadratnih jardov}}', |
| | 3757 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|kvadratni čevelj|kvadratna čevlja|kvadratni čevlji|kvadratnih čevljev}}', |
| | 3758 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|kvadratni palec|kvadratna palca|kvadratni palci|kvadratnih palcev}}', |
| | 3759 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|kvadratna navtična milja|kvadratni navtični milji|kvadratne navtične milje|kvadratnih navtičnih milj}}', |
| | 3760 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|dunam|dunama|dunami|dunamov}}', |
| | 3761 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|tsubo|tsuba|tsubi|tsubov}}', |
| | 3762 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 3763 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 3764 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 3765 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 3766 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ha', |
| | 3767 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'kv. mi', |
| | 3768 | + 'pfunc-convert-unit-area-acre-abbr' => 'aker', |
| | 3769 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'kv. yd', |
| | 3770 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'kv. ft', |
| | 3771 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'kv. in', |
| | 3772 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'kv nmi', |
| | 3773 | + 'pfunc-convert-unit-area-dunam-abbr' => 'dunam', |
| | 3774 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'tsubo', |
| | 3775 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|sekunda|sekundi|sekunde|sekund}}', |
| | 3776 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|leto|leti|leta|let}}', |
| | 3777 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|dan|dneva|dnevi|dni}}', |
| | 3778 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|ura|uri|ure|ur}}', |
| | 3779 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|minuta|minuti|minute|minut}}', |
| | 3780 | + 'pfunc-convert-unit-time-second-abbr' => 's', |
| | 3781 | + 'pfunc-convert-unit-time-year-abbr' => 'leto', |
| | 3782 | + 'pfunc-convert-unit-time-day-abbr' => 'dan', |
| | 3783 | + 'pfunc-convert-unit-time-hour-abbr' => 'ura', |
| | 3784 | + 'pfunc-convert-unit-time-minute-abbr' => 'min', |
| | 3785 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|kubični meter|kubična metra|kubični metri|kubičnih metrov}}', |
| | 3786 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|kubični centimeter|kubična centimetra|kubični centimetri|kubičnih centimetrov}}', |
| | 3787 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|kubični millimeter|kubična millimetra|kubični millimetri|kubičnih millimetrov}}', |
| | 3788 | + 'pfunc-convert-unit-volume-kilolitre' => 'kilo{{PLURAL:$1|liter|litra|litri|litrov}}', |
| | 3789 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|liter|litra|litri|litrov}}', |
| | 3790 | + 'pfunc-convert-unit-volume-centilitre' => 'centi{{PLURAL:$1|liter|litra|litri|litrov}}', |
| | 3791 | + 'pfunc-convert-unit-volume-millilitre' => 'milli{{PLURAL:$1|liter|litra|litri|litrov}}', |
| | 3792 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1|kubični jard|kubična jarda|kubični jardi|kubičnih jardov}}', |
| | 3793 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1|kubični čevelj|kubična čevlja|kubični čevlji|kubičnih čevljev}}', |
| | 3794 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1|kubični palec|kubična palca|kubični palci|kubičnih palcev}}', |
| | 3795 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1|sod|soda|sodi|sodov}}', |
| | 3796 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1|bušel|bušla|bušli|bušlov}}', |
| | 3797 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1|galona|galoni|galone|galon}}', |
| | 3798 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|kvart|kvarta|kvarti|kvartov}}', |
| | 3799 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1|pint|pinta|pinti|pintov}}', |
| | 3800 | + 'pfunc-convert-unit-volume-fluidounce' => '{{PLURAL:$1|tekočinska unča|tekočinski unči|tekočinske unče|tekočinskih unč}}', |
| | 3801 | + 'pfunc-convert-unit-volume-barrelus' => '{{PLURAL:$1|ameriški sod|ameriška soda|ameriški sodi|ameriških sodov}}', |
| | 3802 | + 'pfunc-convert-unit-volume-barreloil' => '{{PLURAL:$1|sod|soda|sodi|sodov}}', |
| | 3803 | + 'pfunc-convert-unit-volume-barrelbeer' => '{{PLURAL:$1|sod|soda|sodi|sodov}}', |
| | 3804 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1|ameriška galona|ameriški galoni|ameriške galone|ameriških galon}}', |
| | 3805 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1|ameriški kvart|ameriška kvarta|ameriški kvarti|ameriških kvartov}}', |
| | 3806 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1|ameriški pint|ameriška pinta|ameriški pinti|ameriških pintov}}', |
| | 3807 | + 'pfunc-convert-unit-volume-usfluidounce' => '{{PLURAL:$1|ameriška tekočinska unča|ameriški tekočinski unči|ameriške tekočinske unče|ameriških tekočinskih unč}}', |
| | 3808 | + 'pfunc-convert-unit-volume-usdrybarrel' => '{{PLURAL:$1|ameriški suhi sod|ameriška suha soda|ameriški suhi sodi|ameriških suhih sodov}}', |
| | 3809 | + 'pfunc-convert-unit-volume-usbushel' => '{{PLURAL:$1|ameriški bušel|ameriška bušla|ameriški bušli|ameriških bušlov}}', |
| | 3810 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1|ameriška suha galona|ameriški suhi galoni|ameriške suhe galone|ameriških suhih galon}}', |
| | 3811 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1|ameriški suhi kvart|ameriška suha kvarta|ameriški suhi kvarti|ameriških suhih kvartov}}', |
| | 3812 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1|ameriški suhi pint|ameriška suha pinta|ameriški suhi pinti|ameriških suhih pintov}}', |
| | 3813 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>3</sup>', |
| | 3814 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm<sup>3</sup>', |
| | 3815 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm<sup>3</sup>', |
| | 3816 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2 l', |
| | 3817 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'kub. yd', |
| | 3818 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'kub. ft', |
| | 3819 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'kub. in', |
| | 3820 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'bbl', |
| | 3821 | + 'pfunc-convert-unit-volume-bushel-abbr' => 'bsh', |
| | 3822 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'gal', |
| | 3823 | + 'pfunc-convert-unit-volume-quart-abbr' => 'qt', |
| | 3824 | + 'pfunc-convert-unit-volume-pint-abbr' => 'pt', |
| | 3825 | + 'pfunc-convert-unit-volume-fluidounce-abbr' => 'fl oz', |
| | 3826 | + 'pfunc-convert-unit-volume-barrelus-abbr' => 'am. bbl', |
| | 3827 | + 'pfunc-convert-unit-volume-barreloil-abbr' => 'bbl', |
| | 3828 | + 'pfunc-convert-unit-volume-barrelbeer-abbr' => 'bbl', |
| | 3829 | + 'pfunc-convert-unit-volume-usgallon-abbr' => 'am. gal', |
| | 3830 | + 'pfunc-convert-unit-volume-usquart-abbr' => 'am. qt', |
| | 3831 | + 'pfunc-convert-unit-volume-uspint-abbr' => 'am. pt', |
| | 3832 | + 'pfunc-convert-unit-volume-usfluidounce-abbr' => 'am. fl oz', |
| | 3833 | + 'pfunc-convert-unit-volume-usdrybarrel-abbr' => 'am. bbl', |
| | 3834 | + 'pfunc-convert-unit-volume-usbushel-abbr' => 'am. bsh', |
| | 3835 | + 'pfunc-convert-unit-volume-usdrygallon-abbr' => 'am. suha gal', |
| | 3836 | + 'pfunc-convert-unit-volume-usdryquart-abbr' => 'am. suhi qt', |
| | 3837 | + 'pfunc-convert-unit-volume-usdrypint-abbr' => 'am. suhi pt', |
| | 3838 | + 'pfunc-convert-unit-speed-mile-hour' => 'milje na uro', |
| | 3839 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 3840 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'mph', |
| | 3841 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| | 3842 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|paskal|paskala|paskali|paskalov}}', |
| | 3843 | + 'pfunc-convert-unit-pressure-bar' => 'bar', |
| | 3844 | + 'pfunc-convert-unit-pressure-decibar' => 'decibar', |
| | 3845 | + 'pfunc-convert-unit-pressure-millibar' => 'millibar', |
| | 3846 | + 'pfunc-convert-unit-pressure-kilobarye' => 'kilobarye', |
| | 3847 | + 'pfunc-convert-unit-pressure-barye' => 'barye', |
| | 3848 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|atmosfera|atmosferi|atmosfere|atmosfer}}', |
| | 3849 | + 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1|torr|torra|torri|torrov}}', |
| | 3850 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|millimeter|millimetra|millimetri|millimetrov}} živega srebra', |
| | 3851 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|palec|palca|palci|palcev}} živega srebra', |
| | 3852 | + 'pfunc-convert-unit-pressure-psi' => '{{PLURAL:$1|funt|funta|funti|funtov}} na kvadratni palec', |
| | 3853 | + 'pfunc-convert-unit-pressure-pascal-abbr' => 'Pa', |
| | 3854 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| | 3855 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'dbar', |
| | 3856 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'mbar', |
| | 3857 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'kBa', |
| | 3858 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'Ba', |
| | 3859 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| | 3860 | + 'pfunc-convert-unit-pressure-torr-abbr' => 'Torr', |
| | 3861 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'mmHg', |
| | 3862 | + 'pfunc-convert-unit-pressure-inhg-abbr' => 'inHg', |
| | 3863 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'psi', |
| 2227 | 3864 | ); |
| 2228 | 3865 | |
| 2229 | 3866 | /** Albanian (Shqip) |
| — | — | @@ -2364,6 +4001,147 @@ |
| 2365 | 4002 | 'pfunc_expr_unknown_error' => 'Fel i uttryck: Okänt fel ($1)', |
| 2366 | 4003 | 'pfunc_expr_not_a_number' => 'I $1: resultatet är inte ett tal', |
| 2367 | 4004 | 'pfunc_string_too_long' => 'Fel: Strängen överskrider gränsen på $1 tecken', |
| | 4005 | + 'pfunc-convert-dimensionmismatch' => 'Fel: Kan inte konvertera mellan enheterna "$1" och "$2".', |
| | 4006 | + 'pfunc-convert-unknownunit' => 'Fel: Okänd enhet "$1".', |
| | 4007 | + 'pfunc-convert-unknowndimension' => 'Fel: Okänd dimension "$1".', |
| | 4008 | + 'pfunc-convert-dimension-length' => 'längd', |
| | 4009 | + 'pfunc-convert-dimension-area' => 'area', |
| | 4010 | + 'pfunc-convert-dimension-volume' => 'volym', |
| | 4011 | + 'pfunc-convert-dimension-time' => 'tid', |
| | 4012 | + 'pfunc-convert-dimension-timesquared' => 'tid <sup>2</sup>', |
| | 4013 | + 'pfunc-convert-dimension-mass' => 'massa', |
| | 4014 | + 'pfunc-convert-dimension-speed' => 'hastighet', |
| | 4015 | + 'pfunc-convert-dimension-temperature' => 'temperatur', |
| | 4016 | + 'pfunc-convert-dimension-acceleration' => 'acceleration', |
| | 4017 | + 'pfunc-convert-dimension-force' => 'kraft', |
| | 4018 | + 'pfunc-convert-dimension-torque' => 'vridmoment', |
| | 4019 | + 'pfunc-convert-dimension-energy' => 'energi', |
| | 4020 | + 'pfunc-convert-dimension-pressure' => 'tryck', |
| | 4021 | + 'pfunc-convert-dimension-density' => 'densitet', |
| | 4022 | + 'pfunc-convert-prefix-yotta' => 'yotta', |
| | 4023 | + 'pfunc-convert-prefix-zetta' => 'zetta', |
| | 4024 | + 'pfunc-convert-prefix-exa' => 'exa', |
| | 4025 | + 'pfunc-convert-prefix-peta' => 'peta', |
| | 4026 | + 'pfunc-convert-prefix-tera' => 'tera', |
| | 4027 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 4028 | + 'pfunc-convert-prefix-mega' => 'mega', |
| | 4029 | + 'pfunc-convert-prefix-kilo' => 'kilo', |
| | 4030 | + 'pfunc-convert-prefix-hecto' => 'hekto', |
| | 4031 | + 'pfunc-convert-prefix-deca' => 'deka', |
| | 4032 | + 'pfunc-convert-prefix-deci' => 'deci', |
| | 4033 | + 'pfunc-convert-prefix-centi' => 'centi', |
| | 4034 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 4035 | + 'pfunc-convert-prefix-micro' => 'mikro', |
| | 4036 | + 'pfunc-convert-prefix-nano' => 'nano', |
| | 4037 | + 'pfunc-convert-prefix-pico' => 'piko', |
| | 4038 | + 'pfunc-convert-prefix-femto' => 'femto', |
| | 4039 | + 'pfunc-convert-prefix-atto' => 'atto', |
| | 4040 | + 'pfunc-convert-prefix-zepto' => 'zepto', |
| | 4041 | + 'pfunc-convert-prefix-yocto' => 'yokto', |
| | 4042 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1|$2meter|$2meter}}', |
| | 4043 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1|ångström|ångström}}', |
| | 4044 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1|engelsk mil|engelska mil}}', |
| | 4045 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1|furlong|furlonger}}', |
| | 4046 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1|chain|chains}}', |
| | 4047 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1|stång|stänger}}', |
| | 4048 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1|famn|famnar}}', |
| | 4049 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1|yard|yards}}', |
| | 4050 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1|fot|fot}}', |
| | 4051 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1|hand|händer}}', |
| | 4052 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1|tum|tum}}', |
| | 4053 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1|nautisk mil|nautiska mil}}', |
| | 4054 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1|nautisk mil (innan 1970, brittisk)|nautiska mil (innan 1970, brittisk)}}', |
| | 4055 | + 'pfunc-convert-unit-length-nauticalmileus' => '{{PLURAL:$1|nautisk mil (innan 1954, USA)|nautiska mil (innan 1954, USA)}}', |
| | 4056 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1|$2parsec|$2parsec}}', |
| | 4057 | + 'pfunc-convert-unit-length-lightyear' => '{{PLURAL:$1|$2ljusår|$2ljusår}}', |
| | 4058 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1|astronomisk enhet|astronomiska enheter}}', |
| | 4059 | + 'pfunc-convert-unit-length-furlong-abbr' => 'furlong', |
| | 4060 | + 'pfunc-convert-unit-length-chain-abbr' => 'chain', |
| | 4061 | + 'pfunc-convert-unit-length-fathom-abbr' => 'famn', |
| | 4062 | + 'pfunc-convert-unit-length-yard-abbr' => 'yd', |
| | 4063 | + 'pfunc-convert-unit-length-foot-abbr' => 'ft', |
| | 4064 | + 'pfunc-convert-unit-length-hand-abbr' => 'h', |
| | 4065 | + 'pfunc-convert-unit-length-inch-abbr' => 'in', |
| | 4066 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'nmi', |
| | 4067 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'nmi (Storbr.)', |
| | 4068 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'nmi (innan 1954, USA)', |
| | 4069 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2pc', |
| | 4070 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'AU', |
| | 4071 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1|kvadratkilometer|kvadratkilometer}}', |
| | 4072 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1|kvadratmeter|kvadratmeter}}', |
| | 4073 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1|kvadratcentimeter|kvadratcentimeter}}', |
| | 4074 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1|kvadratmillimeter|kvadratmillimeter}}', |
| | 4075 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1|hektar|hektar}}', |
| | 4076 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1|kvadratmil|kvadratmil}}', |
| | 4077 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1|tunnland|tunnland}}', |
| | 4078 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1|kvadratyard|kvadratyard}}', |
| | 4079 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1|kvadratfot|kvadratfötter}}', |
| | 4080 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1|kvadrattum|kvadrattum}}', |
| | 4081 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1|kvadratisk nautisk mil|kvadratiska nautiska mil}}', |
| | 4082 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1|dunam|dunam}}', |
| | 4083 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1|tsubo|tsubo}}', |
| | 4084 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km<sup>2</sup>', |
| | 4085 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm<sup>2</sup>', |
| | 4086 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm<sup>2</sup>', |
| | 4087 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm<sup>2</sup>', |
| | 4088 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ha', |
| | 4089 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'kv mil', |
| | 4090 | + 'pfunc-convert-unit-area-acre-abbr' => 'tunnland', |
| | 4091 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'kv yd', |
| | 4092 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'kv ft', |
| | 4093 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'kv in', |
| | 4094 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'kv nmi', |
| | 4095 | + 'pfunc-convert-unit-area-dunam-abbr' => 'dunam', |
| | 4096 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'tsubo', |
| | 4097 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1|sekund|sekunder}}', |
| | 4098 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1|$2år|$2år}}', |
| | 4099 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1|dag|dagar}}', |
| | 4100 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1|timme|timmar}}', |
| | 4101 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1|minut|minuter}}', |
| | 4102 | + 'pfunc-convert-unit-time-second-abbr' => 's', |
| | 4103 | + 'pfunc-convert-unit-time-day-abbr' => 'dag', |
| | 4104 | + 'pfunc-convert-unit-time-hour-abbr' => 'tim', |
| | 4105 | + 'pfunc-convert-unit-time-minute-abbr' => 'min', |
| | 4106 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1|kubikmeter|kubikmeter}}', |
| | 4107 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1|kubikcentimeter|kubikcentimeter}}', |
| | 4108 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1|kubikmillimeter|kubikmillimeter}}', |
| | 4109 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1|kiloliter|kiloliter}}', |
| | 4110 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1|liter|liter}}', |
| | 4111 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1|centiliter|centiliter}}', |
| | 4112 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1|milliliter|milliliter}}', |
| | 4113 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1|kubikyard|kubikyards}}', |
| | 4114 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1|kubikfot|kubikfötter}}', |
| | 4115 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1|kubiktum|kubiktum}}', |
| | 4116 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1|fat|fat}}', |
| | 4117 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1|gallon|gallons}}', |
| | 4118 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1|quart|quarts}}', |
| | 4119 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1|pint|pints}}', |
| | 4120 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1|gallon (USA, våt)|gallon (USA, våt)}}', |
| | 4121 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1|quart (USA, våt)|quart (USA, våt)}}', |
| | 4122 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1|pint (USA, våt)|pint (USA, våt)}}', |
| | 4123 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1|gallon (USA, torr)|gallon (USA, torr)}}', |
| | 4124 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1|quart (USA, torr)|quart (USA, torr)}}', |
| | 4125 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1|pint (USA, torr)|pint (USA, torr)}}', |
| | 4126 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm<sup>3</sup>', |
| | 4127 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm<sup>3</sup>', |
| | 4128 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm<sup>3</sup>', |
| | 4129 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2l', |
| | 4130 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'gal', |
| | 4131 | + 'pfunc-convert-unit-speed-mile-hour' => 'miles per timme', |
| | 4132 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'mph', |
| | 4133 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1|$2pascal|$2pascal}}', |
| | 4134 | + 'pfunc-convert-unit-pressure-bar' => 'bar', |
| | 4135 | + 'pfunc-convert-unit-pressure-millibar' => 'millibar', |
| | 4136 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1|atmosfär|atmosfärer}}', |
| | 4137 | + 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1|torr|torr}}', |
| | 4138 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1|millimeter kvicksilver|millimeter kvicksilver}}', |
| | 4139 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1|tum kvicksilver|tum kvicksilver}}', |
| | 4140 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Pa', |
| | 4141 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| | 4142 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'mbar', |
| | 4143 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| | 4144 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'mmHg', |
| | 4145 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'psi', |
| 2368 | 4146 | ); |
| 2369 | 4147 | |
| 2370 | 4148 | /** Telugu (తెలుగు) |
| — | — | @@ -2613,6 +4391,195 @@ |
| 2614 | 4392 | 'pfunc_expr_unknown_error' => 'Lỗi biểu thức: Lỗi không rõ nguyên nhân ($1)', |
| 2615 | 4393 | 'pfunc_expr_not_a_number' => 'Trong $1: kết quả không phải là kiểu số', |
| 2616 | 4394 | 'pfunc_string_too_long' => 'Lỗi: Chuỗi vượt quá giới hạn $1 ký tự', |
| | 4395 | + 'pfunc-convert-dimensionmismatch' => 'Lỗi: Không thể chuyển đổi giữa các đơn vị “$1” và “$2”.', |
| | 4396 | + 'pfunc-convert-unknownunit' => 'Lỗi: Không hiểu đơn vị “$1”.', |
| | 4397 | + 'pfunc-convert-unknowndimension' => 'Lỗi: Không hiểu kích thước “$1”.', |
| | 4398 | + 'pfunc-convert-invalidcompoundunit' => 'Lỗi: Đơn vị ghép “$1” không hợp lệ.', |
| | 4399 | + 'pfunc-convert-nounit' => 'Lỗi: Không đưa vào đơn vị nguồn.', |
| | 4400 | + 'pfunc-convert-doublecompoundunit' => 'Lỗi: Không thể phân tích các đơn vị ghép đúp như “$1”.', |
| | 4401 | + 'pfunc-convert-dimension-length' => 'chiều dài', |
| | 4402 | + 'pfunc-convert-dimension-area' => 'diện tích', |
| | 4403 | + 'pfunc-convert-dimension-volume' => 'thể tích', |
| | 4404 | + 'pfunc-convert-dimension-time' => 'thời gian', |
| | 4405 | + 'pfunc-convert-dimension-timesquared' => 'thời gian²', |
| | 4406 | + 'pfunc-convert-dimension-mass' => 'khối lượng', |
| | 4407 | + 'pfunc-convert-dimension-speed' => 'tốc độ', |
| | 4408 | + 'pfunc-convert-dimension-temperature' => 'nhiệt độ', |
| | 4409 | + 'pfunc-convert-dimension-acceleration' => 'gia tốc', |
| | 4410 | + 'pfunc-convert-dimension-force' => 'lực lượng', |
| | 4411 | + 'pfunc-convert-dimension-torque' => 'mô men lực', |
| | 4412 | + 'pfunc-convert-dimension-energy' => 'năng lượng', |
| | 4413 | + 'pfunc-convert-dimension-power' => 'công suất', |
| | 4414 | + 'pfunc-convert-dimension-pressure' => 'áp suất', |
| | 4415 | + 'pfunc-convert-dimension-density' => 'mật độ', |
| | 4416 | + 'pfunc-convert-dimension-fuelefficiencypositive' => 'hiệu quả nhiên liệu dương', |
| | 4417 | + 'pfunc-convert-dimension-fuelefficiencynegative' => 'hiệu quả nhiên liệu âm', |
| | 4418 | + 'pfunc-convert-prefix-yotta' => 'yôta', |
| | 4419 | + 'pfunc-convert-prefix-zetta' => 'zêta', |
| | 4420 | + 'pfunc-convert-prefix-exa' => 'exa', |
| | 4421 | + 'pfunc-convert-prefix-peta' => 'pêta', |
| | 4422 | + 'pfunc-convert-prefix-tera' => 'têra', |
| | 4423 | + 'pfunc-convert-prefix-giga' => 'giga', |
| | 4424 | + 'pfunc-convert-prefix-mega' => 'mêga', |
| | 4425 | + 'pfunc-convert-prefix-kilo' => 'kilô', |
| | 4426 | + 'pfunc-convert-prefix-hecto' => 'hêctô', |
| | 4427 | + 'pfunc-convert-prefix-deca' => 'đềca', |
| | 4428 | + 'pfunc-convert-prefix-deci' => 'đêxi', |
| | 4429 | + 'pfunc-convert-prefix-centi' => 'xenti', |
| | 4430 | + 'pfunc-convert-prefix-milli' => 'milli', |
| | 4431 | + 'pfunc-convert-prefix-micro' => 'micrô', |
| | 4432 | + 'pfunc-convert-prefix-nano' => 'nanô', |
| | 4433 | + 'pfunc-convert-prefix-pico' => 'picô', |
| | 4434 | + 'pfunc-convert-prefix-femto' => 'femtô', |
| | 4435 | + 'pfunc-convert-prefix-atto' => 'atô', |
| | 4436 | + 'pfunc-convert-prefix-zepto' => 'zéptô', |
| | 4437 | + 'pfunc-convert-prefix-yocto' => 'yóctô', |
| | 4438 | + 'pfunc-convert-unit-length-metre' => '{{PLURAL:$1}}$2mét', |
| | 4439 | + 'pfunc-convert-unit-length-angstrom' => '{{PLURAL:$1}}ångström', |
| | 4440 | + 'pfunc-convert-unit-length-mile' => '{{PLURAL:$1}}dặm', |
| | 4441 | + 'pfunc-convert-unit-length-furlong' => '{{PLURAL:$1}}furlong', |
| | 4442 | + 'pfunc-convert-unit-length-chain' => '{{PLURAL:$1}}chain', |
| | 4443 | + 'pfunc-convert-unit-length-rod' => '{{PLURAL:$1}}rod', |
| | 4444 | + 'pfunc-convert-unit-length-fathom' => '{{PLURAL:$1}}fathom', |
| | 4445 | + 'pfunc-convert-unit-length-yard' => '{{PLURAL:$1}}yard', |
| | 4446 | + 'pfunc-convert-unit-length-foot' => '{{PLURAL:$1}}foot', |
| | 4447 | + 'pfunc-convert-unit-length-hand' => '{{PLURAL:$1}}hand', |
| | 4448 | + 'pfunc-convert-unit-length-inch' => '{{PLURAL:$1}}inch', |
| | 4449 | + 'pfunc-convert-unit-length-nauticalmile' => '{{PLURAL:$1}}hải lý', |
| | 4450 | + 'pfunc-convert-unit-length-nauticalmileuk' => '{{PLURAL:$1}}hải lý (Anh trước 1970)', |
| | 4451 | + 'pfunc-convert-unit-length-nauticalmileus' => '{{PLURAL:$1}}hải lý (Mỹ trước 1954)', |
| | 4452 | + 'pfunc-convert-unit-length-parsec' => '{{PLURAL:$1}}$2parsec', |
| | 4453 | + 'pfunc-convert-unit-length-lightyear' => '{{PLURAL:$1}}$2 năm ánh sáng', |
| | 4454 | + 'pfunc-convert-unit-length-astronomicalunit' => '{{PLURAL:$1}}đơn vị thiên văn', |
| | 4455 | + 'pfunc-convert-unit-length-furlong-abbr' => 'furlong', |
| | 4456 | + 'pfunc-convert-unit-length-chain-abbr' => 'chain', |
| | 4457 | + 'pfunc-convert-unit-length-rod-abbr' => 'rd', |
| | 4458 | + 'pfunc-convert-unit-length-fathom-abbr' => 'fathom', |
| | 4459 | + 'pfunc-convert-unit-length-yard-abbr' => 'yd', |
| | 4460 | + 'pfunc-convert-unit-length-foot-abbr' => 'ft', |
| | 4461 | + 'pfunc-convert-unit-length-hand-abbr' => 'h', |
| | 4462 | + 'pfunc-convert-unit-length-inch-abbr' => 'in', |
| | 4463 | + 'pfunc-convert-unit-length-nauticalmile-abbr' => 'nmi', |
| | 4464 | + 'pfunc-convert-unit-length-nauticalmileuk-abbr' => 'nmi (Anh)', |
| | 4465 | + 'pfunc-convert-unit-length-nauticalmileus-abbr' => 'nmi (Mỹ trước 1954)', |
| | 4466 | + 'pfunc-convert-unit-length-parsec-abbr' => '$2pc', |
| | 4467 | + 'pfunc-convert-unit-length-lightyear-abbr' => '$2ly', |
| | 4468 | + 'pfunc-convert-unit-length-astronomicalunit-abbr' => 'ua', |
| | 4469 | + 'pfunc-convert-unit-area-squarekilometre' => '{{PLURAL:$1}}kilômét vuông', |
| | 4470 | + 'pfunc-convert-unit-area-squaremetre' => '{{PLURAL:$1}}mét vuông', |
| | 4471 | + 'pfunc-convert-unit-area-squarecentimetre' => '{{PLURAL:$1}}xentimét vuông', |
| | 4472 | + 'pfunc-convert-unit-area-squaremillimetre' => '{{PLURAL:$1}}millimét vuông', |
| | 4473 | + 'pfunc-convert-unit-area-hectare' => '{{PLURAL:$1}}hecta', |
| | 4474 | + 'pfunc-convert-unit-area-squaremile' => '{{PLURAL:$1}}dặm vuông', |
| | 4475 | + 'pfunc-convert-unit-area-acre' => '{{PLURAL:$1}}mẫu Anh', |
| | 4476 | + 'pfunc-convert-unit-area-squareyard' => '{{PLURAL:$1}}yard vuông', |
| | 4477 | + 'pfunc-convert-unit-area-squarefoot' => '{{PLURAL:$1}}foot vuông', |
| | 4478 | + 'pfunc-convert-unit-area-squareinch' => '{{PLURAL:$1}}inch vuông', |
| | 4479 | + 'pfunc-convert-unit-area-squarenauticalmile' => '{{PLURAL:$1}}hải lý vuông', |
| | 4480 | + 'pfunc-convert-unit-area-dunam' => '{{PLURAL:$1}}dunam', |
| | 4481 | + 'pfunc-convert-unit-area-tsubo' => '{{PLURAL:$1}}tsubo', |
| | 4482 | + 'pfunc-convert-unit-area-squarekilometre-abbr' => 'km²', |
| | 4483 | + 'pfunc-convert-unit-area-squaremetre-abbr' => 'm²', |
| | 4484 | + 'pfunc-convert-unit-area-squarecentimetre-abbr' => 'cm²', |
| | 4485 | + 'pfunc-convert-unit-area-squaremillimetre-abbr' => 'mm²', |
| | 4486 | + 'pfunc-convert-unit-area-hectare-abbr' => 'ha', |
| | 4487 | + 'pfunc-convert-unit-area-squaremile-abbr' => 'sq mi', |
| | 4488 | + 'pfunc-convert-unit-area-acre-abbr' => 'mẫu', |
| | 4489 | + 'pfunc-convert-unit-area-squareyard-abbr' => 'sq yd', |
| | 4490 | + 'pfunc-convert-unit-area-squarefoot-abbr' => 'sq ft', |
| | 4491 | + 'pfunc-convert-unit-area-squareinch-abbr' => 'sq in', |
| | 4492 | + 'pfunc-convert-unit-area-squarenauticalmile-abbr' => 'sq nmi', |
| | 4493 | + 'pfunc-convert-unit-area-dunam-abbr' => 'dunam', |
| | 4494 | + 'pfunc-convert-unit-area-tsubo-abbr' => 'tsubo', |
| | 4495 | + 'pfunc-convert-unit-time-second' => '{{PLURAL:$1}}giây', |
| | 4496 | + 'pfunc-convert-unit-time-year' => '{{PLURAL:$1}}$2 năm', |
| | 4497 | + 'pfunc-convert-unit-time-day' => '{{PLURAL:$1}}ngày', |
| | 4498 | + 'pfunc-convert-unit-time-hour' => '{{PLURAL:$1}}giờ', |
| | 4499 | + 'pfunc-convert-unit-time-minute' => '{{PLURAL:$1}}phút', |
| | 4500 | + 'pfunc-convert-unit-time-second-abbr' => 's', |
| | 4501 | + 'pfunc-convert-unit-time-year-abbr' => '$2yr', |
| | 4502 | + 'pfunc-convert-unit-time-day-abbr' => 'ngày', |
| | 4503 | + 'pfunc-convert-unit-time-hour-abbr' => 'h', |
| | 4504 | + 'pfunc-convert-unit-time-minute-abbr' => 'min', |
| | 4505 | + 'pfunc-convert-unit-volume-cubicmetre' => '{{PLURAL:$1}}mét khối', |
| | 4506 | + 'pfunc-convert-unit-volume-cubiccentimetre' => '{{PLURAL:$1}}xentimét khối', |
| | 4507 | + 'pfunc-convert-unit-volume-cubicmillimetre' => '{{PLURAL:$1}}millimét khối', |
| | 4508 | + 'pfunc-convert-unit-volume-kilolitre' => '{{PLURAL:$1}}kilôlít', |
| | 4509 | + 'pfunc-convert-unit-volume-litre' => '{{PLURAL:$1}}lít', |
| | 4510 | + 'pfunc-convert-unit-volume-centilitre' => '{{PLURAL:$1}}xentilít', |
| | 4511 | + 'pfunc-convert-unit-volume-millilitre' => '{{PLURAL:$1}}millilít', |
| | 4512 | + 'pfunc-convert-unit-volume-cubicyard' => '{{PLURAL:$1}}yard khối', |
| | 4513 | + 'pfunc-convert-unit-volume-cubicfoot' => '{{PLURAL:$1}}foot khối', |
| | 4514 | + 'pfunc-convert-unit-volume-cubicinch' => '{{PLURAL:$1}}inch khối', |
| | 4515 | + 'pfunc-convert-unit-volume-barrel' => '{{PLURAL:$1}}thùng', |
| | 4516 | + 'pfunc-convert-unit-volume-bushel' => '{{PLURAL:$1}}giạ', |
| | 4517 | + 'pfunc-convert-unit-volume-gallon' => '{{PLURAL:$1}}gallon', |
| | 4518 | + 'pfunc-convert-unit-volume-quart' => '{{PLURAL:$1}}quart', |
| | 4519 | + 'pfunc-convert-unit-volume-pint' => '{{PLURAL:$1}}pint', |
| | 4520 | + 'pfunc-convert-unit-volume-fluidounce' => '{{PLURAL:$1}}aoxơ chất lỏng', |
| | 4521 | + 'pfunc-convert-unit-volume-barrelus' => '{{PLURAL:$1}}thùng Mỹ', |
| | 4522 | + 'pfunc-convert-unit-volume-barreloil' => '{{PLURAL:$1}}thùng', |
| | 4523 | + 'pfunc-convert-unit-volume-barrelbeer' => '{{PLURAL:$1}}thùng', |
| | 4524 | + 'pfunc-convert-unit-volume-usgallon' => '{{PLURAL:$1}}gallon Mỹ', |
| | 4525 | + 'pfunc-convert-unit-volume-usquart' => '{{PLURAL:$1}}quart Mỹ', |
| | 4526 | + 'pfunc-convert-unit-volume-uspint' => '{{PLURAL:$1}}pint Mỹ', |
| | 4527 | + 'pfunc-convert-unit-volume-usfluidounce' => '{{PLURAL:$1}}aoxơ chất lỏng Mỹ', |
| | 4528 | + 'pfunc-convert-unit-volume-usdrybarrel' => '{{PLURAL:$1}}thùng chất khô Mỹ', |
| | 4529 | + 'pfunc-convert-unit-volume-usbushel' => '{{PLURAL:$1}}thùng Mỹ', |
| | 4530 | + 'pfunc-convert-unit-volume-usdrygallon' => '{{PLURAL:$1}}gallon chất khô Mỹ', |
| | 4531 | + 'pfunc-convert-unit-volume-usdryquart' => '{{PLURAL:$1}}quart chất khô Mỹ', |
| | 4532 | + 'pfunc-convert-unit-volume-usdrypint' => '{{PLURAL:$1}}pint chất khô Mỹ', |
| | 4533 | + 'pfunc-convert-unit-volume-cubicmetre-abbr' => 'm³', |
| | 4534 | + 'pfunc-convert-unit-volume-cubiccentimetre-abbr' => 'cm³', |
| | 4535 | + 'pfunc-convert-unit-volume-cubicmillimetre-abbr' => 'mm³', |
| | 4536 | + 'pfunc-convert-unit-volume-litre-abbr' => '$2l', |
| | 4537 | + 'pfunc-convert-unit-volume-cubicyard-abbr' => 'cu yd', |
| | 4538 | + 'pfunc-convert-unit-volume-cubicfoot-abbr' => 'cu ft', |
| | 4539 | + 'pfunc-convert-unit-volume-cubicinch-abbr' => 'cu in', |
| | 4540 | + 'pfunc-convert-unit-volume-barrel-abbr' => 'bbl', |
| | 4541 | + 'pfunc-convert-unit-volume-bushel-abbr' => 'bsh', |
| | 4542 | + 'pfunc-convert-unit-volume-gallon-abbr' => 'gal', |
| | 4543 | + 'pfunc-convert-unit-volume-quart-abbr' => 'qt', |
| | 4544 | + 'pfunc-convert-unit-volume-pint-abbr' => 'pt', |
| | 4545 | + 'pfunc-convert-unit-volume-fluidounce-abbr' => 'fl oz', |
| | 4546 | + 'pfunc-convert-unit-volume-barrelus-abbr' => 'bbl Mỹ', |
| | 4547 | + 'pfunc-convert-unit-volume-barreloil-abbr' => 'bbl', |
| | 4548 | + 'pfunc-convert-unit-volume-barrelbeer-abbr' => 'bbl', |
| | 4549 | + 'pfunc-convert-unit-volume-usgallon-abbr' => 'gal Mỹ', |
| | 4550 | + 'pfunc-convert-unit-volume-usquart-abbr' => 'qt Mỹ', |
| | 4551 | + 'pfunc-convert-unit-volume-uspint-abbr' => 'pt Mỹ', |
| | 4552 | + 'pfunc-convert-unit-volume-usfluidounce-abbr' => 'fl oz Mỹ', |
| | 4553 | + 'pfunc-convert-unit-volume-usdrybarrel-abbr' => 'bbl Mỹ', |
| | 4554 | + 'pfunc-convert-unit-volume-usbushel-abbr' => 'bsh Mỹ', |
| | 4555 | + 'pfunc-convert-unit-volume-usdrygallon-abbr' => 'dry gal Mỹ', |
| | 4556 | + 'pfunc-convert-unit-volume-usdryquart-abbr' => 'dry qt Mỹ', |
| | 4557 | + 'pfunc-convert-unit-volume-usdrypint-abbr' => 'dry pt Mỹ', |
| | 4558 | + 'pfunc-convert-unit-speed-mile-hour' => 'dặm một giờ', |
| | 4559 | + 'pfunc-convert-unit-speed-speedoflight' => 'c', |
| | 4560 | + 'pfunc-convert-unit-speed-mile-hour-abbr' => 'mph', |
| | 4561 | + 'pfunc-convert-unit-speed-speedoflight-abbr' => 'c', |
| | 4562 | + 'pfunc-convert-unit-pressure-pascal' => '{{PLURAL:$1}}$2pascal', |
| | 4563 | + 'pfunc-convert-unit-pressure-bar' => 'ba', |
| | 4564 | + 'pfunc-convert-unit-pressure-decibar' => 'đêxiba', |
| | 4565 | + 'pfunc-convert-unit-pressure-millibar' => 'milliba', |
| | 4566 | + 'pfunc-convert-unit-pressure-kilobarye' => 'kilôbarye', |
| | 4567 | + 'pfunc-convert-unit-pressure-barye' => 'barye', |
| | 4568 | + 'pfunc-convert-unit-pressure-atmosphere' => '{{PLURAL:$1}}atmôtphe', |
| | 4569 | + 'pfunc-convert-unit-pressure-torr' => '{{PLURAL:$1}}torr', |
| | 4570 | + 'pfunc-convert-unit-pressure-mmhg' => '{{PLURAL:$1}}millimét thủy ngân', |
| | 4571 | + 'pfunc-convert-unit-pressure-inhg' => '{{PLURAL:$1}}inch thủy ngân', |
| | 4572 | + 'pfunc-convert-unit-pressure-psi' => '{{PLURAL:$1}}pound một inch vuông', |
| | 4573 | + 'pfunc-convert-unit-pressure-pascal-abbr' => '$2Pa', |
| | 4574 | + 'pfunc-convert-unit-pressure-bar-abbr' => 'bar', |
| | 4575 | + 'pfunc-convert-unit-pressure-decibar-abbr' => 'dbar', |
| | 4576 | + 'pfunc-convert-unit-pressure-millibar-abbr' => 'mbar', |
| | 4577 | + 'pfunc-convert-unit-pressure-kilobarye-abbr' => 'kBa', |
| | 4578 | + 'pfunc-convert-unit-pressure-barye-abbr' => 'Ba', |
| | 4579 | + 'pfunc-convert-unit-pressure-atmosphere-abbr' => 'atm', |
| | 4580 | + 'pfunc-convert-unit-pressure-torr-abbr' => 'Torr', |
| | 4581 | + 'pfunc-convert-unit-pressure-mmhg-abbr' => 'mmHg', |
| | 4582 | + 'pfunc-convert-unit-pressure-inhg-abbr' => 'inHg', |
| | 4583 | + 'pfunc-convert-unit-pressure-psi-abbr' => 'psi', |
| 2617 | 4584 | ); |
| 2618 | 4585 | |
| 2619 | 4586 | /** Volapük (Volapük) |
| Index: branches/REL1_18/phase3/maintenance/refreshImageMetadata.php |
| — | — | @@ -0,0 +1,199 @@ |
| | 2 | +<?php |
| | 3 | +/** |
| | 4 | + * Script to refresh image metadata fields. See also rebuildImages.php |
| | 5 | + * |
| | 6 | + * Usage: php refreshImageMetadata.php |
| | 7 | + * |
| | 8 | + * Copyright © 2011 Brian Wolff |
| | 9 | + * http://www.mediawiki.org/ |
| | 10 | + * |
| | 11 | + * This program is free software; you can redistribute it and/or modify |
| | 12 | + * it under the terms of the GNU General Public License as published by |
| | 13 | + * the Free Software Foundation; either version 2 of the License, or |
| | 14 | + * (at your option) any later version. |
| | 15 | + * |
| | 16 | + * This program is distributed in the hope that it will be useful, |
| | 17 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| | 18 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| | 19 | + * GNU General Public License for more details. |
| | 20 | + * |
| | 21 | + * You should have received a copy of the GNU General Public License along |
| | 22 | + * with this program; if not, write to the Free Software Foundation, Inc., |
| | 23 | + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| | 24 | + * http://www.gnu.org/copyleft/gpl.html |
| | 25 | + * |
| | 26 | + * @file |
| | 27 | + * @author Brian Wolff |
| | 28 | + * @ingroup maintenance |
| | 29 | + */ |
| | 30 | + |
| | 31 | +require_once( dirname( __FILE__ ) . '/Maintenance.php' ); |
| | 32 | + |
| | 33 | +class RefreshImageMetadata extends Maintenance { |
| | 34 | + |
| | 35 | + /** |
| | 36 | + * @var DatabaseBase |
| | 37 | + */ |
| | 38 | + protected $dbw; |
| | 39 | + |
| | 40 | + function __construct() { |
| | 41 | + parent::__construct(); |
| | 42 | + |
| | 43 | + $this->mDescription = 'Script to update image metadata records'; |
| | 44 | + $this->setBatchSize( 200 ); |
| | 45 | + |
| | 46 | + $this->addOption( 'force', 'Reload metadata from file even if the metadata looks ok', false, false, 'f' ); |
| | 47 | + $this->addOption( 'broken-only', 'Only fix really broken records, leave old but still compatible records alone.' ); |
| | 48 | + $this->addOption( 'verbose', 'Output extra information about each upgraded/non-upgraded file.', false, false, 'v' ); |
| | 49 | + $this->addOption( 'start', 'Name of file to start with', false, true ); |
| | 50 | + $this->addOption( 'end', 'Name of file to end with', false, true ); |
| | 51 | + |
| | 52 | + $this->addOption( 'mime', '(Inefficient!) Only refresh files with this mime type. Can accept wild-card image/*' , false, true ); |
| | 53 | + $this->addOption( 'metadata-contains', '(Inefficient!) Only refresh files where the img_metadata field contains this string. Can be used if its known a specific property was being extracted incorrectly.', false, true ); |
| | 54 | + |
| | 55 | + } |
| | 56 | + |
| | 57 | + public function execute() { |
| | 58 | + $force = $this->hasOption( 'force' ); |
| | 59 | + $brokenOnly = $this->hasOption( 'broken-only' ); |
| | 60 | + $verbose = $this->hasOption( 'verbose' ); |
| | 61 | + $start = $this->getOption( 'start', false ); |
| | 62 | + $this->setupParameters( $force, $brokenOnly ); |
| | 63 | + |
| | 64 | + $upgraded = 0; |
| | 65 | + $leftAlone = 0; |
| | 66 | + $error = 0; |
| | 67 | + |
| | 68 | + $dbw = wfGetDB( DB_MASTER ); |
| | 69 | + if ( $this->mBatchSize <= 0 ) { |
| | 70 | + $this->error( "Batch size is too low...", 12 ); |
| | 71 | + } |
| | 72 | + |
| | 73 | + $repo = RepoGroup::singleton()->getLocalRepo(); |
| | 74 | + $conds = $this->getConditions( $dbw ); |
| | 75 | + |
| | 76 | + // For the WHERE img_name > 'foo' condition that comes after doing a batch |
| | 77 | + $conds2 = array(); |
| | 78 | + if ( $start !== false ) { |
| | 79 | + $conds2[] = 'img_name >= ' . $dbw->addQuotes( $start ); |
| | 80 | + } |
| | 81 | + |
| | 82 | + $options = array( |
| | 83 | + 'LIMIT' => $this->mBatchSize, |
| | 84 | + 'ORDER BY' => 'img_name ASC', |
| | 85 | + ); |
| | 86 | + |
| | 87 | + do { |
| | 88 | + $res = $dbw->select( |
| | 89 | + 'image', |
| | 90 | + '*', |
| | 91 | + array_merge( $conds, $conds2 ), |
| | 92 | + __METHOD__, |
| | 93 | + $options |
| | 94 | + ); |
| | 95 | + |
| | 96 | + if ( $res->numRows() > 0 ) { |
| | 97 | + $row1 = $res->current(); |
| | 98 | + $this->output( "Processing next {$this->mBatchSize} rows starting with {$row1->img_name}.\n"); |
| | 99 | + $res->rewind(); |
| | 100 | + } else { |
| | 101 | + $this->error( "No images to process.", 4 ); |
| | 102 | + } |
| | 103 | + |
| | 104 | + foreach ( $res as $row ) { |
| | 105 | + $file = $repo->newFileFromRow( $row ); |
| | 106 | + if ( $file->getUpgraded() ) { |
| | 107 | + // File was upgraded. |
| | 108 | + $upgraded++; |
| | 109 | + $newLength = strlen( $file->getMetadata() ); |
| | 110 | + $oldLength = strlen( $row->img_metadata ); |
| | 111 | + if ( $newLength < $oldLength - 5 ) { |
| | 112 | + // If after updating, the metadata is smaller then |
| | 113 | + // what it was before, that's probably not a good thing |
| | 114 | + // because we extract more data with time, not less. |
| | 115 | + // Thus this probably indicates an error of some sort, |
| | 116 | + // or at the very least is suspicious. Have the - 5 just |
| | 117 | + // to weed out any inconsequential changes. |
| | 118 | + $error++; |
| | 119 | + $this->output( "Warning: File:{$row->img_name} used to have " . |
| | 120 | + "$oldLength bytes of metadata but now has $newLength bytes.\n" ); |
| | 121 | + } elseif ( $verbose ) { |
| | 122 | + $this->output("Refreshed File:{$row->img_name}.\n" ); |
| | 123 | + } |
| | 124 | + } else { |
| | 125 | + $leftAlone++; |
| | 126 | + if ( $force ) { |
| | 127 | + $file->upgradeRow(); |
| | 128 | + $newLength = strlen( $file->getMetadata() ); |
| | 129 | + $oldLength = strlen( $row->img_metadata ); |
| | 130 | + if ( $newLength < $oldLength - 5 ) { |
| | 131 | + $error++; |
| | 132 | + $this->output( "Warning: File:{$row->img_name} used to have " . |
| | 133 | + "$oldLength bytes of metadata but now has $newLength bytes. (forced)\n" ); |
| | 134 | + |
| | 135 | + } |
| | 136 | + if ( $verbose ) { |
| | 137 | + $this->output("Forcibly refreshed File:{$row->img_name}.\n" ); |
| | 138 | + } |
| | 139 | + } |
| | 140 | + else { |
| | 141 | + if ( $verbose ) { |
| | 142 | + $this->output( "Skipping File:{$row->img_name}.\n" ); |
| | 143 | + } |
| | 144 | + } |
| | 145 | + } |
| | 146 | + |
| | 147 | + } |
| | 148 | + $conds2 = array( 'img_name > ' . $dbw->addQuotes( $row->img_name ) ); |
| | 149 | + wfWaitForSlaves(); |
| | 150 | + } while( $res->numRows() === $this->mBatchSize ); |
| | 151 | + |
| | 152 | + $total = $upgraded + $leftAlone; |
| | 153 | + if ( $force ) { |
| | 154 | + $this->output( "\nFinished refreshing file metadata for $total files. $upgraded needed to be refreshed, $leftAlone did not need to be but were refreshed anyways, and $error refreshes were suspicious.\n" ); |
| | 155 | + } else { |
| | 156 | + $this->output( "\nFinished refreshing file metadata for $total files. $upgraded were refreshed, $leftAlone were already up to date, and $error refreshes were suspicious.\n" ); |
| | 157 | + } |
| | 158 | + } |
| | 159 | + |
| | 160 | + function getConditions( $dbw ) { |
| | 161 | + $conds = array(); |
| | 162 | + |
| | 163 | + $end = $this->getOption( 'end', false ); |
| | 164 | + $mime = $this->getOption( 'mime', false ); |
| | 165 | + $like = $this->getOption( 'metadata-contains', false ); |
| | 166 | + |
| | 167 | + if ( $end !== false ) { |
| | 168 | + $conds[] = 'img_name <= ' . $dbw->addQuotes( $end ) ; |
| | 169 | + } |
| | 170 | + if ( $mime !== false ) { |
| | 171 | + list( $major, $minor ) = File::splitMime( $mime ); |
| | 172 | + $conds['img_major_mime'] = $major; |
| | 173 | + if ( $minor !== '*' ) { |
| | 174 | + $conds['img_minor_mime'] = $minor; |
| | 175 | + } |
| | 176 | + } |
| | 177 | + if ( $like ) { |
| | 178 | + $conds[] = 'img_metadata ' . $dbw->buildLike( $dbw->anyString(), $like, $dbw->anyString() ); |
| | 179 | + } |
| | 180 | + return $conds; |
| | 181 | + } |
| | 182 | + |
| | 183 | + function setupParameters( $force, $brokenOnly ) { |
| | 184 | + global $wgUpdateCompatibleMetadata, $wgReadOnly; |
| | 185 | + |
| | 186 | + if ( $brokenOnly ) { |
| | 187 | + $wgUpdateCompatibleMetadata = false; |
| | 188 | + } else { |
| | 189 | + $wgUpdateCompatibleMetadata = true; |
| | 190 | + } |
| | 191 | + |
| | 192 | + if ( $brokenOnly && $force ) { |
| | 193 | + $this->error( 'Cannot use --broken-only and --force together. ', 2 ); |
| | 194 | + } |
| | 195 | + } |
| | 196 | +} |
| | 197 | + |
| | 198 | + |
| | 199 | +$maintClass = 'RefreshImageMetadata'; |
| | 200 | +require_once( RUN_MAINTENANCE_IF_MAIN ); |
| Property changes on: branches/REL1_18/phase3/maintenance/refreshImageMetadata.php |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| 1 | 201 | + native |
| Index: branches/REL1_18/phase3/maintenance/Maintenance.php |
| — | — | @@ -697,7 +697,7 @@ |
| 698 | 698 | $this->mQuiet = true; |
| 699 | 699 | } |
| 700 | 700 | if ( $this->hasOption( 'batch-size' ) ) { |
| 701 | | - $this->mBatchSize = $this->getOption( 'batch-size' ); |
| | 701 | + $this->mBatchSize = intval( $this->getOption( 'batch-size' ) ); |
| 702 | 702 | } |
| 703 | 703 | } |
| 704 | 704 | |
| Index: branches/REL1_18/phase3/skins/monobook/main.css |
| — | — | @@ -1245,8 +1245,8 @@ |
| 1246 | 1246 | } |
| 1247 | 1247 | |
| 1248 | 1248 | /* God-damned hack for the crappy layout */ |
| 1249 | | -.ui-autocomplete { |
| 1250 | | - font-size: 127%!important; |
| | 1249 | +.os-suggest { |
| | 1250 | + font-size: 127%; |
| 1251 | 1251 | } |
| 1252 | 1252 | |
| 1253 | 1253 | /* Sometimes people don't want personal tools to be lowercase! */ |
| Index: branches/REL1_18/phase3/skins/common/commonPrint.css |
| — | — | @@ -127,7 +127,7 @@ |
| 128 | 128 | li#disclaimer, |
| 129 | 129 | li#privacy, |
| 130 | 130 | #footer-places, |
| 131 | | -#catlinks { |
| | 131 | +#mw-hidden-catlinks { |
| 132 | 132 | /* Hides all the elements irrelevant for printing */ |
| 133 | 133 | display: none; |
| 134 | 134 | } |
| Index: branches/REL1_18/phase3/skins/common/shared.css |
| — | — | @@ -221,26 +221,62 @@ |
| 222 | 222 | /* |
| 223 | 223 | * OpenSearch ajax suggestions |
| 224 | 224 | */ |
| 225 | | -.open-search-suggestions .ui-autocomplete { |
| 226 | | - font-size: 95%; |
| 227 | | - border: 1px solid #AAA!important; |
| | 225 | +.os-suggest { |
| 228 | 226 | overflow: auto; |
| 229 | | - height: 100px; |
| 230 | | - background: #FFF; |
| 231 | | - background: Window; |
| | 227 | + overflow-x: hidden; |
| | 228 | + position: absolute; |
| | 229 | + top: 0px; |
| | 230 | + left: 0px; |
| | 231 | + width: 0px; |
| | 232 | + background-color: white; |
| | 233 | + background-color: Window; |
| | 234 | + border-style: solid; |
| | 235 | + border-color: #AAAAAA; |
| | 236 | + border-width: 1px; |
| | 237 | + z-index:99; |
| | 238 | + font-size:95%; |
| 232 | 239 | } |
| 233 | | -.open-search-suggestions .ui-autocomplete #ui-active-menuitem { |
| 234 | | - background: #4C59A6; |
| 235 | | - background: Highlight; |
| | 240 | + |
| | 241 | +table.os-suggest-results { |
| | 242 | + font-size: 95%; |
| | 243 | + cursor: pointer; |
| | 244 | + border: 0; |
| | 245 | + border-collapse: collapse; |
| | 246 | + width: 100%; |
| | 247 | +} |
| | 248 | + |
| | 249 | +.os-suggest-result, .os-suggest-result-hl { |
| | 250 | + white-space: nowrap; |
| | 251 | + background-color: white; |
| | 252 | + background-color: Window; |
| | 253 | + color: black; |
| | 254 | + color: WindowText; |
| | 255 | + padding: 2px; |
| | 256 | +} |
| | 257 | +.os-suggest-result-hl, |
| | 258 | +.os-suggest-result-hl-webkit { |
| | 259 | + background-color: #4C59A6; |
| 236 | 260 | color: white; |
| | 261 | +} |
| | 262 | +.os-suggest-result-hl { |
| | 263 | + /* System colors are misimplemented in Safari 3.0 and earlier, |
| | 264 | + making highlighted text illegible... */ |
| | 265 | + background-color: Highlight; |
| 237 | 266 | color: HighlightText; |
| 238 | | - border-color: #4C59A6; |
| 239 | | - border-color: Highlight; |
| 240 | 267 | } |
| 241 | | -.open-search-suggestions .ui-autocomplete .ui-menu-item a{ |
| 242 | | - line-height: 1.1!important; |
| 243 | | - font-size: 95%; |
| | 268 | + |
| | 269 | +.os-suggest-toggle { |
| | 270 | + position: relative; |
| | 271 | + left: 1ex; |
| | 272 | + font-size: 65%; |
| 244 | 273 | } |
| | 274 | +.os-suggest-toggle-def { |
| | 275 | + position: absolute; |
| | 276 | + top: 0px; |
| | 277 | + left: 0px; |
| | 278 | + font-size: 65%; |
| | 279 | + visibility: hidden; |
| | 280 | +} |
| 245 | 281 | |
| 246 | 282 | /* Page history styling */ |
| 247 | 283 | /* the auto-generated edit comments */ |
| Index: branches/REL1_18/phase3/skins/common/mwsuggest.js |
| — | — | @@ -0,0 +1,1066 @@ |
| | 2 | +/* |
| | 3 | + * OpenSearch ajax suggestion engine for MediaWiki |
| | 4 | + * |
| | 5 | + * uses core MediaWiki open search support to fetch suggestions |
| | 6 | + * and show them below search boxes and other inputs |
| | 7 | + * |
| | 8 | + * by Robert Stojnic (April 2008) |
| | 9 | + */ |
| | 10 | + |
| | 11 | +// Make sure wgMWSuggestTemplate is defined |
| | 12 | +if ( !mw.config.exists( 'wgMWSuggestTemplate' ) ) { |
| | 13 | + mw.config.set( 'wgMWSuggestTemplate', mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) |
| | 14 | + + "/api.php?action=opensearch\x26search={searchTerms}\x26namespace={namespaces}\x26suggest" ); |
| | 15 | +} |
| | 16 | + |
| | 17 | +// search_box_id -> Results object |
| | 18 | +window.os_map = {}; |
| | 19 | +// cached data, url -> json_text |
| | 20 | +window.os_cache = {}; |
| | 21 | +// global variables for suggest_keypress |
| | 22 | +window.os_cur_keypressed = 0; |
| | 23 | +window.os_keypressed_count = 0; |
| | 24 | +// type: Timer |
| | 25 | +window.os_timer = null; |
| | 26 | +// tie mousedown/up events |
| | 27 | +window.os_mouse_pressed = false; |
| | 28 | +window.os_mouse_num = -1; |
| | 29 | +// if true, the last change was made by mouse (and not keyboard) |
| | 30 | +window.os_mouse_moved = false; |
| | 31 | +// delay between keypress and suggestion (in ms) |
| | 32 | +window.os_search_timeout = 250; |
| | 33 | +// these pairs of inputs/forms will be autoloaded at startup |
| | 34 | +window.os_autoload_inputs = new Array('searchInput', 'searchInput2', 'powerSearchText', 'searchText'); |
| | 35 | +window.os_autoload_forms = new Array('searchform', 'searchform2', 'powersearch', 'search' ); |
| | 36 | +// if we stopped the service |
| | 37 | +window.os_is_stopped = false; |
| | 38 | +// max lines to show in suggest table |
| | 39 | +window.os_max_lines_per_suggest = 7; |
| | 40 | +// number of steps to animate expansion/contraction of container width |
| | 41 | +window.os_animation_steps = 6; |
| | 42 | +// num of pixels of smallest step |
| | 43 | +window.os_animation_min_step = 2; |
| | 44 | +// delay between steps (in ms) |
| | 45 | +window.os_animation_delay = 30; |
| | 46 | +// max width of container in percent of normal size (1 == 100%) |
| | 47 | +window.os_container_max_width = 2; |
| | 48 | +// currently active animation timer |
| | 49 | +window.os_animation_timer = null; |
| | 50 | +// whether MWSuggest is enabled. Set to false when os_MWSuggestDisable() is called |
| | 51 | +window.os_enabled = true; |
| | 52 | + |
| | 53 | +/** |
| | 54 | + * <datalist> is a new HTML5 element that allows you to manually supply |
| | 55 | + * suggestion lists and have them rendered according to the right platform |
| | 56 | + * conventions. Opera as of version 11 has a fatal problem: the suggestion |
| | 57 | + * lags behind what the user types by one keypress. (Reported as DSK-276870 to |
| | 58 | + * Opera's secret bug tracker.) However, Firefox 4 supports it without |
| | 59 | + * problems, so Opera is just blacklisted here. Ideally we wouldn't blacklist |
| | 60 | + * future versions, in case they fix it, but the fallback isn't bad at all and |
| | 61 | + * the failure if they don't fix it is very annoying, so in this case we'll |
| | 62 | + * blacklist future versions too. |
| | 63 | + */ |
| | 64 | +window.os_use_datalist = 'list' in document.createElement( 'input' ) |
| | 65 | + && $.client.profile().name != 'opera'; |
| | 66 | + |
| | 67 | +/** Timeout timer class that will fetch the results */ |
| | 68 | +window.os_Timer = function( id, r, query ) { |
| | 69 | + this.id = id; |
| | 70 | + this.r = r; |
| | 71 | + this.query = query; |
| | 72 | +}; |
| | 73 | + |
| | 74 | +/** Property class for single search box */ |
| | 75 | +window.os_Results = function( name, formname ) { |
| | 76 | + this.searchform = formname; // id of the searchform |
| | 77 | + this.searchbox = name; // id of the searchbox |
| | 78 | + this.container = name + 'Suggest'; // div that holds results |
| | 79 | + this.resultTable = name + 'Result'; // id base for the result table (+num = table row) |
| | 80 | + this.resultText = name + 'ResultText'; // id base for the spans within result tables (+num) |
| | 81 | + this.toggle = name + 'Toggle'; // div that has the toggle (enable/disable) link |
| | 82 | + this.query = null; // last processed query |
| | 83 | + this.results = null; // parsed titles |
| | 84 | + this.resultCount = 0; // number of results |
| | 85 | + this.original = null; // query that user entered |
| | 86 | + this.selected = -1; // which result is selected |
| | 87 | + this.containerCount = 0; // number of results visible in container |
| | 88 | + this.containerRow = 0; // height of result field in the container |
| | 89 | + this.containerTotal = 0; // total height of the container will all results |
| | 90 | + this.visible = false; // if container is visible |
| | 91 | + this.stayHidden = false; // don't try to show if lost focus |
| | 92 | +}; |
| | 93 | + |
| | 94 | +/** Timer user to animate expansion/contraction of container width */ |
| | 95 | +window.os_AnimationTimer = function( r, target ) { |
| | 96 | + this.r = r; |
| | 97 | + var current = document.getElementById(r.container).offsetWidth; |
| | 98 | + this.inc = Math.round( ( target - current ) / os_animation_steps ); |
| | 99 | + if( this.inc < os_animation_min_step && this.inc >=0 ) { |
| | 100 | + this.inc = os_animation_min_step; // minimal animation step |
| | 101 | + } |
| | 102 | + if( this.inc > -os_animation_min_step && this.inc < 0 ) { |
| | 103 | + this.inc = -os_animation_min_step; |
| | 104 | + } |
| | 105 | + this.target = target; |
| | 106 | +}; |
| | 107 | + |
| | 108 | +/****************** |
| | 109 | + * Initialization |
| | 110 | + ******************/ |
| | 111 | + |
| | 112 | +/** Initialization, call upon page onload */ |
| | 113 | +window.os_MWSuggestInit = function() { |
| | 114 | + if ( !window.os_enabled ) { |
| | 115 | + return; |
| | 116 | + } |
| | 117 | + |
| | 118 | + for( var i = 0; i < os_autoload_inputs.length; i++ ) { |
| | 119 | + var id = os_autoload_inputs[i]; |
| | 120 | + var form = os_autoload_forms[i]; |
| | 121 | + element = document.getElementById( id ); |
| | 122 | + if( element != null ) { |
| | 123 | + os_initHandlers( id, form, element ); |
| | 124 | + } |
| | 125 | + } |
| | 126 | +}; |
| | 127 | + |
| | 128 | +/* Teardown, called when things like SimpleSearch need to disable MWSuggest */ |
| | 129 | +window.os_MWSuggestTeardown = function() { |
| | 130 | + for( var i = 0; i < os_autoload_inputs.length; i++ ) { |
| | 131 | + var id = os_autoload_inputs[i]; |
| | 132 | + var form = os_autoload_forms[i]; |
| | 133 | + element = document.getElementById( id ); |
| | 134 | + if( element != null ) { |
| | 135 | + os_teardownHandlers( id, form, element ); |
| | 136 | + } |
| | 137 | + } |
| | 138 | +}; |
| | 139 | + |
| | 140 | +/* Call this to disable MWSuggest. Works regardless of whether MWSuggest has been initialized already. */ |
| | 141 | +window.os_MWSuggestDisable = function() { |
| | 142 | + window.os_MWSuggestTeardown(); |
| | 143 | + window.os_enabled = false; |
| | 144 | +} |
| | 145 | + |
| | 146 | + |
| | 147 | +/** Init Result objects and event handlers */ |
| | 148 | +window.os_initHandlers = function( name, formname, element ) { |
| | 149 | + var r = new os_Results( name, formname ); |
| | 150 | + var formElement = document.getElementById( formname ); |
| | 151 | + if( !formElement ) { |
| | 152 | + // Older browsers (Opera 8) cannot get form elements |
| | 153 | + return; |
| | 154 | + } |
| | 155 | + // event handler |
| | 156 | + os_hookEvent( element, 'keyup', os_eventKeyup ); |
| | 157 | + os_hookEvent( element, 'keydown', os_eventKeydown ); |
| | 158 | + os_hookEvent( element, 'keypress', os_eventKeypress ); |
| | 159 | + if ( !os_use_datalist ) { |
| | 160 | + // These are needed for the div hack to hide it if the user blurs. |
| | 161 | + os_hookEvent( element, 'blur', os_eventBlur ); |
| | 162 | + os_hookEvent( element, 'focus', os_eventFocus ); |
| | 163 | + // We don't want browser auto-suggestions interfering with our div, but |
| | 164 | + // autocomplete must be on for datalist to work (at least in Opera |
| | 165 | + // 10.10). |
| | 166 | + element.setAttribute( 'autocomplete', 'off' ); |
| | 167 | + } |
| | 168 | + // stopping handler |
| | 169 | + os_hookEvent( formElement, 'submit', os_eventOnsubmit ); |
| | 170 | + os_map[name] = r; |
| | 171 | + // toggle link |
| | 172 | + if( document.getElementById( r.toggle ) == null ) { |
| | 173 | + // TODO: disable this while we figure out a way for this to work in all browsers |
| | 174 | + /* if( name == 'searchInput' ) { |
| | 175 | + // special case: place above the main search box |
| | 176 | + var t = os_createToggle( r, 'os-suggest-toggle' ); |
| | 177 | + var searchBody = document.getElementById( 'searchBody' ); |
| | 178 | + var first = searchBody.parentNode.firstChild.nextSibling.appendChild(t); |
| | 179 | + } else { |
| | 180 | + // default: place below search box to the right |
| | 181 | + var t = os_createToggle( r, 'os-suggest-toggle-def' ); |
| | 182 | + var top = element.offsetTop + element.offsetHeight; |
| | 183 | + var left = element.offsetLeft + element.offsetWidth; |
| | 184 | + t.style.position = 'absolute'; |
| | 185 | + t.style.top = top + 'px'; |
| | 186 | + t.style.left = left + 'px'; |
| | 187 | + element.parentNode.appendChild( t ); |
| | 188 | + // only now width gets calculated, shift right |
| | 189 | + left -= t.offsetWidth; |
| | 190 | + t.style.left = left + 'px'; |
| | 191 | + t.style.visibility = 'visible'; |
| | 192 | + } */ |
| | 193 | + } |
| | 194 | + |
| | 195 | +}; |
| | 196 | + |
| | 197 | +window.os_teardownHandlers = function( name, formname, element ) { |
| | 198 | + var formElement = document.getElementById( formname ); |
| | 199 | + if( !formElement ) { |
| | 200 | + // Older browsers (Opera 8) cannot get form elements |
| | 201 | + return; |
| | 202 | + } |
| | 203 | + |
| | 204 | + os_unhookEvent( element, 'keyup', os_eventKeyup ); |
| | 205 | + os_unhookEvent( element, 'keydown', os_eventKeydown ); |
| | 206 | + os_unhookEvent( element, 'keypress', os_eventKeypress ); |
| | 207 | + if ( !os_use_datalist ) { |
| | 208 | + // These are needed for the div hack to hide it if the user blurs. |
| | 209 | + os_unhookEvent( element, 'blur', os_eventBlur ); |
| | 210 | + os_unhookEvent( element, 'focus', os_eventFocus ); |
| | 211 | + // We don't want browser auto-suggestions interfering with our div, but |
| | 212 | + // autocomplete must be on for datalist to work (at least in Opera |
| | 213 | + // 10.10). |
| | 214 | + element.removeAttribute( 'autocomplete' ); |
| | 215 | + } |
| | 216 | + // stopping handler |
| | 217 | + os_unhookEvent( formElement, 'submit', os_eventOnsubmit ); |
| | 218 | +}; |
| | 219 | + |
| | 220 | + |
| | 221 | +window.os_hookEvent = function( element, hookName, hookFunct ) { |
| | 222 | + if ( element.addEventListener ) { |
| | 223 | + element.addEventListener( hookName, hookFunct, false ); |
| | 224 | + } else if ( window.attachEvent ) { |
| | 225 | + element.attachEvent( 'on' + hookName, hookFunct ); |
| | 226 | + } |
| | 227 | +}; |
| | 228 | + |
| | 229 | +window.os_unhookEvent = function( element, hookName, hookFunct ) { |
| | 230 | + if ( element.removeEventListener ) { |
| | 231 | + element.removeEventListener( hookName, hookFunct, false ); |
| | 232 | + } else if ( element.detachEvent ) { |
| | 233 | + element.detachEvent( 'on' + hookName, hookFunct ); |
| | 234 | + } |
| | 235 | +} |
| | 236 | + |
| | 237 | +/******************** |
| | 238 | + * Keyboard events |
| | 239 | + ********************/ |
| | 240 | + |
| | 241 | +/** Event handler that will fetch results on keyup */ |
| | 242 | +window.os_eventKeyup = function( e ) { |
| | 243 | + var targ = os_getTarget( e ); |
| | 244 | + var r = os_map[targ.id]; |
| | 245 | + if( r == null ) { |
| | 246 | + return; // not our event |
| | 247 | + } |
| | 248 | + |
| | 249 | + // some browsers won't generate keypressed for arrow keys, catch it |
| | 250 | + if( os_keypressed_count == 0 ) { |
| | 251 | + os_processKey( r, os_cur_keypressed, targ ); |
| | 252 | + } |
| | 253 | + var query = targ.value; |
| | 254 | + os_fetchResults( r, query, os_search_timeout ); |
| | 255 | +}; |
| | 256 | + |
| | 257 | +/** catch arrows up/down and escape to hide the suggestions */ |
| | 258 | +window.os_processKey = function( r, keypressed, targ ) { |
| | 259 | + if ( keypressed == 40 && !r.visible && os_timer == null ) { |
| | 260 | + // If the user hits the down arrow, fetch results immediately if none |
| | 261 | + // are already displayed. |
| | 262 | + r.query = ''; |
| | 263 | + os_fetchResults( r, targ.value, 0 ); |
| | 264 | + } |
| | 265 | + // Otherwise, if we're not using datalist, we need to handle scrolling and |
| | 266 | + // so on. |
| | 267 | + if ( os_use_datalist ) { |
| | 268 | + return; |
| | 269 | + } |
| | 270 | + if ( keypressed == 40 ) { // Arrow Down |
| | 271 | + if ( r.visible ) { |
| | 272 | + os_changeHighlight( r, r.selected, r.selected + 1, true ); |
| | 273 | + } |
| | 274 | + } else if ( keypressed == 38 ) { // Arrow Up |
| | 275 | + if ( r.visible ) { |
| | 276 | + os_changeHighlight( r, r.selected, r.selected - 1, true ); |
| | 277 | + } |
| | 278 | + } else if( keypressed == 27 ) { // Escape |
| | 279 | + document.getElementById( r.searchbox ).value = r.original; |
| | 280 | + r.query = r.original; |
| | 281 | + os_hideResults( r ); |
| | 282 | + } else if( r.query != document.getElementById( r.searchbox ).value ) { |
| | 283 | + // os_hideResults( r ); // don't show old suggestions |
| | 284 | + } |
| | 285 | +}; |
| | 286 | + |
| | 287 | +/** When keys is held down use a timer to output regular events */ |
| | 288 | +window.os_eventKeypress = function( e ) { |
| | 289 | + var targ = os_getTarget( e ); |
| | 290 | + var r = os_map[targ.id]; |
| | 291 | + if( r == null ) { |
| | 292 | + return; // not our event |
| | 293 | + } |
| | 294 | + |
| | 295 | + var keypressed = os_cur_keypressed; |
| | 296 | + |
| | 297 | + os_keypressed_count++; |
| | 298 | + os_processKey( r, keypressed, targ ); |
| | 299 | +}; |
| | 300 | + |
| | 301 | +/** Catch the key code (Firefox bug) */ |
| | 302 | +window.os_eventKeydown = function( e ) { |
| | 303 | + if ( !e ) { |
| | 304 | + e = window.event; |
| | 305 | + } |
| | 306 | + var targ = os_getTarget( e ); |
| | 307 | + var r = os_map[targ.id]; |
| | 308 | + if( r == null ) { |
| | 309 | + return; // not our event |
| | 310 | + } |
| | 311 | + |
| | 312 | + os_mouse_moved = false; |
| | 313 | + |
| | 314 | + os_cur_keypressed = ( e.keyCode == undefined ) ? e.which : e.keyCode; |
| | 315 | + os_keypressed_count = 0; |
| | 316 | +}; |
| | 317 | + |
| | 318 | + |
| | 319 | +/** When the form is submitted hide everything, cancel updates... */ |
| | 320 | +window.os_eventOnsubmit = function( e ) { |
| | 321 | + var targ = os_getTarget( e ); |
| | 322 | + |
| | 323 | + os_is_stopped = true; |
| | 324 | + // kill timed requests |
| | 325 | + if( os_timer != null && os_timer.id != null ) { |
| | 326 | + clearTimeout( os_timer.id ); |
| | 327 | + os_timer = null; |
| | 328 | + } |
| | 329 | + // Hide all suggestions |
| | 330 | + for( i = 0; i < os_autoload_inputs.length; i++ ) { |
| | 331 | + var r = os_map[os_autoload_inputs[i]]; |
| | 332 | + if( r != null ) { |
| | 333 | + var b = document.getElementById( r.searchform ); |
| | 334 | + if( b != null && b == targ ) { |
| | 335 | + // set query value so the handler won't try to fetch additional results |
| | 336 | + r.query = document.getElementById( r.searchbox ).value; |
| | 337 | + } |
| | 338 | + os_hideResults( r ); |
| | 339 | + } |
| | 340 | + } |
| | 341 | + return true; |
| | 342 | +}; |
| | 343 | + |
| | 344 | + |
| | 345 | + |
| | 346 | +/** Hide results from the user, either making the div visibility=hidden or |
| | 347 | + * detaching the datalist from the input. */ |
| | 348 | +window.os_hideResults = function( r ) { |
| | 349 | + if ( os_use_datalist ) { |
| | 350 | + document.getElementById( r.searchbox ).setAttribute( 'list', '' ); |
| | 351 | + } else { |
| | 352 | + var c = document.getElementById( r.container ); |
| | 353 | + if ( c != null ) { |
| | 354 | + c.style.visibility = 'hidden'; |
| | 355 | + } |
| | 356 | + } |
| | 357 | + r.visible = false; |
| | 358 | + r.selected = -1; |
| | 359 | +}; |
| | 360 | + |
| | 361 | +window.os_decodeValue = function( value ) { |
| | 362 | + if ( decodeURIComponent ) { |
| | 363 | + return decodeURIComponent( value ); |
| | 364 | + } |
| | 365 | + if( unescape ) { |
| | 366 | + return unescape( value ); |
| | 367 | + } |
| | 368 | + return null; |
| | 369 | +}; |
| | 370 | + |
| | 371 | +window.os_encodeQuery = function( value ) { |
| | 372 | + if ( encodeURIComponent ) { |
| | 373 | + return encodeURIComponent( value ); |
| | 374 | + } |
| | 375 | + if( escape ) { |
| | 376 | + return escape( value ); |
| | 377 | + } |
| | 378 | + return null; |
| | 379 | +}; |
| | 380 | + |
| | 381 | +/** Handles data from XMLHttpRequest, and updates the suggest results */ |
| | 382 | +window.os_updateResults = function( r, query, text, cacheKey ) { |
| | 383 | + os_cache[cacheKey] = text; |
| | 384 | + r.query = query; |
| | 385 | + r.original = query; |
| | 386 | + if( text == '' ) { |
| | 387 | + r.results = null; |
| | 388 | + r.resultCount = 0; |
| | 389 | + os_hideResults( r ); |
| | 390 | + } else { |
| | 391 | + try { |
| | 392 | + var p = eval( '(' + text + ')' ); // simple json parse, could do a safer one |
| | 393 | + if( p.length < 2 || p[1].length == 0 ) { |
| | 394 | + r.results = null; |
| | 395 | + r.resultCount = 0; |
| | 396 | + os_hideResults( r ); |
| | 397 | + return; |
| | 398 | + } |
| | 399 | + if ( os_use_datalist ) { |
| | 400 | + os_setupDatalist( r, p[1] ); |
| | 401 | + } else { |
| | 402 | + os_setupDiv( r, p[1] ); |
| | 403 | + } |
| | 404 | + } catch( e ) { |
| | 405 | + // bad response from server or such |
| | 406 | + os_hideResults( r ); |
| | 407 | + os_cache[cacheKey] = null; |
| | 408 | + } |
| | 409 | + } |
| | 410 | +}; |
| | 411 | + |
| | 412 | +/** |
| | 413 | + * Create and populate a <datalist>. |
| | 414 | + * |
| | 415 | + * @param r os_Result object |
| | 416 | + * @param results Array of the new results to replace existing ones |
| | 417 | + */ |
| | 418 | +window.os_setupDatalist = function( r, results ) { |
| | 419 | + var s = document.getElementById( r.searchbox ); |
| | 420 | + var c = document.getElementById( r.container ); |
| | 421 | + if ( c == null ) { |
| | 422 | + c = document.createElement( 'datalist' ); |
| | 423 | + c.setAttribute( 'id', r.container ); |
| | 424 | + document.body.appendChild( c ); |
| | 425 | + } else { |
| | 426 | + c.innerHTML = ''; |
| | 427 | + } |
| | 428 | + s.setAttribute( 'list', r.container ); |
| | 429 | + |
| | 430 | + r.results = new Array(); |
| | 431 | + r.resultCount = results.length; |
| | 432 | + r.visible = true; |
| | 433 | + for ( i = 0; i < results.length; i++ ) { |
| | 434 | + var title = os_decodeValue( results[i] ); |
| | 435 | + var opt = document.createElement( 'option' ); |
| | 436 | + opt.value = title; |
| | 437 | + r.results[i] = title; |
| | 438 | + c.appendChild( opt ); |
| | 439 | + } |
| | 440 | +}; |
| | 441 | + |
| | 442 | +/** Fetch namespaces from checkboxes or hidden fields in the search form, |
| | 443 | + if none defined use wgSearchNamespaces global */ |
| | 444 | +window.os_getNamespaces = function( r ) { |
| | 445 | + var namespaces = ''; |
| | 446 | + var elements = document.forms[r.searchform].elements; |
| | 447 | + for( i = 0; i < elements.length; i++ ) { |
| | 448 | + var name = elements[i].name; |
| | 449 | + if( typeof name != 'undefined' && name.length > 2 && name[0] == 'n' && |
| | 450 | + name[1] == 's' && ( |
| | 451 | + ( elements[i].type == 'checkbox' && elements[i].checked ) || |
| | 452 | + ( elements[i].type == 'hidden' && elements[i].value == '1' ) |
| | 453 | + ) |
| | 454 | + ) { |
| | 455 | + if( namespaces != '' ) { |
| | 456 | + namespaces += '|'; |
| | 457 | + } |
| | 458 | + namespaces += name.substring( 2 ); |
| | 459 | + } |
| | 460 | + } |
| | 461 | + if( namespaces == '' ) { |
| | 462 | + namespaces = wgSearchNamespaces.join('|'); |
| | 463 | + } |
| | 464 | + return namespaces; |
| | 465 | +}; |
| | 466 | + |
| | 467 | +/** Update results if user hasn't already typed something else */ |
| | 468 | +window.os_updateIfRelevant = function( r, query, text, cacheKey ) { |
| | 469 | + var t = document.getElementById( r.searchbox ); |
| | 470 | + if( t != null && t.value == query ) { // check if response is still relevant |
| | 471 | + os_updateResults( r, query, text, cacheKey ); |
| | 472 | + } |
| | 473 | + r.query = query; |
| | 474 | +}; |
| | 475 | + |
| | 476 | +/** Fetch results after some timeout */ |
| | 477 | +window.os_delayedFetch = function() { |
| | 478 | + if( os_timer == null ) { |
| | 479 | + return; |
| | 480 | + } |
| | 481 | + var r = os_timer.r; |
| | 482 | + var query = os_timer.query; |
| | 483 | + os_timer = null; |
| | 484 | + var path = mw.config.get( 'wgMWSuggestTemplate' ).replace( "{namespaces}", os_getNamespaces( r ) ) |
| | 485 | + .replace( "{dbname}", wgDBname ) |
| | 486 | + .replace( "{searchTerms}", os_encodeQuery( query ) ); |
| | 487 | + |
| | 488 | + // try to get from cache, if not fetch using ajax |
| | 489 | + var cached = os_cache[path]; |
| | 490 | + if( cached != null && cached != undefined ) { |
| | 491 | + os_updateIfRelevant( r, query, cached, path ); |
| | 492 | + } else { |
| | 493 | + var xmlhttp = sajax_init_object(); |
| | 494 | + if( xmlhttp ) { |
| | 495 | + try { |
| | 496 | + xmlhttp.open( 'GET', path, true ); |
| | 497 | + xmlhttp.onreadystatechange = function() { |
| | 498 | + if ( xmlhttp.readyState == 4 && typeof os_updateIfRelevant == 'function' ) { |
| | 499 | + os_updateIfRelevant( r, query, xmlhttp.responseText, path ); |
| | 500 | + } |
| | 501 | + }; |
| | 502 | + xmlhttp.send( null ); |
| | 503 | + } catch ( e ) { |
| | 504 | + if ( window.location.hostname == 'localhost' ) { |
| | 505 | + alert( "Your browser blocks XMLHttpRequest to 'localhost', try using a real hostname for development/testing." ); |
| | 506 | + } |
| | 507 | + throw e; |
| | 508 | + } |
| | 509 | + } |
| | 510 | + } |
| | 511 | +}; |
| | 512 | + |
| | 513 | +/** Init timed update via os_delayedUpdate() */ |
| | 514 | +window.os_fetchResults = function( r, query, timeout ) { |
| | 515 | + if( query == '' ) { |
| | 516 | + r.query = ''; |
| | 517 | + os_hideResults( r ); |
| | 518 | + return; |
| | 519 | + } else if( query == r.query ) { |
| | 520 | + return; // no change |
| | 521 | + } |
| | 522 | + |
| | 523 | + os_is_stopped = false; // make sure we're running |
| | 524 | + |
| | 525 | + // cancel any pending fetches |
| | 526 | + if( os_timer != null && os_timer.id != null ) { |
| | 527 | + clearTimeout( os_timer.id ); |
| | 528 | + } |
| | 529 | + // schedule delayed fetching of results |
| | 530 | + if( timeout != 0 ) { |
| | 531 | + os_timer = new os_Timer( setTimeout( "os_delayedFetch()", timeout ), r, query ); |
| | 532 | + } else { |
| | 533 | + os_timer = new os_Timer( null, r, query ); |
| | 534 | + os_delayedFetch(); // do it now! |
| | 535 | + } |
| | 536 | +}; |
| | 537 | + |
| | 538 | +/** Find event target */ |
| | 539 | +window.os_getTarget = function( e ) { |
| | 540 | + if ( !e ) { |
| | 541 | + e = window.event; |
| | 542 | + } |
| | 543 | + if ( e.target ) { |
| | 544 | + return e.target; |
| | 545 | + } else if ( e.srcElement ) { |
| | 546 | + return e.srcElement; |
| | 547 | + } else { |
| | 548 | + return null; |
| | 549 | + } |
| | 550 | +}; |
| | 551 | + |
| | 552 | +/** Check if x is a valid integer */ |
| | 553 | +window.os_isNumber = function( x ) { |
| | 554 | + if( x == '' || isNaN( x ) ) { |
| | 555 | + return false; |
| | 556 | + } |
| | 557 | + for( var i = 0; i < x.length; i++ ) { |
| | 558 | + var c = x.charAt( i ); |
| | 559 | + if( !( c >= '0' && c <= '9' ) ) { |
| | 560 | + return false; |
| | 561 | + } |
| | 562 | + } |
| | 563 | + return true; |
| | 564 | +}; |
| | 565 | + |
| | 566 | +/** Call this to enable suggestions on input (id=inputId), on a form (name=formName) */ |
| | 567 | +window.os_enableSuggestionsOn = function( inputId, formName ) { |
| | 568 | + os_initHandlers( inputId, formName, document.getElementById( inputId ) ); |
| | 569 | +}; |
| | 570 | + |
| | 571 | +/** Call this to disable suggestios on input box (id=inputId) */ |
| | 572 | +window.os_disableSuggestionsOn = function( inputId ) { |
| | 573 | + r = os_map[inputId]; |
| | 574 | + if( r != null ) { |
| | 575 | + // cancel/hide results |
| | 576 | + os_timer = null; |
| | 577 | + os_hideResults( r ); |
| | 578 | + // turn autocomplete on ! |
| | 579 | + document.getElementById( inputId ).setAttribute( 'autocomplete', 'on' ); |
| | 580 | + // remove descriptor |
| | 581 | + os_map[inputId] = null; |
| | 582 | + } |
| | 583 | + |
| | 584 | + // Remove the element from the os_autoload_* arrays |
| | 585 | + var index = os_autoload_inputs.indexOf( inputId ); |
| | 586 | + if ( index >= 0 ) { |
| | 587 | + os_autoload_inputs[index] = os_autoload_forms[index] = ''; |
| | 588 | + } |
| | 589 | +}; |
| | 590 | + |
| | 591 | +/************************************************ |
| | 592 | + * Div-only functions (irrelevant for datalist) |
| | 593 | + ************************************************/ |
| | 594 | + |
| | 595 | +/** Event: loss of focus of input box */ |
| | 596 | +window.os_eventBlur = function( e ) { |
| | 597 | + var targ = os_getTarget( e ); |
| | 598 | + var r = os_map[targ.id]; |
| | 599 | + if( r == null ) { |
| | 600 | + return; // not our event |
| | 601 | + } |
| | 602 | + if( !os_mouse_pressed ) { |
| | 603 | + os_hideResults( r ); |
| | 604 | + // force canvas to stay hidden |
| | 605 | + r.stayHidden = true; |
| | 606 | + // cancel any pending fetches |
| | 607 | + if( os_timer != null && os_timer.id != null ) { |
| | 608 | + clearTimeout( os_timer.id ); |
| | 609 | + } |
| | 610 | + os_timer = null; |
| | 611 | + } |
| | 612 | +}; |
| | 613 | + |
| | 614 | +/** Event: focus (catch only when stopped) */ |
| | 615 | +window.os_eventFocus = function( e ) { |
| | 616 | + var targ = os_getTarget( e ); |
| | 617 | + var r = os_map[targ.id]; |
| | 618 | + if( r == null ) { |
| | 619 | + return; // not our event |
| | 620 | + } |
| | 621 | + r.stayHidden = false; |
| | 622 | +}; |
| | 623 | + |
| | 624 | +/** |
| | 625 | + * Create and populate a <div>, for non-<datalist>-supporting browsers. |
| | 626 | + * |
| | 627 | + * @param r os_Result object |
| | 628 | + * @param results Array of the new results to replace existing ones |
| | 629 | + */ |
| | 630 | +window.os_setupDiv = function( r, results ) { |
| | 631 | + var c = document.getElementById( r.container ); |
| | 632 | + if ( c == null ) { |
| | 633 | + c = os_createContainer( r ); |
| | 634 | + } |
| | 635 | + c.innerHTML = os_createResultTable( r, results ); |
| | 636 | + // init container table sizes |
| | 637 | + var t = document.getElementById( r.resultTable ); |
| | 638 | + r.containerTotal = t.offsetHeight; |
| | 639 | + r.containerRow = t.offsetHeight / r.resultCount; |
| | 640 | + os_fitContainer( r ); |
| | 641 | + os_trimResultText( r ); |
| | 642 | + os_showResults( r ); |
| | 643 | +}; |
| | 644 | + |
| | 645 | +/** Create the result table to be placed in the container div */ |
| | 646 | +window.os_createResultTable = function( r, results ) { |
| | 647 | + var c = document.getElementById( r.container ); |
| | 648 | + var width = c.offsetWidth - os_operaWidthFix( c.offsetWidth ); |
| | 649 | + var html = '<table class="os-suggest-results" id="' + r.resultTable + '" style="width: ' + width + 'px;">'; |
| | 650 | + r.results = new Array(); |
| | 651 | + r.resultCount = results.length; |
| | 652 | + for( i = 0; i < results.length; i++ ) { |
| | 653 | + var title = os_decodeValue( results[i] ); |
| | 654 | + r.results[i] = title; |
| | 655 | + html += '<tr><td class="os-suggest-result" id="' + r.resultTable + i + '"><span id="' + r.resultText + i + '">' + title + '</span></td></tr>'; |
| | 656 | + } |
| | 657 | + html += '</table>'; |
| | 658 | + return html; |
| | 659 | +}; |
| | 660 | + |
| | 661 | +/** Show results div */ |
| | 662 | +window.os_showResults = function( r ) { |
| | 663 | + if( os_is_stopped ) { |
| | 664 | + return; |
| | 665 | + } |
| | 666 | + if( r.stayHidden ) { |
| | 667 | + return; |
| | 668 | + } |
| | 669 | + os_fitContainer( r ); |
| | 670 | + var c = document.getElementById( r.container ); |
| | 671 | + r.selected = -1; |
| | 672 | + if( c != null ) { |
| | 673 | + c.scrollTop = 0; |
| | 674 | + c.style.visibility = 'visible'; |
| | 675 | + r.visible = true; |
| | 676 | + } |
| | 677 | +}; |
| | 678 | + |
| | 679 | +window.os_operaWidthFix = function( x ) { |
| | 680 | + // For browsers that don't understand overflow-x, estimate scrollbar width |
| | 681 | + if( typeof document.body.style.overflowX != 'string' ) { |
| | 682 | + return 30; |
| | 683 | + } |
| | 684 | + return 0; |
| | 685 | +}; |
| | 686 | + |
| | 687 | +/** Brower-dependent functions to find window inner size, and scroll status */ |
| | 688 | +window.f_clientWidth = function() { |
| | 689 | + return f_filterResults( |
| | 690 | + window.innerWidth ? window.innerWidth : 0, |
| | 691 | + document.documentElement ? document.documentElement.clientWidth : 0, |
| | 692 | + document.body ? document.body.clientWidth : 0 |
| | 693 | + ); |
| | 694 | +}; |
| | 695 | + |
| | 696 | +window.f_clientHeight = function() { |
| | 697 | + return f_filterResults( |
| | 698 | + window.innerHeight ? window.innerHeight : 0, |
| | 699 | + document.documentElement ? document.documentElement.clientHeight : 0, |
| | 700 | + document.body ? document.body.clientHeight : 0 |
| | 701 | + ); |
| | 702 | +}; |
| | 703 | + |
| | 704 | +window.f_scrollLeft = function() { |
| | 705 | + return f_filterResults( |
| | 706 | + window.pageXOffset ? window.pageXOffset : 0, |
| | 707 | + document.documentElement ? document.documentElement.scrollLeft : 0, |
| | 708 | + document.body ? document.body.scrollLeft : 0 |
| | 709 | + ); |
| | 710 | +}; |
| | 711 | + |
| | 712 | +window.f_scrollTop = function() { |
| | 713 | + return f_filterResults( |
| | 714 | + window.pageYOffset ? window.pageYOffset : 0, |
| | 715 | + document.documentElement ? document.documentElement.scrollTop : 0, |
| | 716 | + document.body ? document.body.scrollTop : 0 |
| | 717 | + ); |
| | 718 | +}; |
| | 719 | + |
| | 720 | +window.f_filterResults = function( n_win, n_docel, n_body ) { |
| | 721 | + var n_result = n_win ? n_win : 0; |
| | 722 | + if ( n_docel && ( !n_result || ( n_result > n_docel ) ) ) { |
| | 723 | + n_result = n_docel; |
| | 724 | + } |
| | 725 | + return n_body && ( !n_result || ( n_result > n_body ) ) ? n_body : n_result; |
| | 726 | +}; |
| | 727 | + |
| | 728 | +/** Get the height available for the results container */ |
| | 729 | +window.os_availableHeight = function( r ) { |
| | 730 | + var absTop = document.getElementById( r.container ).style.top; |
| | 731 | + var px = absTop.lastIndexOf( 'px' ); |
| | 732 | + if( px > 0 ) { |
| | 733 | + absTop = absTop.substring( 0, px ); |
| | 734 | + } |
| | 735 | + return f_clientHeight() - ( absTop - f_scrollTop() ); |
| | 736 | +}; |
| | 737 | + |
| | 738 | +/** Get element absolute position {left,top} */ |
| | 739 | +window.os_getElementPosition = function( elemID ) { |
| | 740 | + var offsetTrail = document.getElementById( elemID ); |
| | 741 | + var offsetLeft = 0; |
| | 742 | + var offsetTop = 0; |
| | 743 | + while ( offsetTrail ) { |
| | 744 | + offsetLeft += offsetTrail.offsetLeft; |
| | 745 | + offsetTop += offsetTrail.offsetTop; |
| | 746 | + offsetTrail = offsetTrail.offsetParent; |
| | 747 | + } |
| | 748 | + if ( navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != 'undefined' ) { |
| | 749 | + offsetLeft += document.body.leftMargin; |
| | 750 | + offsetTop += document.body.topMargin; |
| | 751 | + } |
| | 752 | + return { left:offsetLeft, top:offsetTop }; |
| | 753 | +}; |
| | 754 | + |
| | 755 | +/** Create the container div that will hold the suggested titles */ |
| | 756 | +window.os_createContainer = function( r ) { |
| | 757 | + var c = document.createElement( 'div' ); |
| | 758 | + var s = document.getElementById( r.searchbox ); |
| | 759 | + var pos = os_getElementPosition( r.searchbox ); |
| | 760 | + var left = pos.left; |
| | 761 | + var top = pos.top + s.offsetHeight; |
| | 762 | + c.className = 'os-suggest'; |
| | 763 | + c.setAttribute( 'id', r.container ); |
| | 764 | + document.body.appendChild( c ); |
| | 765 | + |
| | 766 | + // dynamically generated style params |
| | 767 | + // IE workaround, cannot explicitely set "style" attribute |
| | 768 | + c = document.getElementById( r.container ); |
| | 769 | + c.style.top = top + 'px'; |
| | 770 | + c.style.left = left + 'px'; |
| | 771 | + c.style.width = s.offsetWidth + 'px'; |
| | 772 | + |
| | 773 | + // mouse event handlers |
| | 774 | + c.onmouseover = function( event ) { os_eventMouseover( r.searchbox, event ); }; |
| | 775 | + c.onmousemove = function( event ) { os_eventMousemove( r.searchbox, event ); }; |
| | 776 | + c.onmousedown = function( event ) { return os_eventMousedown( r.searchbox, event ); }; |
| | 777 | + c.onmouseup = function( event ) { os_eventMouseup( r.searchbox, event ); }; |
| | 778 | + return c; |
| | 779 | +}; |
| | 780 | + |
| | 781 | +/** change container height to fit to screen */ |
| | 782 | +window.os_fitContainer = function( r ) { |
| | 783 | + var c = document.getElementById( r.container ); |
| | 784 | + var h = os_availableHeight( r ) - 20; |
| | 785 | + var inc = r.containerRow; |
| | 786 | + h = parseInt( h / inc ) * inc; |
| | 787 | + if( h < ( 2 * inc ) && r.resultCount > 1 ) { // min: two results |
| | 788 | + h = 2 * inc; |
| | 789 | + } |
| | 790 | + if( ( h / inc ) > os_max_lines_per_suggest ) { |
| | 791 | + h = inc * os_max_lines_per_suggest; |
| | 792 | + } |
| | 793 | + if( h < r.containerTotal ) { |
| | 794 | + c.style.height = h + 'px'; |
| | 795 | + r.containerCount = parseInt( Math.round( h / inc ) ); |
| | 796 | + } else { |
| | 797 | + c.style.height = r.containerTotal + 'px'; |
| | 798 | + r.containerCount = r.resultCount; |
| | 799 | + } |
| | 800 | +}; |
| | 801 | + |
| | 802 | +/** If some entries are longer than the box, replace text with "..." */ |
| | 803 | +window.os_trimResultText = function( r ) { |
| | 804 | + // find max width, first see if we could expand the container to fit it |
| | 805 | + var maxW = 0; |
| | 806 | + for( var i = 0; i < r.resultCount; i++ ) { |
| | 807 | + var e = document.getElementById( r.resultText + i ); |
| | 808 | + if( e.offsetWidth > maxW ) { |
| | 809 | + maxW = e.offsetWidth; |
| | 810 | + } |
| | 811 | + } |
| | 812 | + var w = document.getElementById( r.container ).offsetWidth; |
| | 813 | + var fix = 0; |
| | 814 | + if( r.containerCount < r.resultCount ) { |
| | 815 | + fix = 20; // give 20px for scrollbar |
| | 816 | + } else { |
| | 817 | + fix = os_operaWidthFix( w ); |
| | 818 | + } |
| | 819 | + if( fix < 4 ) { |
| | 820 | + fix = 4; // basic padding |
| | 821 | + } |
| | 822 | + maxW += fix; |
| | 823 | + |
| | 824 | + // resize container to fit more data if permitted |
| | 825 | + var normW = document.getElementById( r.searchbox ).offsetWidth; |
| | 826 | + var prop = maxW / normW; |
| | 827 | + if( prop > os_container_max_width ) { |
| | 828 | + prop = os_container_max_width; |
| | 829 | + } else if( prop < 1 ) { |
| | 830 | + prop = 1; |
| | 831 | + } |
| | 832 | + var newW = Math.round( normW * prop ); |
| | 833 | + if( w != newW ) { |
| | 834 | + w = newW; |
| | 835 | + if( os_animation_timer != null ) { |
| | 836 | + clearInterval( os_animation_timer.id ); |
| | 837 | + } |
| | 838 | + os_animation_timer = new os_AnimationTimer( r, w ); |
| | 839 | + os_animation_timer.id = setInterval( "os_animateChangeWidth()", os_animation_delay ); |
| | 840 | + w -= fix; // this much is reserved |
| | 841 | + } |
| | 842 | + |
| | 843 | + // trim results |
| | 844 | + if( w < 10 ) { |
| | 845 | + return; |
| | 846 | + } |
| | 847 | + for( var i = 0; i < r.resultCount; i++ ) { |
| | 848 | + var e = document.getElementById( r.resultText + i ); |
| | 849 | + var replace = 1; |
| | 850 | + var lastW = e.offsetWidth + 1; |
| | 851 | + var iteration = 0; |
| | 852 | + var changedText = false; |
| | 853 | + while( e.offsetWidth > w && ( e.offsetWidth < lastW || iteration < 2 ) ) { |
| | 854 | + changedText = true; |
| | 855 | + lastW = e.offsetWidth; |
| | 856 | + var l = e.innerHTML; |
| | 857 | + e.innerHTML = l.substring( 0, l.length - replace ) + '...'; |
| | 858 | + iteration++; |
| | 859 | + replace = 4; // how many chars to replace |
| | 860 | + } |
| | 861 | + if( changedText ) { |
| | 862 | + // show hint for trimmed titles |
| | 863 | + document.getElementById( r.resultTable + i ).setAttribute( 'title', r.results[i] ); |
| | 864 | + } |
| | 865 | + } |
| | 866 | +}; |
| | 867 | + |
| | 868 | +/** Invoked on timer to animate change in container width */ |
| | 869 | +window.os_animateChangeWidth = function() { |
| | 870 | + var r = os_animation_timer.r; |
| | 871 | + var c = document.getElementById( r.container ); |
| | 872 | + var w = c.offsetWidth; |
| | 873 | + var normW = document.getElementById( r.searchbox ).offsetWidth; |
| | 874 | + var normL = os_getElementPosition( r.searchbox ).left; |
| | 875 | + var inc = os_animation_timer.inc; |
| | 876 | + var target = os_animation_timer.target; |
| | 877 | + var nw = w + inc; |
| | 878 | + if( ( inc > 0 && nw >= target ) || ( inc <= 0 && nw <= target ) ) { |
| | 879 | + // finished ! |
| | 880 | + c.style.width = target + 'px'; |
| | 881 | + clearInterval( os_animation_timer.id ); |
| | 882 | + os_animation_timer = null; |
| | 883 | + } else { |
| | 884 | + // in-progress |
| | 885 | + c.style.width = nw + 'px'; |
| | 886 | + if( document.documentElement.dir == 'rtl' ) { |
| | 887 | + c.style.left = ( normL + normW + ( target - nw ) - os_animation_timer.target - 1 ) + 'px'; |
| | 888 | + } |
| | 889 | + } |
| | 890 | +}; |
| | 891 | + |
| | 892 | +/** Change the highlighted row (i.e. suggestion), from position cur to next */ |
| | 893 | +window.os_changeHighlight = function( r, cur, next, updateSearchBox ) { |
| | 894 | + if ( next >= r.resultCount ) { |
| | 895 | + next = r.resultCount - 1; |
| | 896 | + } |
| | 897 | + if ( next < -1 ) { |
| | 898 | + next = -1; |
| | 899 | + } |
| | 900 | + r.selected = next; |
| | 901 | + if ( cur == next ) { |
| | 902 | + return; // nothing to do. |
| | 903 | + } |
| | 904 | + |
| | 905 | + if( cur >= 0 ) { |
| | 906 | + var curRow = document.getElementById( r.resultTable + cur ); |
| | 907 | + if( curRow != null ) { |
| | 908 | + curRow.className = 'os-suggest-result'; |
| | 909 | + } |
| | 910 | + } |
| | 911 | + var newText; |
| | 912 | + if( next >= 0 ) { |
| | 913 | + var nextRow = document.getElementById( r.resultTable + next ); |
| | 914 | + if( nextRow != null ) { |
| | 915 | + nextRow.className = os_HighlightClass(); |
| | 916 | + } |
| | 917 | + newText = r.results[next]; |
| | 918 | + } else { |
| | 919 | + newText = r.original; |
| | 920 | + } |
| | 921 | + |
| | 922 | + // adjust the scrollbar if any |
| | 923 | + if( r.containerCount < r.resultCount ) { |
| | 924 | + var c = document.getElementById( r.container ); |
| | 925 | + var vStart = c.scrollTop / r.containerRow; |
| | 926 | + var vEnd = vStart + r.containerCount; |
| | 927 | + if( next < vStart ) { |
| | 928 | + c.scrollTop = next * r.containerRow; |
| | 929 | + } else if( next >= vEnd ) { |
| | 930 | + c.scrollTop = ( next - r.containerCount + 1 ) * r.containerRow; |
| | 931 | + } |
| | 932 | + } |
| | 933 | + |
| | 934 | + // update the contents of the search box |
| | 935 | + if( updateSearchBox ) { |
| | 936 | + os_updateSearchQuery( r, newText ); |
| | 937 | + } |
| | 938 | +}; |
| | 939 | + |
| | 940 | +window.os_HighlightClass = function() { |
| | 941 | + var match = navigator.userAgent.match(/AppleWebKit\/(\d+)/); |
| | 942 | + if ( match ) { |
| | 943 | + var webKitVersion = parseInt( match[1] ); |
| | 944 | + if ( webKitVersion < 523 ) { |
| | 945 | + // CSS system highlight colors broken on old Safari |
| | 946 | + // https://bugs.webkit.org/show_bug.cgi?id=6129 |
| | 947 | + // Safari 3.0.4, 3.1 known ok |
| | 948 | + return 'os-suggest-result-hl-webkit'; |
| | 949 | + } |
| | 950 | + } |
| | 951 | + return 'os-suggest-result-hl'; |
| | 952 | +}; |
| | 953 | + |
| | 954 | +window.os_updateSearchQuery = function( r, newText ) { |
| | 955 | + document.getElementById( r.searchbox ).value = newText; |
| | 956 | + r.query = newText; |
| | 957 | +}; |
| | 958 | + |
| | 959 | + |
| | 960 | +/******************** |
| | 961 | + * Mouse events |
| | 962 | + ********************/ |
| | 963 | + |
| | 964 | +/** Mouse over the container */ |
| | 965 | +window.os_eventMouseover = function( srcId, e ) { |
| | 966 | + var targ = os_getTarget( e ); |
| | 967 | + var r = os_map[srcId]; |
| | 968 | + if( r == null || !os_mouse_moved ) { |
| | 969 | + return; // not our event |
| | 970 | + } |
| | 971 | + var num = os_getNumberSuffix( targ.id ); |
| | 972 | + if( num >= 0 ) { |
| | 973 | + os_changeHighlight( r, r.selected, num, false ); |
| | 974 | + } |
| | 975 | +}; |
| | 976 | + |
| | 977 | +/* Get row where the event occured (from its id) */ |
| | 978 | +window.os_getNumberSuffix = function( id ) { |
| | 979 | + var num = id.substring( id.length - 2 ); |
| | 980 | + if( !( num.charAt( 0 ) >= '0' && num.charAt( 0 ) <= '9' ) ) { |
| | 981 | + num = num.substring( 1 ); |
| | 982 | + } |
| | 983 | + if( os_isNumber( num ) ) { |
| | 984 | + return parseInt( num ); |
| | 985 | + } else { |
| | 986 | + return -1; |
| | 987 | + } |
| | 988 | +}; |
| | 989 | + |
| | 990 | +/** Save mouse move as last action */ |
| | 991 | +window.os_eventMousemove = function( srcId, e ) { |
| | 992 | + os_mouse_moved = true; |
| | 993 | +}; |
| | 994 | + |
| | 995 | +/** Mouse button held down, register possible click */ |
| | 996 | +window.os_eventMousedown = function( srcId, e ) { |
| | 997 | + var targ = os_getTarget( e ); |
| | 998 | + var r = os_map[srcId]; |
| | 999 | + if( r == null ) { |
| | 1000 | + return; // not our event |
| | 1001 | + } |
| | 1002 | + var num = os_getNumberSuffix( targ.id ); |
| | 1003 | + |
| | 1004 | + os_mouse_pressed = true; |
| | 1005 | + if( num >= 0 ) { |
| | 1006 | + os_mouse_num = num; |
| | 1007 | + // os_updateSearchQuery( r, r.results[num] ); |
| | 1008 | + } |
| | 1009 | + // keep the focus on the search field |
| | 1010 | + document.getElementById( r.searchbox ).focus(); |
| | 1011 | + |
| | 1012 | + return false; // prevents selection |
| | 1013 | +}; |
| | 1014 | + |
| | 1015 | +/** Mouse button released, check for click on some row */ |
| | 1016 | +window.os_eventMouseup = function( srcId, e ) { |
| | 1017 | + var targ = os_getTarget( e ); |
| | 1018 | + var r = os_map[srcId]; |
| | 1019 | + if( r == null ) { |
| | 1020 | + return; // not our event |
| | 1021 | + } |
| | 1022 | + var num = os_getNumberSuffix( targ.id ); |
| | 1023 | + |
| | 1024 | + if( num >= 0 && os_mouse_num == num ) { |
| | 1025 | + os_updateSearchQuery( r, r.results[num] ); |
| | 1026 | + os_hideResults( r ); |
| | 1027 | + document.getElementById( r.searchform ).submit(); |
| | 1028 | + } |
| | 1029 | + os_mouse_pressed = false; |
| | 1030 | + // keep the focus on the search field |
| | 1031 | + document.getElementById( r.searchbox ).focus(); |
| | 1032 | +}; |
| | 1033 | + |
| | 1034 | +/** Toggle stuff seems to be dead code? */ |
| | 1035 | + |
| | 1036 | +/** Return the span element that contains the toggle link */ |
| | 1037 | +window.os_createToggle = function( r, className ) { |
| | 1038 | + var t = document.createElement( 'span' ); |
| | 1039 | + t.className = className; |
| | 1040 | + t.setAttribute( 'id', r.toggle ); |
| | 1041 | + var link = document.createElement( 'a' ); |
| | 1042 | + link.setAttribute( 'href', 'javascript:void(0);' ); |
| | 1043 | + link.onclick = function() { os_toggle( r.searchbox, r.searchform ); }; |
| | 1044 | + var msg = document.createTextNode( wgMWSuggestMessages[0] ); |
| | 1045 | + link.appendChild( msg ); |
| | 1046 | + t.appendChild( link ); |
| | 1047 | + return t; |
| | 1048 | +}; |
| | 1049 | + |
| | 1050 | +/** Call when user clicks on some of the toggle links */ |
| | 1051 | +window.os_toggle = function( inputId, formName ) { |
| | 1052 | + r = os_map[inputId]; |
| | 1053 | + var msg = ''; |
| | 1054 | + if( r == null ) { |
| | 1055 | + os_enableSuggestionsOn( inputId, formName ); |
| | 1056 | + r = os_map[inputId]; |
| | 1057 | + msg = wgMWSuggestMessages[0]; |
| | 1058 | + } else{ |
| | 1059 | + os_disableSuggestionsOn( inputId, formName ); |
| | 1060 | + msg = wgMWSuggestMessages[1]; |
| | 1061 | + } |
| | 1062 | + // change message |
| | 1063 | + var link = document.getElementById( r.toggle ).firstChild; |
| | 1064 | + link.replaceChild( document.createTextNode( msg ), link.firstChild ); |
| | 1065 | +}; |
| | 1066 | + |
| | 1067 | +hookEvent( 'load', os_MWSuggestInit ); |
| Property changes on: branches/REL1_18/phase3/skins/common/mwsuggest.js |
| ___________________________________________________________________ |
| Added: svn:mergeinfo |
| 1 | 1068 | Merged /branches/REL1_17/phase3/skins/common/mwsuggest.js:r81445,81448 |
| 2 | 1069 | Merged /branches/sqlite/skins/common/mwsuggest.js:r58211-58321 |
| 3 | 1070 | Merged /branches/new-installer/phase3/skins/common/mwsuggest.js:r43664-66004 |
| 4 | 1071 | Merged /branches/REL1_15/phase3/skins/common/mwsuggest.js:r51646 |
| Added: svn:eol-style |
| 5 | 1072 | + native |
| Index: branches/REL1_18/phase3/RELEASE-NOTES-1.18 |
| — | — | @@ -198,6 +198,7 @@ |
| 199 | 199 | targets and $wgServer. |
| 200 | 200 | * Introduced $wgVaryOnXFPForAPI which will cause the API to send |
| 201 | 201 | Vary: X-Forwarded-Proto headers. |
| | 202 | +* New maintenance script to refresh image metadata (maintenance/refreshImageMetadata.php) |
| 202 | 203 | |
| 203 | 204 | === Bug fixes in 1.18 === |
| 204 | 205 | * mw.util.getScript has been implemented (like wfScript in GlobalFunctions.php) |
| — | — | @@ -433,6 +434,7 @@ |
| 434 | 435 | are used |
| 435 | 436 | * (bug 30264) Changed installer-generated LocalSettings.php to use require_once() |
| 436 | 437 | instead require() for included extensions. |
| | 438 | +* Tracking categories are no longer shown in footer for special pages |
| 437 | 439 | |
| 438 | 440 | === API changes in 1.18 === |
| 439 | 441 | * BREAKING CHANGE: action=watch now requires POST and token. |
| Property changes on: branches/REL1_18/phase3/RELEASE-NOTES-1.18 |
| ___________________________________________________________________ |
| Modified: svn:mergeinfo |
| 440 | 442 | Merged /trunk/phase3/RELEASE-NOTES-1.18:r93382-93383,94236,95171,95409,95436,95458,95467,95470,95475,95493,95521,95525,95540 |
| Index: branches/REL1_18/phase3/includes/GlobalFunctions.php |
| — | — | @@ -426,7 +426,7 @@ |
| 427 | 427 | /** |
| 428 | 428 | * Expand a potentially local URL to a fully-qualified URL. Assumes $wgServer |
| 429 | 429 | * is correct. |
| 430 | | - * |
| | 430 | + * |
| 431 | 431 | * The meaning of the PROTO_* constants is as follows: |
| 432 | 432 | * PROTO_HTTP: Output a URL starting with http:// |
| 433 | 433 | * PROTO_HTTPS: Output a URL starting with https:// |
| — | — | @@ -444,15 +444,15 @@ |
| 445 | 445 | function wfExpandUrl( $url, $defaultProto = PROTO_CURRENT ) { |
| 446 | 446 | global $wgServer, $wgCanonicalServer; |
| 447 | 447 | $serverUrl = $defaultProto === PROTO_CANONICAL ? $wgCanonicalServer : $wgServer; |
| 448 | | - |
| | 448 | + |
| 449 | 449 | if ( $defaultProto === PROTO_CURRENT ) { |
| 450 | 450 | $defaultProto = WebRequest::detectProtocol() . '://'; |
| 451 | 451 | } |
| 452 | | - |
| | 452 | + |
| 453 | 453 | // Analyze $serverUrl to obtain its protocol |
| 454 | 454 | $bits = wfParseUrl( $serverUrl ); |
| 455 | 455 | $serverHasProto = $bits && $bits['scheme'] != ''; |
| 456 | | - |
| | 456 | + |
| 457 | 457 | if ( $defaultProto === PROTO_CANONICAL ) { |
| 458 | 458 | if ( $serverHasProto ) { |
| 459 | 459 | $defaultProto = $bits['scheme'] . '://'; |
| — | — | @@ -462,9 +462,9 @@ |
| 463 | 463 | $defaultProto = PROTO_HTTP; |
| 464 | 464 | } |
| 465 | 465 | } |
| 466 | | - |
| | 466 | + |
| 467 | 467 | $defaultProtoWithoutSlashes = substr( $defaultProto, 0, -2 ); |
| 468 | | - |
| | 468 | + |
| 469 | 469 | if( substr( $url, 0, 2 ) == '//' ) { |
| 470 | 470 | return $defaultProtoWithoutSlashes . $url; |
| 471 | 471 | } elseif( substr( $url, 0, 1 ) == '/' ) { |
| — | — | @@ -511,7 +511,7 @@ |
| 512 | 512 | // URLs weren't supported until 1.18 |
| 513 | 513 | $retval = $wgUrlProtocols; |
| 514 | 514 | } |
| 515 | | - |
| | 515 | + |
| 516 | 516 | // Cache return value |
| 517 | 517 | if ( $includeProtocolRelative ) { |
| 518 | 518 | $withProtRel = $retval; |
| — | — | @@ -1399,6 +1399,8 @@ |
| 1400 | 1400 | * debug_backtrace is disabled, otherwise the output from |
| 1401 | 1401 | * debug_backtrace() (trimmed). |
| 1402 | 1402 | * |
| | 1403 | + * @param $limit int This parameter can be used to limit the number of stack frames returned |
| | 1404 | + * |
| 1403 | 1405 | * @return array of backtrace information |
| 1404 | 1406 | */ |
| 1405 | 1407 | function wfDebugBacktrace( $limit = 0 ) { |
| — | — | @@ -1424,7 +1426,7 @@ |
| 1425 | 1427 | } |
| 1426 | 1428 | |
| 1427 | 1429 | if ( $limit && version_compare( PHP_VERSION, '5.4.0', '>=' ) ) { |
| 1428 | | - return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, 1 ), 1 ); |
| | 1430 | + return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit ), 1 ); |
| 1429 | 1431 | } else { |
| 1430 | 1432 | return array_slice( debug_backtrace(), 1 ); |
| 1431 | 1433 | } |
| Property changes on: branches/REL1_18/phase3/includes/GlobalFunctions.php |
| ___________________________________________________________________ |
| Modified: svn:mergeinfo |
| 1432 | 1434 | Merged /trunk/phase3/includes/GlobalFunctions.php:r93382-93383,94236,95171,95409,95436,95458,95467,95470,95475,95493,95521,95525,95540 |
| Index: branches/REL1_18/phase3/includes/parser/Parser.php |
| — | — | @@ -3831,6 +3831,10 @@ |
| 3832 | 3832 | * @return Boolean: whether the addition was successful |
| 3833 | 3833 | */ |
| 3834 | 3834 | protected function addTrackingCategory( $msg ) { |
| | 3835 | + if ( $this->mTitle->getNamespace() === NS_SPECIAL ) { |
| | 3836 | + wfDebug( __METHOD__.": Not adding tracking category $msg to special page!\n" ); |
| | 3837 | + return false; |
| | 3838 | + } |
| 3835 | 3839 | $cat = wfMsgForContent( $msg ); |
| 3836 | 3840 | |
| 3837 | 3841 | # Allow tracking categories to be disabled by setting them to "-" |
| Index: branches/REL1_18/phase3/includes/HTMLForm.php |
| — | — | @@ -680,9 +680,11 @@ |
| 681 | 681 | |
| 682 | 682 | /** |
| 683 | 683 | * TODO: Document |
| 684 | | - * @param $fields |
| | 684 | + * @param $fields array of fields (either arrays or objects) |
| | 685 | + * @param $sectionName string ID attribute of the <table> tag for this section, ignored if empty |
| | 686 | + * @param $fieldsetIDPrefix string ID prefix for the <fieldset> tag of each subsection, ignored if empty |
| 685 | 687 | */ |
| 686 | | - function displaySection( $fields, $sectionName = '', $displayTitle = false ) { |
| | 688 | + function displaySection( $fields, $sectionName = '', $fieldsetIDPrefix = '' ) { |
| 687 | 689 | $tableHtml = ''; |
| 688 | 690 | $subsectionHtml = ''; |
| 689 | 691 | $hasLeftColumn = false; |
| — | — | @@ -706,8 +708,8 @@ |
| 707 | 709 | $section .= $this->mSectionFooters[$key]; |
| 708 | 710 | } |
| 709 | 711 | $attributes = array(); |
| 710 | | - if ( $displayTitle ) { |
| 711 | | - $attributes["id"] = 'prefsection-' . Sanitizer::escapeId( $key, 'noninitial' ); |
| | 712 | + if ( $fieldsetIDPrefix ) { |
| | 713 | + $attributes['id'] = Sanitizer::escapeId( "$fieldsetIDPrefix$key" ); |
| 712 | 714 | } |
| 713 | 715 | $subsectionHtml .= Xml::fieldset( $legend, $section, $attributes ) . "\n"; |
| 714 | 716 | } |
| Index: branches/REL1_18/phase3/includes/OutputPage.php |
| — | — | @@ -1928,9 +1928,12 @@ |
| 1929 | 1929 | /** |
| 1930 | 1930 | * Output a standard error page |
| 1931 | 1931 | * |
| | 1932 | + * showErrorPage( 'titlemsg', 'pagetextmsg', array( 'param1', 'param2' ) ); |
| | 1933 | + * showErrorPage( 'titlemsg', $messageObject ); |
| | 1934 | + * |
| 1932 | 1935 | * @param $title String: message key for page title |
| 1933 | | - * @param $msg String: message key for page text |
| 1934 | | - * @param $params Array: message parameters |
| | 1936 | + * @param $msg Mixed: message key (string) for page text, or a Message object |
| | 1937 | + * @param $params Array: message parameters; ignored if $msg is a Message object |
| 1935 | 1938 | */ |
| 1936 | 1939 | public function showErrorPage( $title, $msg, $params = array() ) { |
| 1937 | 1940 | if ( $this->getTitle() ) { |
| — | — | @@ -1944,7 +1947,11 @@ |
| 1945 | 1948 | $this->mRedirect = ''; |
| 1946 | 1949 | $this->mBodytext = ''; |
| 1947 | 1950 | |
| 1948 | | - $this->addWikiMsgArray( $msg, $params ); |
| | 1951 | + if ( $msg instanceof Message ){ |
| | 1952 | + $this->addHTML( $msg->parse() ); |
| | 1953 | + } else { |
| | 1954 | + $this->addWikiMsgArray( $msg, $params ); |
| | 1955 | + } |
| 1949 | 1956 | |
| 1950 | 1957 | $this->returnToMain(); |
| 1951 | 1958 | } |
| — | — | @@ -2352,7 +2359,7 @@ |
| 2353 | 2360 | } |
| 2354 | 2361 | |
| 2355 | 2362 | if ( $wgEnableMWSuggest && !$this->getUser()->getOption( 'disablesuggest', false ) ) { |
| 2356 | | - $this->addModules( 'mediawiki.page.mwsuggest' ); |
| | 2363 | + $this->addModules( 'mediawiki.legacy.mwsuggest' ); |
| 2357 | 2364 | } |
| 2358 | 2365 | } |
| 2359 | 2366 | |
| Property changes on: branches/REL1_18/phase3/includes/OutputPage.php |
| ___________________________________________________________________ |
| Modified: svn:mergeinfo |
| 2360 | 2367 | Merged /trunk/phase3/includes/OutputPage.php:r93382-93383,94236,95171,95409,95436,95458,95467,95470,95475,95493,95521,95525,95540 |
| Index: branches/REL1_18/phase3/includes/AutoLoader.php |
| — | — | @@ -24,7 +24,6 @@ |
| 25 | 25 | 'AuthPluginUser' => 'includes/AuthPlugin.php', |
| 26 | 26 | 'Autopromote' => 'includes/Autopromote.php', |
| 27 | 27 | 'BacklinkCache' => 'includes/BacklinkCache.php', |
| 28 | | - 'BadTitle' => 'includes/Title.php', |
| 29 | 28 | 'BaseTemplate' => 'includes/SkinTemplate.php', |
| 30 | 29 | 'Block' => 'includes/Block.php', |
| 31 | 30 | 'Category' => 'includes/Category.php', |
| Property changes on: branches/REL1_18/phase3/includes/AutoLoader.php |
| ___________________________________________________________________ |
| Modified: svn:mergeinfo |
| 32 | 31 | Merged /trunk/phase3/includes/AutoLoader.php:r93382-93383,94236,95171,95409,95436,95458,95467,95470,95475,95493,95521,95525,95540 |
| Index: branches/REL1_18/phase3/includes/Wiki.php |
| — | — | @@ -99,7 +99,7 @@ |
| 100 | 100 | } |
| 101 | 101 | |
| 102 | 102 | if ( $ret === null || ( $ret->getDBkey() == '' && $ret->getInterwiki() == '' ) ) { |
| 103 | | - $ret = new BadTitle; |
| | 103 | + $ret = SpecialPage::getTitleFor( 'Badtitle' ); |
| 104 | 104 | } |
| 105 | 105 | |
| 106 | 106 | return $ret; |
| — | — | @@ -147,7 +147,9 @@ |
| 148 | 148 | array( &$title, null, &$output, &$user, $request, $this ) ); |
| 149 | 149 | |
| 150 | 150 | // Invalid titles. Bug 21776: The interwikis must redirect even if the page name is empty. |
| 151 | | - if ( $title instanceof BadTitle ) { |
| | 151 | + if ( is_null( $title ) || ( ( $title->getDBkey() == '' ) && ( $title->getInterwiki() == '' ) ) ) { |
| | 152 | + $this->context->title = SpecialPage::getTitleFor( 'Badtitle' ); |
| | 153 | + // Die now before we mess up $wgArticle and the skin stops working |
| 152 | 154 | throw new ErrorPageError( 'badtitle', 'badtitletext' ); |
| 153 | 155 | // If the user is not logged in, the Namespace:title of the article must be in |
| 154 | 156 | // the Read array in order for the user to see it. (We have to check here to |
| — | — | @@ -171,7 +173,7 @@ |
| 172 | 174 | // 301 so google et al report the target as the actual url. |
| 173 | 175 | $output->redirect( $url, 301 ); |
| 174 | 176 | } else { |
| 175 | | - $this->context->setTitle( new BadTitle ); |
| | 177 | + $this->context->setTitle( SpecialPage::getTitleFor( 'Badtitle' ) ); |
| 176 | 178 | wfProfileOut( __METHOD__ ); |
| 177 | 179 | throw new ErrorPageError( 'badtitle', 'badtitletext' ); |
| 178 | 180 | } |
| Index: branches/REL1_18/phase3/includes/Title.php |
| — | — | @@ -4330,38 +4330,4 @@ |
| 4331 | 4331 | wfRunHooks( 'PageContentLanguage', array( $this, &$pageLang, $wgLang ) ); |
| 4332 | 4332 | return wfGetLangObj( $pageLang ); |
| 4333 | 4333 | } |
| 4334 | | -} |
| 4335 | | - |
| 4336 | | -/** |
| 4337 | | - * A BadTitle is generated in MediaWiki::parseTitle() if the title is invalid; the |
| 4338 | | - * software uses this to display an error page. Internally it's basically a Title |
| 4339 | | - * for an empty special page |
| 4340 | | - */ |
| 4341 | | -class BadTitle extends Title { |
| 4342 | | - public function __construct(){ |
| 4343 | | - $this->mTextform = ''; |
| 4344 | | - $this->mUrlform = ''; |
| 4345 | | - $this->mDbkeyform = ''; |
| 4346 | | - $this->mNamespace = NS_SPECIAL; // Stops talk page link, etc, being shown |
| 4347 | | - } |
| 4348 | | - |
| 4349 | | - public function exists(){ |
| 4350 | | - return false; |
| 4351 | | - } |
| 4352 | | - |
| 4353 | | - public function getPrefixedText(){ |
| 4354 | | - return ''; |
| 4355 | | - } |
| 4356 | | - |
| 4357 | | - public function getText(){ |
| 4358 | | - return ''; |
| 4359 | | - } |
| 4360 | | - |
| 4361 | | - public function getPrefixedURL(){ |
| 4362 | | - return ''; |
| 4363 | | - } |
| 4364 | | - |
| 4365 | | - public function getPrefixedDBKey(){ |
| 4366 | | - return ''; |
| 4367 | | - } |
| 4368 | | -} |
| | 4334 | +} |
| \ No newline at end of file |
| Property changes on: branches/REL1_18/phase3/includes/Title.php |
| ___________________________________________________________________ |
| Modified: svn:mergeinfo |
| 4369 | 4335 | Merged /trunk/phase3/includes/Title.php:r93382-93383,94236,95171,95409,95436,95458,95467,95470,95475,95493,95521,95525,95540 |
| Index: branches/REL1_18/phase3/includes/Preferences.php |
| — | — | @@ -1524,6 +1524,6 @@ |
| 1525 | 1525 | * Get the whole body of the form. |
| 1526 | 1526 | */ |
| 1527 | 1527 | function getBody() { |
| 1528 | | - return $this->displaySection( $this->mFieldTree, '', true ); |
| | 1528 | + return $this->displaySection( $this->mFieldTree, '', 'mw-prefsection-' ); |
| 1529 | 1529 | } |
| 1530 | 1530 | } |
| Index: branches/REL1_18/phase3/includes/Exception.php |
| — | — | @@ -255,24 +255,7 @@ |
| 256 | 256 | function report() { |
| 257 | 257 | global $wgOut; |
| 258 | 258 | |
| 259 | | - if ( $wgOut->getTitle() ) { |
| 260 | | - $wgOut->debug( 'Original title: ' . $wgOut->getTitle()->getPrefixedText() . "\n" ); |
| 261 | | - } |
| 262 | | - $wgOut->setPageTitle( wfMsg( $this->title ) ); |
| 263 | | - $wgOut->setHTMLTitle( wfMsg( 'errorpagetitle' ) ); |
| 264 | | - $wgOut->setRobotPolicy( 'noindex,nofollow' ); |
| 265 | | - $wgOut->setArticleRelated( false ); |
| 266 | | - $wgOut->enableClientCache( false ); |
| 267 | | - $wgOut->mRedirect = ''; |
| 268 | | - $wgOut->clearHTML(); |
| 269 | | - |
| 270 | | - if( $this->msg instanceof Message ){ |
| 271 | | - $wgOut->addHTML( $this->msg->parse() ); |
| 272 | | - } else { |
| 273 | | - $wgOut->addWikiMsgArray( $this->msg, $this->params ); |
| 274 | | - } |
| 275 | | - |
| 276 | | - $wgOut->returnToMain(); |
| | 259 | + $wgOut->showErrorPage( $this->title, $this->msg, $this->params ); |
| 277 | 260 | $wgOut->output(); |
| 278 | 261 | } |
| 279 | 262 | } |
| Index: branches/REL1_18/phase3/languages/messages/MessagesEn.php |
| — | — | @@ -365,6 +365,7 @@ |
| 366 | 366 | 'Allmessages' => array( 'AllMessages' ), |
| 367 | 367 | 'Allpages' => array( 'AllPages' ), |
| 368 | 368 | 'Ancientpages' => array( 'AncientPages' ), |
| | 369 | + 'Badtitle' => array( 'Badtitle' ), |
| 369 | 370 | 'Blankpage' => array( 'BlankPage' ), |
| 370 | 371 | 'Block' => array( 'Block', 'BlockIP', 'BlockUser' ), |
| 371 | 372 | 'Blockme' => array( 'BlockMe' ), |
| Index: branches/REL1_18/phase3/resources/Resources.php |
| — | — | @@ -478,12 +478,6 @@ |
| 479 | 479 | 'jquery.mwPrototypes', |
| 480 | 480 | ), |
| 481 | 481 | ), |
| 482 | | - 'mediawiki.page.mwsuggest' => array( |
| 483 | | - 'scripts' => 'resources/mediawiki.page/mediawiki.page.mwsuggest.js', |
| 484 | | - 'dependencies' => array( |
| 485 | | - 'jquery.ui.autocomplete', |
| 486 | | - ), |
| 487 | | - ), |
| 488 | 482 | 'mediawiki.libs.jpegmeta' => array( |
| 489 | 483 | 'scripts' => 'resources/mediawiki.libs/mediawiki.libs.jpegmeta.js', |
| 490 | 484 | ), |
| — | — | @@ -648,6 +642,13 @@ |
| 649 | 643 | 'localBasePath' => $GLOBALS['wgStyleDirectory'], |
| 650 | 644 | 'dependencies' => 'mediawiki.legacy.wikibits', |
| 651 | 645 | ), |
| | 646 | + 'mediawiki.legacy.mwsuggest' => array( |
| | 647 | + 'scripts' => 'common/mwsuggest.js', |
| | 648 | + 'remoteBasePath' => $GLOBALS['wgStylePath'], |
| | 649 | + 'localBasePath' => $GLOBALS['wgStyleDirectory'], |
| | 650 | + 'dependencies' => array( 'mediawiki.legacy.wikibits', 'jquery.client' ), |
| | 651 | + 'messages' => array( 'search-mwsuggest-enabled', 'search-mwsuggest-disabled' ), |
| | 652 | + ), |
| 652 | 653 | 'mediawiki.legacy.preview' => array( |
| 653 | 654 | 'scripts' => 'common/preview.js', |
| 654 | 655 | 'remoteBasePath' => $GLOBALS['wgStylePath'], |
| Index: branches/REL1_18/phase3/resources/mediawiki.special/mediawiki.special.preferences.js |
| — | — | @@ -28,7 +28,7 @@ |
| 29 | 29 | }); |
| 30 | 30 | var $a = $( '<a/>', { |
| 31 | 31 | text : $legend.text(), |
| 32 | | - id : ident.replace('prefsection', 'preftab'), |
| | 32 | + id : ident.replace( 'mw-prefsection', 'preftab' ), |
| 33 | 33 | href : '#' + ident |
| 34 | 34 | }).click( function( e ) { |
| 35 | 35 | e.preventDefault(); |
| — | — | @@ -52,8 +52,8 @@ |
| 53 | 53 | // On document ready: |
| 54 | 54 | $( function() { |
| 55 | 55 | var hash = window.location.hash; |
| 56 | | - if( hash.match( /^#prefsection-[\w-]+/ ) ) { |
| 57 | | - var $tab = $( hash.replace('prefsection', 'preftab') ); |
| | 56 | + if( hash.match( /^#mw-prefsection-[\w-]+/ ) ) { |
| | 57 | + var $tab = $( hash.replace( 'mw-prefsection', 'preftab' ) ); |
| 58 | 58 | $tab.click(); |
| 59 | 59 | } |
| 60 | 60 | } ); |
| — | — | @@ -172,4 +172,4 @@ |
| 173 | 173 | $tzTextbox.blur( function() { updateTimezoneSelection(); } ); |
| 174 | 174 | updateTimezoneSelection(); |
| 175 | 175 | } |
| 176 | | -} )( jQuery, mediaWiki ); |
| \ No newline at end of file |
| | 176 | +} )( jQuery, mediaWiki ); |
| Index: branches/REL1_18/phase3/resources/mediawiki.page/mediawiki.page.mwsuggest.js |
| — | — | @@ -1,76 +0,0 @@ |
| 2 | | -jQuery( document ).ready( function( $ ) { |
| 3 | | - var $container = $('<div>', {'class' : 'open-search-suggestions'}), |
| 4 | | - cache = {}, |
| 5 | | - $suggestionList, |
| 6 | | - url = mw.config.get('wgScriptPath') + '/api.php?format=json&action=opensearch&search=', |
| 7 | | - maxRowWindow; |
| 8 | | - |
| 9 | | - //Append the container which will hold the menu to the body |
| 10 | | - $('body').append( $container ); |
| 11 | | - |
| 12 | | - /* Grabs namespaces from search form or |
| 13 | | - * in case we're not on a search page, take it from wgSearchNamespaces. |
| 14 | | - * @return Array: List of Namespaces that should be searched |
| 15 | | - */ |
| 16 | | - getNamespaces = function() { |
| 17 | | - var namespaces = []; |
| 18 | | - $('form#powersearch, form#search').find( '[name^="ns"]' ).each(function() { |
| 19 | | - if ( this.checked || ( this.type == 'hidden' && this.value == '1' ) ) { |
| 20 | | - namespaces.push( this.name.substring( 2 ) ); |
| 21 | | - } |
| 22 | | - }); |
| 23 | | - if ( !namespaces.length ) { |
| 24 | | - namespaces = mw.config.get('wgSearchNamespaces'); |
| 25 | | - } |
| 26 | | - return namespaces.join('|'); |
| 27 | | - }; |
| 28 | | - |
| 29 | | - /* Helper function to make sure that the list doesn't expand below the visible part of the window */ |
| 30 | | - deliverResult = function( obj, response, maxRowWindow ) { |
| 31 | | - if ( obj && obj.length > 1 ) { |
| 32 | | - response( obj[1] ); |
| 33 | | - // Get the lowest from multiple numbers using fn.apply |
| 34 | | - var maxRow = Math.min.apply( Math, [7, obj[1].length, maxRowWindow] ); |
| 35 | | - $suggestionList.css( 'height', maxRow * $suggestionList.find( '.ui-menu-item' ).eq( 0 ).height() ); |
| 36 | | - } else { |
| 37 | | - response( [] ); |
| 38 | | - } |
| 39 | | - }; |
| 40 | | - |
| 41 | | - /* The actual autocomplete setup */ |
| 42 | | - $("#searchInput").autocomplete({ |
| 43 | | - minLength: 2, |
| 44 | | - source: function ( request, response ) { |
| 45 | | - var namespaces = getNamespaces(); |
| 46 | | - // We're caching queries for performance |
| 47 | | - var term = request.term + namespaces; |
| 48 | | - if (term in cache) { |
| 49 | | - deliverResult( cache[term], response, maxRowWindow ); |
| 50 | | - return; |
| 51 | | - } |
| 52 | | - $.getJSON(url + mw.util.rawurlencode( request.term ) + '&namespace=' + namespaces, function ( obj ) { |
| 53 | | - // Save to cache |
| 54 | | - cache[term] = obj; |
| 55 | | - deliverResult( obj, response, maxRowWindow ); |
| 56 | | - }); |
| 57 | | - }, |
| 58 | | - select: function() { |
| 59 | | - $('#searchGoButton').click(); |
| 60 | | - }, |
| 61 | | - create : function() { |
| 62 | | - $suggestionList = $container.find('ul'); |
| 63 | | - }, |
| 64 | | - appendTo: '.open-search-suggestions', |
| 65 | | - open: function() { |
| 66 | | - maxRowWindow = Math.floor( |
| 67 | | - ( $(window).height() - $suggestionList.offset().top + $(window).scrollTop() ) / |
| 68 | | - $suggestionList.find( '.ui-menu-item' ).eq( 0 ).height() |
| 69 | | - ); |
| 70 | | - } |
| 71 | | - }); |
| 72 | | - |
| 73 | | - /* Legacy teardown, called when things like SimpleSearch need to disable MWSuggest */ |
| 74 | | - window.os_MWSuggestDisable = function() { |
| 75 | | - return $("#searchInput").autocomplete( "destroy" ); |
| 76 | | - }; |
| 77 | | -}); |
| \ No newline at end of file |