/* global jsPDF */
/**
* @license
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
/**
* jsPDF setLanguage Plugin
*
* @name setLanguage
* @module
*/
(function (jsPDFAPI) {
"use strict";
/**
* Add Language Tag to the generated PDF
*
* @name setLanguage
* @function
* @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').
* @returns {jsPDF}
* @example
* var doc = new jsPDF()
* doc.text(10, 10, 'This is a test')
* doc.setLanguage("en-US")
* doc.save('english.pdf')
*/
jsPDFAPI.setLanguage = function (langCode) {
"use strict";
var langCodes = {
"af": "Afrikaans",
"sq": "Albanian",
"ar": "Arabic (Standard)",
"ar-DZ": "Arabic (Algeria)",
"ar-BH": "Arabic (Bahrain)",
"ar-EG": "Arabic (Egypt)",
"ar-IQ": "Arabic (Iraq)",
"ar-JO": "Arabic (Jordan)",
"ar-KW": "Arabic (Kuwait)",
"ar-LB": "Arabic (Lebanon)",
"ar-LY": "Arabic (Libya)",
"ar-MA": "Arabic (Morocco)",
"ar-OM": "Arabic (Oman)",
"ar-QA": "Arabic (Qatar)",
"ar-SA": "Arabic (Saudi Arabia)",
"ar-SY": "Arabic (Syria)",
"ar-TN": "Arabic (Tunisia)",
"ar-AE": "Arabic (U.A.E.)",
"ar-YE": "Arabic (Yemen)",
"an": "Aragonese",
"hy": "Armenian",
"as": "Assamese",
"ast": "Asturian",
"az": "Azerbaijani",
"eu": "Basque",
"be": "Belarusian",
"bn": "Bengali",
"bs": "Bosnian",
"br": "Breton",
"bg": "Bulgarian",
"my": "Burmese",
"ca": "Catalan",
"ch": "Chamorro",
"ce": "Chechen",
"zh": "Chinese",
"zh-HK": "Chinese (Hong Kong)",
"zh-CN": "Chinese (PRC)",
"zh-SG": "Chinese (Singapore)",
"zh-TW": "Chinese (Taiwan)",
"cv": "Chuvash",
"co": "Corsican",
"cr": "Cree",
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
"nl": "Dutch (Standard)",
"nl-BE": "Dutch (Belgian)",
"en": "English",
"en-AU": "English (Australia)",
"en-BZ": "English (Belize)",
"en-CA": "English (Canada)",
"en-IE": "English (Ireland)",
"en-JM": "English (Jamaica)",
"en-NZ": "English (New Zealand)",
"en-PH": "English (Philippines)",
"en-ZA": "English (South Africa)",
"en-TT": "English (Trinidad & Tobago)",
"en-GB": "English (United Kingdom)",
"en-US": "English (United States)",
"en-ZW": "English (Zimbabwe)",
"eo": "Esperanto",
"et": "Estonian",
"fo": "Faeroese",
"fj": "Fijian",
"fi": "Finnish",
"fr": "French (Standard)",
"fr-BE": "French (Belgium)",
"fr-CA": "French (Canada)",
"fr-FR": "French (France)",
"fr-LU": "French (Luxembourg)",
"fr-MC": "French (Monaco)",
"fr-CH": "French (Switzerland)",
"fy": "Frisian",
"fur": "Friulian",
"gd": "Gaelic (Scots)",
"gd-IE": "Gaelic (Irish)",
"gl": "Galacian",
"ka": "Georgian",
"de": "German (Standard)",
"de-AT": "German (Austria)",
"de-DE": "German (Germany)",
"de-LI": "German (Liechtenstein)",
"de-LU": "German (Luxembourg)",
"de-CH": "German (Switzerland)",
"el": "Greek",
"gu": "Gujurati",
"ht": "Haitian",
"he": "Hebrew",
"hi": "Hindi",
"hu": "Hungarian",
"is": "Icelandic",
"id": "Indonesian",
"iu": "Inuktitut",
"ga": "Irish",
"it": "Italian (Standard)",
"it-CH": "Italian (Switzerland)",
"ja": "Japanese",
"kn": "Kannada",
"ks": "Kashmiri",
"kk": "Kazakh",
"km": "Khmer",
"ky": "Kirghiz",
"tlh": "Klingon",
"ko": "Korean",
"ko-KP": "Korean (North Korea)",
"ko-KR": "Korean (South Korea)",
"la": "Latin",
"lv": "Latvian",
"lt": "Lithuanian",
"lb": "Luxembourgish",
"mk": "FYRO Macedonian",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
"mi": "Maori",
"mr": "Marathi",
"mo": "Moldavian",
"nv": "Navajo",
"ng": "Ndonga",
"ne": "Nepali",
"no": "Norwegian",
"nb": "Norwegian (Bokmal)",
"nn": "Norwegian (Nynorsk)",
"oc": "Occitan",
"or": "Oriya",
"om": "Oromo",
"fa": "Persian",
"fa-IR": "Persian/Iran",
"pl": "Polish",
"pt": "Portuguese",
"pt-BR": "Portuguese (Brazil)",
"pa": "Punjabi",
"pa-IN": "Punjabi (India)",
"pa-PK": "Punjabi (Pakistan)",
"qu": "Quechua",
"rm": "Rhaeto-Romanic",
"ro": "Romanian",
"ro-MO": "Romanian (Moldavia)",
"ru": "Russian",
"ru-MO": "Russian (Moldavia)",
"sz": "Sami (Lappish)",
"sg": "Sango",
"sa": "Sanskrit",
"sc": "Sardinian",
"sd": "Sindhi",
"si": "Singhalese",
"sr": "Serbian",
"sk": "Slovak",
"sl": "Slovenian",
"so": "Somani",
"sb": "Sorbian",
"es": "Spanish",
"es-AR": "Spanish (Argentina)",
"es-BO": "Spanish (Bolivia)",
"es-CL": "Spanish (Chile)",
"es-CO": "Spanish (Colombia)",
"es-CR": "Spanish (Costa Rica)",
"es-DO": "Spanish (Dominican Republic)",
"es-EC": "Spanish (Ecuador)",
"es-SV": "Spanish (El Salvador)",
"es-GT": "Spanish (Guatemala)",
"es-HN": "Spanish (Honduras)",
"es-MX": "Spanish (Mexico)",
"es-NI": "Spanish (Nicaragua)",
"es-PA": "Spanish (Panama)",
"es-PY": "Spanish (Paraguay)",
"es-PE": "Spanish (Peru)",
"es-PR": "Spanish (Puerto Rico)",
"es-ES": "Spanish (Spain)",
"es-UY": "Spanish (Uruguay)",
"es-VE": "Spanish (Venezuela)",
"sx": "Sutu",
"sw": "Swahili",
"sv": "Swedish",
"sv-FI": "Swedish (Finland)",
"sv-SV": "Swedish (Sweden)",
"ta": "Tamil",
"tt": "Tatar",
"te": "Teluga",
"th": "Thai",
"tig": "Tigre",
"ts": "Tsonga",
"tn": "Tswana",
"tr": "Turkish",
"tk": "Turkmen",
"uk": "Ukrainian",
"hsb": "Upper Sorbian",
"ur": "Urdu",
"ve": "Venda",
"vi": "Vietnamese",
"vo": "Volapuk",
"wa": "Walloon",
"cy": "Welsh",
"xh": "Xhosa",
"ji": "Yiddish",
"zu": "Zulu",
};
if (this.internal.languageSettings === undefined) {
this.internal.languageSettings = {};
this.internal.languageSettings.isSubscribed = false;
}
if (langCodes[langCode] !== undefined) {
this.internal.languageSettings.languageCode = langCode;
if (this.internal.languageSettings.isSubscribed === false) {
this.internal.events.subscribe("putCatalog", function () {
this.internal.write("/Lang (" + this.internal.languageSettings.languageCode + ")");
});
this.internal.languageSettings.isSubscribed = true;
}
}
return this;
};
})(jsPDF.API);