Dictation will be great... However I do not have results with it do I avoid it ...
It's really unfortunate (and bizarre!) that MS's speech engines handle numbers so poorly in general -- and
especially frustrating for non-native speakers trying to use their SR. As you say, regular dictation is not an option unless you have a "standard" accent.
Native speakers, however, should try regular dictation rather than payload ranges in these situations.
@Haddood: have you experimented at all with using dictation:spelling instead?
This requires that you say your numbers as a series of digits, but I wonder if MS can understand accented pronunciation of digits if you use this method?
e.g.
"Convert three two degrees Fahrenheit to Celsius" (Instead of "thirty-two")
"Convert five four six point two five metres to feet" (Instead of "five hundred and forty six point two five")
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.4.2-->
<command id="191" name="Convert" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="
">
<action>
<cmdType>Results.SetLastResult</cmdType>
<params>
<param>{1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.RegExReplace</cmdType>
<params>
<param>\s</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Scrape</cmdType>
<params>
<param>https://www.google.ca/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=convert+{LastResult} +{2}+to+{3}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.RegEx</cmdType>
<params>
<param><h2\sclass="r".*?>(.*?{3}).*?/h2></param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<if ifBlockDisabled="False" ifNot="False">
<ifType>LastActionSuccess</ifType>
<ifParams>&&</ifParams>
<then>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>{Match.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>{Match.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Google seems to think this is not possible.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<phrase>Convert</phrase>
<payloadDictation>payloadDictation: Spelling</payloadDictation>
<phrase optional="true">degrees</phrase>
<payloadList>miles, metres, kilometres, yards, feet, foot, inches, centimetres, millimetres, Celsius, Fahrenheit</payloadList>
<phrase>to</phrase>
<payloadList>miles, metres, kilometres, yards, feet, foot, inches, centimetres, millimetres, Celsius, Fahrenheit</payloadList>
</command>
Maybe you could test this and let us know? Actually, it would be great to have multiple people test this out and report back. (By this I mean, anyone here using a Microsoft recognition language that is not their mother tongue.)