apple / cups

Apple CUPS Sources
https://www.cups.org
Apache License 2.0
1.93k stars 464 forks source link

cups_ll.po have outdated English translations of IPP attribute/value pairs #5495

Closed scootergrisen closed 5 years ago

scootergrisen commented 5 years ago

How come the locale/cups.pot is 55.4 % translated?

Example:

msgid "accuracy-units.mm"
msgstr "Millimeters"
msgid "accuracy-units.nm"
msgstr "Nanometers"

I think this is incorrect use of the po format. The source language (english) string should be in msgid and all msgstr should be empty in a pot file. If translators needs to know "accuracy-units.mm" and "accuracy-units.nm" the info can be added like so:

#. [maybe some text here] accuracy-units.mm
msgid "Millimeters"
msgstr ""

#. [maybe some text here] accuracy-units.nm
msgid "Nanometers"
msgstr ""
michaelrsweet commented 5 years ago

OK, so the msgid's are IPP keyword/attribute+keyword combinations. The example strings were placed there because the underlying data source (the IANA IPP registry) and tools don't support adding comments (yet), so we have to include the US English equivalent somewhere. Putting it in the msgstr is a reasonable alternative while also ensuring that we have a backup translation.

So for the meantime this will not be changing...

scootergrisen commented 5 years ago

I have now compared the pretranslated strings in cups.pot and cups[LL].po files and it seems out of the 2149 strings that are pretranslated in 10 cups[LL].po files there have only been a total of 2 translations done by translators. They are...

cups_de.po:

msgid "document-copies"
msgstr "Dokumentkopien"

msgid "document-state"
msgstr "Dokumentstatus"

Besides those 2 strings all the pretranslated strings in all the cups[LL].po files are identical. But there are 440 pretranslated strings in cups.pot that are different to the pretranslated strings in all the cups[LL].po files.

Here is an example from cups.pot:

msgid "accuracy-units.mm"
msgstr "Millimeters"

Yet in all the cups_[LL].po files the string is translated to:

msgid "accuracy-units.mm"
msgstr "Mm"

I suspect that the pot file at some point contained 'msgstr "Mm"' but that this was later changed to 'msgstr "Millimeters"'. But because of the incorrect use of the PO format this change did not get into the po files. Which is done by adding fuzzy when there is a string change so translators can know about the change.

Because of this i suggest removing all those 2149 pretranslated strings from the cups.pot and cups_[LL].po files. From what i can tell only the work of 2 translated strings will be lost.

scootergrisen commented 5 years ago

Here are the 440 differences between the cups.pot and one of the cups_[LL].po files.

 msgid "accuracy-units.mm"
-msgstr "Millimeters"
+msgstr "Mm"

 msgid "accuracy-units.nm"
-msgstr "Nanometers"
+msgstr "Nm"

 msgid "accuracy-units.um"
-msgstr "Micrometers"
+msgstr "Um"

 msgid "baling-type"
-msgstr "Bale Using"
+msgstr "Baling Type"

 msgid "baling-when"
-msgstr "Bale After"
+msgstr "Baling When"

 msgid "baling-when.after-job"
-msgstr "Job"
+msgstr "After Job"

 msgid "baling-when.after-sets"
-msgstr "Sets"
+msgstr "After Sets"

 msgid "binding-reference-edge"
-msgstr "Bind Edge"
+msgstr "Binding Reference Edge"

 msgid "binding-type"
-msgstr "Binder Type"
+msgstr "Binding Type"

 msgid "charge-info-message"
-msgstr "Print Job Cost"
+msgstr "Charge Info Message"

 msgid "coating-sides"
-msgstr "Add Coating To"
+msgstr "Coating Sides"

 msgid "coating-sides.both"
-msgstr "Front and Back"
+msgstr "Both"

 msgid "coating-type"
-msgstr "Type of Coating"
+msgstr "Coating Type"

 msgid "coating-type.semi-gloss"
-msgstr "Semi-gloss"
+msgstr "Semi-Gloss"

 msgid "confirmation-sheet-print"
-msgstr "Print Confirmation Sheet"
+msgstr "Confirmation Sheet Print"

 msgid "cover-back"
-msgstr "Back Cover"
+msgstr "Cover Back"

 msgid "cover-front"
-msgstr "Front Cover"
+msgstr "Cover Front"

 msgid "cover-type"
-msgstr "Printed Cover"
+msgstr "Cover Type"

 msgid "cover-type.print-back"
-msgstr "Back Only"
+msgstr "Print Back"

 msgid "cover-type.print-both"
-msgstr "Front and Back"
+msgstr "Print Both"

 msgid "cover-type.print-front"
-msgstr "Front Only"
+msgstr "Print Front"

 msgid "cover-type.print-none"
-msgstr "None"
+msgstr "Print None"

 msgid "covering-name"
-msgstr "Add Cover"
+msgstr "Covering Name"

 msgid "covering-name.pre-cut"
-msgstr "Pre-cut"
+msgstr "Pre Cut"

 msgid "covering-name.pre-printed"
-msgstr "Pre-printed"
+msgstr "Pre Printed"

 msgid "document-state.6"
-msgstr "Stopped"
+msgstr "Processing Stopped"

 msgid "finishing-template.fold-accordion"
-msgstr "Accordion Fold"
+msgstr "Fold Accordion"

 msgid "finishing-template.fold-double-gate"
-msgstr "Double Gate Fold"
+msgstr "Fold Double Gate"

 msgid "finishing-template.fold-engineering-z"
-msgstr "Engineering Z Fold"
+msgstr "Fold Engineering Z"

 msgid "finishing-template.fold-gate"
-msgstr "Gate Fold"
+msgstr "Fold Gate"

 msgid "finishing-template.fold-half"
-msgstr "Half Fold"
+msgstr "Fold Half"

 msgid "finishing-template.fold-half-z"
-msgstr "Half Z Fold"
+msgstr "Fold Half Z"

 msgid "finishing-template.fold-left-gate"
-msgstr "Left Gate Fold"
+msgstr "Fold Left Gate"

 msgid "finishing-template.fold-letter"
-msgstr "Letter Fold"
+msgstr "Fold Letter"

 msgid "finishing-template.fold-parallel"
-msgstr "Parallel Fold"
+msgstr "Fold Parallel"

 msgid "finishing-template.fold-poster"
-msgstr "Poster Fold"
+msgstr "Fold Poster"

 msgid "finishing-template.fold-right-gate"
-msgstr "Right Gate Fold"
+msgstr "Fold Right Gate"

 msgid "finishing-template.fold-z"
-msgstr "Z Fold"
+msgstr "Fold Z"

 msgid "finishing-template.jdf-f10-1"
-msgstr "JDF Fold F10-1"
+msgstr "JDF F10 1"

 msgid "finishing-template.jdf-f10-2"
-msgstr "JDF Fold F10-2"
+msgstr "JDF F10 2"

 msgid "finishing-template.jdf-f10-3"
-msgstr "JDF Fold F10-3"
+msgstr "JDF F10 3"

 msgid "finishing-template.jdf-f12-1"
-msgstr "JDF Fold F12-1"
+msgstr "JDF F12 1"

 msgid "finishing-template.jdf-f12-10"
-msgstr "JDF Fold F12-10"
+msgstr "JDF F12 10"

 msgid "finishing-template.jdf-f12-11"
-msgstr "JDF Fold F12-11"
+msgstr "JDF F12 11"

 msgid "finishing-template.jdf-f12-12"
-msgstr "JDF Fold F12-12"
+msgstr "JDF F12 12"

 msgid "finishing-template.jdf-f12-13"
-msgstr "JDF Fold F12-13"
+msgstr "JDF F12 13"

 msgid "finishing-template.jdf-f12-14"
-msgstr "JDF Fold F12-14"
+msgstr "JDF F12 14"

 msgid "finishing-template.jdf-f12-2"
-msgstr "JDF Fold F12-2"
+msgstr "JDF F12 2"

 msgid "finishing-template.jdf-f12-3"
-msgstr "JDF Fold F12-3"
+msgstr "JDF F12 3"

 msgid "finishing-template.jdf-f12-4"
-msgstr "JDF Fold F12-4"
+msgstr "JDF F12 4"

 msgid "finishing-template.jdf-f12-5"
-msgstr "JDF Fold F12-5"
+msgstr "JDF F12 5"

 msgid "finishing-template.jdf-f12-6"
-msgstr "JDF Fold F12-6"
+msgstr "JDF F12 6"

 msgid "finishing-template.jdf-f12-7"
-msgstr "JDF Fold F12-7"
+msgstr "JDF F12 7"

 msgid "finishing-template.jdf-f12-8"
-msgstr "JDF Fold F12-8"
+msgstr "JDF F12 8"

 msgid "finishing-template.jdf-f12-9"
-msgstr "JDF Fold F12-9"
+msgstr "JDF F12 9"

 msgid "finishing-template.jdf-f14-1"
-msgstr "JDF Fold F14-1"
+msgstr "JDF F14 1"

 msgid "finishing-template.jdf-f16-1"
-msgstr "JDF Fold F16-1"
+msgstr "JDF F16 1"

 msgid "finishing-template.jdf-f16-10"
-msgstr "JDF Fold F16-10"
+msgstr "JDF F16 10"

 msgid "finishing-template.jdf-f16-11"
-msgstr "JDF Fold F16-11"
+msgstr "JDF F16 11"

 msgid "finishing-template.jdf-f16-12"
-msgstr "JDF Fold F16-12"
+msgstr "JDF F16 12"

 msgid "finishing-template.jdf-f16-13"
-msgstr "JDF Fold F16-13"
+msgstr "JDF F16 13"

 msgid "finishing-template.jdf-f16-14"
-msgstr "JDF Fold F16-14"
+msgstr "JDF F16 14"

 msgid "finishing-template.jdf-f16-2"
-msgstr "JDF Fold F16-2"
+msgstr "JDF F16 2"

 msgid "finishing-template.jdf-f16-3"
-msgstr "JDF Fold F16-3"
+msgstr "JDF F16 3"

 msgid "finishing-template.jdf-f16-4"
-msgstr "JDF Fold F16-4"
+msgstr "JDF F16 4"

 msgid "finishing-template.jdf-f16-5"
-msgstr "JDF Fold F16-5"
+msgstr "JDF F16 5"

 msgid "finishing-template.jdf-f16-6"
-msgstr "JDF Fold F16-6"
+msgstr "JDF F16 6"

 msgid "finishing-template.jdf-f16-7"
-msgstr "JDF Fold F16-7"
+msgstr "JDF F16 7"

 msgid "finishing-template.jdf-f16-8"
-msgstr "JDF Fold F16-8"
+msgstr "JDF F16 8"

 msgid "finishing-template.jdf-f16-9"
-msgstr "JDF Fold F16-9"
+msgstr "JDF F16 9"

 msgid "finishing-template.jdf-f18-1"
-msgstr "JDF Fold F18-1"
+msgstr "JDF F18 1"

 msgid "finishing-template.jdf-f18-2"
-msgstr "JDF Fold F18-2"
+msgstr "JDF F18 2"

 msgid "finishing-template.jdf-f18-3"
-msgstr "JDF Fold F18-3"
+msgstr "JDF F18 3"

 msgid "finishing-template.jdf-f18-4"
-msgstr "JDF Fold F18-4"
+msgstr "JDF F18 4"

 msgid "finishing-template.jdf-f18-5"
-msgstr "JDF Fold F18-5"
+msgstr "JDF F18 5"

 msgid "finishing-template.jdf-f18-6"
-msgstr "JDF Fold F18-6"
+msgstr "JDF F18 6"

 msgid "finishing-template.jdf-f18-7"
-msgstr "JDF Fold F18-7"
+msgstr "JDF F18 7"

 msgid "finishing-template.jdf-f18-8"
-msgstr "JDF Fold F18-8"
+msgstr "JDF F18 8"

 msgid "finishing-template.jdf-f18-9"
-msgstr "JDF Fold F18-9"
+msgstr "JDF F18 9"

 msgid "finishing-template.jdf-f2-1"
-msgstr "JDF Fold F2-1"
+msgstr "JDF F2 1"

 msgid "finishing-template.jdf-f20-1"
-msgstr "JDF Fold F20-1"
+msgstr "JDF F20 1"

 msgid "finishing-template.jdf-f20-2"
-msgstr "JDF Fold F20-2"
+msgstr "JDF F20 2"

 msgid "finishing-template.jdf-f24-1"
-msgstr "JDF Fold F24-1"
+msgstr "JDF F24 1"

 msgid "finishing-template.jdf-f24-10"
-msgstr "JDF Fold F24-10"
+msgstr "JDF F24 10"

 msgid "finishing-template.jdf-f24-11"
-msgstr "JDF Fold F24-11"
+msgstr "JDF F24 11"

 msgid "finishing-template.jdf-f24-2"
-msgstr "JDF Fold F24-2"
+msgstr "JDF F24 2"

 msgid "finishing-template.jdf-f24-3"
-msgstr "JDF Fold F24-3"
+msgstr "JDF F24 3"

 msgid "finishing-template.jdf-f24-4"
-msgstr "JDF Fold F24-4"
+msgstr "JDF F24 4"

 msgid "finishing-template.jdf-f24-5"
-msgstr "JDF Fold F24-5"
+msgstr "JDF F24 5"

 msgid "finishing-template.jdf-f24-6"
-msgstr "JDF Fold F24-6"
+msgstr "JDF F24 6"

 msgid "finishing-template.jdf-f24-7"
-msgstr "JDF Fold F24-7"
+msgstr "JDF F24 7"

 msgid "finishing-template.jdf-f24-8"
-msgstr "JDF Fold F24-8"
+msgstr "JDF F24 8"

 msgid "finishing-template.jdf-f24-9"
-msgstr "JDF Fold F24-9"
+msgstr "JDF F24 9"

 msgid "finishing-template.jdf-f28-1"
-msgstr "JDF Fold F28-1"
+msgstr "JDF F28 1"

 msgid "finishing-template.jdf-f32-1"
-msgstr "JDF Fold F32-1"
+msgstr "JDF F32 1"

 msgid "finishing-template.jdf-f32-2"
-msgstr "JDF Fold F32-2"
+msgstr "JDF F32 2"

 msgid "finishing-template.jdf-f32-3"
-msgstr "JDF Fold F32-3"
+msgstr "JDF F32 3"

 msgid "finishing-template.jdf-f32-4"
-msgstr "JDF Fold F32-4"
+msgstr "JDF F32 4"

 msgid "finishing-template.jdf-f32-5"
-msgstr "JDF Fold F32-5"
+msgstr "JDF F32 5"

 msgid "finishing-template.jdf-f32-6"
-msgstr "JDF Fold F32-6"
+msgstr "JDF F32 6"

 msgid "finishing-template.jdf-f32-7"
-msgstr "JDF Fold F32-7"
+msgstr "JDF F32 7"

 msgid "finishing-template.jdf-f32-8"
-msgstr "JDF Fold F32-8"
+msgstr "JDF F32 8"

 msgid "finishing-template.jdf-f32-9"
-msgstr "JDF Fold F32-9"
+msgstr "JDF F32 9"

 msgid "finishing-template.jdf-f36-1"
-msgstr "JDF Fold F36-1"
+msgstr "JDF F36 1"

 msgid "finishing-template.jdf-f36-2"
-msgstr "JDF Fold F36-2"
+msgstr "JDF F36 2"

 msgid "finishing-template.jdf-f4-1"
-msgstr "JDF Fold F4-1"
+msgstr "JDF F4 1"

 msgid "finishing-template.jdf-f4-2"
-msgstr "JDF Fold F4-2"
+msgstr "JDF F4 2"

 msgid "finishing-template.jdf-f40-1"
-msgstr "JDF Fold F40-1"
+msgstr "JDF F40 1"

 msgid "finishing-template.jdf-f48-1"
-msgstr "JDF Fold F48-1"
+msgstr "JDF F48 1"

 msgid "finishing-template.jdf-f48-2"
-msgstr "JDF Fold F48-2"
+msgstr "JDF F48 2"

 msgid "finishing-template.jdf-f6-1"
-msgstr "JDF Fold F6-1"
+msgstr "JDF F6 1"

 msgid "finishing-template.jdf-f6-2"
-msgstr "JDF Fold F6-2"
+msgstr "JDF F6 2"

 msgid "finishing-template.jdf-f6-3"
-msgstr "JDF Fold F6-3"
+msgstr "JDF F6 3"

 msgid "finishing-template.jdf-f6-4"
-msgstr "JDF Fold F6-4"
+msgstr "JDF F6 4"

 msgid "finishing-template.jdf-f6-5"
-msgstr "JDF Fold F6-5"
+msgstr "JDF F6 5"

 msgid "finishing-template.jdf-f6-6"
-msgstr "JDF Fold F6-6"
+msgstr "JDF F6 6"

 msgid "finishing-template.jdf-f6-7"
-msgstr "JDF Fold F6-7"
+msgstr "JDF F6 7"

 msgid "finishing-template.jdf-f6-8"
-msgstr "JDF Fold F6-8"
+msgstr "JDF F6 8"

 msgid "finishing-template.jdf-f64-1"
-msgstr "JDF Fold F64-1"
+msgstr "JDF F64 1"

 msgid "finishing-template.jdf-f64-2"
-msgstr "JDF Fold F64-2"
+msgstr "JDF F64 2"

 msgid "finishing-template.jdf-f8-1"
-msgstr "JDF Fold F8-1"
+msgstr "JDF F8 1"

 msgid "finishing-template.jdf-f8-2"
-msgstr "JDF Fold F8-2"
+msgstr "JDF F8 2"

 msgid "finishing-template.jdf-f8-3"
-msgstr "JDF Fold F8-3"
+msgstr "JDF F8 3"

 msgid "finishing-template.jdf-f8-4"
-msgstr "JDF Fold F8-4"
+msgstr "JDF F8 4"

 msgid "finishing-template.jdf-f8-5"
-msgstr "JDF Fold F8-5"
+msgstr "JDF F8 5"

 msgid "finishing-template.jdf-f8-6"
-msgstr "JDF Fold F8-6"
+msgstr "JDF F8 6"

 msgid "finishing-template.jdf-f8-7"
-msgstr "JDF Fold F8-7"
+msgstr "JDF F8 7"

 msgid "finishing-template.punch-dual-bottom"
-msgstr "2-hole Punch Bottom"
+msgstr "Punch Dual Bottom"

 msgid "finishing-template.punch-dual-left"
-msgstr "2-hole Punch Left"
+msgstr "Punch Dual Left"

 msgid "finishing-template.punch-dual-right"
-msgstr "2-hole Punch Right"
+msgstr "Punch Dual Right"

 msgid "finishing-template.punch-dual-top"
-msgstr "2-hole Punch Top"
+msgstr "Punch Dual Top"

 msgid "finishing-template.punch-multiple-bottom"
-msgstr "Multi-hole Punch Bottom"
+msgstr "Punch Multiple Bottom"

 msgid "finishing-template.punch-multiple-left"
-msgstr "Multi-hole Punch Left"
+msgstr "Punch Multiple Left"

 msgid "finishing-template.punch-multiple-right"
-msgstr "Multi-hole Punch Right"
+msgstr "Punch Multiple Right"

 msgid "finishing-template.punch-multiple-top"
-msgstr "Multi-hole Punch Top"
+msgstr "Punch Multiple Top"

 msgid "finishing-template.punch-quad-bottom"
-msgstr "4-hole Punch Bottom"
+msgstr "Punch Quad Bottom"

 msgid "finishing-template.punch-quad-left"
-msgstr "4-hole Punch Left"
+msgstr "Punch Quad Left"

 msgid "finishing-template.punch-quad-right"
-msgstr "4-hole Punch Right"
+msgstr "Punch Quad Right"

 msgid "finishing-template.punch-quad-top"
-msgstr "4-hole Punch Top"
+msgstr "Punch Quad Top"

 msgid "finishing-template.punch-triple-bottom"
-msgstr "3-hole Punch Bottom"
+msgstr "Punch Triple Bottom"

 msgid "finishing-template.punch-triple-left"
-msgstr "3-hole Punch Left"
+msgstr "Punch Triple Left"

 msgid "finishing-template.punch-triple-right"
-msgstr "3-hole Punch Right"
+msgstr "Punch Triple Right"

 msgid "finishing-template.punch-triple-top"
-msgstr "3-hole Punch Top"
+msgstr "Punch Triple Top"

 msgid "finishing-template.staple-dual-bottom"
-msgstr "2 Staples on Bottom"
+msgstr "Staple Dual Bottom"

 msgid "finishing-template.staple-dual-left"
-msgstr "2 Staples on Left"
+msgstr "Staple Dual Left"

 msgid "finishing-template.staple-dual-right"
-msgstr "2 Staples on Right"
+msgstr "Staple Dual Right"

 msgid "finishing-template.staple-dual-top"
-msgstr "2 Staples on Top"
+msgstr "Staple Dual Top"

 msgid "finishing-template.staple-triple-bottom"
-msgstr "3 Staples on Bottom"
+msgstr "Staple Triple Bottom"

 msgid "finishing-template.staple-triple-left"
-msgstr "3 Staples on Left"
+msgstr "Staple Triple Left"

 msgid "finishing-template.staple-triple-right"
-msgstr "3 Staples on Right"
+msgstr "Staple Triple Right"

 msgid "finishing-template.staple-triple-top"
-msgstr "3 Staples on Top"
+msgstr "Staple Triple Top"

 msgid "finishing-template.trim-after-copies"
-msgstr "Trim After Every Set"
+msgstr "Trim After Copies"

 msgid "finishing-template.trim-after-documents"
-msgstr "Trim After Every Document"
+msgstr "Trim After Documents"

 msgid "finishing-template.trim-after-pages"
-msgstr "Trim After Every Page"
+msgstr "Trim After Pages"

 msgid "finishings.100"
-msgstr "Z Fold"
+msgstr "Fold Z"

 msgid "finishings.101"
-msgstr "Engineering Z Fold"
+msgstr "Fold Engineering Z"

 msgid "finishings.28"
-msgstr "2 Staples on Left"
+msgstr "Staple Dual Left"

 msgid "finishings.29"
-msgstr "2 Staples on Top"
+msgstr "Staple Dual Top"

 msgid "finishings.30"
-msgstr "2 Staples on Right"
+msgstr "Staple Dual Right"

 msgid "finishings.31"
-msgstr "2 Staples on Bottom"
+msgstr "Staple Dual Bottom"

 msgid "finishings.32"
-msgstr "3 Staples on Left"
+msgstr "Staple Triple Left"

 msgid "finishings.33"
-msgstr "3 Staples on Top"
+msgstr "Staple Triple Top"

 msgid "finishings.34"
-msgstr "3 Staples on Right"
+msgstr "Staple Triple Right"

 msgid "finishings.35"
-msgstr "3 Staples on Bottom"
+msgstr "Staple Triple Bottom"

 msgid "finishings.60"
-msgstr "Trim Pages"
+msgstr "Trim After Pages"

 msgid "finishings.61"
-msgstr "Trim Documents"
+msgstr "Trim After Documents"

 msgid "finishings.62"
-msgstr "Trim Copies"
+msgstr "Trim After Copies"

 msgid "finishings.63"
-msgstr "Trim Job"
+msgstr "Trim After Job"

 msgid "finishings.74"
-msgstr "2-hole Punch Left"
+msgstr "Punch Dual Left"

 msgid "finishings.75"
-msgstr "2-hole Punch Top"
+msgstr "Punch Dual Top"

 msgid "finishings.76"
-msgstr "2-hole Punch Right"
+msgstr "Punch Dual Right"

 msgid "finishings.77"
-msgstr "2-hole Punch Bottom"
+msgstr "Punch Dual Bottom"

 msgid "finishings.78"
-msgstr "3-hole Punch Left"
+msgstr "Punch Triple Left"

 msgid "finishings.79"
-msgstr "3-hole Punch Top"
+msgstr "Punch Triple Top"

 msgid "finishings.80"
-msgstr "3-hole Punch Right"
+msgstr "Punch Triple Right"

 msgid "finishings.81"
-msgstr "3-hole Punch Bottom"
+msgstr "Punch Triple Bottom"

 msgid "finishings.82"
-msgstr "4-hole Punch Left"
+msgstr "Punch Quad Left"

 msgid "finishings.83"
-msgstr "4-hole Punch Top"
+msgstr "Punch Quad Top"

 msgid "finishings.84"
-msgstr "4-hole Punch Right"
+msgstr "Punch Quad Right"

 msgid "finishings.85"
-msgstr "4-hole Punch Bottom"
+msgstr "Punch Quad Bottom"

 msgid "finishings.86"
-msgstr "Multi-hole Punch Left"
+msgstr "Punch Multiple Left"

 msgid "finishings.87"
-msgstr "Multi-hole Punch Top"
+msgstr "Punch Multiple Top"

 msgid "finishings.88"
-msgstr "Multi-hole Punch Right"
+msgstr "Punch Multiple Right"

 msgid "finishings.89"
-msgstr "Multi-hole Punch Bottom"
+msgstr "Punch Multiple Bottom"

 msgid "finishings.90"
-msgstr "Accordion Fold"
+msgstr "Fold Accordion"

 msgid "finishings.91"
-msgstr "Double Gate Fold"
+msgstr "Fold Double Gate"

 msgid "finishings.92"
-msgstr "Gate Fold"
+msgstr "Fold Gate"

 msgid "finishings.93"
-msgstr "Half Fold"
+msgstr "Fold Half"

 msgid "finishings.94"
-msgstr "Half Z Fold"
+msgstr "Fold Half Z"

 msgid "finishings.95"
-msgstr "Left Gate Fold"
+msgstr "Fold Left Gate"

 msgid "finishings.96"
-msgstr "Letter Fold"
+msgstr "Fold Letter"

 msgid "finishings.97"
-msgstr "Parallel Fold"
+msgstr "Fold Parallel"

 msgid "finishings.98"
-msgstr "Poster Fold"
+msgstr "Fold Poster"

 msgid "finishings.99"
-msgstr "Right Gate Fold"
+msgstr "Fold Right Gate"

 msgid "folding-direction"
-msgstr "Fold Direction"
+msgstr "Folding Direction"

 msgid "folding-reference-edge"
-msgstr "Fold Edge"
+msgstr "Folding Reference Edge"

 msgid "input-attributes"
-msgstr "Scanner Options"
+msgstr "Input Attributes"

 msgid "input-color-mode"
-msgstr "Scanning Mode"
+msgstr "Input Color Mode"

 msgid "input-color-mode.bi-level"
-msgstr "Text"
+msgstr "Bi-Level"

 msgid "input-color-mode.cmyk_16"
-msgstr "16-bit CMYK"
+msgstr "CMYK 16"

 msgid "input-color-mode.cmyk_8"
-msgstr "8-bit CMYK"
+msgstr "CMYK 8"

 msgid "input-color-mode.color_8"
-msgstr "8-bit Color"
+msgstr "Color 8"

 msgid "input-color-mode.monochrome_16"
-msgstr "16-bit Monochrome"
+msgstr "Monochrome 16"

 msgid "input-color-mode.monochrome_4"
-msgstr "4-bit Monochrome"
+msgstr "Monochrome 4"

 msgid "input-color-mode.monochrome_8"
-msgstr "8-bit Monochrome"
+msgstr "Monochrome 8"

 msgid "input-color-mode.rgb_16"
-msgstr "16-bit RGB"
+msgstr "RGB 16"

 msgid "input-color-mode.rgba_16"
-msgstr "16-bit RGBA"
+msgstr "RGBA 16"

 msgid "input-color-mode.rgba_8"
-msgstr "8-bit RGBA"
+msgstr "RGBA 8"

 msgid "input-content-type"
-msgstr "Scan Content"
+msgstr "Input Content Type"

 msgid "input-film-scan-mode"
-msgstr "Film Type"
+msgstr "Input Film Scan Mode"

 msgid "input-media"
-msgstr "Scan Media"
+msgstr "Input Media"

 msgid "input-orientation-requested"
-msgstr "Scan Orientation"
+msgstr "Input Orientation"

 msgid "input-quality"
-msgstr "Scan Quality"
+msgstr "Input Quality"

 msgid "input-sides"
-msgstr "2-Sided Scanning"
+msgstr "Input Sides"

 msgid "input-source"
-msgstr "Scan Source"
+msgstr "Input Source"

 msgid "input-source.adf"
-msgstr "Automatic Document Feeder"
+msgstr "Adf"

 msgid "job-accounting-sheets-type"
-msgstr "Type of Job Accounting Sheets"
+msgstr "Job Accounting Sheets Type"

 msgid "job-collation-type"
-msgstr "Collate Copies"
+msgstr "Job Collation Type"

 msgid "job-copies"
-msgstr "Copies"
+msgstr "Job Copies"

 msgid "job-cover-back"
-msgstr "Back Cover"
+msgstr "Job Cover Back"

 msgid "job-cover-front"
-msgstr "Front Cover"
+msgstr "Job Cover Front"

 msgid "job-delay-output-until"
-msgstr "Delay Output Until"
+msgstr "Job Delay Output Until"

 msgid "job-delay-output-until-time"
-msgstr "Delay Output Until"
+msgstr "Job Delay Output Until Time"

 msgid "job-delay-output-until.day-time"
-msgstr "Daytime"
+msgstr "Day Time"

 msgid "job-delay-output-until.indefinite"
-msgstr "Released"
+msgstr "Indefinite"

 msgid "job-delay-output-until.no-delay-output"
-msgstr "No Delay"
+msgstr "No Delay Output"

 msgid "job-error-action"
-msgstr "On Error"
+msgstr "Job Error Action"

 msgid "job-error-sheet"
-msgstr "Print Error Sheet"
+msgstr "Job Error Sheet"

 msgid "job-error-sheet-type"
-msgstr "Type of Error Sheet"
+msgstr "Job Error Sheet Type"

 msgid "job-error-sheet-when"
-msgstr "Print Error Sheet"
+msgstr "Job Error Sheet When"

 msgid "job-hold-until-time"
-msgstr "Hold Until"
+msgstr "Job Hold Until Time"

 msgid "job-hold-until.day-time"
-msgstr "Daytime"
+msgstr "Day Time"

 msgid "job-name"
-msgstr "Title"
+msgstr "Job Name"

 msgid "job-sheets.first-print-stream-page"
-msgstr "First Page in Document"
+msgstr "First Print Stream Page"

 msgid "job-state.4"
-msgstr "Held"
+msgstr "Pending Held"

 msgid "job-state.6"
-msgstr "Stopped"
+msgstr "Processing Stopped"

 msgid "laminating-sides"
-msgstr "Laminate"
+msgstr "Laminating Sides"

 msgid "laminating-sides.back"
-msgstr "Back Only"
+msgstr "Back"

 msgid "laminating-sides.both"
-msgstr "Front and Back"
+msgstr "Both"

 msgid "laminating-sides.front"
-msgstr "Front Only"
+msgstr "Front"

 msgid "laminating-type"
-msgstr "Type of Lamination"
+msgstr "Laminating Type"

 msgid "laminating-type.semi-gloss"
-msgstr "Semi-gloss"
+msgstr "Semi-Gloss"

 msgid "material-amount-units"
-msgstr "Amount Units"
+msgstr "Material Amount Units"

 msgid "material-amount-units.g"
-msgstr "Grams"
+msgstr "G"

 msgid "material-amount-units.kg"
-msgstr "Kilograms"
+msgstr "Kg"

 msgid "material-amount-units.l"
-msgstr "Liters"
+msgstr "L"

 msgid "material-amount-units.m"
-msgstr "Meters"
+msgstr "M"

 msgid "material-amount-units.ml"
-msgstr "Milliliters"
+msgstr "Ml"

 msgid "material-amount-units.mm"
-msgstr "Millimeters"
+msgstr "Mm"

 msgid "material-purpose"
-msgstr "Use Material For"
+msgstr "Material Purpose"

 msgid "material-purpose.all"
-msgstr "Everything"
+msgstr "All"

 msgid "material-purpose.in-fill"
-msgstr "In-fill"
+msgstr "In Fill"

 msgid "material-purpose.support"
-msgstr "Supports"
+msgstr "Support"

 msgid "material-rate-units"
-msgstr "Feed Rate Units"
+msgstr "Material Rate Units"

 msgid "material-rate-units.mg_second"
-msgstr "Milligrams per second"
+msgstr "Mg Second"

 msgid "material-rate-units.ml_second"
-msgstr "Milliliters per second"
+msgstr "Ml Second"

 msgid "material-rate-units.mm_second"
-msgstr "Millimeters per second"
+msgstr "Mm Second"

 msgid "material-type.abs"
-msgstr "ABS"
+msgstr "Abs"

 msgid "material-type.abs-carbon-fiber"
-msgstr "Carbon Fiber ABS"
+msgstr "Abs Carbon Fiber"

 msgid "material-type.abs-carbon-nanotube"
-msgstr "Carbon Nanotube ABS"
+msgstr "Abs Carbon Nanotube"

 msgid "material-type.pla"
-msgstr "PLA"
+msgstr "Pla"

 msgid "material-type.pla-conductive"
-msgstr "Conductive PLA"
+msgstr "Pla Conductive"

 msgid "material-type.pla-flexible"
-msgstr "Flexible PLA"
+msgstr "Pla Flexible"

 msgid "material-type.pla-magnetic"
-msgstr "Magnetic PLA"
+msgstr "Pla Magnetic"

 msgid "material-type.pla-steel"
-msgstr "Steel PLA"
+msgstr "Pla Steel"

 msgid "material-type.pla-stone"
-msgstr "Stone PLA"
+msgstr "Pla Stone"

 msgid "material-type.pla-wood"
-msgstr "Wood PLA"
+msgstr "Pla Wood"

 msgid "media-back-coating"
-msgstr "Back Coating of Media"
+msgstr "Media Back Coating"

 msgid "media-back-coating.semi-gloss"
-msgstr "Semi-gloss"
+msgstr "Semi-Gloss"

 msgid "media-color.multi-color"
-msgstr "Multi-color"
+msgstr "Multi-Color"

 msgid "media-front-coating"
-msgstr "Front Coating of Media"
+msgstr "Media Front Coating"

 msgid "media-input-tray-check"
-msgstr "Force Media"
+msgstr "Media Input Tray Check"

 msgid "media-pre-printed"
-msgstr "Pre-printed Media"
+msgstr "Media Preprinted"

 msgid "media-pre-printed.pre-printed"
-msgstr "Pre-printed"
+msgstr "Preprinted"

 msgid "media-recycled"
-msgstr "Recycled Media"
+msgstr "Media Recycled"

 msgid "media-source.alternate"
-msgstr "Alternate Tray"
+msgstr "Alternate"

 msgid "media-source.auto"
-msgstr "Automatic Tray"
+msgstr "Automatic"

 msgid "media-source.bottom"
-msgstr "Bottom Tray"
+msgstr "Bottom"

 msgid "media-source.by-pass-tray"
-msgstr "By-pass Tray"
+msgstr "By Pass Tray"

 msgid "media-source.center"
-msgstr "Center Tray"
+msgstr "Center"

 msgid "media-source.disc"
-msgstr "Disc Feed"
+msgstr "Disc"

 msgid "media-source.envelope"
-msgstr "Envelope Feed"
+msgstr "Envelope"

 msgid "media-source.hagaki"
-msgstr "Hagaki Feed"
+msgstr "Hagaki"

 msgid "media-source.large-capacity"
-msgstr "Large Capacity Tray"
+msgstr "Large Capacity"

 msgid "media-source.left"
-msgstr "Left Tray"
+msgstr "Left"

 msgid "media-source.main"
-msgstr "Main Tray"
+msgstr "Main"

 msgid "media-source.manual"
-msgstr "Manual Feed"
+msgstr "Manual"

 msgid "media-source.middle"
-msgstr "Middle Tray"
+msgstr "Middle"

 msgid "media-source.photo"
-msgstr "Photo Tray"
+msgstr "Photo"

 msgid "media-source.rear"
-msgstr "Rear Tray"
+msgstr "Rear"

 msgid "media-source.right"
-msgstr "Right Tray"
+msgstr "Right"

 msgid "media-tooth"
-msgstr "Media Tooth (Texture)"
+msgstr "Media Tooth"

 msgid "media-tooth.calendared"
-msgstr "Extra Smooth"
+msgstr "Calendared"

 msgid "media-tooth.uncalendared"
-msgstr "Rough"
+msgstr "Uncalendared"

 msgid "media.asme_f_28x40in"
-msgstr "28 x 40″"
+msgstr "28 x 40\""

 msgid "media.iso_ra0_860x1220mm"
-msgstr "ISO RA0"
+msgstr "Ra0"

 msgid "media.iso_ra1_610x860mm"
-msgstr "ISO RA1"
+msgstr "Ra1"

 msgid "media.iso_ra2_430x610mm"
-msgstr "ISO RA2"
+msgstr "Ra2"

 msgid "media.iso_ra3_305x430mm"
-msgstr "ISO RA3"
+msgstr "Ra3"

 msgid "media.iso_ra4_215x305mm"
-msgstr "ISO RA4"
+msgstr "Ra4"

 msgid "media.iso_sra0_900x1280mm"
-msgstr "ISO SRA0"
+msgstr "Sra0"

 msgid "media.iso_sra1_640x900mm"
-msgstr "ISO SRA1"
+msgstr "Sra1"

 msgid "media.iso_sra2_450x640mm"
-msgstr "ISO SRA2"
+msgstr "Sra2"

 msgid "media.iso_sra3_320x450mm"
-msgstr "ISO SRA3"
+msgstr "Sra3"

 msgid "media.iso_sra4_225x320mm"
-msgstr "ISO SRA4"
+msgstr "Sra4"

 msgid "media.jpn_kaku3_216x277mm"
-msgstr "216 x 277mm"
+msgstr "216 x 277mme"

 msgid "media.jpn_kaku4_197x267mm"
-msgstr "197 x 267mm"
+msgstr "197 x 267mme"

 msgid "media.jpn_kaku5_190x240mm"
-msgstr "190 x 240mm"
+msgstr "190 x 240mme"

 msgid "media.jpn_kaku7_142x205mm"
-msgstr "142 x 205mm"
+msgstr "142 x 205mme"

 msgid "media.jpn_kaku8_119x197mm"
-msgstr "119 x 197mm"
+msgstr "119 x 197mme"

 msgid "media.na_10x11_10x11in"
-msgstr "10 x 11″"
+msgstr "10 x 11\""

 msgid "media.na_10x13_10x13in"
-msgstr "10 x 13″"
+msgstr "10 x 13\""

 msgid "media.na_10x14_10x14in"
-msgstr "10 x 14″"
+msgstr "10 x 14\""

 msgid "media.na_10x15_10x15in"
-msgstr "10 x 15″"
+msgstr "10 x 15\""

 msgid "media.na_11x12_11x12in"
-msgstr "11 x 12″"
+msgstr "11 x 12\""

 msgid "media.na_11x15_11x15in"
-msgstr "11 x 15″"
+msgstr "11 x 15\""

 msgid "media.na_12x19_12x19in"
-msgstr "12 x 19″"
+msgstr "12 x 19\""

 msgid "media.na_5x7_5x7in"
-msgstr "5 x 7″"
+msgstr "5 x 7\""

 msgid "media.na_6x9_6x9in"
-msgstr "6 x 9″"
+msgstr "6 x 9\""

 msgid "media.na_7x9_7x9in"
-msgstr "7 x 9″"
+msgstr "7 x 9\""

 msgid "media.na_9x11_9x11in"
-msgstr "9 x 11″"
+msgstr "9 x 11\""

 msgid "media.na_arch-a_9x12in"
-msgstr "9 x 12″"
+msgstr "9 x 12\""

 msgid "media.na_arch-b_12x18in"
-msgstr "12 x 18″"
+msgstr "12 x 18\""

 msgid "media.na_arch-c_18x24in"
-msgstr "18 x 24″"
+msgstr "18 x 24\""

 msgid "media.na_arch-d_24x36in"
-msgstr "24 x 36″"
+msgstr "24 x 36\""

 msgid "media.na_arch-e2_26x38in"
-msgstr "26 x 38″"
+msgstr "26 x 38\""

 msgid "media.na_arch-e3_27x39in"
-msgstr "27 x 39″"
+msgstr "27 x 39\""

 msgid "media.na_arch-e_36x48in"
-msgstr "36 x 48″"
+msgstr "36 x 48\""

 msgid "media.na_b-plus_12x19.17in"
-msgstr "12 x 19.17″"
+msgstr "12 x 19.17\""

 msgid "media.na_c_17x22in"
-msgstr "17 x 22″"
+msgstr "17 x 22\""

 msgid "media.na_d_22x34in"
-msgstr "22 x 34″"
+msgstr "22 x 34\""

 msgid "media.na_e_34x44in"
-msgstr "34 x 44″"
+msgstr "34 x 44\""

 msgid "media.na_edp_11x14in"
-msgstr "11 x 14″"
+msgstr "11 x 14\""

 msgid "media.na_eur-edp_12x14in"
-msgstr "12 x 14″"
+msgstr "12 x 14\""

 msgid "media.na_f_44x68in"
-msgstr "44 x 68″"
+msgstr "44 x 68\""

 msgid "media.na_govt-legal_8x13in"
-msgstr "8 x 13″"
+msgstr "8 x 13\""

 msgid "media.na_govt-letter_8x10in"
-msgstr "8 x 10″"
+msgstr "8 x 10\""

 msgid "media.na_index-3x5_3x5in"
-msgstr "3 x 5″"
+msgstr "3 x 5\""

 msgid "media.na_index-4x6-ext_6x8in"
-msgstr "6 x 8″"
+msgstr "6 x 8\""

 msgid "media.na_index-4x6_4x6in"
-msgstr "4 x 6″"
+msgstr "4 x 6\""

 msgid "media.na_index-5x8_5x8in"
-msgstr "5 x 8″"
+msgstr "5 x 8\""

 msgid "media.na_ledger_11x17in"
-msgstr "11 x 17″"
+msgstr "11 x 17\""

 msgid "media.na_oficio_8.5x13.4in"
-msgstr "8.5 x 13.4″"
+msgstr "8.5 x 13.4\""

 msgid "media.na_super-a_8.94x14in"
-msgstr "8.94 x 14″"
+msgstr "8.94 x 14\""

 msgid "media.na_super-b_13x19in"
-msgstr "13 x 19″"
+msgstr "13 x 19\""

 msgid "media.na_wide-format_30x42in"
-msgstr "30 x 42″"
+msgstr "30 x 42\""

 msgid "media.oe_12x16_12x16in"
-msgstr "12 x 16″"
+msgstr "12 x 16\""

 msgid "media.oe_14x17_14x17in"
-msgstr "14 x 17″"
+msgstr "14 x 17\""

 msgid "media.oe_18x22_18x22in"
-msgstr "18 x 22″"
+msgstr "18 x 22\""

 msgid "media.oe_a2plus_17x24in"
-msgstr "17 x 24″"
+msgstr "17 x 24\""

 msgid "media.oe_photo-10r_10x12in"
-msgstr "10 x 12″"
+msgstr "10 x 12\""

 msgid "media.oe_photo-20r_20x24in"
-msgstr "20 x 24″"
+msgstr "20 x 24\""

 msgid "media.oe_photo-l_3.5x5in"
-msgstr "3.5 x 5″"
+msgstr "3.5 x 5\""

 msgid "media.oe_photo-s10r_10x15in"
-msgstr "10 x 15″"
+msgstr "10 x 15\""

 msgid "media.om_large-photo_200x300"
-msgstr "200 x 300"
+msgstr "200 x 300mm"

 msgid "multiple-operation-time-out-action"
-msgstr "On Timeout"
+msgstr "Multiple Operation Time Out Action"

 msgid "output-attributes"
-msgstr "Scanned Image Options"
+msgstr "Output Attributes"

 msgid "output-bin"
-msgstr "Output Tray"
+msgstr "Output Bin"

 msgid "page-delivery.reverse-order-face-down"
-msgstr "Reverse Order Face-down"
+msgstr "Reverse Order Face Down"

 msgid "page-delivery.reverse-order-face-up"
-msgstr "Reverse Order Face-up"
+msgstr "Reverse Order Face Up"

 msgid "page-delivery.same-order-face-down"
-msgstr "Same Order Face-down"
+msgstr "Same Order Face Down"

 msgid "page-delivery.same-order-face-up"
-msgstr "Same Order Face-up"
+msgstr "Same Order Face Up"

 msgid "page-order-received.1-to-n-order"
-msgstr "1 To N"
+msgstr "1 To N Order"

 msgid "page-order-received.n-to-1-order"
-msgstr "N To 1"
+msgstr "N To 1 Order"

 msgid "presentation-direction-number-up.tobottom-toleft"
-msgstr "Top-bottom, Right-left"
+msgstr "Top-Bottom, Right-Left"

 msgid "presentation-direction-number-up.tobottom-toright"
-msgstr "Top-bottom, Left-right"
+msgstr "Top-Bottom, Left-Right"

 msgid "presentation-direction-number-up.toleft-tobottom"
-msgstr "Right-left, Top-bottom"
+msgstr "Right-Left, Top-Bottom"

 msgid "presentation-direction-number-up.toleft-totop"
-msgstr "Right-left, Bottom-top"
+msgstr "Right-Left, Bottom-Top"

 msgid "presentation-direction-number-up.toright-tobottom"
-msgstr "Left-right, Top-bottom"
+msgstr "Left-Right, Top-Bottom"

 msgid "presentation-direction-number-up.toright-totop"
-msgstr "Left-right, Bottom-top"
+msgstr "Left-Right, Bottom-Top"

 msgid "presentation-direction-number-up.totop-toleft"
-msgstr "Bottom-top, Right-left"
+msgstr "Bottom-Top, Right-Left"

 msgid "presentation-direction-number-up.totop-toright"
-msgstr "Bottom-top, Left-right"
+msgstr "Bottom-Top, Left-Right"

 msgid "print-color-mode.bi-level"
-msgstr "Text"
+msgstr "Bi-Level"

 msgid "print-color-mode.process-bi-level"
-msgstr "Process Text"
+msgstr "Process Bi-Level"

 msgid "print-content-optimize.text-and-graphic"
-msgstr "Text and Graphics"
+msgstr "Text And Graphics"

 msgid "print-scaling.auto-fit"
-msgstr "Auto-fit"
+msgstr "Auto Fit"

 msgid "print-supports.material"
-msgstr "With Specified Material"
+msgstr "Material"

 msgid "printer-message-from-operator"
-msgstr "Message From Operator"
+msgstr "Printer Message From Operator"

 msgid "printer-resolution"
-msgstr "Print Resolution"
+msgstr "Printer Resolution"

 msgid "printer-state-reasons.alert-removal-of-binary-change-entry"
-msgstr "Old Alerts Have Been Removed"
+msgstr "Alert Removal Of Binary Change Entry"

 msgid "printer-state-reasons.interpreter-cartridge-deleted"
-msgstr "Interpreter Cartridge Removed"
+msgstr "Interpreter Cartridge Deleted"

 msgid "printer-state-reasons.lamp-at-eol"
-msgstr "Lamp At End of Life"
+msgstr "Lamp At Eol"

 msgid "printer-state-reasons.lamp-near-eol"
-msgstr "Lamp Near End of Life"
+msgstr "Lamp Near Eol"

 msgid "printer-state-reasons.laser-at-eol"
-msgstr "Laser At End of Life"
+msgstr "Laser At Eol"

 msgid "printer-state-reasons.laser-near-eol"
-msgstr "Laser Near End of Life"
+msgstr "Laser Near Eol"

 msgid "printer-state-reasons.make-envelope-added"
-msgstr "Envelope Maker Added"
+msgstr "Make Envelope Added"

 msgid "printer-state-reasons.make-envelope-almost-empty"
-msgstr "Envelope Maker Almost Empty"
+msgstr "Make Envelope Almost Empty"

 msgid "printer-state-reasons.make-envelope-almost-full"
-msgstr "Envelope Maker Almost Full"
+msgstr "Make Envelope Almost Full"

 msgid "printer-state-reasons.make-envelope-at-limit"
-msgstr "Envelope Maker At Limit"
+msgstr "Make Envelope At Limit"

 msgid "printer-state-reasons.make-envelope-closed"
-msgstr "Envelope Maker Closed"
+msgstr "Make Envelope Closed"

 msgid "printer-state-reasons.make-envelope-configuration-change"
-msgstr "Envelope Maker Configuration Change"
+msgstr "Make Envelope Configuration Change"

 msgid "printer-state-reasons.make-envelope-cover-closed"
-msgstr "Envelope Maker Cover Closed"
+msgstr "Make Envelope Cover Closed"

 msgid "printer-state-reasons.make-envelope-cover-open"
-msgstr "Envelope Maker Cover Open"
+msgstr "Make Envelope Cover Open"

 msgid "printer-state-reasons.make-envelope-empty"
-msgstr "Envelope Maker Empty"
+msgstr "Make Envelope Empty"

 msgid "printer-state-reasons.make-envelope-full"
-msgstr "Envelope Maker Full"
+msgstr "Make Envelope Full"

 msgid "printer-state-reasons.make-envelope-interlock-closed"
-msgstr "Envelope Maker Interlock Closed"
+msgstr "Make Envelope Interlock Closed"

 msgid "printer-state-reasons.make-envelope-interlock-open"
-msgstr "Envelope Maker Interlock Open"
+msgstr "Make Envelope Interlock Open"

 msgid "printer-state-reasons.make-envelope-jam"
-msgstr "Envelope Maker Jam"
+msgstr "Make Envelope Jam"

 msgid "printer-state-reasons.make-envelope-life-almost-over"
-msgstr "Envelope Maker Life Almost Over"
+msgstr "Make Envelope Life Almost Over"

 msgid "printer-state-reasons.make-envelope-life-over"
-msgstr "Envelope Maker Life Over"
+msgstr "Make Envelope Life Over"

 msgid "printer-state-reasons.make-envelope-memory-exhausted"
-msgstr "Envelope Maker Memory Exhausted"
+msgstr "Make Envelope Memory Exhausted"

 msgid "printer-state-reasons.make-envelope-missing"
-msgstr "Envelope Maker Missing"
+msgstr "Make Envelope Missing"

 msgid "printer-state-reasons.make-envelope-motor-failure"
-msgstr "Envelope Maker Motor Failure"
+msgstr "Make Envelope Motor Failure"

 msgid "printer-state-reasons.make-envelope-near-limit"
-msgstr "Envelope Maker Near Limit"
+msgstr "Make Envelope Near Limit"

 msgid "printer-state-reasons.make-envelope-offline"
-msgstr "Envelope Maker Offline"
+msgstr "Make Envelope Offline"

 msgid "printer-state-reasons.make-envelope-opened"
-msgstr "Envelope Maker Opened"
+msgstr "Make Envelope Opened"

 msgid "printer-state-reasons.make-envelope-over-temperature"
-msgstr "Envelope Maker Over Temperature"
+msgstr "Make Envelope Over Temperature"

 msgid "printer-state-reasons.make-envelope-power-saver"
-msgstr "Envelope Maker Power Saver"
+msgstr "Make Envelope Power Saver"

 msgid "printer-state-reasons.make-envelope-recoverable-failure"
-msgstr "Envelope Maker Recoverable Failure"
+msgstr "Make Envelope Recoverable Failure"

 msgid "printer-state-reasons.make-envelope-recoverable-storage"
-msgstr "Envelope Maker Recoverable Storage"
+msgstr "Make Envelope Recoverable Storage"

 msgid "printer-state-reasons.make-envelope-removed"
-msgstr "Envelope Maker Removed"
+msgstr "Make Envelope Removed"

 msgid "printer-state-reasons.make-envelope-resource-added"
-msgstr "Envelope Maker Resource Added"
+msgstr "Make Envelope Resource Added"

 msgid "printer-state-reasons.make-envelope-resource-removed"
-msgstr "Envelope Maker Resource Removed"
+msgstr "Make Envelope Resource Removed"

 msgid "printer-state-reasons.make-envelope-thermistor-failure"
-msgstr "Envelope Maker Thermistor Failure"
+msgstr "Make Envelope Thermistor Failure"

 msgid "printer-state-reasons.make-envelope-timing-failure"
-msgstr "Envelope Maker Timing Failure"
+msgstr "Make Envelope Timing Failure"

 msgid "printer-state-reasons.make-envelope-turned-off"
-msgstr "Envelope Maker Turned Off"
+msgstr "Make Envelope Turned Off"

 msgid "printer-state-reasons.make-envelope-turned-on"
-msgstr "Envelope Maker Turned On"
+msgstr "Make Envelope Turned On"

 msgid "printer-state-reasons.make-envelope-under-temperature"
-msgstr "Envelope Maker Under Temperature"
+msgstr "Make Envelope Under Temperature"

 msgid "printer-state-reasons.make-envelope-unrecoverable-failure"
-msgstr "Envelope Maker Unrecoverable Failure"
+msgstr "Make Envelope Unrecoverable Failure"

 msgid "printer-state-reasons.make-envelope-unrecoverable-storage-error"
-msgstr "Envelope Maker Unrecoverable Storage Error"
+msgstr "Make Envelope Unrecoverable Storage Error"

 msgid "printer-state-reasons.make-envelope-warming-up"
-msgstr "Envelope Maker Warming Up"
+msgstr "Make Envelope Warming Up"

 msgid "printer-state-reasons.media-path-cannot-duplex-media-selected"
-msgstr "Media Path Cannot Do 2-Sided Printing"
+msgstr "Media Path Cannot Duplex Media Selected"

 msgid "printer-state-reasons.opc-life-over"
-msgstr "Optical Photoconductor Life Over"
+msgstr "Opc Life Over"

 msgid "printer-state-reasons.opc-near-eol"
-msgstr "Optical Photoconductor Near End-of-life"
+msgstr "Opc Near Eol"

 msgid "printer-state-reasons.printer-manual-reset"
-msgstr "Printer Reset Manually"
+msgstr "Printer Manual Reset"

 msgid "printer-state-reasons.printer-nms-reset"
-msgstr "Printer Reset Remotely"
+msgstr "Printer Nms Reset"

 msgid "punching-reference-edge"
-msgstr "Punch Edge"
+msgstr "Punching Reference Edge"

 msgid "retry-time-out"
-msgstr "Retry Timeout"
+msgstr "Retry Time Out"

 msgid "save-disposition.print-save"
-msgstr "Print and Save"
+msgstr "Print Save"

 msgid "separator-sheets-type"
-msgstr "Type of Separator Sheets"
+msgstr "Separator Sheets Type"

 msgid "separator-sheets-type.both-sheets"
-msgstr "Start and End Sheets"
+msgstr "Both Sheets"

 msgid "stitching-method"
-msgstr "Staple Method"
+msgstr "Stitching Method"

 msgid "stitching-reference-edge"
-msgstr "Staple Edge"
+msgstr "Stitching Reference Edge"

 msgid "trimming-reference-edge"
-msgstr "Cut Edge"
+msgstr "Trimming Reference Edge"

 msgid "trimming-type"
-msgstr "Type of Cut"
+msgstr "Trimming Type"

 msgid "trimming-when"
-msgstr "Cut After"
+msgstr "Trimming When"

 msgid "trimming-when.after-documents"
-msgstr "Every Document"
+msgstr "After Documents"

 msgid "trimming-when.after-job"
-msgstr "Job"
+msgstr "After Job"

 msgid "trimming-when.after-sets"
-msgstr "Every Set"
+msgstr "After Sets"

 msgid "trimming-when.after-sheets"
-msgstr "Every Page"
+msgstr "After Sheets"
michaelrsweet commented 5 years ago

Again, we can't do that. We need the English values for the keywords and cups.pot gets installed as cups_en.po (or the equivalent .strings file on macOS...)

I'll see about cleaning these up in the other .po files...

michaelrsweet commented 5 years ago

OK, I've reworked how we generate the IPP attribute/value strings, such that cups.pot no longer contains translations but instead comments. A new cups_en.po file contains the English localizations, and we'll just need to periodically update that as needed.

With the "purge" of the English strings from the non-English po files, we are now well below the target localization goal of no more than 10% unlocalized):

make checkall
cups_ca.po: FAIL
    Too many untranslated messages (2748 of 4055 or 67.8%)

cups_cs.po: FAIL
    Too many untranslated messages (3525 of 4055 or 86.9%)

cups_de.po: FAIL
    Too many untranslated messages (2798 of 4055 or 69.0%)

cups_en.po: PASS

cups_es.po: FAIL
    Too many untranslated messages (2622 of 4055 or 64.7%)

cups_fr.po: FAIL
    Too many untranslated messages (3365 of 4055 or 83.0%)

cups_it.po: FAIL
    Too many untranslated messages (2695 of 4055 or 66.5%)

cups_ja.po: FAIL
    Too many untranslated messages (2657 of 4055 or 65.5%)

cups_pt_BR.po: FAIL
    Too many untranslated messages (2649 of 4055 or 65.3%)

cups_ru.po: FAIL
    Too many untranslated messages (2784 of 4055 or 68.7%)

cups_zh_CN.po: FAIL
    Too many untranslated messages (2531 of 4055 or 62.4%)

cups.strings: PASS

[master fe0d6115d] Update localization of IPP attribute/value pairs (Issue #5495)

scootergrisen commented 5 years ago

The string "Accuracy Units" is the string seeing by the user in the software right? And accuracy-units is somekind or id that the user dont see right?

If that is the case the source string (english text) should be inside msgid.

Instead of:

#. TRANSLATORS: Accuracy Units
#: locale/ipp-strings.c:2
msgid "accuracy-units"
msgstr ""

It should be:

#. TRANSLATORS: accuracy-units
#: locale/ipp-strings.c:2
msgid "Accuracy Units"
msgstr ""
michaelrsweet commented 5 years ago

No.

"accuracy-units" is the IPP attribute name. The purpose of having a localization mapping from "accuracy-units" is so that a generic client can present UI for ANY attribute, and show the supported values for ANY value in the users chosen language. Similarly, state keywords ("media-empty" for "Out of paper", etc.) support vendor extensions and we want to be able to look up a localized string by the attribute and value to avoid ambiguity.

We have also historically had contextual problems with strings like "color" and "resolution" - in English such words often carry multiple meanings but in other languages they are separate words. By using the IPP attribute and value strings we avoid such ambiguity since the attribute name provides the necessary context.

scootergrisen commented 5 years ago

Ok i dont quite understand but as long as its correct maybe i understand later. I see newlines was added to which is nice is its consistent.

Maybe move:

#: cups/dest.c:1864
msgid "~/.cups/lpoptions file names default destination that does not exist."
msgstr ""

To:

#: cups/dest.c:1868
msgid "/etc/cups/lpoptions file names default destination that does not exist."
msgstr ""

So all the ipp-strings.c stuff are at the bottom.

michaelrsweet commented 5 years ago

Neither of those is part of the IPP strings...

scootergrisen commented 5 years ago

Thats way i wanted to move it up in the files so only the IPP strings are at the end of the file. The string with "#: cups/dest.c:1864" is last string in the file and only string after the IPP strings at the moment.