                     }
                 }
                 marker = 0;
+				
+				// Other lacales AM/PM 
+				if (ampm.hasOwnProperty(word))
+				{
+					isPM = true;
+					
+					if (hour > 12)
+						break; // error
+					else if (hour >= 0)
+						hour += 12;
+				}
             }
             
             else if ("0" <= letter && letter <= "9")

		punctuation["月"] = {general:true, date:true, time:false};
		punctuation["日"] = {general:true, date:true, time:false};
		punctuation["午"] = {general:false, date:false, time:true};
		
		// Korean
		punctuation["년"] = {general:true, date:true, time:false};
		punctuation["월"] = {general:true, date:true, time:false};
		punctuation["일"] = {general:true, date:true, time:false};
		
        // Strip out the Timezone. It is not used by the DateFormatter
        var timezoneRegEx:RegExp = /(GMT|UTC)((\+|-)\d\d\d\d )?/ig;

                else if (punctuation.hasOwnProperty(letter) && punctuation[letter].time)
                {
                    if (hour < 0)
					{
                        hour = num;
						
						if (isPM)
						{
							if (hour > 12)
								break; //error
							else
								hour += 12;
						}
					}
                    else if (min < 0)
                        min = num;
					else if (sec < 0)
