// this can go once all certs have been audited.
function isAuditedCert(lang, cert) {
  if (!lang || !cert)
    throw Error('Both arguments must be provided for auditing');
  // in order to see the challenges in the client, add the certification that
  // contains those challenges to this array:
  const auditedCerts = [
    'responsive-web-design',
    'javascript-algorithms-and-data-structures',
    'certificates'
  ];
  return lang === 'english' || auditedCerts.includes(cert);
}

exports.isAuditedCert = isAuditedCert;

@@ -46,258 +46,474 @@
 ed.%0A
-function isAuditedCert(lang, cert) %7B%0A  if (!lang %7C%7C !cert)%0A    throw Error('Both arguments must be provided for auditing');%0A  // in order to see the challenges in the client, add the certification that%0A  // contains those challenges
+%0A// Currently the auditing is going through Crowdin, so once a cert has been 100%25%0A// proofread, we can add it in here. That means that translations can come%0A// through from Crowdin whenever they are done, but we don't show them on the%0A// client until we decide the entire cert is ready.%0A%0A// NOTE: certificates themselves (.markdown files) are not currently being%0A// translated, but when they are they can be included by adding 'certificates'%0A//
  to th
-is
+e
  array
-:%0A  
+s below%0A%0A
 cons
@@ -533,110 +533,165 @@
 s = 
-%5B%0A    'responsive-web-design',%0A    'javascript-algorithms-and-data-structures',%0A    'certificates'%0A  %5D
+%7B%0A  espanol: %5B%5D,%0A  chinese: %5B%5D%0A%7D;%0A%0Afunction isAuditedCert(lang, cert) %7B%0A  if (!lang %7C%7C !cert)%0A    throw Error('Both arguments must be provided for auditing')
 ;%0A  
@@ -731,16 +731,22 @@
 tedCerts
+%5Blang%5D
 .include

allow challenges to be hidden by language (#40833)