-# Copyright (c) 2007 - 2010, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
+# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
# http://opensource.org/licenses/bsd-license.php\r
# Import Modules\r
#\r
import os, codecs, re\r
+import distutils.util\r
import Common.EdkLogger as EdkLogger\r
from Common.BuildToolError import *\r
from Common.String import GetLineNo\r
else:\r
EdkLogger.error("Unicode File Parser", FORMAT_INVALID, "Invalid ISO 639-2 language code : %s" % LangName, File)\r
\r
+ if (LangName[0] == 'X' or LangName[0] == 'x') and LangName[1] == '-':\r
+ return LangName\r
if length == 2:\r
if LangName.isalpha():\r
return LangName\r
# Get Language definition\r
#\r
def GetLangDef(self, File, Line):\r
- Lang = Line.split(u"//")[0].split()\r
+ Lang = distutils.util.split_quoted((Line.split(u"//")[0]))\r
if len(Lang) != 3:\r
try:\r
- FileIn = codecs.open(File, mode='rb', encoding='utf-16').read()\r
+ FileIn = codecs.open(File.Path, mode='rb', encoding='utf-16').read()\r
except UnicodeError, X:\r
EdkLogger.error("build", FILE_READ_FAILURE, "File read failure: %s" % str(X), ExtraData=File);\r
except:\r
EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=File);\r
LineNo = GetLineNo(FileIn, Line, False)\r
EdkLogger.error("Unicode File Parser", PARSER_ERROR, "Wrong language definition",\r
- ExtraData="""%s\n\t*Correct format is like '#langdef eng "English"'""" % Line, File = File, Line = LineNo)\r
+ ExtraData="""%s\n\t*Correct format is like '#langdef en-US "English"'""" % Line, File = File, Line = LineNo)\r
else:\r
LangName = GetLanguageCode(Lang[1], self.IsCompatibleMode, self.File)\r
- LangPrintName = Lang[2][1:-1]\r
+ LangPrintName = Lang[2]\r
\r
IsLangInDef = False\r
for Item in self.LanguageDef:\r