 ////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////
 enum LocalizedPattern : String {
-    case KeyValuePair  = "^\"(.+)\"\\s*=\\s*\"(.+)\";$"
+    case KeyValuePair  = "^\"(.+)\"\\s*=\\s*\"(.*)\";$"
     case CommentStart  = "^/\\*.*$"
     case CommentEnd    = "^.*\\*/$"
     case CommentBlock  = "^/\\*.*\\*/$"

            var comments = [line!]
            var translation: String?
            
            if line! =~ LocalizedPattern.CommentBlock.rawValue {
                line = reader.readLine()
                while (line != nil) && (line! =~ LocalizedPattern.CommentEnd.rawValue) {
                    comments.append(line!)
                    line = reader.readLine()
                }
            }

            if (line != nil) && (line! =~ LocalizedPattern.KeyValuePair.rawValue) {
                translation = line!
            }
            
            line = reader.readLine()
            while (line != nil) && (line! =~ "") {
                line = reader.readLine()
            }
            
            self.add(LocalizedString(keyValuePair: translation!, comment: comments))
        }
        
        self.loaded = true

    
    public init(path: String) {
        self.path         = path
        self.name         = (path as NSString).lastPathComponent
        self.strings      = []
        self.stringsByKey = [String: LocalizedString]()
    }
    
    public init(url: NSURL) {
        self.path         = url.absoluteString
        self.name         = (path as NSString).lastPathComponent
        self.strings      = []
        self.stringsByKey = [String: LocalizedString]()
    }
