From a9357c9da4b5df1fe0695dc1efa07f3022939758 Mon Sep 17 00:00:00 2001 From: Michael Sweet Date: Wed, 19 Jul 2017 13:55:32 -0400 Subject: [PATCH] Implement standard localizations in cupsLocalizeDest* (Issue #5056) Add standard media size names to the localizations, too, since the PPD names are not the right ones. --- CHANGES.md | 2 ++ cups/dest-localization.c | 50 ++++++++++++++++++++++++++++++++++------ cups/language.c | 26 ++++++++++++++++++--- cups/testdest.c | 16 ++++++++++--- locale/cups.pot | 18 +++++++-------- locale/cups.strings | 2 +- locale/cups_ca.po | 4 ++-- locale/cups_cs.po | 4 ++-- locale/cups_de.po | 9 +++++--- locale/cups_es.po | 9 +++++--- locale/cups_fr.po | 4 ++-- locale/cups_it.po | 4 ++-- locale/cups_ja.po | 9 +++++--- locale/cups_pt_BR.po | 9 +++++--- locale/cups_ru.po | 9 +++++--- locale/cups_zh_CN.po | 9 +++++--- 16 files changed, 135 insertions(+), 49 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 966a2d94b..acd9fd3d1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -23,6 +23,8 @@ CHANGES IN CUPS V2.2.5 - CUPS now sends the `Date` HTTP header in IPP requests (rdar://33302034) - The `cupsGetNamedDest` function did not use the local default printer (rdar://33228500) +- The `cupsLocalizeDest*` functions did not provide base localizations for + all registered IPP attributes and values (Issue #5056) CHANGES IN CUPS V2.2.4 diff --git a/cups/dest-localization.c b/cups/dest-localization.c index 6d75a9720..fceaad295 100644 --- a/cups/dest-localization.c +++ b/cups/dest-localization.c @@ -60,12 +60,15 @@ cupsLocalizeDestMedia( *ltype; /* Localized media type */ + DEBUG_printf(("cupsLocalizeDestMedia(http=%p, dest=%p, dinfo=%p, flags=%x, size=%p(\"%s\"))", (void *)http, (void *)dest, (void *)dinfo, flags, (void *)size, size ? size->media : "(null)")); + /* * Range check input... */ if (!http || !dest || !dinfo || !size) { + DEBUG_puts("1cupsLocalizeDestMedia: Returning NULL."); _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(EINVAL), 0); return (NULL); } @@ -79,13 +82,24 @@ cupsLocalizeDestMedia( key.id = size->media; if ((match = (_cups_message_t *)cupsArrayFind(dinfo->localizations, &key)) != NULL) + { + DEBUG_printf(("1cupsLocalizeDestMedia: Returning \"%s\".", match->str)); return (match->str); + } /* * If not, get the localized size, source, and type strings... */ lang = cupsLangDefault(); + + snprintf(temp, sizeof(temp), "media.%s", size->media); + if ((lsize = _cupsLangString(lang, temp)) != NULL && strcmp(lsize, temp)) + { + DEBUG_printf(("1cupsLocalizeDestMedia: Returning standard localization \"%s\".", lsize)); + return (lsize); + } + pwg = pwgMediaForSize(size->width, size->length); if (pwg->ppd) @@ -101,7 +115,7 @@ cupsLocalizeDestMedia( * Use inches since the size is a multiple of 1/4 inch. */ - snprintf(temp, sizeof(temp), _cupsLangString(lang, _("%g x %g")), size->width / 2540.0, size->length / 2540.0); + snprintf(temp, sizeof(temp), _cupsLangString(lang, _("%g x %g \"")), size->width / 2540.0, size->length / 2540.0); } else { @@ -189,6 +203,8 @@ cupsLocalizeDestMedia( cupsArrayAdd(dinfo->localizations, match); + DEBUG_printf(("1cupsLocalizeDestMedia: Returning \"%s\".", match->str)); + return (match->str); } @@ -212,7 +228,10 @@ cupsLocalizeDestOption( { _cups_message_t key, /* Search key */ *match; /* Matching entry */ + const char *localized; /* Localized string */ + + DEBUG_printf(("cupsLocalizeDestOption(http=%p, dest=%p, dinfo=%p, option=\"%s\")", (void *)http, (void *)dest, (void *)dinfo, option)); if (!http || !dest || !dinfo) return (option); @@ -220,13 +239,12 @@ cupsLocalizeDestOption( if (!dinfo->localizations) cups_create_localizations(http, dinfo); - if (cupsArrayCount(dinfo->localizations) == 0) - return (option); - key.id = (char *)option; if ((match = (_cups_message_t *)cupsArrayFind(dinfo->localizations, &key)) != NULL) return (match->str); + else if ((localized = _cupsLangString(cupsLangDefault(), option)) != NULL) + return (localized); else return (option); } @@ -253,22 +271,40 @@ cupsLocalizeDestValue( _cups_message_t key, /* Search key */ *match; /* Matching entry */ char pair[256]; /* option.value pair */ + const char *localized; /* Localized string */ + DEBUG_printf(("cupsLocalizeDestValue(http=%p, dest=%p, dinfo=%p, option=\"%s\", value=\"%s\")", (void *)http, (void *)dest, (void *)dinfo, option, value)); + if (!http || !dest || !dinfo) return (value); + if (!strcmp(option, "media")) + { + pwg_media_t *media = pwgMediaForPWG(value); + cups_size_t size; + + strlcpy(size.media, value, sizeof(size.media)); + size.width = media ? media->width : 0; + size.length = media ? media->length : 0; + size.left = 0; + size.right = 0; + size.bottom = 0; + size.top = 0; + + return (cupsLocalizeDestMedia(http, dest, dinfo, CUPS_MEDIA_FLAGS_DEFAULT, &size)); + } + if (!dinfo->localizations) cups_create_localizations(http, dinfo); - if (cupsArrayCount(dinfo->localizations) == 0) - return (value); - snprintf(pair, sizeof(pair), "%s.%s", option, value); key.id = pair; if ((match = (_cups_message_t *)cupsArrayFind(dinfo->localizations, &key)) != NULL) return (match->str); + else if ((localized = _cupsLangString(cupsLangDefault(), pair)) != NULL && strcmp(localized, pair)) + return (localized); else return (value); } diff --git a/cups/language.c b/cups/language.c index b1f444315..5bfb12c71 100644 --- a/cups/language.c +++ b/cups/language.c @@ -851,6 +851,9 @@ _cupsLangString(cups_lang_t *lang, /* I - Language */ { const char *s; /* Localized message */ + + DEBUG_printf(("_cupsLangString(lang=%p, message=\"%s\")", (void *)lang, message)); + /* * Range check input... */ @@ -1149,6 +1152,8 @@ _cupsMessageLookup(cups_array_t *a, /* I - Message array */ *match; /* Matching message */ + DEBUG_printf(("_cupsMessageLookup(a=%p, m=\"%s\")", (void *)a, m)); + /* * Lookup the message string; if it doesn't exist in the catalog, * then return the message that was passed to us... @@ -1364,6 +1369,8 @@ appleMessageLoad(const char *locale) /* I - Locale ID */ CFReadStreamRef stream = NULL; /* File stream */ CFPropertyListRef plist = NULL; /* Localization file */ #ifdef DEBUG + const char *cups_strings = getenv("CUPS_STRINGS"); + /* Test strings file */ CFErrorRef error = NULL; /* Error when opening file */ #endif /* DEBUG */ @@ -1374,6 +1381,15 @@ appleMessageLoad(const char *locale) /* I - Locale ID */ * Load the cups.strings file... */ +#ifdef DEBUG + if (cups_strings) + { + DEBUG_puts("1appleMessageLoad: Using debug CUPS_STRINGS file."); + strlcpy(filename, cups_strings, sizeof(filename)); + } + else +#endif /* DEBUG */ + snprintf(filename, sizeof(filename), CUPS_BUNDLEDIR "/Resources/%s.lproj/cups.strings", _cupsAppleLanguage(locale, applelang, sizeof(applelang))); @@ -1386,6 +1402,7 @@ appleMessageLoad(const char *locale) /* I - Locale ID */ * Try with original locale string... */ + DEBUG_printf(("1appleMessageLoad: \"%s\": %s", filename, strerror(errno))); snprintf(filename, sizeof(filename), CUPS_BUNDLEDIR "/Resources/%s.lproj/cups.strings", locale); } @@ -1397,6 +1414,8 @@ appleMessageLoad(const char *locale) /* I - Locale ID */ * Try with just the language code... */ + DEBUG_printf(("1appleMessageLoad: \"%s\": %s", filename, strerror(errno))); + strlcpy(baselang, locale, sizeof(baselang)); if (baselang[3] == '-' || baselang[3] == '_') baselang[3] = '\0'; @@ -1404,14 +1423,14 @@ appleMessageLoad(const char *locale) /* I - Locale ID */ snprintf(filename, sizeof(filename), CUPS_BUNDLEDIR "/Resources/%s.lproj/cups.strings", baselang); } - DEBUG_printf(("1appleMessageLoad: filename=\"%s\"", filename)); - if (access(filename, 0)) { /* * Try alternate lproj directory names... */ + DEBUG_printf(("1appleMessageLoad: \"%s\": %s", filename, strerror(errno))); + if (!strncmp(locale, "en", 2)) locale = "English"; else if (!strncmp(locale, "nb", 2)) @@ -1457,9 +1476,10 @@ appleMessageLoad(const char *locale) /* I - Locale ID */ snprintf(filename, sizeof(filename), CUPS_BUNDLEDIR "/Resources/%s.lproj/cups.strings", locale); - DEBUG_printf(("1appleMessageLoad: alternate filename=\"%s\"", filename)); } + DEBUG_printf(("1appleMessageLoad: filename=\"%s\"", filename)); + url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (UInt8 *)filename, (CFIndex)strlen(filename), false); diff --git a/cups/testdest.c b/cups/testdest.c index 8505a1d83..c5c20528a 100644 --- a/cups/testdest.c +++ b/cups/testdest.c @@ -629,7 +629,7 @@ show_supported(http_t *http, /* I - Connection to destination */ } else if (!value) { - printf("%s (%s)\n", option, cupsCheckDestSupported(http, dest, dinfo, option, NULL) ? "supported" : "not-supported"); + printf("%s (%s - %s)\n", option, cupsLocalizeDestOption(http, dest, dinfo, option), cupsCheckDestSupported(http, dest, dinfo, option, NULL) ? "supported" : "not-supported"); if ((attr = cupsFindDestSupported(http, dest, dinfo, option)) != NULL) { @@ -644,7 +644,13 @@ show_supported(http_t *http, /* I - Connection to destination */ case IPP_TAG_ENUM : for (i = 0; i < count; i ++) - printf(" %s\n", ippEnumString(option, ippGetInteger(attr, i))); + { + int val = ippGetInteger(attr, i); + char valstr[256]; + + snprintf(valstr, sizeof(valstr), "%d", val); + printf(" %s (%s)\n", ippEnumString(option, ippGetInteger(attr, i)), cupsLocalizeDestValue(http, dest, dinfo, option, valstr)); + } break; case IPP_TAG_RANGE : @@ -670,11 +676,15 @@ show_supported(http_t *http, /* I - Connection to destination */ } break; + case IPP_TAG_KEYWORD : + for (i = 0; i < count; i ++) + printf(" %s (%s)\n", ippGetString(attr, i, NULL), cupsLocalizeDestValue(http, dest, dinfo, option, ippGetString(attr, i, NULL))); + break; + case IPP_TAG_TEXTLANG : case IPP_TAG_NAMELANG : case IPP_TAG_TEXT : case IPP_TAG_NAME : - case IPP_TAG_KEYWORD : case IPP_TAG_URI : case IPP_TAG_URISCHEME : case IPP_TAG_CHARSET : diff --git a/locale/cups.pot b/locale/cups.pot index 87fa06b74..68cce0f08 100644 --- a/locale/cups.pot +++ b/locale/cups.pot @@ -28,7 +28,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.2.5\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1726,37 +1726,37 @@ msgstr "" msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes" msgstr "" -#: cups/dest-localization.c:112 +#: cups/dest-localization.c:118 #, c-format msgid "%d x %d mm" msgstr "" -#: cups/dest-localization.c:104 +#: cups/dest-localization.c:110 #, c-format -msgid "%g x %g" +msgid "%g x %g \"" msgstr "" -#: cups/dest-localization.c:167 cups/dest-localization.c:174 +#: cups/dest-localization.c:173 cups/dest-localization.c:180 #, c-format msgid "%s (%s)" msgstr "" -#: cups/dest-localization.c:181 +#: cups/dest-localization.c:187 #, c-format msgid "%s (%s, %s)" msgstr "" -#: cups/dest-localization.c:158 +#: cups/dest-localization.c:164 #, c-format msgid "%s (Borderless)" msgstr "" -#: cups/dest-localization.c:165 cups/dest-localization.c:172 +#: cups/dest-localization.c:171 cups/dest-localization.c:178 #, c-format msgid "%s (Borderless, %s)" msgstr "" -#: cups/dest-localization.c:179 +#: cups/dest-localization.c:185 #, c-format msgid "%s (Borderless, %s, %s)" msgstr "" diff --git a/locale/cups.strings b/locale/cups.strings index 2c6f52dd5..1a64b0139 100644 --- a/locale/cups.strings +++ b/locale/cups.strings @@ -341,7 +341,7 @@ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 8011 section 5.1.7)." = "“%s”: Bad uriScheme value “%s” - bad length %d (RFC 8011 section 5.1.7)."; "%-7s %-7.7s %-7d %-31.31s %.0f bytes" = "%-7s %-7.7s %-7d %-31.31s %.0f bytes"; "%d x %d mm" = "%d x %d mm"; -"%g x %g" = "%g x %g"; +"%g x %g \"" = "%g x %g ″"; "%s (%s)" = "%s (%s)"; "%s (%s, %s)" = "%s (%s, %s)"; "%s (Borderless)" = "%s (Borderless)"; diff --git a/locale/cups_ca.po b/locale/cups_ca.po index ecf247017..883f41a83 100644 --- a/locale/cups_ca.po +++ b/locale/cups_ca.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4.6\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2012-09-29 11:21+0200\n" "Last-Translator: Àngel Mompó \n" "Language-Team: Catalan \n" @@ -1544,7 +1544,7 @@ msgid "%d x %d mm" msgstr "" #, c-format -msgid "%g x %g" +msgid "%g x %g \"" msgstr "" #, c-format diff --git a/locale/cups_cs.po b/locale/cups_cs.po index 82dfc6e9d..c1523d696 100644 --- a/locale/cups_cs.po +++ b/locale/cups_cs.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.6\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2012-09-14 10:26+0100\n" "Last-Translator: Jan Bartos \n" "Language-Team: Czech\n" @@ -1367,7 +1367,7 @@ msgid "%d x %d mm" msgstr "" #, c-format -msgid "%g x %g" +msgid "%g x %g \"" msgstr "" #, c-format diff --git a/locale/cups_de.po b/locale/cups_de.po index 54a68f21a..302b9cb3f 100644 --- a/locale/cups_de.po +++ b/locale/cups_de.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.0\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2016-09-17 18:45+0200\n" "Last-Translator: Joachim Schwender \n" "Language-Team: LANGUAGE \n" @@ -1431,8 +1431,8 @@ msgid "%d x %d mm" msgstr "%d×%d mm" #, c-format -msgid "%g x %g" -msgstr "%g×%g" +msgid "%g x %g \"" +msgstr "" #, c-format msgid "%s (%s)" @@ -13404,6 +13404,9 @@ msgstr "Y Back Side Image Shift" #~ msgstr "" #~ " -d domain Browse/löse auf in der angegebenen Domäne." +#~ msgid "%g x %g" +#~ msgstr "%g×%g" + #~ msgid "720dpi" #~ msgstr "720 dpi" diff --git a/locale/cups_es.po b/locale/cups_es.po index 4640db6af..82057eb85 100644 --- a/locale/cups_es.po +++ b/locale/cups_es.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.2\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2016-06-26 21:17+0100\n" "Last-Translator: Juan Pablo González Riopedre \n" "Language-Team: Spanish\n" @@ -1574,8 +1574,8 @@ msgid "%d x %d mm" msgstr "%d x %d mm" #, c-format -msgid "%g x %g" -msgstr "%g x %g" +msgid "%g x %g \"" +msgstr "" #, c-format msgid "%s (%s)" @@ -13799,6 +13799,9 @@ msgstr "Y Back Side Image Shift" #~ "\"%s\": Valor uriScheme \"%s\" incorrecto - longitud %d incorrecta (RFC " #~ "2911 sección 4.1.6)." +#~ msgid "%g x %g" +#~ msgstr "%g x %g" + #~ msgid "CD/DVD/Bluray" #~ msgstr "CD/DVD/Bluray" diff --git a/locale/cups_fr.po b/locale/cups_fr.po index 293f138b8..142eab877 100644 --- a/locale/cups_fr.po +++ b/locale/cups_fr.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.6\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2012-12-12 11:12+0100\n" "Last-Translator: denis meramdjougoma \n" "Language-Team: LANGUAGE \n" @@ -1367,7 +1367,7 @@ msgid "%d x %d mm" msgstr "" #, c-format -msgid "%g x %g" +msgid "%g x %g \"" msgstr "" #, c-format diff --git a/locale/cups_it.po b/locale/cups_it.po index b4ba7fe71..7c5d604bb 100644 --- a/locale/cups_it.po +++ b/locale/cups_it.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.6\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2013-07-14 12:00+0200\n" "Last-Translator: Giovanni Scafora \n" "Language-Team: Arch Linux Italian Team \n" @@ -1569,7 +1569,7 @@ msgid "%d x %d mm" msgstr "" #, c-format -msgid "%g x %g" +msgid "%g x %g \"" msgstr "" #, c-format diff --git a/locale/cups_ja.po b/locale/cups_ja.po index d51d235cf..94ca8aead 100644 --- a/locale/cups_ja.po +++ b/locale/cups_ja.po @@ -28,7 +28,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.0\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2014-11-15 19:27+0900\n" "Last-Translator: OPFC TRANSCUPS \n" "Language-Team: OPFC TRANSCUPS \n" @@ -1545,8 +1545,8 @@ msgid "%d x %d mm" msgstr "%d x %d mm" #, c-format -msgid "%g x %g" -msgstr "%g x %g" +msgid "%g x %g \"" +msgstr "" #, c-format msgid "%s (%s)" @@ -13793,6 +13793,9 @@ msgstr "Y Back Side Image Shift" #~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes" #~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f バイト" +#~ msgid "%g x %g" +#~ msgstr "%g x %g" + #~ msgid "%s: Error - expected destination after \"-b\" option." #~ msgstr "%s: エラー - \"-b\" オプションのあとに宛先が必要です。" diff --git a/locale/cups_pt_BR.po b/locale/cups_pt_BR.po index ad90de4d4..54d7f9db7 100644 --- a/locale/cups_pt_BR.po +++ b/locale/cups_pt_BR.po @@ -40,7 +40,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.1.2\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2016-01-31 16:45-0200\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Brazilian Portuguese \n" @@ -1578,8 +1578,8 @@ msgid "%d x %d mm" msgstr "%d x %d mm" #, c-format -msgid "%g x %g" -msgstr "%g x %g" +msgid "%g x %g \"" +msgstr "" #, c-format msgid "%s (%s)" @@ -13786,6 +13786,9 @@ msgstr "Y Back Side Image Shift" #~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes" #~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes" +#~ msgid "%g x %g" +#~ msgstr "%g x %g" + #~ msgid "720dpi" #~ msgstr "720dpi" diff --git a/locale/cups_ru.po b/locale/cups_ru.po index 50745694e..0d4355f94 100644 --- a/locale/cups_ru.po +++ b/locale/cups_ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 2.0\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2015-01-28 12:00-0800\n" "Last-Translator: Aleksandr Proklov\n" "Language-Team: PuppyRus Linux Team\n" @@ -1506,8 +1506,8 @@ msgid "%d x %d mm" msgstr "%d x %d мм" #, c-format -msgid "%g x %g" -msgstr "%g x %g" +msgid "%g x %g \"" +msgstr "" #, c-format msgid "%s (%s)" @@ -13701,6 +13701,9 @@ msgstr "Y Back Side Image Shift" #~ "\"%s\": Ошибка uriScheme значение \"%s\" - ошибка длины %d (RFC 2911 " #~ "раздел 4.1.6)." +#~ msgid "%g x %g" +#~ msgstr "%g x %g" + #~ msgid "File Folder " #~ msgstr "Каталог файла " diff --git a/locale/cups_zh_CN.po b/locale/cups_zh_CN.po index b61d379f2..7b12dcb10 100644 --- a/locale/cups_zh_CN.po +++ b/locale/cups_zh_CN.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.6\n" "Report-Msgid-Bugs-To: https://github.com/apple/cups/issues\n" -"POT-Creation-Date: 2017-07-19 12:33-0400\n" +"POT-Creation-Date: 2017-07-19 13:46-0400\n" "PO-Revision-Date: 2017-06-11 12:38+0800\n" "Last-Translator: Mingcong Bai \n" "Language-Team: \n" @@ -1500,8 +1500,8 @@ msgid "%d x %d mm" msgstr "%d x %d 毫米" #, c-format -msgid "%g x %g" -msgstr "%g x %g" +msgid "%g x %g \"" +msgstr "" #, c-format msgid "%s (%s)" @@ -13595,6 +13595,9 @@ msgstr "Y Back Side Image Shift" #~ msgstr "" #~ "“%s”:无效的 uriScheme 赋值“%s”- 无效长度 %d(RFC 2911 章节 4.1.6)。" +#~ msgid "%g x %g" +#~ msgstr "%g x %g" + #~ msgid "Envelope #10 " #~ msgstr "10 号信封 " -- 2.39.5