Basically I have a site that lists all the translation software’s in the market, the thing is when I register a new software I have a checkbox group with languages to form the “from language” dropdown field in the search, and another checkbox group to form the “to language” field, the problem is not all languages in the “from” group make language combinations with the “to” field…

For example a software can translate
(from) Portuguese-English (to)
(from) German-French (to)

but not necessarily Portuguese-French or German-English… how could I make the input so that these language combinations come up in a search but not if Por-Fr or Ger-Eng..

The solution I can think of is to create one checkbox group with all the languages available and depending on what languages where selected there would come up another checkbox group with all the language pairs from the languages selected where it would be possible to uncheck the pairs not supported..
but now how to put this together?

I think that you need to populate the first list drop-down list (not check boxes) and then populate the second one based on what was chosen from the first one. Have a look at Google Translate for an example.

For an example (a similar but different application using JQuery), see Dynamic Dependent Dropdown

for the search it would work because you are searching for one language pair, but the issue is when registering a software I need to list all the language pairs he supports so that the software comes up in the search if one of the pairs has been chosen.. or the language pairs have to be added one at a time but if you have 20 languages thats 400 possible combinations.. or multi-select for one language at a time that could also work..