Bueno, lo primero que tienes que hacer es asignar un nombre diferente a cada uno de selects del porcentaje de los idiomas, por ejemplo:
Código HTML:
<input type="checkbox" name="idiomas[]" id="ingles" value="ingles" />
<label for="porcentaje1">Inglés</label>
<select name="porcentaje[ingles]" id="porcentaje1">
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>
Después, para insertarlo en la base harias algo como esto:
Código PHP:
foreach($_POST['idiomas'] as $idioma){
$porcentaje = $_POST['porcentaje'][$idioma];
mysql_query("INSERT INTO idiomas (id, idioma, porcentaje) VALUES('$id', '$idioma', '$porcentaje')");
}
Cuando envias los controles de tu formulario con [] en el nombre, php los toma como arreglos, de esta forma obtienes un arreglo con los idiomas seleccionados y otro con sus respectivos porcentajes. No olvides que no debes duplicar los id's de los elementos