@bruxco
I had the same problem with the speedcams in Italy and i solved like this:
1. i use pongo skin + speedcam.zip inside the ux folder
2. take the file speedcam.zip and OPEN it (don't extract and create a folder just open it with winzip!!!!) then go to speedcam.zip / ui_nextgen\common\ui\ speedcam.ui double click on speedcam.ui and NotePad is gonna open it then scroll down till you find this :
Spoiler: speedcam.ui

<row text="Speed Camera" id=0 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(0)) visible=(speedcam_visibility && %warning.speedcam.type_allowed_by_pos(%map.cursor.position, 0 ))>
<row text="Mobile Speed Camera" id=1 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(1)) visible=(speedcam_visibility && %warning.speedcam.type_allowed_by_pos(%map.cursor.position, 1 ))>
<row text="Built-in Speed Camera" id=2 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(2)) visible=(speedcam_visibility && %warning.speedcam.type_allowed_by_pos(%map.cursor.position, 2 ))>
<row text="Average Speed Camera" id=3 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(3)) visible=(speedcam_visibility && %warning.speedcam.type_allowed_by_pos(%map.cursor.position, 3 ))> <row text="Red Light Camera" id=4 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(4)) visible=(speedcam_visibility && %warning.speedcam.type_allowed_by_pos(%map.cursor.position, 4 )) > <row text="Strelka Camera" id=5 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(5)) > <row text="Red Light and Speed Camera" id=11 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(11)) visible=(speedcam_visibility && %warning.speedcam.type_allowed_by_pos(%map.cursor.position, 11 ))> <row text="Bus Lane Camera" id=7 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(7)) visible=(speedcam_visibility && %warning.speedcam.type_allowed_by_pos(%map.cursor.position, 7 ))> <row text="Railroad Crossing" id=6 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(6))> <row text="High Accident Zone" id=8 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(8))> <row text="School Zone" id=9 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(9))> <row text="Town Entry Point" id=10 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(10))> <row text="Toll Booth" id=12 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(12))> <row text="Hospital, Ambulance" id=13 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(13))> <row text="Fire Station" id=14 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(14))> <row text="Congestion Charge Zone" id=15 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(15))> <row text="Give Way" id=16 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(16))> <row text="Fixed Mobile Camera" id=17 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(17))> <row text="Speed Breaker" id=18 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(18))> <row text="Children" id=19 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(19))> <row text="Dangerous Turn" id=20 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(20))> <row text="Tunnel" id=21 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(21))> <row text="POI" id=22 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(22))> <row text="RPS Post" id=23 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(23))> <row text="Dangerous Railroad Crossing" id=24 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(24)) > <row text="Highway Exit" id=25 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(25)) > <row text="Speed Boards" id=26 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(26)) > <row text="Dynamic Traffic Light" id=27 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(27)) > <row text="Max Height" id=28 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(28)) > <row text="Pedestrian crossing" id=29 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(29))> <row text="SC camera" id=30 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(30)) > <row text="Dangerous Area" id=31 useroadspeedlimit=(sc_SpeedcameraUseRoadSpeedLimit(31))>]

3. after row text you see in english the name of the speedcam and the categories, for example the first is Speed Camera and is gonna be translated in Autovelox Fisso (italian) second Mobile Camera - Autovelox mobile.
Translate all these 32 categories in spanish
3a. in igo/setting/skin settings/warnings/point of alerts you gonna have proximity alerts and warnings in spanish
4.copy in sys :
Spoiler: speedcam

[warning]
warn_distances="0:1000"
is_spoken=1
speedcam_warning=1
speedcam_enabled=1
speedcam_continuous_approach_beep_when_tonal=0
say_camera_distance=1
say_camera_speed_limit=1
enable_speedcam_updates=1

; S P E E D C A M - C A T : 0
[speedcam_category:0]
activated_spoken_type=speech
activated_speech="Speed Camera"

approach_beep_distances=1550
approach_beep_spoken_type=speech
approach_beep_speech="Speed Camera"

overspeed_spoken_type=none
overspeed_sound="speedcam_over_speed"
skin_first_sound="Fixed_Camera"
skin_speed_sound_delay=0
skin_repeat_sound="Fixed_Camera"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

use_road_speedlimit=1
min_frc=-1

; S P E E D C A M - C A T : 1
[speedcam_category:1]
activated_spoken_type=speech
activated_speech="Mobile Speed Camera"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Mobile Speed Camera"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Mobile_Camera"
skin_speed_sound_delay=120
skin_repeat_sound="Mobile_Camera"
skin_repeat_distance=150
skin_off_sound="speedcam_off"
min_frc=-1
use_road_speedlimit=1

; S P E E D C A M - C A T : 2
[speedcam_category:2]
activated_spoken_type=speech
activated_speech="Built-in Speed Camera"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Built-in Speed Camera"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Redlight_Camera"
skin_speed_sound_delay=140
skin_repeat_sound="Redlight_Camera"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=1

; S P E E D C A M - C A T : 3
[speedcam_category:3]
activated_spoken_type=speech
activated_speech="Average Speed Camera"

approach_beep_distances=150
approach_beep_spoken_type=speech
approach_beep_speech="Average Speed Camera"

section_beep_distance=250
section_beep_spoken_type=speech
section_beep_speech="Average Speed Camera"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Section_Start"
skin_speed_sound_delay=160
skin_repeat_sound="Section_Start"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=-1
use_road_speedlimit=1

; S P E E D C A M - C A T : 4
[speedcam_category:4]
activated_spoken_type=speech
activated_speech="Red Light Camera"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Red Light Camera"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Redlight_Camera"
skin_speed_sound_delay=140
skin_repeat_sound="Redlight_Camera"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=1

; S P E E D C A M - C A T : 5
[speedcam_category:5]
activated_spoken_type=speech
activated_speech="Strelka Camera"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Strelka Camera"
overspeed_spoken_type=none
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=1

; S P E E D C A M - C A T : 6
[speedcam_category:6]
activated_spoken_type=speech
activated_speech="Railroad Crossing"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Railroad Crossing"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Railroad"
skin_speed_sound_delay=140
skin_repeat_sound="Railroad"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 7
[speedcam_category:7]
activated_spoken_type=speech
activated_speech="Bus Lane Camera"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Bus Lane Camera"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="BusLane_Camera"
skin_speed_sound_delay=140
skin_repeat_sound="BusLane_Camera"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=-1
use_road_speedlimit=0

; S P E E D C A M - C A T : 8
[speedcam_category:8]
activated_spoken_type=speech
activated_speech="High Accident Zone"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="High Accident Zone"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Accident_Zone"
skin_speed_sound_delay=140
skin_repeat_sound="Accident_Zone"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=-1
use_road_speedlimit=0

; S P E E D C A M - C A T : 9
[speedcam_category:9]
speedcam_snap_distance=50

activated_spoken_type=speech
activated_speech="School Zone"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="School Zone"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="School_Zone"
skin_speed_sound_delay=120
skin_repeat_sound="School_Zone"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 10
[speedcam_category:10]
activated_spoken_type=speech
activated_speech="Town Entry Point"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Town Entry Point"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Town_Entry"
skin_speed_sound_delay=120
skin_repeat_sound="Town_Entry"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=-1
use_road_speedlimit=0

; S P E E D C A M - C A T : 11
[speedcam_category:11]
activated_spoken_type=speech
activated_speech="Red Light and Speed Camera"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Red Light and Speed Camera"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Redlight_Camera3"
skin_speed_sound_delay=140
skin_repeat_sound="Redlight_Camera3"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=1

; S P E E D C A M - C A T : 12
[speedcam_category:12]
activated_spoken_type=speech
activated_speech="Toll Booth"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Toll Booth"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Toll_Booth"
skin_speed_sound_delay=80
skin_ari_sound="ari_sound"
skin_repeat_sound="Toll_Booth"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=-1
use_road_speedlimit=0

; S P E E D C A M - C A T : 13
[speedcam_category:13]
activated_spoken_type=speech
activated_speech="Hospital, Ambulance"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Hospital, Ambulance"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Hospital"
skin_speed_sound_delay=80
skin_repeat_sound="Hospital"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 14
[speedcam_category:14]
activated_spoken_type=speech
activated_speech="Fire Station"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Fire Station"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Fire_Station"
skin_speed_sound_delay=80
skin_repeat_sound="Fire_Station"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 15
[speedcam_category:15]
activated_spoken_type=speech
;activated_speech="Charge Zone"
activated_speech="Congestion Charge Zone"

approach_beep_distances=550
approach_beep_spoken_type=speech
;approach_beep_speech="Charge Zone"
approach_beep_speech="Congestion Charge Zone"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Charge_Zone"
skin_speed_sound_delay=80
skin_repeat_sound="Charge_Zone"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 16
[speedcam_category:16]
activated_spoken_type=speech
activated_speech="Give Way"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Give Way"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Give_Way"
skin_speed_sound_delay=100
skin_repeat_sound="Give_Way"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 17
[speedcam_category:17]
activated_spoken_type=speech
activated_speech="Fixed Mobile Camera"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Fixed Mobile Camera"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="FixMobil"
skin_speed_sound_delay=140
skin_repeat_sound="FixMobil"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 18
[speedcam_category:18]
activated_spoken_type=speech
activated_speech="Speed Breaker"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Speed Breaker"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Speed_Breaker"
skin_speed_sound_delay=140
skin_repeat_sound="Speed_Breaker"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 19
[speedcam_category:19]
activated_spoken_type=speech
activated_speech="Children"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Children"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Children"
skin_speed_sound_delay=140
skin_repeat_sound="Children"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 20
[speedcam_category:20]
activated_spoken_type=speech
activated_speech="Dangerous Turn"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Dangerous Turn"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Dangerous_Turn"
skin_speed_sound_delay=140
skin_repeat_sound="Dangerous_Turn"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 21
[speedcam_category:21]
activated_spoken_type=speech
activated_speech="Tunnel"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Tunnel"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Tunnel"
skin_speed_sound_delay=140
skin_repeat_sound="Tunnel"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 22
[speedcam_category:22]
activated_spoken_type=speech
activated_speech="POI."

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="POI."

overspeed_spoken_type=none
overspeed_sound="none"
skin_first_sound="POI"
skin_speed_sound_delay=140
skin_repeat_sound="POI"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 23
[speedcam_category:23]
activated_spoken_type=speech
activated_speech="Average Speed Camera"

approach_beep_distances=1550
approach_beep_spoken_type=speech
approach_beep_speech="Average Speed Camera"

overspeed_spoken_type=none
overspeed_sound="none"
skin_first_sound="Section_Start"
skin_speed_sound_delay=140
skin_repeat_sound="Section_Start"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=1

; S P E E D C A M - C A T : 29
[speedcam_category:29]
activated_spoken_type=speech
activated_speech="Pedestrians"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Pedestrians"

overspeed_spoken_type=none
overspeed_sound="none"
skin_first_sound="Pedestrian_Crossing"
skin_speed_sound_delay=160
skin_repeat_sound="Pedestrian_Crossing"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=5
use_road_speedlimit=0

; S P E E D C A M - C A T : 31
[speedcam_category:31]
activated_spoken_type=speech
activated_speech="Dangerous Area"

approach_beep_distances=550
approach_beep_spoken_type=speech
approach_beep_speech="Dangerous Area"
overspeed_spoken_type=none

overspeed_sound="none"
skin_first_sound="Dangerous_way"
skin_speed_sound_delay=140
skin_repeat_sound="Dangerous_way"
skin_repeat_distance=150
skin_off_sound="speedcam_off"

min_frc=-1
use_road_speedlimit=0

5. with this configuration i have a verbal warning 1000m prior to the speedcam saying "in 1000 meters speed camera speed limit is..." and the i set up an audio warning at 500 m from proximity speedcam settings in igo
6. now you must take tts file from igo/content/voice/tts_spanish and open it with winzip, you gonna find
\i18n : dictionary.voice - open it with Notepad. This is the translation from english to spanish of everything that is spoken by the program. Must control that all the voices in sys
Spoiler: check the translations


activated_speech="Speed camera ahead."

are translated like this (in spanish of course)
Speed camera ahead.="Autovelox fisso pił avanti."
Speed camera.="Autovelox fisso."

7. once you have 32 categories of speedcams you can download from this site speedcams in txt that you need and change the number to transform them as you like it.
Example : average speed cameras are number 4 but i want to transform them in number 23 because i like the icon 23 with RPS police image. I open the file containing these speed cameras with notepad / modify / replace
,4, becames ,23, replacing them i 1 second
8. if you download the speedcams from scdb you gonna have 1 file for spain for example containing 5 types of speedcams. i use speedcam converter 10v.15 to extract each category individually
9. i use only speedcams in .txt because i can change them easily. i don't use .spc files
This method works perfectly to me. I usually use only a couple of speedcams types.
Good luck