- if (!cg->language[0])
- strlcpy(cg->language, "en_US.UTF-8", sizeof(cg->language));
- }
-
- /*
- * Return the cached locale...
- */
-
- return (cg->language);
-}
-# else
-/*
- * Code & data to translate OSX 10.2's language names to their ISO 639-1
- * locale.
- */
-
-typedef struct
-{
- const char * const name; /* Language name */
- const char * const locale; /* Locale name */
-} _apple_name_locale_t;
-
-static const _apple_name_locale_t apple_name_locale[] =
-{
- { "English" , "en_US.UTF-8" }, { "French" , "fr.UTF-8" },
- { "German" , "de.UTF-8" }, { "Italian" , "it.UTF-8" },
- { "Dutch" , "nl.UTF-8" }, { "Swedish" , "sv.UTF-8" },
- { "Spanish" , "es.UTF-8" }, { "Danish" , "da.UTF-8" },
- { "Portuguese" , "pt.UTF-8" }, { "Norwegian" , "no.UTF-8" },
- { "Hebrew" , "he.UTF-8" }, { "Japanese" , "ja.UTF-8" },
- { "Arabic" , "ar.UTF-8" }, { "Finnish" , "fi.UTF-8" },
- { "Greek" , "el.UTF-8" }, { "Icelandic" , "is.UTF-8" },
- { "Maltese" , "mt.UTF-8" }, { "Turkish" , "tr.UTF-8" },
- { "Croatian" , "hr.UTF-8" }, { "Chinese" , "zh.UTF-8" },
- { "Urdu" , "ur.UTF-8" }, { "Hindi" , "hi.UTF-8" },
- { "Thai" , "th.UTF-8" }, { "Korean" , "ko.UTF-8" },
- { "Lithuanian" , "lt.UTF-8" }, { "Polish" , "pl.UTF-8" },
- { "Hungarian" , "hu.UTF-8" }, { "Estonian" , "et.UTF-8" },
- { "Latvian" , "lv.UTF-8" }, { "Sami" , "se.UTF-8" },
- { "Faroese" , "fo.UTF-8" }, { "Farsi" , "fa.UTF-8" },
- { "Russian" , "ru.UTF-8" }, { "Chinese" , "zh.UTF-8" },
- { "Dutch" , "nl.UTF-8" }, { "Irish" , "ga.UTF-8" },
- { "Albanian" , "sq.UTF-8" }, { "Romanian" , "ro.UTF-8" },
- { "Czech" , "cs.UTF-8" }, { "Slovak" , "sk.UTF-8" },
- { "Slovenian" , "sl.UTF-8" }, { "Yiddish" , "yi.UTF-8" },
- { "Serbian" , "sr.UTF-8" }, { "Macedonian" , "mk.UTF-8" },
- { "Bulgarian" , "bg.UTF-8" }, { "Ukrainian" , "uk.UTF-8" },
- { "Byelorussian", "be.UTF-8" }, { "Uzbek" , "uz.UTF-8" },
- { "Kazakh" , "kk.UTF-8" }, { "Azerbaijani", "az.UTF-8" },
- { "Azerbaijani" , "az.UTF-8" }, { "Armenian" , "hy.UTF-8" },
- { "Georgian" , "ka.UTF-8" }, { "Moldavian" , "mo.UTF-8" },
- { "Kirghiz" , "ky.UTF-8" }, { "Tajiki" , "tg.UTF-8" },
- { "Turkmen" , "tk.UTF-8" }, { "Mongolian" , "mn.UTF-8" },
- { "Mongolian" , "mn.UTF-8" }, { "Pashto" , "ps.UTF-8" },
- { "Kurdish" , "ku.UTF-8" }, { "Kashmiri" , "ks.UTF-8" },
- { "Sindhi" , "sd.UTF-8" }, { "Tibetan" , "bo.UTF-8" },
- { "Nepali" , "ne.UTF-8" }, { "Sanskrit" , "sa.UTF-8" },
- { "Marathi" , "mr.UTF-8" }, { "Bengali" , "bn.UTF-8" },
- { "Assamese" , "as.UTF-8" }, { "Gujarati" , "gu.UTF-8" },
- { "Punjabi" , "pa.UTF-8" }, { "Oriya" , "or.UTF-8" },
- { "Malayalam" , "ml.UTF-8" }, { "Kannada" , "kn.UTF-8" },
- { "Tamil" , "ta.UTF-8" }, { "Telugu" , "te.UTF-8" },
- { "Sinhalese" , "si.UTF-8" }, { "Burmese" , "my.UTF-8" },
- { "Khmer" , "km.UTF-8" }, { "Lao" , "lo.UTF-8" },
- { "Vietnamese" , "vi.UTF-8" }, { "Indonesian" , "id.UTF-8" },
- { "Tagalog" , "tl.UTF-8" }, { "Malay" , "ms.UTF-8" },
- { "Malay" , "ms.UTF-8" }, { "Amharic" , "am.UTF-8" },
- { "Tigrinya" , "ti.UTF-8" }, { "Oromo" , "om.UTF-8" },
- { "Somali" , "so.UTF-8" }, { "Swahili" , "sw.UTF-8" },
- { "Kinyarwanda" , "rw.UTF-8" }, { "Rundi" , "rn.UTF-8" },
- { "Nyanja" , "" }, { "Malagasy" , "mg.UTF-8" },
- { "Esperanto" , "eo.UTF-8" }, { "Welsh" , "cy.UTF-8" },
- { "Basque" , "eu.UTF-8" }, { "Catalan" , "ca.UTF-8" },
- { "Latin" , "la.UTF-8" }, { "Quechua" , "qu.UTF-8" },
- { "Guarani" , "gn.UTF-8" }, { "Aymara" , "ay.UTF-8" },
- { "Tatar" , "tt.UTF-8" }, { "Uighur" , "ug.UTF-8" },
- { "Dzongkha" , "dz.UTF-8" }, { "Javanese" , "jv.UTF-8" },
- { "Sundanese" , "su.UTF-8" }, { "Galician" , "gl.UTF-8" },
- { "Afrikaans" , "af.UTF-8" }, { "Breton" , "br.UTF-8" },
- { "Inuktitut" , "iu.UTF-8" }, { "Scottish" , "gd.UTF-8" },
- { "Manx" , "gv.UTF-8" }, { "Irish" , "ga.UTF-8" },
- { "Tongan" , "to.UTF-8" }, { "Greek" , "el.UTF-8" },
- { "Greenlandic" , "kl.UTF-8" }, { "Azerbaijani", "az.UTF-8" }
-};
-
-
-/*
- * 'appleLangDefault()' - Get the default locale string.
- */
-
-static const char * /* O - Locale string */
-appleLangDefault(void)
-{
- int i; /* Looping var */
- CFPropertyListRef localizationList;
- /* List of localization data */
- CFStringRef localizationName;
- /* Current name */
- char buff[256]; /* Temporary buffer */
- _cups_globals_t *cg = _cupsGlobals();
- /* Pointer to library globals */
-
-
- /*
- * Only do the lookup and translation the first time.
- */
-
- if (cg->language == NULL)
- {
- localizationList =
- CFPreferencesCopyAppValue(CFSTR("AppleLanguages"),
- kCFPreferencesCurrentApplication);
-
- if (localizationList != NULL)
- {
- if (CFGetTypeID(localizationList) == CFArrayGetTypeID() &&
- CFArrayGetCount(localizationList) > 0)
- {
- localizationName = CFArrayGetValueAtIndex(localizationList, 0);
-
- if (localizationName != NULL &&
- CFGetTypeID(localizationName) == CFStringGetTypeID())
- {
- CFIndex length = CFStringGetLength(localizationName);
-
- if (length <= sizeof(buff) &&
- CFStringGetCString(localizationName, buff, sizeof(buff),
- kCFStringEncodingASCII))
- {
- buff[sizeof(buff) - 1] = '\0';