Index: trunk/extensions/SemanticMediaWiki/RELEASE-NOTES |
— | — | @@ -3,6 +3,9 @@ |
4 | 4 | == SMW 1.5.7 == |
5 | 5 | |
6 | 6 | * Added UNIX-style DSV (Delimiter-separated values) result format. |
| 7 | +* Changed the way in which units of measurement work. Type:Number now does not |
| 8 | + accept any units, but units can be used with custom types as before. However |
| 9 | + only units with a conversion factor on the custom type page are accepted. |
7 | 10 | |
8 | 11 | == SMW 1.5.6 == |
9 | 12 | |
Index: trunk/extensions/SemanticMediaWiki/includes/SMW_DataValue.php |
— | — | @@ -795,18 +795,6 @@ |
796 | 796 | ); |
797 | 797 | } |
798 | 798 | } |
799 | | - |
800 | | - /** |
801 | | - * Return the unit in which the returned value is to be interpreted. |
802 | | - * This string is a plain UTF-8 string without wiki or html markup. |
803 | | - * Returns the empty string if no unit is given for the value. |
804 | | - * Possibly overwritten by subclasses. |
805 | | - * |
806 | | - * @deprecated Use getDBkeys(). This function will vanish before SMW 1.6. |
807 | | - */ |
808 | | - public function getUnit() { |
809 | | - return ''; // empty unit |
810 | | - } |
811 | 799 | |
812 | 800 | /** |
813 | 801 | * Returns if the data value holds info about a main object (page) |
Index: trunk/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Linear.php |
— | — | @@ -15,122 +15,73 @@ |
16 | 16 | */ |
17 | 17 | class SMWLinearValue extends SMWNumberValue { |
18 | 18 | |
19 | | - protected $m_unitfactors = false; // array mapping canonical unit strings to conversion factors |
20 | | - protected $m_unitids = false; // array mapping (normalised) unit strings to canonical unit strings (ids) |
21 | | - protected $m_displayunits = false; // array of units that should be displayed |
22 | | - protected $m_mainunit = false; // main unit (recognised by the conversion factor 1) |
| 19 | + /// Array with format (canonical unit ID string) => (conversion factor) |
| 20 | + protected $m_unitfactors = false; |
| 21 | + /// Array with format (normalised unit string) => (canonical unit ID string) |
| 22 | + protected $m_unitids = false; |
| 23 | + /// Ordered array of (normalized) units that should be displayed in tooltips, etc. |
| 24 | + protected $m_displayunits = false; |
| 25 | + /// Main unit in canonical form (recognised by the conversion factor 1) |
| 26 | + protected $m_mainunit = false; |
23 | 27 | |
24 | | - /** |
25 | | - * Converts the current m_value and m_unit to the main unit, if possible. |
26 | | - * This means, it changes the fileds m_value and m_unit accordingly, and |
27 | | - * that it stores the ID of the originally given unit in $this->m_unitin. |
28 | | - * This should obviously not be done more than once, so it is advisable to |
29 | | - * first check if m_unitin is non-false. Also, it should be checked if the |
30 | | - * value is valid before trying to calculate with its contents. |
31 | | - */ |
32 | | - protected function convertToMainUnit() { |
33 | | - if ( $this->m_unitin !== false ) return; |
| 28 | + protected function convertToMainUnit( $number, $unit ) { |
34 | 29 | $this->initConversionData(); |
35 | | - if ( !$this->isValid() ) { // give up, avoid calculations with non-numbers |
36 | | - $this->m_unitin = $this->m_unit; |
37 | | - return; |
38 | | - } |
39 | | - |
40 | | - // Find ID for current unit |
41 | | - if ( array_key_exists( $this->m_unit, $this->m_unitids ) ) { |
42 | | - $this->m_unitin = $this->m_unitids[$this->m_unit]; |
43 | | - } else { // already unit id (possibly of an unknown unit) |
44 | | - $this->m_unitin = $this->m_unit; |
45 | | - } |
46 | | - |
47 | | - // Do conversion |
48 | | - if ( ( array_key_exists( $this->m_unitin, $this->m_unitfactors ) ) && ( $this->m_mainunit !== false ) ) { |
49 | | - $this->m_unit = $this->m_mainunit; |
50 | | - $this->m_value = $this->m_value / $this->m_unitfactors[$this->m_unitin]; |
51 | | - } // else: unsupported unit, keep all as it is |
| 30 | + if ( array_key_exists( $unit, $this->m_unitids ) ) { |
| 31 | + $this->m_unitin = $this->m_unitids[$unit]; |
| 32 | + $this->m_value = $number / $this->m_unitfactors[$this->m_unitin]; |
| 33 | + return true; |
| 34 | + } //else: unsupported unit |
| 35 | + return false; |
52 | 36 | } |
53 | 37 | |
54 | | - /** |
55 | | - * This method creates an array of unit-value-pairs that should be |
56 | | - * printed. Units are the keys and should be canonical unit IDs. |
57 | | - * The result is stored in $this->m_unitvalues. Again, any class that |
58 | | - * requires effort for doing this should first check whether the array |
59 | | - * is already set (i.e. not false) before doing any work. |
60 | | - * Note that the values should be plain numbers. Output formatting is done |
61 | | - * later when needed. Also, it should be checked if the value is valid |
62 | | - * before trying to calculate with its contents. |
63 | | - * This method also must call or implement convertToMainUnit(). |
64 | | - */ |
65 | 38 | protected function makeConversionValues() { |
66 | | - if ( $this->m_unitvalues !== false ) return; |
67 | | - $this->convertToMainUnit(); |
68 | | - if ( $this->m_unit !== $this->m_mainunit ) { // conversion failed, no choice for us |
69 | | - $this->m_unitvalues = array( $this->m_unit => $this->m_value ); |
70 | | - return; |
71 | | - } |
72 | | - $this->initDisplayData(); |
73 | | - |
| 39 | + if ( $this->m_unitvalues !== false ) return; // do this only once |
74 | 40 | $this->m_unitvalues = array(); |
| 41 | + if ( !$this->isValid() ) return; |
| 42 | + $this->initDisplayData(); |
75 | 43 | if ( count( $this->m_displayunits ) == 0 ) { // no display units, just show all |
76 | 44 | foreach ( $this->m_unitfactors as $unit => $factor ) { |
77 | | - $this->m_unitvalues[$unit] = $this->m_value * $factor; |
| 45 | + if ( $unit != '' ) { // filter out the empty fallback unit that is always there |
| 46 | + $this->m_unitvalues[$unit] = $this->m_value * $factor; |
| 47 | + } |
78 | 48 | } |
79 | 49 | } else { |
80 | | - foreach ( $this->m_displayunits as $unit ) { // do not use unit ids here (requires a small hack below, but allows to select representation of unit via displayunits) |
81 | | - if ( array_key_exists( $this->m_unitids[$unit], $this->m_unitfactors ) ) { |
82 | | - $this->m_unitvalues[$unit] = $this->m_value * $this->m_unitfactors[$this->m_unitids[$unit]]; |
83 | | - if ( $this->m_unitids[$unit] == $this->m_unitin ) { // use the display unit version of the input unit as id |
84 | | - $this->m_unitin = $unit; |
85 | | - } |
86 | | - } |
| 50 | + foreach ( $this->m_displayunits as $unit ) { |
| 51 | + /// NOTE We keep non-ID units unless the input unit is used, so display units can be used to pick |
| 52 | + /// the preferred form of a unit. Doing this requires us to recompute the conversion values whenever |
| 53 | + /// the m_unitin changes. |
| 54 | + $unitkey = ( $this->m_unitids[$unit] == $this->m_unitin ) ? $this->m_unitids[$unit] : $unit; |
| 55 | + $this->m_unitvalues[$unitkey] = $this->m_value * $this->m_unitfactors[$this->m_unitids[$unit]]; |
87 | 56 | } |
88 | | - if ( count( $this->m_unitvalues ) == 0 ) { // none of the desired units matches |
89 | | - // display just the current one (so one can disable unit tooltips by setting a nonunit for display) |
90 | | - $this->m_unitvalues = array( $this->m_unit => $this->m_value ); |
91 | | - } |
92 | 57 | } |
93 | 58 | } |
94 | 59 | |
95 | | - /** |
96 | | - * This method is used when no user input was given to find the best |
97 | | - * values for m_wikivalue, m_unitin, and m_caption. After conversion, |
98 | | - * these fields will look as if they were generated from user input, |
99 | | - * and convertToMainUnit() will have been called (if not, it would be |
100 | | - * blocked by the presence of m_unitin). |
101 | | - */ |
102 | 60 | protected function makeUserValue() { |
103 | | - $this->convertToMainUnit(); |
104 | | - |
105 | | - $value = false; |
106 | | - if ( $this->m_unit === $this->m_mainunit ) { // only try if conversion worked |
107 | | - if ( ( $value === false ) && ( $this->m_outformat ) && ( $this->m_outformat != '-' ) ) { // first try given output unit |
108 | | - $unit = $this->normalizeUnit( $this->m_outformat ); |
109 | | - $printunit = $unit; |
110 | | - if ( array_key_exists( $unit, $this->m_unitids ) ) { // find id for output unit |
111 | | - $unit = $this->m_unitids[$unit]; |
112 | | - if ( array_key_exists( $unit, $this->m_unitfactors ) ) { // find factor for this id |
113 | | - $value = $this->m_value * $this->m_unitfactors[$unit]; |
114 | | - } |
115 | | - } |
| 61 | + $printunit = false; // the normalised string of a known unit to use for printouts |
| 62 | + // Check if a known unit is given as outputformat: |
| 63 | + if ( ( $this->m_outformat ) && ( $this->m_outformat != '-' ) && |
| 64 | + ( $this->m_outformat != '-n' ) && ( $this->m_outformat != '-u' )) { // first try given output unit |
| 65 | + $wantedunit = SMWNumberValue::normalizeUnit( $this->m_outformat ); |
| 66 | + if ( array_key_exists( $wantedunit, $this->m_unitids ) ) { |
| 67 | + $printunit = $wantedunit; |
116 | 68 | } |
117 | | - if ( $value === false ) { // next look for the first given display unit |
118 | | - $this->initDisplayData(); |
119 | | - if ( count( $this->m_displayunits ) > 0 ) { |
120 | | - $unit = $this->m_unitids[$this->m_displayunits[0]]; // was already verified to exist before |
121 | | - if ( array_key_exists( $unit, $this->m_unitfactors ) ) { // find factor for this id |
122 | | - $value = $this->m_value * $this->m_unitfactors[$unit]; |
123 | | - $printunit = $this->m_displayunits[0]; |
124 | | - } |
125 | | - } |
| 69 | + } |
| 70 | + // Alternatively, try to use the main display unit as a default: |
| 71 | + if ( $printunit === false ) { |
| 72 | + $this->initDisplayData(); |
| 73 | + if ( count( $this->m_displayunits ) > 0 ) { |
| 74 | + $printunit = reset( $this->m_displayunits ); |
126 | 75 | } |
127 | 76 | } |
128 | | - |
129 | | - if ( $value === false ) { // finally fallback to current value |
130 | | - $value = $this->m_value; |
131 | | - $unit = $this->m_unit; |
132 | | - $printunit = $unit; |
| 77 | + // Finally, fall back to main unit: |
| 78 | + if ( $printunit === false ) { |
| 79 | + $printunit = $this->getUnit(); |
133 | 80 | } |
134 | 81 | |
| 82 | + $this->m_unitin = $this->m_unitids[$printunit]; |
| 83 | + $this->m_unitvalues = false; // this array depends on m_unitin if displayunits were used, better invalidate it here |
| 84 | + $value = $this->m_value * $this->m_unitfactors[$this->m_unitin]; |
| 85 | + |
135 | 86 | $this->m_caption = ''; |
136 | 87 | if ( $this->m_outformat != '-u' ) { // -u is the format for displaying the unit only |
137 | 88 | $this->m_caption .= ( ( $this->m_outformat != '-' ) && ( $this->m_outformat != '-n' ) ? smwfNumberFormat( $value ) : $value ); |
— | — | @@ -141,58 +92,59 @@ |
142 | 93 | } |
143 | 94 | $this->m_caption .= $printunit; |
144 | 95 | } |
145 | | - $this->m_wikivalue = $this->m_caption; |
146 | | - $this->m_unitin = $unit; |
147 | 96 | } |
148 | 97 | |
149 | | - /** |
150 | | - * Return an array of major unit strings (ids only recommended) supported by |
151 | | - * this datavalue. |
152 | | - */ |
153 | 98 | public function getUnitList() { |
154 | 99 | $this->initConversionData(); |
155 | 100 | return array_keys( $this->m_unitfactors ); |
156 | 101 | } |
157 | 102 | |
| 103 | + public function getUnit() { |
| 104 | + $this->initConversionData(); |
| 105 | + return $this->m_mainunit; |
| 106 | + } |
| 107 | + |
158 | 108 | /// The remaining functions are relatively "private" but are kept protected since |
159 | 109 | /// subclasses might exploit this to, e.g., "fake" conversion factors instead of |
160 | 110 | /// getting them from the database. A cheap way of making built-in types. |
161 | 111 | |
162 | 112 | /** |
163 | | - * This method fills $m_unitfactors and $m_unitids with required values. |
| 113 | + * This method initializes $m_unitfactors, $m_unitids, and $m_mainunit. |
164 | 114 | */ |
165 | 115 | protected function initConversionData() { |
166 | | - if ( $this->m_unitids !== false ) return; |
| 116 | + if ( $this->m_unitids !== false ) return; // do the below only once |
167 | 117 | $this->m_unitids = array(); |
168 | 118 | $this->m_unitfactors = array(); |
| 119 | + $this->m_mainunit = false; |
169 | 120 | |
170 | 121 | $typepage = SMWWikiPageValue::makePage( $this->m_typeid, SMW_NS_TYPE ); |
171 | | - if ( !$typepage->isValid() ) return; |
| 122 | + if ( !$typepage->isValid() ) { |
| 123 | + smwfLoadExtensionMessages( 'SemanticMediaWiki' ); |
| 124 | + $this->addError( wfMsgForContent( 'smw_unknowntype', SMWDataValueFactory::findTypeLabel( $this->getTypeID() ) ) ); |
| 125 | + return; |
| 126 | + } |
172 | 127 | $factors = smwfGetStore()->getPropertyValues( $typepage, SMWPropertyValue::makeProperty( '_CONV' ) ); |
173 | 128 | if ( count( $factors ) == 0 ) { // no custom type |
174 | | - // delete all previous errors, this is our real problem |
175 | | - /// TODO: probably we should check for this earlier, but avoid unnecessary DB requests ... |
176 | 129 | smwfLoadExtensionMessages( 'SemanticMediaWiki' ); |
177 | 130 | $this->addError( wfMsgForContent( 'smw_unknowntype', SMWDataValueFactory::findTypeLabel( $this->getTypeID() ) ) ); |
178 | 131 | return; |
179 | 132 | } |
180 | | - $numdv = SMWDataValueFactory::newTypeIDValue( '_num' ); // used for parsing the factors |
| 133 | + $number = $unit = ''; |
181 | 134 | foreach ( $factors as $dv ) { |
182 | | - $numdv->setUserValue( $dv->getWikiValue() ); |
183 | | - if ( !$numdv->isValid() || ( $numdv->getValueKey() === 0 ) ) { |
| 135 | + if ( SMWNumberValue::parseNumberValue( $dv->getWikiValue(), $number, $unit ) != 0 ) { |
184 | 136 | continue; // ignore problematic conversions |
185 | 137 | } |
186 | | - $unit_aliases = preg_split( '/\s*,\s*/u', $numdv->getUnit() ); |
| 138 | + $unit_aliases = preg_split( '/\s*,\s*/u', $unit ); |
187 | 139 | $first = true; |
188 | 140 | foreach ( $unit_aliases as $unit ) { |
189 | | - $unit = $this->normalizeUnit( $unit ); |
| 141 | + $unit = SMWNumberValue::normalizeUnit( $unit ); |
190 | 142 | if ( $first ) { |
191 | 143 | $unitid = $unit; |
192 | | - if ( $numdv->getValueKey() == 1 ) { // add main unit to front of array (displyed first) |
| 144 | + if ( $number == 1 ) { // add main unit to front of array (displayed first) |
193 | 145 | $this->m_mainunit = $unit; |
194 | | - $this->m_unitfactors = array( $unit => $numdv->getValueKey() ) + $this->m_unitfactors; |
195 | | - } else { // non-main units are not ordered -- they might come out in any way the DB likes (can be modified via display units) |
196 | | - $this->m_unitfactors[$unit] = $numdv->getValueKey(); |
| 146 | + $this->m_unitfactors = array( $unit => 1 ) + $this->m_unitfactors; |
| 147 | + } else { // non-main units are not ordered (can be modified via display units) |
| 148 | + $this->m_unitfactors[$unit] = $number; |
197 | 149 | } |
198 | 150 | $first = false; |
199 | 151 | } |
— | — | @@ -200,13 +152,21 @@ |
201 | 153 | $this->m_unitids[$unit] = $unitid; |
202 | 154 | } |
203 | 155 | } |
| 156 | + if ( $this->m_mainunit === false ) { // No unit with factor 1? Make empty string the main unit. |
| 157 | + $this->m_mainunit = ''; |
| 158 | + } |
| 159 | + // always add an extra empty unit; not as a synonym for the main unit but as a new unit with ID '' |
| 160 | + // so if users do not give any unit, the conversion tooltip will still display the main unit for clarity |
| 161 | + // (the empty unit is never displayed; we filter it when making conversion values) |
| 162 | + $this->m_unitfactors = array( '' => 1 ) + $this->m_unitfactors; |
| 163 | + $this->m_unitids[''] = ''; |
204 | 164 | } |
205 | 165 | |
206 | 166 | /** |
207 | | - * This method fills $m_displayunits. |
| 167 | + * This method initializes $m_displayunits. |
208 | 168 | */ |
209 | 169 | protected function initDisplayData() { |
210 | | - if ( $this->m_displayunits !== false ) return; |
| 170 | + if ( $this->m_displayunits !== false ) return; // do the below only once |
211 | 171 | $this->initConversionData(); // needed to normalise unit strings |
212 | 172 | $this->m_displayunits = array(); |
213 | 173 | if ( ( $this->m_property === null ) || ( $this->m_property->getWikiPageValue() === null ) ) return; |
— | — | @@ -216,10 +176,10 @@ |
217 | 177 | $units = $units + preg_split( '/\s*,\s*/u', $value->getWikiValue() ); |
218 | 178 | } |
219 | 179 | foreach ( $units as $unit ) { |
220 | | - $unit = $this->normalizeUnit( $unit ); |
| 180 | + $unit = SMWNumberValue::normalizeUnit( $unit ); |
221 | 181 | if ( array_key_exists( $unit, $this->m_unitids ) ) { |
222 | | - $this->m_displayunits[] = $unit; // avoid duplicates |
223 | | - } // note: we ignore unsuppported units, as they are printed anyway for lack of alternatives |
| 182 | + $this->m_displayunits[] = $unit; // do not avoid duplicates, users can handle this |
| 183 | + } // note: we ignore unsuppported units -- no way to display them |
224 | 184 | } |
225 | 185 | } |
226 | 186 | |
Index: trunk/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Number.php |
— | — | @@ -33,24 +33,33 @@ |
34 | 34 | * |
35 | 35 | * @todo Wiki-HTML-conversion for unit strings must be revisited, as the current |
36 | 36 | * solution might be unsafe. |
37 | | - * @todo Respect desired output unit (relevant for queries). |
38 | 37 | */ |
39 | 38 | class SMWNumberValue extends SMWDataValue { |
40 | 39 | |
41 | | - protected $m_wikivalue = ''; // local language value, user input if given |
42 | | - protected $m_value = ''; // numerical value, in $m_unit |
43 | | - protected $m_unit = ''; // HTML-safe unit string, if any |
44 | | - protected $m_unitin; // if set, specifies the originally given input unit in a standard writing |
45 | | - protected $m_unitvalues; // array with entries unit=>value |
| 40 | + /// The number that this datavalue represents. Must be set if valid. |
| 41 | + protected $m_value = ''; |
| 42 | + /// Array with entries unit=>value, mapping a normalized unit to the converted value. Used for conversion tooltips. |
| 43 | + protected $m_unitvalues; |
| 44 | + /** |
| 45 | + * Canonical identifier for the unit that the user gave as input. Used |
| 46 | + * to avoid printing this in conversion tooltips again. If the |
| 47 | + * outputformat was set to show another unit, then the values of |
| 48 | + * $m_caption and $m_unitin will be updated as if the formatted string |
| 49 | + * had been the original user input, i.e. the two values reflect what |
| 50 | + * is currently printed. |
| 51 | + */ |
| 52 | + protected $m_unitin; |
46 | 53 | |
47 | | - protected function parseUserValue( $value ) { |
48 | | - $this->m_wikivalue = $value; |
49 | | - $this->m_unitin = false; |
50 | | - $this->m_unitvalues = false; |
51 | | - |
| 54 | + /** |
| 55 | + * Parse a string of the form "number unit" where unit is optional. The |
| 56 | + * results are stored in the $number and $unit parameters. Returns an |
| 57 | + * error code. |
| 58 | + * @return integer 0 (no errors), 1 (no number found at all), 2 (number |
| 59 | + * too large for this platform) |
| 60 | + */ |
| 61 | + static protected function parseNumberValue( $value, &$number, &$unit ) { |
| 62 | + // Parse to find $number and (possibly) $unit |
52 | 63 | smwfLoadExtensionMessages( 'SemanticMediaWiki' ); |
53 | | - |
54 | | - // Parse to find value and unit |
55 | 64 | $decseparator = wfMsgForContent( 'smw_decseparator' ); |
56 | 65 | $kiloseparator = wfMsgForContent( 'smw_kiloseparator' ); |
57 | 66 | |
— | — | @@ -64,14 +73,32 @@ |
65 | 74 | if ( $decseparator != '.' ) { |
66 | 75 | $numstring = str_replace( $decseparator, '.', $numstring ); |
67 | 76 | } |
68 | | - list( $this->m_value ) = sscanf( $numstring, "%f" ); |
| 77 | + list( $number ) = sscanf( $numstring, "%f" ); |
| 78 | + if ( count( $parts ) >= 3 ) { |
| 79 | + $unit = SMWNumberValue::normalizeUnit( $parts[2] ); |
| 80 | + } |
69 | 81 | } |
70 | | - if ( count( $parts ) >= 3 ) $this->m_unit = $this->normalizeUnit( $parts[2] ); |
71 | 82 | |
72 | 83 | if ( ( count( $parts ) == 1 ) || ( $numstring == '' ) ) { // no number found |
| 84 | + return 1; |
| 85 | + } elseif ( is_infinite( $number ) ) { // number is too large for this platform |
| 86 | + return 2; |
| 87 | + } else { |
| 88 | + return 0; |
| 89 | + } |
| 90 | + } |
| 91 | + |
| 92 | + protected function parseUserValue( $value ) { |
| 93 | + $this->m_unitin = false; |
| 94 | + $this->m_unitvalues = false; |
| 95 | + $number = $unit = ''; |
| 96 | + $error = SMWNumberValue::parseNumberValue( $value, $number, $unit ); |
| 97 | + if ( $error == 1 ) { // no number found |
73 | 98 | $this->addError( wfMsgForContent( 'smw_nofloat', $value ) ); |
74 | | - } elseif ( is_infinite( $this->m_value ) ) { |
75 | | - wfMsgForContent( 'smw_infinite', $value ); |
| 99 | + } elseif ( $error == 2 ) { // number is too large for this platform |
| 100 | + $this->addError( wfMsgForContent( 'smw_infinite', $value ) ); |
| 101 | + } elseif ( $this->convertToMainUnit( $number, $unit ) === false ) { // so far so good: now convert unit and check if it is allowed |
| 102 | + $this->addError( wfMsgForContent( 'smw_unitnotallowed', $unit ) ); |
76 | 103 | } |
77 | 104 | |
78 | 105 | // Set caption |
— | — | @@ -83,7 +110,6 @@ |
84 | 111 | |
85 | 112 | protected function parseDBkeys( $args ) { |
86 | 113 | $this->m_value = $args[0]; |
87 | | - $this->m_unit = array_key_exists( 2, $args ) ? $args[2]:''; |
88 | 114 | $this->m_caption = false; |
89 | 115 | $this->m_unitin = false; |
90 | 116 | $this->makeUserValue(); |
— | — | @@ -91,11 +117,13 @@ |
92 | 118 | } |
93 | 119 | |
94 | 120 | public function setOutputFormat( $formatstring ) { |
95 | | - $oldformat = $this->m_outformat; |
96 | | - $this->m_outformat = $formatstring; |
97 | | - if ( ( $formatstring != $oldformat ) && $this->isValid() ) { |
98 | | - // recompute conversion if outputformat is changed after initialisation |
99 | | - $this->m_stubvalues = array( $this->m_value, $this->m_value, $this->m_unit ); |
| 121 | + if ( $formatstring != $this->m_outformat ) { |
| 122 | + $this->m_outformat = $formatstring; |
| 123 | + if ( $this->isValid() ) { // update caption/unitin for this format |
| 124 | + $this->m_caption = false; |
| 125 | + $this->m_unitin = false; |
| 126 | + $this->makeUserValue(); |
| 127 | + } |
100 | 128 | } |
101 | 129 | } |
102 | 130 | |
— | — | @@ -103,30 +131,31 @@ |
104 | 132 | $this->unstub(); |
105 | 133 | if ( ( $linked === null ) || ( $linked === false ) || ( $this->m_outformat == '-' ) || ( $this->m_outformat == '-u' ) || ( $this->m_outformat == '-n' ) ) { |
106 | 134 | return $this->m_caption; |
107 | | - } |
108 | | - $this->makeConversionValues(); |
109 | | - $tooltip = ''; |
110 | | - $i = 0; |
111 | | - $sep = ''; |
112 | | - foreach ( $this->m_unitvalues as $unit => $value ) { |
113 | | - if ( $unit != $this->m_unitin ) { |
114 | | - $tooltip .= $sep . smwfNumberFormat( $value ); |
115 | | - if ( $unit != '' ) { |
116 | | - $tooltip .= ' ' . $unit; |
| 135 | + } else { |
| 136 | + $this->makeConversionValues(); |
| 137 | + $tooltip = ''; |
| 138 | + $i = 0; |
| 139 | + $sep = ''; |
| 140 | + foreach ( $this->m_unitvalues as $unit => $value ) { |
| 141 | + if ( $unit != $this->m_unitin ) { |
| 142 | + $tooltip .= $sep . smwfNumberFormat( $value ); |
| 143 | + if ( $unit != '' ) { |
| 144 | + $tooltip .= ' ' . $unit; |
| 145 | + } |
| 146 | + $sep = ' <br />'; |
| 147 | + $i++; |
| 148 | + if ( $i >= 5 ) { // limit number of printouts in tooltip |
| 149 | + break; |
| 150 | + } |
117 | 151 | } |
118 | | - $sep = ' <br />'; |
119 | | - $i++; |
120 | | - if ( $i >= 5 ) { // limit number of printouts in tooltip |
121 | | - break; |
122 | | - } |
123 | 152 | } |
| 153 | + if ( $tooltip != '' ) { |
| 154 | + SMWOutputs::requireHeadItem( SMW_HEADER_TOOLTIP ); |
| 155 | + return '<span class="smwttinline">' . $this->m_caption . '<span class="smwttcontent">' . $tooltip . '</span></span>'; |
| 156 | + } else { |
| 157 | + return $this->m_caption; |
| 158 | + } |
124 | 159 | } |
125 | | - if ( $tooltip != '' ) { |
126 | | - SMWOutputs::requireHeadItem( SMW_HEADER_TOOLTIP ); |
127 | | - return '<span class="smwttinline">' . $this->m_caption . '<span class="smwttcontent">' . $tooltip . '</span></span>'; |
128 | | - } else { |
129 | | - return $this->m_caption; |
130 | | - } |
131 | 160 | } |
132 | 161 | |
133 | 162 | public function getShortHTMLText( $linker = null ) { |
— | — | @@ -147,7 +176,7 @@ |
148 | 177 | } elseif ( $i > 1 ) { |
149 | 178 | $result .= ', '; |
150 | 179 | } |
151 | | - $result .= ( $this->m_outformat != '-' ? smwfNumberFormat( $value ):$value ); |
| 180 | + $result .= ( $this->m_outformat != '-' ? smwfNumberFormat( $value ) : $value ); |
152 | 181 | if ( $unit != '' ) { |
153 | 182 | $result .= ' ' . $unit; |
154 | 183 | } |
— | — | @@ -169,12 +198,11 @@ |
170 | 199 | |
171 | 200 | public function getDBkeys() { |
172 | 201 | $this->unstub(); |
173 | | - $this->convertToMainUnit(); |
174 | | - return array( $this->m_value, floatval( $this->m_value ), $this->m_unit ); |
| 202 | + return array( $this->m_value, floatval( $this->m_value ) ); |
175 | 203 | } |
176 | 204 | |
177 | 205 | public function getSignature() { |
178 | | - return 'tfu'; |
| 206 | + return 'tf'; |
179 | 207 | } |
180 | 208 | |
181 | 209 | public function getValueIndex() { |
— | — | @@ -187,22 +215,24 @@ |
188 | 216 | |
189 | 217 | public function getWikiValue() { |
190 | 218 | $this->unstub(); |
191 | | - return $this->m_wikivalue; |
| 219 | + $unit = $this->getUnit(); |
| 220 | + return strval( $this->m_value ) . ( $unit != '' ? ' ' . $unit : '' ); |
192 | 221 | } |
193 | 222 | |
| 223 | + /** |
| 224 | + * Return the unit in which the returned value is to be interpreted. |
| 225 | + * This string is a plain UTF-8 string without wiki or html markup. |
| 226 | + * The returned value is a canonical ID for the main unit. |
| 227 | + * Returns the empty string if no unit is given for the value. |
| 228 | + * Overwritten by subclasses that support units. |
| 229 | + */ |
194 | 230 | public function getUnit() { |
195 | | - $values = $this->getDBkeys(); |
196 | | - return $values[2]; |
| 231 | + return ''; |
197 | 232 | } |
198 | 233 | |
199 | 234 | public function getHash() { |
200 | 235 | $this->unstub(); |
201 | | - if ( $this->isValid() ) { |
202 | | - $this->convertToMainUnit(); |
203 | | - return $this->m_value . $this->m_unit; |
204 | | - } else { |
205 | | - return implode( "\t", $this->getErrors() ); |
206 | | - } |
| 236 | + return $this->isValid() ? $this->m_value : implode( "\t", $this->getErrors() ); |
207 | 237 | } |
208 | 238 | |
209 | 239 | protected function getServiceLinkParams() { |
— | — | @@ -212,7 +242,7 @@ |
213 | 243 | // $1: string of numerical value in English punctuation |
214 | 244 | // $2: string of integer version of value, in English punctuation |
215 | 245 | // $3: string of unit (if any) |
216 | | - return array( (string)$this->m_value, (string)round( $this->m_value ), $this->m_unit ); |
| 246 | + return array( (string)$this->m_value, (string)round( $this->m_value ) ); |
217 | 247 | } |
218 | 248 | |
219 | 249 | public function getExportData() { |
— | — | @@ -230,7 +260,7 @@ |
231 | 261 | * so that, e.g., "km²" and "km<sup>2</sup>" do not need to be |
232 | 262 | * distinguished. |
233 | 263 | */ |
234 | | - protected function normalizeUnit( $unit ) { |
| 264 | + static protected function normalizeUnit( $unit ) { |
235 | 265 | $unit = str_replace( array( '[[', ']]' ), '', trim( $unit ) ); // allow simple links to be used inside annotations |
236 | 266 | $unit = str_replace( array( '²', '<sup>2</sup>' ), '²', $unit ); |
237 | 267 | $unit = str_replace( array( '³', '<sup>3</sup>' ), '³', $unit ); |
— | — | @@ -238,17 +268,22 @@ |
239 | 269 | } |
240 | 270 | |
241 | 271 | /** |
242 | | - * Converts the current m_value and m_unit to the main unit, if possible. |
243 | | - * This means, it changes the fileds m_value and m_unit accordingly, and |
244 | | - * that it stores the ID of the originally given unit in $this->m_unitin. |
245 | | - * This should obviously not be done more than once, so it is advisable to |
246 | | - * first check if m_unitin is non-false. Also, it should be checked if the |
247 | | - * value is valid before trying to calculate with its contents. |
| 272 | + * Compute the value based on the given input number and unit string. |
| 273 | + * If the unit is not supported, return false, otherwise return true. |
| 274 | + * This is called when parsing user input, where the given unit value |
| 275 | + * has already been normalized. |
248 | 276 | * |
249 | | - * Overwritten by subclasses that support units. |
| 277 | + * This class does not support any (non-empty) units, but subclasses |
| 278 | + * may overwrite this behavior. |
250 | 279 | */ |
251 | | - protected function convertToMainUnit() { |
252 | | - $this->m_unitin = $this->m_unit; // just use unit as ID (no check needed, we can do this as often as desired) |
| 280 | + protected function convertToMainUnit( $number, $unit ) { |
| 281 | + if ( $unit == '' ) { |
| 282 | + $this->m_unitin = ''; |
| 283 | + $this->m_value = $number; |
| 284 | + return true; |
| 285 | + } else { |
| 286 | + return false; |
| 287 | + } |
253 | 288 | } |
254 | 289 | |
255 | 290 | /** |
— | — | @@ -265,13 +300,12 @@ |
266 | 301 | * Overwritten by subclasses that support units. |
267 | 302 | */ |
268 | 303 | protected function makeConversionValues() { |
269 | | - $this->convertToMainUnit(); |
270 | | - $this->m_unitvalues = array( $this->m_unit => $this->m_value ); |
| 304 | + $this->m_unitvalues = array( '' => $this->m_value ); |
271 | 305 | } |
272 | 306 | |
273 | 307 | /** |
274 | 308 | * This method is used when no user input was given to find the best |
275 | | - * values for m_wikivalue, m_unitin, and m_caption. After conversion, |
| 309 | + * values for m_unitin and m_caption. After conversion, |
276 | 310 | * these fields will look as if they were generated from user input, |
277 | 311 | * and convertToMainUnit() will have been called (if not, it would be |
278 | 312 | * blocked by the presence of m_unitin). |
— | — | @@ -279,19 +313,12 @@ |
280 | 314 | * Overwritten by subclasses that support units. |
281 | 315 | */ |
282 | 316 | protected function makeUserValue() { |
283 | | - $this->convertToMainUnit(); |
284 | 317 | $this->m_caption = ''; |
285 | 318 | if ( $this->m_outformat != '-u' ) { // -u is the format for displaying the unit only |
286 | 319 | $this->m_caption .= ( ( $this->m_outformat != '-' ) && ( $this->m_outformat != '-n' ) ? smwfNumberFormat( $this->m_value ) : $this->m_value ); |
287 | 320 | } |
288 | | - if ( ( $this->m_unit != '' ) && ( $this->m_outformat != '-n' ) ) { // -n is the format for displaying the number only |
289 | | - if ( $this->m_outformat != '-u' ) { |
290 | | - $this->m_caption .= ( $this->m_outformat != '-' ? ' ' : ' ' ); |
291 | | - } |
292 | | - $this->m_caption .= $this->m_unit; |
293 | | - } |
294 | | - $this->m_wikivalue = $this->m_caption; |
295 | | - $this->m_unitin = $this->m_unit; |
| 321 | + // no unit ever, so nothing to do about this |
| 322 | + $this->m_unitin = ''; |
296 | 323 | } |
297 | 324 | |
298 | 325 | /** |
— | — | @@ -301,7 +328,7 @@ |
302 | 329 | * Overwritten by subclasses that support units. |
303 | 330 | */ |
304 | 331 | public function getUnitList() { |
305 | | - return array(); |
| 332 | + return array( '' ); |
306 | 333 | } |
307 | 334 | |
308 | 335 | } |
Index: trunk/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Temperature.php |
— | — | @@ -7,95 +7,59 @@ |
8 | 8 | /** |
9 | 9 | * This datavalue implements unit support for measuring temperatures. This is |
10 | 10 | * mostly an example implementation of how to realise custom unit types easily. |
| 11 | + * The implementation lacks support for localization and for selecting |
| 12 | + * "display units" on the property page as possible for the types with linear |
| 13 | + * unit conversion. |
11 | 14 | * |
12 | 15 | * @author Markus Krötzsch |
13 | 16 | * @ingroup SMWDataValues |
14 | 17 | */ |
15 | 18 | class SMWTemperatureValue extends SMWNumberValue { |
16 | 19 | |
17 | | - /** |
18 | | - * Converts the current m_value and m_unit to the main unit, if possible. |
19 | | - * This means, it changes the fileds m_value and m_unit accordingly, and |
20 | | - * that it stores the ID of the originally given unit in $this->m_unitin. |
21 | | - * This should obviously not be done more than once, so it is advisable to |
22 | | - * first check if m_unitin is non-false. Also, it should be checked if the |
23 | | - * value is valid before trying to calculate with its contents. |
24 | | - */ |
25 | | - protected function convertToMainUnit() { |
26 | | - if ( $this->m_unitin !== false ) return; |
27 | | - if ( !$this->isValid() ) { // give up, avoid calculations with non-numbers |
28 | | - $this->m_unitin = $this->m_unit; |
29 | | - return; |
30 | | - } |
31 | | - |
| 20 | + protected function convertToMainUnit( $number, $unit ) { |
32 | 21 | // Find current ID and covert main values to Kelvin, if possible |
33 | 22 | // Note: there is no error when unknown units are used. |
34 | | - $this->m_unitin = $this->getUnitID( $this->m_unit ); |
| 23 | + $this->m_unitin = $this->getUnitID( $unit ); |
35 | 24 | switch ( $this->m_unitin ) { |
36 | 25 | case 'K': |
37 | | - $this->m_unit = 'K'; |
| 26 | + $this->m_value = $number; |
38 | 27 | break; |
39 | 28 | case '°C': |
40 | | - $this->m_unit = 'K'; |
41 | | - $this->m_value = $this->m_value + 273.15; |
| 29 | + $this->m_value = $number + 273.15; |
42 | 30 | break; |
43 | 31 | case '°F': |
44 | | - $this->m_unit = 'K'; |
45 | | - $this->m_value = ( $this->m_value - 32 ) / 1.8 + 273.15; |
| 32 | + $this->m_value = ( $number - 32 ) / 1.8 + 273.15; |
46 | 33 | break; |
47 | 34 | case '°R': |
48 | | - $this->m_unit = 'K'; |
49 | | - $this->m_value = ( $this->m_value ) / 1.8; |
| 35 | + $this->m_value = ( $number ) / 1.8; |
50 | 36 | break; |
51 | | - default: // unsupported unit |
52 | | - // create error here, assuming that our temperature units should not be augmented by unknown units |
53 | | - smwfLoadExtensionMessages( 'SemanticMediaWiki' ); |
54 | | - $this->addError( wfMsgForContent( 'smw_unsupportedunit', $this->m_unit ) ); |
55 | | - $this->m_unit = $this->m_unitin; |
56 | | - break; |
| 37 | + default: return false; // unsupported unit |
57 | 38 | } |
| 39 | + return true; |
58 | 40 | } |
59 | 41 | |
60 | | - /** |
61 | | - * This method creates an array of unit-value-pairs that should be |
62 | | - * printed. Units are the keys and should be canonical unit IDs. |
63 | | - * The result is stored in $this->m_unitvalues. Again, any class that |
64 | | - * requires effort for doing this should first check whether the array |
65 | | - * is already set (i.e. not false) before doing any work. |
66 | | - * Note that the values should be plain numbers. Output formatting is done |
67 | | - * later when needed. Also, it should be checked if the value is valid |
68 | | - * before trying to calculate with its contents. |
69 | | - * This method also must call or implement convertToMainUnit(). |
70 | | - */ |
71 | 42 | protected function makeConversionValues() { |
72 | | - if ( $this->m_unitvalues !== false ) return; |
73 | | - $this->convertToMainUnit(); |
74 | | - $this->m_unitvalues = array( $this->m_unit => $this->m_value ); |
75 | | - if ( $this->isValid() && ( $this->m_unit == 'K' ) ) { |
76 | | - $this->m_unitvalues['°C'] = $this->m_value - 273.15; |
77 | | - $this->m_unitvalues['°F'] = ( $this->m_value - 273.15 ) * 1.8 + 32; |
78 | | - $this->m_unitvalues['°R'] = ( $this->m_value ) * 1.8; |
| 43 | + /// NOTE This class currently ignores display units. |
| 44 | + if ( $this->m_unitvalues !== false ) return; // do this only once |
| 45 | + if ( !$this->isValid() ) { |
| 46 | + $this->m_unitvalues = array(); |
| 47 | + } else { |
| 48 | + $this->m_unitvalues = array( 'K' => $this->m_value, '°C' => $this->m_value - 273.15, |
| 49 | + '°F' => ( $this->m_value - 273.15 ) * 1.8 + 32, |
| 50 | + '°R' => ( $this->m_value ) * 1.8 ); |
79 | 51 | } |
80 | 52 | } |
81 | 53 | |
82 | | - /** |
83 | | - * This method is used when no user input was given to find the best |
84 | | - * values for m_wikivalue, m_unitin, and m_caption. After conversion, |
85 | | - * these fields will look as if they were generated from user input, |
86 | | - * and convertToMainUnit() will have been called (if not, it would be |
87 | | - * blocked by the presence of m_unitin). |
88 | | - */ |
89 | 54 | protected function makeUserValue() { |
90 | | - $this->convertToMainUnit(); |
91 | | - |
92 | 55 | $value = false; |
93 | | - if ( ( $this->m_unit === 'K' ) && $this->m_outformat && ( $this->m_outformat != '-' ) ) { // try given output unit (only if conversion worked) |
94 | | - $unit = $this->getUnitID( $this->normalizeUnit( $this->m_outformat ) ); |
95 | | - $printunit = $this->m_outformat; |
96 | | - switch ( $unit ) { |
| 56 | + if ( ( $this->m_outformat ) && ( $this->m_outformat != '-' ) && |
| 57 | + ( $this->m_outformat != '-n' ) && ( $this->m_outformat != '-u' )) { // first try given output unit |
| 58 | + $printunit = SMWNumberValue::normalizeUnit( $this->m_outformat ); |
| 59 | + $this->m_unitin = $this->getUnitID( $printunit ); |
| 60 | + switch ( $this->m_unitin ) { |
97 | 61 | case 'K': |
98 | 62 | $value = $this->m_value; |
99 | | - break; // nothing to do |
| 63 | + break; |
100 | 64 | case '°C': |
101 | 65 | $value = $this->m_value - 273.15; |
102 | 66 | break; |
— | — | @@ -108,53 +72,46 @@ |
109 | 73 | // default: unit not supported |
110 | 74 | } |
111 | 75 | } |
112 | | - if ( $value === false ) { // finally fallback to current value |
| 76 | + if ( $value === false ) { // no valid output unit requested |
113 | 77 | $value = $this->m_value; |
114 | | - $unit = $this->m_unit; |
115 | | - $printunit = $unit; |
| 78 | + $this->m_unitin = 'K'; |
| 79 | + $printunit = 'K'; |
116 | 80 | } |
117 | 81 | |
118 | | - $this->m_caption = smwfNumberFormat( $value ); |
119 | | - if ( $printunit != '' ) { |
120 | | - $this->m_caption .= ' ' . $printunit; |
| 82 | + $this->m_caption = ''; |
| 83 | + if ( $this->m_outformat != '-u' ) { // -u is the format for displaying the unit only |
| 84 | + $this->m_caption .= ( ( $this->m_outformat != '-' ) && ( $this->m_outformat != '-n' ) ? smwfNumberFormat( $value ) : $value ); |
121 | 85 | } |
122 | | - $this->m_wikivalue = $this->m_caption; |
123 | | - $this->m_unitin = $unit; |
| 86 | + if ( ( $printunit != '' ) && ( $this->m_outformat != '-n' ) ) { // -n is the format for displaying the number only |
| 87 | + if ( $this->m_outformat != '-u' ) { |
| 88 | + $this->m_caption .= ( $this->m_outformat != '-' ? ' ' : ' ' ); |
| 89 | + } |
| 90 | + $this->m_caption .= $printunit; |
| 91 | + } |
124 | 92 | } |
125 | 93 | |
126 | | - |
127 | | - |
128 | 94 | /** |
129 | 95 | * Helper method to find the main representation of a certain unit. |
130 | 96 | */ |
131 | 97 | protected function getUnitID( $unit ) { |
132 | 98 | /// TODO possibly localise some of those strings |
133 | 99 | switch ( $unit ) { |
134 | | - case '': case 'K': case 'Kelvin': case 'kelvin': case 'kelvins': |
135 | | - return 'K'; |
| 100 | + case '': case 'K': case 'Kelvin': case 'kelvin': case 'kelvins': return 'K'; |
136 | 101 | // There's a dedicated Unicode character (℃, U+2103) for degrees C. |
137 | 102 | // Your font may or may not display it; do not be alarmed. |
138 | | - case '°C': case '℃': case 'Celsius': case 'centigrade': |
139 | | - return '°C'; |
140 | | - break; |
141 | | - case '°F': case 'Fahrenheit': |
142 | | - return '°F'; |
143 | | - break; |
144 | | - case '°R': case 'Rankine': |
145 | | - return '°R'; |
146 | | - break; |
147 | | - default: // unsupported unit |
148 | | - return $unit; |
149 | | - break; |
| 103 | + case '°C': case '℃': case 'Celsius': case 'centigrade': return '°C'; |
| 104 | + case '°F': case 'Fahrenheit': return '°F'; |
| 105 | + case '°R': case 'Rankine': return '°R'; |
| 106 | + default: return false; |
150 | 107 | } |
151 | 108 | } |
152 | 109 | |
153 | | - /** |
154 | | - * Return an array of major unit strings (ids only recommended) supported by |
155 | | - * this datavalue. |
156 | | - */ |
157 | 110 | public function getUnitList() { |
158 | 111 | return array( 'K', '°C', '°F', '°R' ); |
159 | 112 | } |
160 | 113 | |
| 114 | + public function getUnit() { |
| 115 | + return 'K'; |
| 116 | + } |
| 117 | + |
161 | 118 | } |
Index: trunk/extensions/SemanticMediaWiki/languages/SMW_Messages.php |
— | — | @@ -118,12 +118,12 @@ |
119 | 119 | 'smw_false_words' => 'false,f,no,n', // comma-separated synonyms for Boolean FALSE besides '0', primary value first |
120 | 120 | 'smw_nofloat' => '"$1" is not a number.', |
121 | 121 | 'smw_infinite' => 'Numbers as large as "$1" are not supported.', |
| 122 | + 'smw_unitnotallowed'=> '"$1" is not declared as a valid unit of measurement for this property.', |
122 | 123 | 'smw_infinite_unit' => 'Conversion into unit "$1" resulted in a number that is too large.', |
123 | 124 | 'smw_novalues' => 'No values specified.', |
124 | 125 | |
125 | 126 | // Currently unused, floats silently store units. 'smw_unexpectedunit' => 'this property supports no unit conversion', |
126 | 127 | 'smw_unsupportedprefix' => 'Prefixes for numbers ("$1") are not supported.', |
127 | | - 'smw_unsupportedunit' => 'Unit conversion for unit "$1" not supported.', |
128 | 128 | |
129 | 129 | // some links for online maps; can be translated to different language versions of services, but need not |
130 | 130 | 'smw_service_online_maps' => " Find online maps|http://tools.wikimedia.de/~magnus/geo/geohack.php?params=\$9_\$7_\$10_\$8\n Google maps|http://maps.google.com/maps?ll=\$11\$9,\$12\$10&spn=0.1,0.1&t=k\n Mapquest|http://www.mapquest.com/maps/map.adp?searchtype=address&formtype=latlong&latlongtype=degrees&latdeg=\$11\$1&latmin=\$3&latsec=\$5&longdeg=\$12\$2&longmin=\$4&longsec=\$6&zoom=6", |
— | — | @@ -615,7 +615,6 @@ |
616 | 616 | 'smw_infinite' => 'الأرقام الكبيرة مثل "$1" غير مدعومة.', |
617 | 617 | 'smw_infinite_unit' => 'التحويل إلى الوحدة "$1" نتج عنه رقم كبير جدا.', |
618 | 618 | 'smw_unsupportedprefix' => 'غير مدعوم ("$1") البادئات لأرقام.', |
619 | | - 'smw_unsupportedunit' => 'غير مدعوم "$1" تحويل الوحدة للوحدة.', |
620 | 619 | 'smw_nodatetime' => 'التاريخ "$1" لم يتم فهمه.', |
621 | 620 | 'smw_toomanyclosing' => 'يبدو أنه هناك الكثير من "$1" في الاستعلام.', |
622 | 621 | 'smw_noclosingbrackets' => '"]]" في استعلامك لم تكن مغلقة باستخدام "<nowiki>[[</nowiki>" بعض استخدام', |
— | — | @@ -880,7 +879,6 @@ |
881 | 880 | 'smw_infinite' => 'الأرقام الكبيره مثل "$1" غير مدعومه.', |
882 | 881 | 'smw_infinite_unit' => 'التحويل إلى الوحده "$1" نتج عنه رقم كبير جدا.', |
883 | 882 | 'smw_unsupportedprefix' => 'غير مدعوم ("$1") البادئات لأرقام.', |
884 | | - 'smw_unsupportedunit' => 'غير مدعوم "$1" تحويل الوحده للوحده.', |
885 | 883 | 'smw_nodatetime' => 'التاريخ "$1" لم يتم فهمه.', |
886 | 884 | 'smw_toomanyclosing' => 'يبدو أنه هناك الكثير من "$1" فى الاستعلام.', |
887 | 885 | 'smw_noclosingbrackets' => '"]]" فى استعلامك لم تكن مغلقه باستخدام "<nowiki>[[</nowiki>" بعض استخدام', |
— | — | @@ -1137,7 +1135,6 @@ |
1138 | 1136 | 'smw_infinite_unit' => 'Пераўтварэньне ў адзінку «$1» стварыла лік, які зьяўляецца занадта вялікім.', |
1139 | 1137 | 'smw_novalues' => 'Значэньні не пазначаныя', |
1140 | 1138 | 'smw_unsupportedprefix' => 'Прэфіксы для лікаў («$1») не падтрымліваюцца.', |
1141 | | - 'smw_unsupportedunit' => 'Пераўтварэньне адзінак для адзінкі «$1» не падтрымліваецца.', |
1142 | 1139 | 'smw_nodatetime' => 'Дата «$1» не была распазнаная.', |
1143 | 1140 | 'smw_toomanyclosing' => 'Зашмат уваходжаньняў «$1» у запыце.', |
1144 | 1141 | 'smw_noclosingbrackets' => 'Выкарыстаныя дужкі «<nowiki>[[</nowiki>» у Вашым запыце не былі зачынены адпаведнымі дужкамі «]]».', |
— | — | @@ -1429,7 +1426,6 @@ |
1430 | 1427 | 'smw_infinite_unit' => 'Kemmadur an unanenn "$1" en deus roet un niver re vras.', |
1431 | 1428 | 'smw_novalues' => "N'eus bet diferet talvoudoù ebet.", |
1432 | 1429 | 'smw_unsupportedprefix' => "Ar rakgerioù evit an niveroù ( « $1 » ) n'int ket skoret.", |
1433 | | - 'smw_unsupportedunit' => 'N\'eo ket skoret kemmadur an unanenn "$1".', |
1434 | 1430 | 'smw_nodatetime' => 'An deiziad « $1 » n’eo ket bet komprenet.', |
1435 | 1431 | 'smw_toomanyclosing' => 'Re a reveziadennoù eus « $1 » zo er reked.', |
1436 | 1432 | 'smw_noclosingbrackets' => 'Implijout \'zo eus "<nowiki>[[</nowiki>" en ho reked n\'int ket bet serret gant ar "]]" a glot.', |
— | — | @@ -1671,7 +1667,6 @@ |
1672 | 1668 | 'smw_infinite_unit' => 'La conversió a la unitat «$1» ha donat un nombre massa llarg.', |
1673 | 1669 | 'smw_novalues' => "No s'ha especificat cap valor.", |
1674 | 1670 | 'smw_unsupportedprefix' => 'No es permet prefixos («$1») en els nombres.', |
1675 | | - 'smw_unsupportedunit' => 'La conversió d\'unitats per la unitat "$1" no està suportada.', |
1676 | 1671 | 'smw_nodatetime' => "No s'ha entès la data «$1».", |
1677 | 1672 | 'smw_toomanyclosing' => 'Sembla ser que «$1» apareix massa vegades a la consulta.', |
1678 | 1673 | 'smw_noclosingbrackets' => 'Algun ús de "<nowiki>[[</nowiki>" en la vostra consulta no es clou amb els "]]" corresponents.', |
— | — | @@ -1893,7 +1888,6 @@ |
1894 | 1889 | 'smw_infinite' => 'Tak dlouhá čísla jako $1 nejsou podporována.', |
1895 | 1890 | 'smw_infinite_unit' => 'Konverze na jednotky $1 dala jako výsledek číslo, které je příliš dlouhé.', |
1896 | 1891 | 'smw_unsupportedprefix' => 'Předpony pro čísla („$1“) nejsou podporované.', |
1897 | | - 'smw_unsupportedunit' => 'Konverze pro jednotku "$1" není podporována.', |
1898 | 1892 | 'smw_nodatetime' => 'Datum "$1" nedává smysl.', |
1899 | 1893 | 'smw_toomanyclosing' => 'Dotazovaný řetězec „$1“ má příliš mnoho výskytů.', |
1900 | 1894 | 'smw_noclosingbrackets' => 'Některý výskyt „<nowiki>[[</nowiki>“ ve vašem dotazu nebyl ukončen odpovídajícím „]]“.', |
— | — | @@ -2091,7 +2085,6 @@ |
2092 | 2086 | 'smw_infinite_unit' => 'Die Umrechnung in Einheit „$1“ ist nicht möglich: die Zahl ist zu lang.', |
2093 | 2087 | 'smw_novalues' => 'Es wurden keine Werte angegeben.', |
2094 | 2088 | 'smw_unsupportedprefix' => 'Vorangestellte Zeichen bei Dezimalzahlen („$1“) werden nicht unterstützt.', |
2095 | | - 'smw_unsupportedunit' => 'Die Umrechnung der Einheit „$1“ wird nicht unterstützt.', |
2096 | 2089 | 'smw_nodatetime' => 'Das Datum „$1“ wurde nicht verstanden.', |
2097 | 2090 | 'smw_toomanyclosing' => 'In der Abfrage kommen zu viele „$1“ vor.', |
2098 | 2091 | 'smw_noclosingbrackets' => 'Ein Vorkommen von „<nowiki>[[</nowiki>“ in der Abfrage wurde nicht durch ein entsprechendes „]]“ abgeschlossen.', |
— | — | @@ -2329,7 +2322,6 @@ |
2330 | 2323 | 'smw_infinite_unit' => 'Konwertěrowanje do jadnotki "$1" jo pśinjasło licbu, kótaraž jo pśedłujka.', |
2331 | 2324 | 'smw_novalues' => 'Žedne gódnoty pódane', |
2332 | 2325 | 'smw_unsupportedprefix' => 'Prefikse za licby ("$1") se njepodpěraju.', |
2333 | | - 'smw_unsupportedunit' => 'Konwertěrowanje jadnotki "$1" se njepódpěra.', |
2334 | 2326 | 'smw_nodatetime' => 'Datum "$1" njejo se rozměł.', |
2335 | 2327 | 'smw_toomanyclosing' => 'Zda se, až jo pśewjele wustupowanjow "$1" w napšašowanju.', |
2336 | 2328 | 'smw_noclosingbrackets' => 'Jadne wustupowanje "<nowiki>[[</nowiki>" w twójom napšašanju njejo se pśez wótpowědnej "]]" wótzamknuło.', |
— | — | @@ -2806,7 +2798,6 @@ |
2807 | 2799 | 'smw_infinite_unit' => 'La conversión en la unidad $1 resultó en un número que es demasiado largo.', |
2808 | 2800 | 'smw_novalues' => 'No se ha especificado valores.', |
2809 | 2801 | 'smw_unsupportedprefix' => 'prefijos ("$1") no esta soportados actualmente', |
2810 | | - 'smw_unsupportedunit' => 'La conversión de la unidad "$1" no está soportada', |
2811 | 2802 | 'smw_nodatetime' => 'La fecha «$1» no ha sido comprendida.', |
2812 | 2803 | 'smw_toomanyclosing' => 'Parece haber demasiadas coincidencias de "$1" en la solicitud.', |
2813 | 2804 | 'smw_noclosingbrackets' => 'Algún uso de "<nowiki>[[</nowiki>" en su consulta no está cerrado por "]]" coincidentes.', |
— | — | @@ -3107,7 +3098,6 @@ |
3108 | 3099 | 'smw_infinite' => 'Numeron "$1" kokoisia arvoja ei tueta.', |
3109 | 3100 | 'smw_infinite_unit' => 'Muuntaminen yksikköihin "$1" johti siihen, että numero kasvoi liian suureksi.', |
3110 | 3101 | 'smw_unsupportedprefix' => 'Lukujen etuliitteitä (”$1”) ei tueta.', |
3111 | | - 'smw_unsupportedunit' => 'Yksikön ”$1” yksikkömuunnosta ei tueta.', |
3112 | 3102 | 'smw_nodatetime' => 'Päiväystä ”$1” ei tunnistettu.', |
3113 | 3103 | 'smw_toomanyclosing' => 'Hakukyselyssä tuntuisi olevan liian monta esiintymää "$1" termistä.', |
3114 | 3104 | 'smw_misplacedsymbol' => 'Symbolia "$1" käytettiin yhteydessä johon se ei soveltunut.', |
— | — | @@ -3279,7 +3269,6 @@ |
3280 | 3270 | 'smw_infinite_unit' => 'La conversion en l’unité « $1 » a donné un nombre trop grand.', |
3281 | 3271 | 'smw_novalues' => 'Aucune valeur spécifiée.', |
3282 | 3272 | 'smw_unsupportedprefix' => 'Des préfixes (« $1 ») ne sont pas supportés actuellement.', |
3283 | | - 'smw_unsupportedunit' => 'La conversion de l’unité « $1 » n’est pas supportée.', |
3284 | 3273 | 'smw_nodatetime' => 'La date « $1 » n’a pas été comprise.', |
3285 | 3274 | 'smw_toomanyclosing' => 'Il semble y avoir trop d’occurences de « $1 » dans la requête.', |
3286 | 3275 | 'smw_noclosingbrackets' => 'Certains « <nowiki>[[</nowiki> » dans votre requête n’ont pas été clos par des « ]] » correspondants.', |
— | — | @@ -3617,7 +3606,6 @@ |
3618 | 3607 | 'smw_infinite_unit' => 'A conversión na unidade "$1" deu como resultado un número que é demasiado grande.', |
3619 | 3608 | 'smw_novalues' => 'Non se especificou ningún valor.', |
3620 | 3609 | 'smw_unsupportedprefix' => 'Os prefixos para os números (“$1”) non están soportados.', |
3621 | | - 'smw_unsupportedunit' => 'Non está soportada a unidade de conversión para a unidade “$1”.', |
3622 | 3610 | 'smw_nodatetime' => 'A data “$1” non foi entendida.', |
3623 | 3611 | 'smw_toomanyclosing' => 'Parece que hai demasiados acontecementos de “$1” na pregunta.', |
3624 | 3612 | 'smw_noclosingbrackets' => 'Algún uso de “<nowiki>[[</nowiki>” na súa pregunta non foi pechado polo seu “]]” correspondente.', |
— | — | @@ -3885,7 +3873,6 @@ |
3886 | 3874 | 'smw_infinite_unit' => 'D Umrächnig in d Eiheit „$1“ isch nit megli: d Zahl isch z lang.', |
3887 | 3875 | 'smw_novalues' => 'Kei Wärt spezifiziert.', |
3888 | 3876 | 'smw_unsupportedprefix' => 'Vornedra gstellti Zeiche bi Dezimalzahle („$1“) wäre nit unterstitzt.', |
3889 | | - 'smw_unsupportedunit' => 'Umrächnig vu dr Eiheit „$1“ nit unterstitzt.', |
3890 | 3877 | 'smw_nodatetime' => 'S Datum „$1“ isch nit verstande wore.', |
3891 | 3878 | 'smw_toomanyclosing' => 'In dr Aafrog chemme z vyyl „$1“ vor.', |
3892 | 3879 | 'smw_noclosingbrackets' => 'In dr Aafrog chunnt e „<nowiki>[[</nowiki>“ vor, isch aber nit mit eme „]]“ abgschlosse.', |
— | — | @@ -4117,7 +4104,6 @@ |
4118 | 4105 | 'smw_infinite_unit' => 'תוצאת ההמרה ליחידה "$1" היא מספר גדול מדי.', |
4119 | 4106 | 'smw_novalues' => 'לא צוינו ערכים.', |
4120 | 4107 | 'smw_unsupportedprefix' => 'לא קיימת תמיכה בקידומות למספרים ("$1").', |
4121 | | - 'smw_unsupportedunit' => 'אין תמיכה להמרת יחידות לטיפוס "$1"', |
4122 | 4108 | 'smw_nodatetime' => 'התאריך "$1" אינו מובן.', |
4123 | 4109 | 'smw_toomanyclosing' => 'נראה כי ישנם מופעים רבים מדי של "$1" בשאילתה.', |
4124 | 4110 | 'smw_noclosingbrackets' => 'בכמה מהפעמים בהם השתמשתם ב־"<nowiki>[[</nowiki>" בשאילתה לא דאגתם להציב "]]" תואם לסגירה.', |
— | — | @@ -4381,7 +4367,6 @@ |
4382 | 4368 | 'smw_infinite_unit' => 'Rezultat pretvorbe u jedinicu "$1" je prevelik broj.', |
4383 | 4369 | 'smw_novalues' => 'Nisu naznačene vrijednosti.', |
4384 | 4370 | 'smw_unsupportedprefix' => 'Prefiksi za brojeve ("$1") nisu podržani.', |
4385 | | - 'smw_unsupportedunit' => 'Pretvorbe jedinica za "$1" nisu podržane.', |
4386 | 4371 | 'smw_nodatetime' => 'Datum "$1" nije razumljiv.', |
4387 | 4372 | 'smw_toomanyclosing' => 'Čini se da postoji previše pojava "$1" u upitu.', |
4388 | 4373 | 'smw_noclosingbrackets' => 'Jedna od "<nowiki>[[</nowiki>" u Vašem upitu nije zatvorena odgovarajućom "]]".', |
— | — | @@ -4624,7 +4609,6 @@ |
4625 | 4610 | 'smw_infinite_unit' => 'Konwertowanje do jednotki "$1" wjedźeše k ličbje, kotraž je předołha.', |
4626 | 4611 | 'smw_novalues' => 'Žane hódnoty podate.', |
4627 | 4612 | 'smw_unsupportedprefix' => 'Prefiksy za ličby ("$1") so njepodpěruja.', |
4628 | | - 'smw_unsupportedunit' => 'Konwertowanje jednotki "$1" so njepodpěruje.', |
4629 | 4613 | 'smw_nodatetime' => 'Datum "$1" njebu zrozumjeny.', |
4630 | 4614 | 'smw_toomanyclosing' => 'Zda so, zo "$1" w tutym naprašowanju přehusto wustupuje.', |
4631 | 4615 | 'smw_noclosingbrackets' => 'Wustupowanje pora róžkatych spinkow "<nowiki>[[</nowiki>" w twojim naprašowanju njeje přez wotpowědny "]]" wukónčene.', |
— | — | @@ -4895,7 +4879,6 @@ |
4896 | 4880 | 'smw_infinite_unit' => 'A(z) „$1” egységre konvertálás eredménye túl nagy szám.', |
4897 | 4881 | 'smw_novalues' => 'Nincsenek megadva értékek.', |
4898 | 4882 | 'smw_unsupportedprefix' => 'Előtagok számokhoz („$1”) nem támogatottak.', |
4899 | | - 'smw_unsupportedunit' => 'Egység konvertálás a(z) „$1” egységhez nem támogatott.', |
4900 | 4883 | 'smw_nodatetime' => 'A(z) „$1” dátum nem értelmezhető.', |
4901 | 4884 | 'smw_toomanyclosing' => 'A(z) „$1” túl sokszor fordul elő a lekérdezésben.', |
4902 | 4885 | 'smw_noclosingbrackets' => 'A lekérdezésben szerepelnek nyitó szögletes zárójelek „(<nowiki>[[</nowiki>)” a lezáró párjuk („]]”) nélkül.', |
— | — | @@ -5143,7 +5126,6 @@ |
5144 | 5127 | 'smw_infinite_unit' => 'Le conversion in unitate "$1" resultava in un numero troppo grande.', |
5145 | 5128 | 'smw_novalues' => 'Nulle valor specificate.', |
5146 | 5129 | 'smw_unsupportedprefix' => 'Le prefixos pro numeros ("$1") non es supportate.', |
5147 | | - 'smw_unsupportedunit' => 'Le conversion del unitate "$1" non es supportate.', |
5148 | 5130 | 'smw_nodatetime' => 'Le data "$1" non esseva comprendite.', |
5149 | 5131 | 'smw_toomanyclosing' => 'Il pare haber troppo de occurrentias de "$1" in le consulta.', |
5150 | 5132 | 'smw_noclosingbrackets' => 'Alcun uso de "<nowiki>[[</nowiki>" in tu consulta non esseva claudite per un correspondente "]]".', |
— | — | @@ -5391,7 +5373,6 @@ |
5392 | 5374 | 'smw_infinite_unit' => 'Konversi menjadi unit "$1" menghasilkan suatu angka yang terlalu besar.', |
5393 | 5375 | 'smw_novalues' => 'Tidak ada nilai yang disebutkan.', |
5394 | 5376 | 'smw_unsupportedprefix' => 'Awalan untuk angka ("$1") tidak didukung.', |
5395 | | - 'smw_unsupportedunit' => 'Konversi unit untuk unit "$1" tidak didukung.', |
5396 | 5377 | 'smw_nodatetime' => 'Tanggal "$1" tidak dipahami.', |
5397 | 5378 | 'smw_toomanyclosing' => 'Tampaknya ada terlalu banyak penyebutan "$1" pada query.', |
5398 | 5379 | 'smw_noclosingbrackets' => 'Penggunaan beberapa "<nowiki>[[</nowiki>" pada query Anda tidak ditutup dengan pasangan "]]".', |
— | — | @@ -5652,7 +5633,6 @@ |
5653 | 5634 | 'smw_infinite_unit' => 'La conversione nell\'unità di misura "$1" ha generato un numero che è troppo grande.', |
5654 | 5635 | 'smw_novalues' => 'Nessun valore specificato', |
5655 | 5636 | 'smw_unsupportedprefix' => 'I prefissi per i numeri (“$1”) non sono supportati.', |
5656 | | - 'smw_unsupportedunit' => "La conversione per l'unità di misura “$1” non è supportata.", |
5657 | 5637 | 'smw_nodatetime' => 'Non è stato possibile comprendere la data “$1”.', |
5658 | 5638 | 'smw_toomanyclosing' => "Sembrano esserci troppe ripetizioni di “$1” all'interno della query.", |
5659 | 5639 | 'smw_noclosingbrackets' => 'Alcune "<nowiki>[[</nowiki>" all\'interno della query non sono state chiuse con le corrispondenti "]]".', |
— | — | @@ -5885,7 +5865,6 @@ |
5886 | 5866 | 'smw_infinite_unit' => '単位「$1」への変換結果は数として大きすぎます。', |
5887 | 5867 | 'smw_novalues' => '値が指定されていません。', |
5888 | 5868 | 'smw_unsupportedprefix' => '数値のプレフィクス ($1) には対応しません。', |
5889 | | - 'smw_unsupportedunit' => '単位「$1」への変換には対応しません。', |
5890 | 5869 | 'smw_nodatetime' => '「$1」という日付は理解できませんでした。', |
5891 | 5870 | 'smw_toomanyclosing' => 'クエリー中に含まれる「$1」の数が多すぎるようです。', |
5892 | 5871 | 'smw_noclosingbrackets' => 'クエリー中の <nowiki>[[</nowiki> に、対応する ]] で閉じられていないものがありました。', |
— | — | @@ -6061,7 +6040,6 @@ |
6062 | 6041 | 'smw_infinite' => 'Angka sing gedhéné nganti "$1" ora didhukung.', |
6063 | 6042 | 'smw_infinite_unit' => 'Konvèrsi menyang unit "$1" ngasilaké angka sing kagedhèn.', |
6064 | 6043 | 'smw_unsupportedprefix' => 'Préfiks kanggo angka-angka (“$1”) ora disengkuyung.', |
6065 | | - 'smw_unsupportedunit' => 'Konvèrsi unit kanggo unit “$1” ora disengkuyung.', |
6066 | 6044 | 'smw_nodatetime' => 'Tanggal “$1” ora dimangertèni.', |
6067 | 6045 | 'smw_toomanyclosing' => 'Katoné ana kakèhan “$1” sajroning kwéri.', |
6068 | 6046 | 'smw_noclosingbrackets' => 'Sawetara panrapan “<nowiki>[[</nowiki>” ing kwéri panjenengan ora ditutup déning “]]” sing cocog.', |
— | — | @@ -6382,7 +6360,6 @@ |
6383 | 6361 | 'smw_infinite_unit' => 'Dat Ömräschne in de Einheit $1 es nit müjjelesch — di Zahl eß zo lang doför.', |
6384 | 6362 | 'smw_novalues' => 'Et sinn_er kein Wääte aanjejovvwe.', |
6385 | 6363 | 'smw_unsupportedprefix' => 'Vörsätz för Zahle („$1“) dom_mer nit ongershtöze.', |
6386 | | - 'smw_unsupportedunit' => 'Et Ömrechne weed för de Einheit „$1“ nit müjjelesch sin.', |
6387 | 6364 | 'smw_nodatetime' => 'Dat Dattum „$1“ künne mer nit vershtonn.', |
6388 | 6365 | 'smw_toomanyclosing' => 'En dä Frooch es zoh öff „$1“ enthallde.', |
6389 | 6366 | 'smw_noclosingbrackets' => 'En <code><nowiki>[[</nowiki></code> en Dinge Frooch woh nit zohjemaat, un hät kei <code>]]</code> wat drop paßße deiht.', |
— | — | @@ -6600,7 +6577,6 @@ |
6601 | 6578 | 'smw_infinite' => 'Zuelen esou grouss wéi "$1" ginn net ënnerstëtzt.', |
6602 | 6579 | 'smw_infinite_unit' => 'D\'Ëmrechnen an d\'Eenheet "$1" huet eng Zuel erginn géi ze grouss ass.', |
6603 | 6580 | 'smw_novalues' => 'Keng Wäerter spezifizéiert.', |
6604 | | - 'smw_unsupportedunit' => 'Umrechnung vun der Eenheet "$1" gëtt net ënnerstëtzt.', |
6605 | 6581 | 'smw_nodatetime' => 'Den Datum "$1" gouf net verstan.', |
6606 | 6582 | 'smw_noclosingbrackets' => 'Eng oder méi "<nowiki>[[</nowiki>" an Ärer Ufro war net zou duerch eng entspriechent "]]".', |
6607 | 6583 | 'smw_misplacedsymbol' => 'D\'Symbol "$1" gouf op ener Plaz benotzt wou et net nëtzlech ass.', |
— | — | @@ -6768,7 +6744,6 @@ |
6769 | 6745 | 'smw_infinite_unit' => 'Perskaičiavimo į vienetus "$1" rezultatas yra per didelis skaičius.', |
6770 | 6746 | 'smw_novalues' => 'Nenurodyta reikšmė.', |
6771 | 6747 | 'smw_unsupportedprefix' => 'Skaičiams priešdėlis ("$1") yra nepalaikomas.', |
6772 | | - 'smw_unsupportedunit' => 'Vienetų konvertavimas elementui "$1" nėra palaikomas.', |
6773 | 6748 | 'smw_nodatetime' => 'Data "$1" buvo neatpažinta.', |
6774 | 6749 | 'smw_toomanyclosing' => 'Atrodo, kad yra per daug elementų "$1" užklausoje.', |
6775 | 6750 | 'smw_noclosingbrackets' => 'Kažkuris panaudojimas "<nowiki>[[</nowiki>" jūsų užklausoje nebuvo uždaryta atitikimo "]]".', |
— | — | @@ -6863,7 +6838,6 @@ |
6864 | 6839 | 'smw_infinite_unit' => 'Претворањето во единицата „$1“ доведе до преголем број.', |
6865 | 6840 | 'smw_novalues' => 'Нема назначено вредности.', |
6866 | 6841 | 'smw_unsupportedprefix' => 'Не се поддржани префикси за броеви („$1“).', |
6867 | | - 'smw_unsupportedunit' => 'Претворањето не е поддржано за единицата „$1“.', |
6868 | 6842 | 'smw_nodatetime' => 'Датумот „$1“ не е разбран.', |
6869 | 6843 | 'smw_toomanyclosing' => 'Во барањето има премногу јавувања на „$1“.', |
6870 | 6844 | 'smw_noclosingbrackets' => 'Во вашето барање беа искористени загради „<nowiki>[[</nowiki>“ на кои им недостатуваат соодветни затворачки загради „]]“.', |
— | — | @@ -7044,7 +7018,6 @@ |
7045 | 7019 | 'smw_false_words' => 'തെറ്റ്,തെറ്റ്,അല്ല,അല്ല', |
7046 | 7020 | 'smw_nofloat' => '“$1” ഒരു സംഖ്യയല്ല.', |
7047 | 7021 | 'smw_infinite' => '“$1” എന്ന സംഖ്യയുടെയത്ര വലിപ്പമുള്ള സംഖ്യകൾ പിന്തുണയ്ക്കുന്നില്ല.', |
7048 | | - 'smw_unsupportedunit' => '“$1” എന്ന ഏകകത്തിന്റെ ഏകകമാറ്റം പിൻതാങ്ങുന്നില്ല.', |
7049 | 7022 | 'smw_misplacedsymbol' => '“$1” എന്ന ചിഹ്നം അതു ഉപയോഗിക്കാൻ പാടില്ലാത്ത ഒരു സ്ഥലത്ത് ഉപയോഗിച്ചിരിക്കുന്നു.', |
7050 | 7023 | 'smw_badtitle' => 'ക്ഷമിക്കണം, “$1” എന്നതു സാധുവായൊരു തലക്കെട്ട് അല്ല.', |
7051 | 7024 | 'exportrdf' => 'RDFലേക്ക് താളുകൾ എക്സ്പോർട്ട് ചെയ്യുക', |
— | — | @@ -7107,7 +7080,6 @@ |
7108 | 7081 | 'smw_infinite' => '{{SITENAME}} वर “$1” एवढ्या मोठ्या संख्या वापरता येत नाहीत.', |
7109 | 7082 | 'smw_infinite_unit' => '“$1” एककात बदल केल्यानंतर येणारी संख्या ही {{SITENAME}} वर वापरता येण्यासारख्या संख्यांपेक्षा खूप मोठी आहे.', |
7110 | 7083 | 'smw_unsupportedprefix' => 'संख्या (“$1”) साठी उपपदे वापरता येत नाहीत.', |
7111 | | - 'smw_unsupportedunit' => '“$1” हे एकक बदलता येत नाही.', |
7112 | 7084 | 'smw_nodatetime' => '“$1” हा दिनांक समजला नाही.', |
7113 | 7085 | 'smw_toomanyclosing' => 'या पृच्छेमध्ये “$1” खूप ठिकाणी आलेले आहे.', |
7114 | 7086 | 'smw_noclosingbrackets' => 'तुमच्या पृच्छेत कुठेतरी वापरलेले “<nowiki>[[</nowiki>” हे योग्य अशा जुळणार्या “]]” ने बंद केलेले नाही.', |
— | — | @@ -7316,7 +7288,6 @@ |
7317 | 7289 | 'smw_infinite_unit' => 'Conversie naar eenheid “$1” resulteerde in een getal dat te groot is.', |
7318 | 7290 | 'smw_novalues' => 'Geen waarden opgegeven.', |
7319 | 7291 | 'smw_unsupportedprefix' => 'Voorvoegsels voor getallen (“$1”) worden niet ondersteund.', |
7320 | | - 'smw_unsupportedunit' => 'Eenheidconversie voor eenheid “$1” is niet ondersteund.', |
7321 | 7292 | 'smw_nodatetime' => 'De datum “$1” kon niet verwerkt worden.', |
7322 | 7293 | 'smw_toomanyclosing' => '“$1” lijkt te vaak voor te komen in de zoekopdracht.', |
7323 | 7294 | 'smw_noclosingbrackets' => 'In uw zoekopdracht is het gebruik van “<nowiki>[[</nowiki>” niet gesloten door een bijbehorende “]]”.', |
— | — | @@ -7530,7 +7501,6 @@ |
7531 | 7502 | 'smw_infinite' => 'Tal so store som «$1» er ikkje støtta.', |
7532 | 7503 | 'smw_infinite_unit' => 'Konvertering til eininga «$1» resulterte i eit tal som er for stort.', |
7533 | 7504 | 'smw_unsupportedprefix' => 'Prefiks for tal («$1») er ikkje støtta.', |
7534 | | - 'smw_unsupportedunit' => 'Einingskonvertering for eininga «$1» er ikkje støtta.', |
7535 | 7505 | 'smw_nodatetime' => 'Datoen «$1» vart ikkje forstått.', |
7536 | 7506 | 'smw_toomanyclosing' => '«$1» finst for mange gonger i spørjinga.', |
7537 | 7507 | 'smw_noclosingbrackets' => 'Nokre klammar i spørjinga di («<nowiki>[[</nowiki>») vart ikkje lukka påfølgjande klammar («]]»).', |
— | — | @@ -7766,7 +7736,6 @@ |
7767 | 7737 | 'smw_infinite_unit' => 'Konvertering til enheten «$1» resulterte i et tall som er for stort.', |
7768 | 7738 | 'smw_novalues' => 'Ingen verdier angitt.', |
7769 | 7739 | 'smw_unsupportedprefix' => 'Prefiks for tall («$1») støttes ikke.', |
7770 | | - 'smw_unsupportedunit' => 'Enhetskonvertering for enheten «$1» støttes ikke.', |
7771 | 7740 | 'smw_nodatetime' => 'Datoen «$1» ble ikke forstått.', |
7772 | 7741 | 'smw_toomanyclosing' => '«$1» opptrer for mange ganger i spørringen.', |
7773 | 7742 | 'smw_noclosingbrackets' => 'Bruken av «<nowiki>[[</nowiki>» i spørringen din ble ikke stengt av «]]».', |
— | — | @@ -7985,7 +7954,6 @@ |
7986 | 7955 | 'smw_infinite' => 'Los nombres tant grands coma « $1 » son pas suportats.', |
7987 | 7956 | 'smw_infinite_unit' => "La conversion dins l'unitat « $1 » a balhat un nombre tròp grand.", |
7988 | 7957 | 'smw_unsupportedprefix' => 'De prefixes ("$1") son pas suportats actualament', |
7989 | | - 'smw_unsupportedunit' => 'La conversion de l\'unitat "$1" es pas suportada', |
7990 | 7958 | 'smw_nodatetime' => 'La data "$1" es pas estada compresa.', |
7991 | 7959 | 'smw_toomanyclosing' => "Sembla que i a tròp d'ocuréncias de “$1” dins la requèsta.", |
7992 | 7960 | 'smw_noclosingbrackets' => "D'unes “<nowiki>[[</nowiki>” dins vòstra requèsta son pas estats clauses per de “]]” correspondents.", |
— | — | @@ -8244,7 +8212,6 @@ |
8245 | 8213 | 'smw_infinite_unit' => 'Konwersja do jednostki „$1” zwróciła liczbę, która jest zbyt duża.', |
8246 | 8214 | 'smw_novalues' => 'Nie określono wartości', |
8247 | 8215 | 'smw_unsupportedprefix' => 'Przedrostki dla liczb („$1“) nie są obecnie obsługiwane.', |
8248 | | - 'smw_unsupportedunit' => 'Konwersja dla jednostki „$1” nie jest obsługiwana.', |
8249 | 8216 | 'smw_nodatetime' => 'Data „$1” nie została zrozumiana.', |
8250 | 8217 | 'smw_toomanyclosing' => 'W zapytaniu jest zbyt wiele wystąpień „$1”.', |
8251 | 8218 | 'smw_noclosingbrackets' => 'W zapytaniu któryś z podwójnych nawiasów „<nowiki>[[</nowiki>” nie został zamknięty nawiasem „]]”.', |
— | — | @@ -8484,7 +8451,6 @@ |
8485 | 8452 | 'smw_infinite_unit' => "La conversion ant l'ùnità ''$1'' a dà com arzultà un nùmer che a l'é tròp gròss.", |
8486 | 8453 | 'smw_novalues' => 'Pa gnun valor specificà.', |
8487 | 8454 | 'smw_unsupportedprefix' => "Ij prefiss për nùmer (''$1'') a son pa mantnù.", |
8488 | | - 'smw_unsupportedunit' => "La conversion dë mzura për l'unità ''$1'' a l'é pa mantnùa.", |
8489 | 8455 | 'smw_nodatetime' => "La data ''$1'' a l'é pa stàita capìa.", |
8490 | 8456 | 'smw_toomanyclosing' => "A smija ch'a-i sio tròpe ocorense ëd ''$1'' ant l'arcesta.", |
8491 | 8457 | 'smw_noclosingbrackets' => 'Chèich usagi ëd "<nowiki>[[</nowiki>" an soa arcesta a son pa stàit sarà da un corëspondent "]]".', |
— | — | @@ -8766,7 +8732,6 @@ |
8767 | 8733 | 'smw_infinite_unit' => 'A conversão para a unidade “$1” resultou num número demasiado grande.', |
8768 | 8734 | 'smw_novalues' => 'Não foram especificados valores.', |
8769 | 8735 | 'smw_unsupportedprefix' => 'Prefixos em números (“$1”) não são suportados.', |
8770 | | - 'smw_unsupportedunit' => 'Conversão de unidade para unidade “$1” não suportada.', |
8771 | 8736 | 'smw_nodatetime' => 'A data “$1” não foi compreendida.', |
8772 | 8737 | 'smw_toomanyclosing' => 'Parece haver demasiadas ocorrências de "$1" na consulta.', |
8773 | 8738 | 'smw_noclosingbrackets' => 'Um uso de "<nowiki>[[</nowiki>" na sua consulta não foi fechada por um "]]" correspondente.', |
— | — | @@ -9012,7 +8977,6 @@ |
9013 | 8978 | 'smw_infinite_unit' => 'A conversão para a unidade "$1" resultou num número grande demais.', |
9014 | 8979 | 'smw_novalues' => 'Não foram especificados valores.', |
9015 | 8980 | 'smw_unsupportedprefix' => 'Prefixos em números ("$1") não são suportados.', |
9016 | | - 'smw_unsupportedunit' => 'Conversão de unidade para unidade "$1" não suportada.', |
9017 | 8981 | 'smw_nodatetime' => 'A data “$1” não foi compreendida.', |
9018 | 8982 | 'smw_toomanyclosing' => 'Parece haver ocorrências demais de "$1" na consulta.', |
9019 | 8983 | 'smw_noclosingbrackets' => 'Um uso de "<nowiki>[[</nowiki>" na sua consulta não foi fechada por um "]]" correspondente.', |
— | — | @@ -9373,7 +9337,6 @@ |
9374 | 9338 | 'smw_infinite_unit' => 'Преобразование значения в единицы измерения «$1» привело к слишком длинному числу.', |
9375 | 9339 | 'smw_novalues' => 'Не указаны значения.', |
9376 | 9340 | 'smw_unsupportedprefix' => 'Префиксы для чисел ("$1") не поддерживаются в настоящее время.', |
9377 | | - 'smw_unsupportedunit' => 'Преобразование единиц измерения для "$1" не поддерживается.', |
9378 | 9341 | 'smw_nodatetime' => 'Дата «$1» не распознана.', |
9379 | 9342 | 'smw_toomanyclosing' => 'Ошибка: Слишком много вхождений “$1” в данном запросе.', |
9380 | 9343 | 'smw_noclosingbrackets' => 'Открывающаяся пара скобок «<nowiki>[[</nowiki>» не была закрыта парой соответствующих ей закрывающих скобок «]]» в данном запросе.', |
— | — | @@ -9619,7 +9582,6 @@ |
9620 | 9583 | 'smw_infinite' => 'Čísla také veľké ako „$1“ nie sú podporované.', |
9621 | 9584 | 'smw_infinite_unit' => 'Konverzia na jednotky „$1“ dala ako výsledok číslo, ktoré je príliš veľké.', |
9622 | 9585 | 'smw_unsupportedprefix' => 'Predpony čísiel („$1“) nie sú podporované.', |
9623 | | - 'smw_unsupportedunit' => 'konverzia jednotiek "$1" nie je podporované', |
9624 | 9586 | 'smw_nodatetime' => 'Nevedel som interpretovať dátum "$1".', |
9625 | 9587 | 'smw_toomanyclosing' => 'Zdá sa, že požiadavka obsahuje príliš mnoho výskytov „$1“.', |
9626 | 9588 | 'smw_noclosingbrackets' => 'Niektoré použitie „<nowiki>[[</nowiki>” vo vašej požiadavke nebolo ukončené zodpovedajúcim „]]”.', |
— | — | @@ -9848,7 +9810,6 @@ |
9849 | 9811 | 'smw_infinite_unit' => 'Конверзија у јединице "$1" је као резултат дала предугачак број.', |
9850 | 9812 | 'smw_novalues' => 'Ниједна вредност није наведена.', |
9851 | 9813 | 'smw_unsupportedprefix' => 'Префикси за бројеве ("$1") нису подржани.', |
9852 | | - 'smw_unsupportedunit' => 'Конверзија јединица за јединицу "$1" није подржана.', |
9853 | 9814 | 'smw_nodatetime' => 'Формат датума "$1" није разумљив.', |
9854 | 9815 | 'smw_toomanyclosing' => 'Изгледа да је превише случајева типа "$1" у упиту.', |
9855 | 9816 | 'smw_noclosingbrackets' => 'Неке угласте заграде "<nowiki>[[</nowiki>" у вашем упиту, нису затворене одговарајућим "]]".', |
— | — | @@ -10084,7 +10045,6 @@ |
10085 | 10046 | 'smw_infinite_unit' => 'Konverzija u jedinice "$1" je kao rezultat dala predugačak broj.', |
10086 | 10047 | 'smw_novalues' => 'Nijedna vrednost nije navedena.', |
10087 | 10048 | 'smw_unsupportedprefix' => 'Prefiksi za brojeve ("$1") nisu podržani.', |
10088 | | - 'smw_unsupportedunit' => 'Konverzija jedinica za jedinicu "$1" nije podržana.', |
10089 | 10049 | 'smw_nodatetime' => 'Format datuma "$1" nije razumljiv.', |
10090 | 10050 | 'smw_toomanyclosing' => 'Izgleda da je previše slučajeva tipa "$1" u upitu.', |
10091 | 10051 | 'smw_noclosingbrackets' => 'Neke iskorišćene "<nowiki>[[</nowiki>" u vašem upitu nisu zatvorene odgovarajućim "]]".', |
— | — | @@ -10312,7 +10272,6 @@ |
10313 | 10273 | 'smw_infinite_unit' => 'Konvertering till enheten "$1" resulterade i ett tal som är för stort.', |
10314 | 10274 | 'smw_novalues' => 'Inga värden angivna.', |
10315 | 10275 | 'smw_unsupportedprefix' => 'Prefix för tal ("$1") stödjs inte.', |
10316 | | - 'smw_unsupportedunit' => 'Enhetskonvertering för enheten "$1" stödjs inte.', |
10317 | 10276 | 'smw_nodatetime' => 'Datumet "$1" förstods inte.', |
10318 | 10277 | 'smw_toomanyclosing' => '"$1" uppträder för många gånger i efterfrågningen.', |
10319 | 10278 | 'smw_noclosingbrackets' => 'Användningen av "<nowiki>[[</nowiki>" i din efterfrågning stängdes inte av "]]".', |
— | — | @@ -10647,7 +10606,6 @@ |
10648 | 10607 | 'smw_infinite_unit' => 'Ang pagpapalit patungo sa yunit na "$1" ay nagresulta sa isang bilang na napakalaki.', |
10649 | 10608 | 'smw_novalues' => 'Walang tinukoy na mga halaga.', |
10650 | 10609 | 'smw_unsupportedprefix' => 'Hindi tinatangkilik ang mga unlapi para sa mga bilang ("$1").', |
10651 | | - 'smw_unsupportedunit' => 'Hindi tinatangkilik ang pagpapalit ng yunit para sa bahaging "$1".', |
10652 | 10610 | 'smw_nodatetime' => 'Hindi naunawaan ang petsang "$1".', |
10653 | 10611 | 'smw_toomanyclosing' => 'Tila mayroong napakaraming mga kaganapan ng "$1" sa loob ng katanungan.', |
10654 | 10612 | 'smw_noclosingbrackets' => 'Ilang mga paggamit ng "<nowiki>[[</nowiki>" sa loob ng iyong katanungan ang hindi naisara sa pamamagitan ng isang tumutugmang "]]".', |
— | — | @@ -11026,7 +10984,6 @@ |
11027 | 10985 | 'smw_infinite_unit' => 'Конвертація в одиницю «$1» видала занадто довге число.', |
11028 | 10986 | 'smw_novalues' => 'Не вказано значень.', |
11029 | 10987 | 'smw_unsupportedprefix' => 'Префікси для чисел («$1») не підтримуються.', |
11030 | | - 'smw_unsupportedunit' => 'Конвертація одиниці вимірювання «$1» не підтримується.', |
11031 | 10988 | 'smw_nodatetime' => 'Дата «$1» — незрозуміла.', |
11032 | 10989 | 'smw_toomanyclosing' => '«$1» зустрічається занадто багато разів.', |
11033 | 10990 | 'smw_noclosingbrackets' => 'Деякі з «<nowiki>[[</nowiki>» у запиті не було закрито відповідними «]]».', |
— | — | @@ -11238,7 +11195,6 @@ |
11239 | 11196 | 'smw_infinite' => 'Không hỗ trợ các số lớn như “$1”.', |
11240 | 11197 | 'smw_infinite_unit' => 'Chuyển đổi thành đơn vị “$1” đẫn tới một con số quá lớn.', |
11241 | 11198 | 'smw_unsupportedprefix' => 'Không hỗ trợ tiền tố cho các số (“$1”).', |
11242 | | - 'smw_unsupportedunit' => 'Không hỗ trợ chuyển đổi đơn vị cho đơn vị “$1”.', |
11243 | 11199 | 'smw_nodatetime' => 'Không hiểu ngày “$1”.', |
11244 | 11200 | 'smw_toomanyclosing' => 'Dường có quá nhiều lần xuất hiện “$1” trong câu truy vấn.', |
11245 | 11201 | 'smw_noclosingbrackets' => 'Lần sử dụng “<nowiki>[[</nowiki>” nào đó trong câu truy vấn của bạn không được đóng bằng “]]”.', |
— | — | @@ -11484,7 +11440,6 @@ |
11485 | 11441 | 'smw_infinite' => '在此站内并不支持像是“$1"如此庞大的数目字。', |
11486 | 11442 | 'smw_infinite_unit' => '对此站而言转换“$1"单位所产生的数目字过于庞大。', |
11487 | 11443 | 'smw_unsupportedprefix' => '数字(“$1") 的字首目前尚未被支持', |
11488 | | - 'smw_unsupportedunit' => '单位转换无法适用于“$1"此一单位', |
11489 | 11444 | 'smw_nodatetime' => '日期值“$1"无法被识别,对日期值的支持目前尚属实验性质。', |
11490 | 11445 | 'smw_toomanyclosing' => '在此查询中“$1"显然出现太多次了', |
11491 | 11446 | 'smw_noclosingbrackets' => '在您的查询中“[[" 并未以对应的“]]"来予以封闭', |
— | — | @@ -11638,7 +11593,6 @@ |
11639 | 11594 | 'smw_infinite_unit' => '数字转换为单位"$1"后过大。', |
11640 | 11595 | 'smw_novalues' => '未设置数值。', |
11641 | 11596 | 'smw_unsupportedprefix' => '不支持数字("$1")前缀', |
11642 | | - 'smw_unsupportedunit' => '不支持单位"$1"的转换', |
11643 | 11597 | 'smw_nodatetime' => '无法理解日期"$1"', |
11644 | 11598 | 'smw_toomanyclosing' => '查询中"$1"过多。', |
11645 | 11599 | 'smw_noclosingbrackets' => '你的查询中有未匹配"]]"的"<nowiki>[[</nowiki>"。', |
— | — | @@ -11870,7 +11824,6 @@ |
11871 | 11825 | 'smw_infinite_unit' => '數字轉換為單位「$1」後過大。', |
11872 | 11826 | 'smw_novalues' => '未設定數值。', |
11873 | 11827 | 'smw_unsupportedprefix' => '不支援數字(「$1」)前綴', |
11874 | | - 'smw_unsupportedunit' => '不支援單位「$1」的轉換', |
11875 | 11828 | 'smw_nodatetime' => '無法理解日期「$1」', |
11876 | 11829 | 'smw_toomanyclosing' => '查詢中「$1」過多。', |
11877 | 11830 | 'smw_noclosingbrackets' => '你的查詢中有未匹配"]]"的"<nowiki>[[</nowiki>"。', |
— | — | @@ -12068,7 +12021,6 @@ |
12069 | 12022 | 'smw_infinite' => '在此站內並不支援像是“$1”如此龐大的數目字。', |
12070 | 12023 | 'smw_infinite_unit' => '對此站而言轉換“$1”單位所產生的數目字過於龐大。', |
12071 | 12024 | 'smw_unsupportedprefix' => '數字(“$1”) 的字首目前尚未被支援', |
12072 | | - 'smw_unsupportedunit' => '單位轉換無法適用於“$1”此一單位', |
12073 | 12025 | 'smw_nodatetime' => '日期值“$1”無法被識別,對日期值的支援目前尚屬實驗性質。', |
12074 | 12026 | 'smw_toomanyclosing' => '在此查詢中“$1”顯然出現太多次了', |
12075 | 12027 | 'smw_noclosingbrackets' => '在您的查詢中“[[” 並未以對應的“]]”來予以封閉', |