Index of Functions ------------------ 1: cmonthX Function Name ( 1): cmonthX -------------------------------------------------------------------------------- 'Date Created: 25-Mar-2008 11:43:31 AM 'Last Updated: 29-Mar-2008 03:36:49 PM 'Created By : Ira J. Perlow 'Updated By : Ira J. Perlow FUNCTION cmonthX AS C (date=DATE() as d, Locale_ID=0 as n) 'DESCRIPTION: Returns current month's name in current language or with language code '========================================================================= ' Created by Computer Systems Design & Associates ' Copyright 2008 Computer Systems Design & Associates, All Rights Reserved ' http://www.csda1.com ' You may use this code at your own risk in whole or as a part. ' Use in full or part is permitted with proper attributions to the source, ' except it may not be sold as part of any software package that is a ' library of functions '========================================================================= ' cmonthX - Version 1.01 Release Date: 20080329 ' Syntax C cmonthX([D date[,N Locale_ID]]) ' Purpose: Returns current month's name in current language or with language code ' Input: date = The date to return the month value of. Defaults to the current date ' Locale_ID = Language Code ID, default or <=0 uses current Operating System value ' Output: Name of current month in current language ' Errors: ' Typical Usage: ' Examples: ' ?cmonthX() ' ?cmonthX({07/04/1776}) ' ?cmonthX({05/05/1862},1034) ' Notes: ' Languages not using the standard character sets have not been translated ' Microsoft link - http://www.microsoft.com/globaldev/reference/win2k/setup/lcid.mspx ' Below is a list of languages and codes. Those not indented have not been translated ' Language Language Code ' ========================================= ' Arabic (Saudi Arabia) 1025 ' Arabic (Iraq) 2049 ' Arabic (Egypt) 3073 ' Arabic (Libya) 4097 ' Arabic (Algeria) 5121 ' Arabic (Morocco) 6145 ' Arabic (Tunisia) 7169 ' Arabic (Oman) 8193 ' Arabic (Yemen) 9217 ' Arabic (Syria) 10241 ' Arabic (Jordan) 11265 ' Arabic (Lebanon) 12289 ' Arabic (Kuwait) 13313 ' Arabic (U.A.E.) 14337 ' Arabic (Bahrain) 15361 ' Arabic (Qatar) 16385 ' Bulgarian 1026 ' Catalan 1027 ' Chinese (Taiwan) 1028 ' Chinese (PRC) 2052 ' Chinese (Hong Kong SAR 3076 ' Chinese (Singapore) 4100 ' Czech 1029 ' Danish 1030 ' German (Standard) 1031 ' German (Swiss) 2055 ' German (Austrian) 3079 ' German (Luxembourg) 4103 ' German (Liechtenstein) 127 ' Greek 1032 ' English (United States) 1033 ' English (United Kingdom) 2057 ' English (Australian) 3081 ' English (Canadian) 4105 ' English (New Zealand) 5129 ' English (Ireland) 6153 ' English (South Africa) 7177 ' English (Jamaica) 8201 ' English (Caribbean) 9225 ' English (Belize) 10249 ' English (Trinidad) 11273 ' Spanish (Traditional Sort) 1034 ' Spanish (Mexican) 2058 ' Spanish (Modern Sort) 3082 ' Spanish (Guatemala) 4106 ' Spanish (Costa Rica) 5130 ' Spanish (Panama) 6154 ' Spanish (Dominican Republic) 7178 ' Spanish (Venezuela) 8202 ' Spanish (Colombia) 9226 ' Spanish (Peru) 10250 ' Spanish (Argentina) 11274 ' Spanish (Ecuador) 12298 ' Spanish (Chile) 13322 ' Spanish (Uruguay) 14346 ' Spanish (Paraguay) 15370 ' Spanish (Bolivia) 16394 ' Spanish (El Salvador) 17418 ' Spanish (Honduras) 18442 ' Spanish (Nicaragua) 19466 ' Spanish (Puerto Rico) 20490 ' Finnish 1035 ' French (Standard) 1036 ' French (Belgian) 2060 ' French (Canadian) 3084 ' French (Swiss) 4108 ' French (Luxembourg) 5132 ' Hebrew 1037 ' Hungarian 1038 ' Icelandic 1039 ' Italian (Standard) 1040 ' Italian (Swiss) 2064 ' Japanese 1041 ' Korean 1042 ' Korean (Johab) 2066 ' Dutch (Standard) 1043 ' Dutch (Belgian) 2067 ' Norwegian (Bokmal) 1044 ' Norwegian (Nynorsk) 2068 ' Polish 1045 ' Portuguese (Brazil) 1046 ' Portuguese (Portugal) 2070 ' Romanian 1048 ' Russian 1049 ' Croatian 1050 ' Serbian (Latin) 2074 ' Serbian (Cyrillic) 3098 ' Slovak 1051 ' Albanian 1052 ' Swedish 1053 ' Swedish (Finland) 2077 ' Thai 1054 ' Turkish 1055 ' Indonesian 1057 ' Ukrainian 1058 ' Belarusian 1059 ' Slovenian 1060 ' Estonian 1061 ' Latvian 1062 ' Lithuanian 1063 ' Farsi 1065 ' Vietnamese 1066 ' Basque 1069 ' Afrikaans 1078 ' Faeroese 1080 IF trim(cdate(date))=="" ' return with null if blank date cmonthX="" EXIT FUNCTION END IF ' Get language code dim tmp as c IF Locale_ID<=0 ' If language code <= 0, then get current language from Operating System declare user32 locale@GetKeyboardLayout LL ' Return low 16 bit value tmp=ltrim(str(locale(0).and.65535)) ELSE ' Use Language code given tmp=ltrim(str(Locale_ID)) END IF ' Now convert to month name IF wordat(tmp,"1033,2057,3081,4105,5129,6153,7177,8201,9225,10249,11273",",")>0 ' English cmonthX=cmonth(Date) ELSE IF wordat(tmp,"1034,2058,3082,4106,5130,6154,7178,8202,9226,10250,11274,12298,13322,14346,15370,16394,17418,18442,19466,20490",",")>0 ' Spanish cmonthX=word("enero,febrero,marzo,abril,mayo,junio,julio,agosto,septiembre,octubre,noviembre,diciembre",month(date),",") ELSE IF wordat(tmp,"1031,2055,3079,4103,127",",")>0 ' German cmonthX=word("Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember",month(date),",") ELSE IF wordat(tmp,"1036,2060,3084,4108,5132",",")>0 ' French cmonthX=word("Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Aoűt,Septembre,Octobre,Novembre,Décembre",month(date),",") ELSE IF wordat(tmp,"1046,2070",",")>0 ' Portuguese cmonthX=word("janeiro,fevereiro,março,abril,maio,junho,julho,agosto,setembro,outubro,novembro,dezembro",month(date),",") ELSE IF wordat(tmp,"1040,2064",",")>0 ' Italian cmonthX=word("gennaio,febbraio,marzo,aprile,maggio,giugno,luglio,agosto,settembre,ottobre,novembre,dicembre",month(date),",") ELSE IF wordat(tmp,"1043,2067",",")>0 ' Dutch cmonthX=word("januari,februari,maart,april,mei,juni,juli,augustus,september,oktober,november,december",month(date),",") ELSE IF wordat(tmp,"1053,2077",",")>0 ' Swedish cmonthX=word("januari,februari,mars,april,maj,juni,juli,augusti,september,oktober,november,december",month(date),",") ELSE IF wordat(tmp,"1044,2068",",")>0 ' Norwegian cmonthX=word("januar,februar,mars,april,mai,juni,juli,august,september,oktober,november,desember",month(date),",") ELSE IF wordat(tmp,"1027",",")>0 ' Catalan cmonthX=word("gener,febrer,març,abril,maig,juny,juliol,agost,setembre,novembre,desembre",month(date),",") ELSE IF wordat(tmp,"1030",",")>0 ' Danish cmonthX=word("januar,februar,marts,april,maj,juni,juli,august,september,oktober,november,december",month(date),",") ELSE IF wordat(tmp,"1035",",")>0 ' Finnish cmonthX=word("tammikuu,helmikuu,maaliskuu,huhtikuu,toukokuu,kesäkuu,heinäkuu,elokuu,syyskuu,lokakuu,marraskuu,joulukuu",month(date),",") ELSE IF wordat(tmp,"1038",",")>0 ' Hungarian cmonthX=word("január,február,március,április,május,június,július,augusztus,szeptember,október,november,december",month(date),",") ELSE IF wordat(tmp,"1039",",")>0 ' Icelandic cmonthX=word("janúar,febrúar,mars,apríl,maí,júní,júlí,ágúst,september,október,nóvember,desember",month(date),",") ELSE IF wordat(tmp,"1048",",")>0 ' Romanian cmonthX=word("ianuarie,februarie,martie,aprilie,mai,iunie,iulie,august,Septembrie,octombrie,noiembrie,decembrie",month(date),",") ELSE IF wordat(tmp,"1051",",")>0 ' Slovak cmonthX=word("január,február,marec,apríl,máj,jún,júl,august,september,október,november,december",month(date),",") ELSE IF wordat(tmp,"1052",",")>0 ' Albanian cmonthX=word("janar,shkurt,mars,prill,maj,qershor,korrik,gusht,shtator,tetor,nëntor,dhjetor",month(date),",") ELSE IF wordat(tmp,"1078",",")>0 ' Afrikaans cmonthX=word("Januarie,Februarie,Maart,April,Mei,Junie,Julie,Augustus,September,Oktober,November,Desember",month(date),",") ELSE IF wordat(tmp,"1069",",")>0 ' Basque cmonthX=word("urtarril,otsail,matrxo,apiril,maiatz,ekain,uztail,abuztu,irail,urri,azaro,abendu",month(date),",") ELSE IF wordat(tmp,"1061",",")>0 ' Estonian cmonthX=word("jaanuar,veebruar,märts,aprill,mai,juuni,juuli,august,september,oktoober,november,detsember",month(date),",") ELSE IF wordat(tmp,"1060",",")>0 ' Slovenian cmonthX=word("januar,februar,marec,april,maj,junij,julij,avgust,september,oktober,november,december",month(date),",") ELSE IF wordat(tmp,"1057",",")>0 ' Indonesian cmonthX=word("Januari,Februari,Maret,April,Mei,Juni,Juli,Agustus,September,Oktober,Nopember,Desember",month(date),",") ELSE ' If language code is not handled, return default (english) version cmonthX=cmonth(Date) END IF EXIT FUNCTION END FUNCTION End Function ( 1)---------------------------------------------------------------