Index: ppdc/ppdc-driver.cxx =================================================================== --- ppdc/ppdc-driver.cxx (revision 356) +++ ppdc/ppdc-driver.cxx (working copy) @@ -1095,7 +1095,6 @@ locatalog->find_message(model_name->value), version->value, lf); - // Then the page sizes... cupsFilePrintf(fp, "*%s.Translation PageSize/%s: \"\"%s", locale->value, locatalog->find_message("Media Size"), lf); @@ -1109,7 +1108,7 @@ lf); } - // Finally the groups and options... + // Next the groups and options... for (g = (ppdcGroup *)groups->first(); g; g = (ppdcGroup *)groups->next()) { if (!g->options->count) @@ -1139,14 +1138,35 @@ { // Write this choice... cupsFilePrintf(fp, "*%s.%s %s/%s: \"\"%s", locale->value, - o->name->value, - c->name->value, + o->name->value, c->name->value, locatalog->find_message(c->text->value ? c->text->value : c->name->value), lf); } } } + + // Finally the localizable attributes... + for (a = (ppdcAttr *)attrs->first(); a; (ppdcAttr *)attrs->next()) + { + if (!a->text || !a->text->value || !a->text->value[0]) + continue; + + if (strcmp(a->name->value, "APCustomColorMatchingName") && + strcmp(a->name->value, "APPrinterPreset") && + strcmp(a->name->value, "cupsICCProfile") && + strcmp(a->name->value, "cupsIPPReason") && + strncmp(a->name->value, "Custom", 6) && + strncmp(a->name->value, "ParamCustom", 11)) + continue; + + cupsFilePrintf(fp, "*%s.%s %s/%s: \"%s\"%s", locale->value, + a->name->value, a->selector->value, + locatalog->find_message(a->text->value), + !strcmp(a->name->value, "cupsIPPReason") ? + locatalog->find_message(a->value->value) : "", + lf); + } } }