I think you can make this section slightly less confusing by inverting the "ifs": by that I mean. 
```ruby
if data_query.commonwealth_country?(residency_country) or %w(ireland).include?(residency_country) and ceremony_country != residency_country and %w(germany).exclude?(ceremony_country)
  if %w(partner_british).include?(partner_nationality)
    phrases << :consular_cni_os_commonwealth_or_ireland_resident_british_partner
  else
    phrases << :consular_cni_os_commonwealth_or_ireland_resident_non_british_partner
  end
end
``` 

That way we don't need to run the same check twice?