Author: torehalset
Date: Mon Jan 15 12:44:20 2007
New Revision: 496476

URL: http://svn.apache.org/viewvc?view=rev&rev=496476
Log:
 * added CAYPersistentDocument for document based apps
 * localization of validation messages

Added:
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.m
    
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/English.lproj/Localizable.strings
   (with props)
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/
    
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/InfoPlist.strings  
 (with props)
    
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/Localizable.strings
Modified:
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.h
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m
    
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.h?view=diff&rev=496476&r1=496475&r2=496476
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.h 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.h Mon 
Jan 15 12:44:20 2007
@@ -24,6 +24,7 @@
 }
 
 +(NSMutableDictionary *)classMapping;
++(NSBundle *)bundle;
 
 // define PersistenceState-states. see PersistenceState for documentation
 #define PSTATE_TRANSIENT 1

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m?view=diff&rev=496476&r1=496475&r2=496476
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCocoaCayenne.m Mon 
Jan 15 12:44:20 2007
@@ -65,4 +65,9 @@
     return classMapping;
 }
 
++(NSBundle *)bundle
+{
+    return [NSBundle bundleForClass:[CAYCocoaCayenne class]];
+}
+
 @end

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m?view=diff&rev=496476&r1=496475&r2=496476
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m Mon 
Jan 15 12:44:20 2007
@@ -76,10 +76,10 @@
     {
         NSLog(@"ERROR: unknown query result type %@: %@", [result class], 
result);
         
-        NSString *errorMessage = [[NSString alloc] initWithFormat:@"Unexpected 
server response: %@", result];
-        NSString *errorStr = NSLocalizedStringFromTable(errorMessage, [[self 
class] description], @"");
-        [errorMessage release];
-        NSDictionary *userInfoDict = [NSDictionary 
dictionaryWithObject:errorStr
+        NSBundle *bundle = [CAYCocoaCayenne bundle];
+        NSString *errorTmpl = NSLocalizedStringFromTableInBundle(@"Unexpected 
server response: %@", nil, bundle, @"");
+        NSString *errorMessage = [[[NSString alloc] initWithFormat:errorTmpl, 
result] autorelease];
+        NSDictionary *userInfoDict = [NSDictionary 
dictionaryWithObject:errorMessage
                                                                  
forKey:NSLocalizedDescriptionKey];
         NSError *error = [[[NSError alloc] initWithDomain:[[self class] 
description]
                                                      code:0
@@ -266,10 +266,10 @@
     {
         NSLog(@"ERROR: unknown commit result type %@", [result class]);
         
-        NSString *errorMessage = [[NSString alloc] initWithFormat:@"Unexpected 
server response: %@", result];
-        NSString *errorStr = NSLocalizedStringFromTable(errorMessage, [[self 
class] description], @"");
-        [errorMessage release];
-        NSDictionary *userInfoDict = [NSDictionary 
dictionaryWithObject:errorStr
+        NSBundle *bundle = [CAYCocoaCayenne bundle];
+        NSString *errorTmpl = NSLocalizedStringFromTableInBundle(@"Unexpected 
server response: %@", nil, bundle, @"");
+        NSString *errorMessage = [[[NSString alloc] initWithFormat:errorTmpl, 
result] autorelease];
+        NSDictionary *userInfoDict = [NSDictionary 
dictionaryWithObject:errorMessage
                                                                  
forKey:NSLocalizedDescriptionKey];
         NSError *error = [[[NSError alloc] initWithDomain:[[self class] 
description]
                                                      code:0

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.h
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.h?view=auto&rev=496476
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.h 
(added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.h 
Mon Jan 15 12:44:20 2007
@@ -0,0 +1,35 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+#import <CocoaCayenne/CAYObjectContext.h>
+
+// not very sane to have a NSDocument that is not a file, but this class helps
+// porting document based apps to CocoaCayenne
+
[EMAIL PROTECTED] CAYPersistentDocument : NSDocument {
+    CAYObjectContext *objectContext;
+}
+
+-(void)setObjectContext:(CAYObjectContext *)ctxt;
+-(CAYObjectContext *)objectContext;
+
+// TODO: readFromData:ofType:error: is a subclass responsibility but has not 
been overridden.
+
[EMAIL PROTECTED]

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.m?view=auto&rev=496476
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.m 
(added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentDocument.m 
Mon Jan 15 12:44:20 2007
@@ -0,0 +1,42 @@
+/*****************************************************************
+*   Licensed to the Apache Software Foundation (ASF) under one
+*  or more contributor license agreements.  See the NOTICE file
+*  distributed with this work for additional information
+*  regarding copyright ownership.  The ASF licenses this file
+*  to you under the Apache License, Version 2.0 (the
+*  "License"); you may not use this file except in compliance
+*  with the License.  You may obtain a copy of the License at
+*
+*    http://www.apache.org/licenses/LICENSE-2.0
+*
+*  Unless required by applicable law or agreed to in writing,
+*  software distributed under the License is distributed on an
+*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+*  KIND, either express or implied.  See the License for the
+*  specific language governing permissions and limitations
+*  under the License.
+****************************************************************/
+
+#import "CAYPersistentDocument.h"
+
[EMAIL PROTECTED] CAYPersistentDocument
+
+-(void)setObjectContext:(CAYObjectContext *)ctxt
+{
+    [ctxt retain];
+    [objectContext release];
+    objectContext = ctxt;
+}
+
+-(CAYObjectContext *)objectContext
+{
+    return objectContext;
+}
+
+-(void)dealloc
+{
+       [self setObjectContext:nil];
+       [super dealloc];
+}
+
[EMAIL PROTECTED]

Modified: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m?view=diff&rev=496476&r1=496475&r2=496476
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m 
Mon Jan 15 12:44:20 2007
@@ -288,7 +288,9 @@
     {
         if((!*ioValue) || [*ioValue isKindOfClass:[NSNull class]])
         {
-            NSString *errorMsg = [[NSString alloc] initWithFormat:@"\"[EMAIL 
PROTECTED]" is mandatory", [attribute name]];
+            NSBundle *bundle = [CAYCocoaCayenne bundle];
+            NSString *errorTmpl = 
NSLocalizedStringFromTableInBundle(@"\"[EMAIL PROTECTED]" is mandatory", nil, 
bundle, @"");
+            NSString *errorMsg = [[NSString alloc] initWithFormat:errorTmpl, 
[attribute name]];
             [self createValidationError:errorMsg code:VALIDATION_MANDATORY 
error:outError];
             [errorMsg release];
             
@@ -302,7 +304,9 @@
         {
             if(([attribute maxLength] > 0) && ([*ioValue length] > [attribute 
maxLength]))
             {
-                NSString *errorMsg = [[NSString alloc] 
initWithFormat:@"\"[EMAIL PROTECTED]" exceeds maximum allowed length (%d 
chars): %d", [attribute name], [attribute maxLength], [*ioValue length]];
+                NSBundle *bundle = [CAYCocoaCayenne bundle];
+                NSString *errorTmpl = 
NSLocalizedStringFromTableInBundle(@"\"[EMAIL PROTECTED]" exceeds maximum 
allowed length (%d chars): %d", nil, bundle, @"");
+                NSString *errorMsg = [[NSString alloc] 
initWithFormat:errorTmpl, [attribute name], [attribute maxLength], [*ioValue 
length]];
                 [self createValidationError:errorMsg code:VALIDATION_LENGTH 
error:outError];
                 [errorMsg release];
                 
@@ -311,7 +315,9 @@
             return YES;
         }
 
-        NSString *errorMsg = [[NSString alloc] initWithFormat:@"\"[EMAIL 
PROTECTED]" must be a NSString, not a %@", [attribute name], [*ioValue class]];
+        NSBundle *bundle = [CAYCocoaCayenne bundle];
+        NSString *errorTmpl = NSLocalizedStringFromTableInBundle(@"\"[EMAIL 
PROTECTED]" must be a NSString, not a %@", nil, bundle, @"");
+        NSString *errorMsg = [[NSString alloc] initWithFormat:errorTmpl, 
[attribute name], [*ioValue class]];
         [self createValidationError:errorMsg code:VALIDATION_TYPE 
error:outError];
         [errorMsg release];
 
@@ -324,7 +330,9 @@
             return YES;
         }
         
-        NSString *errorMsg = [[NSString alloc] initWithFormat:@"\"[EMAIL 
PROTECTED]" must be a NSDate, not a %@", [attribute name], [*ioValue class]];
+        NSBundle *bundle = [CAYCocoaCayenne bundle];
+        NSString *errorTmpl = NSLocalizedStringFromTableInBundle(@"\"[EMAIL 
PROTECTED]" must be a NSDate, not a %@", nil, bundle, @"");
+        NSString *errorMsg = [[NSString alloc] initWithFormat:errorTmpl, 
[attribute name], [*ioValue class]];
         [self createValidationError:errorMsg code:VALIDATION_TYPE 
error:outError];
         [errorMsg release];
         
@@ -342,7 +350,9 @@
             return YES;
         }
 
-        NSString *errorMsg = [[NSString alloc] initWithFormat:@"\"[EMAIL 
PROTECTED]" must be a NSNumber, not a %@", [attribute name], [*ioValue class]];
+        NSBundle *bundle = [CAYCocoaCayenne bundle];
+        NSString *errorTmpl = NSLocalizedStringFromTableInBundle(@"\"[EMAIL 
PROTECTED]" must be a NSNumber, not a %@", nil, bundle, @"");
+        NSString *errorMsg = [[NSString alloc] initWithFormat:errorTmpl, 
[attribute name], [*ioValue class]];
         [self createValidationError:errorMsg code:VALIDATION_TYPE 
error:outError];
         [errorMsg release];
 
@@ -360,7 +370,9 @@
             return YES;
         }
         
-        NSString *errorMsg = [[NSString alloc] initWithFormat:@"\"[EMAIL 
PROTECTED]" must be a NSNumber, not a %@", [attribute name], [*ioValue class]];
+        NSBundle *bundle = [CAYCocoaCayenne bundle];
+        NSString *errorTmpl = NSLocalizedStringFromTableInBundle(@"\"[EMAIL 
PROTECTED]" must be a NSNumber, not a %@", nil, bundle, @"");
+        NSString *errorMsg = [[NSString alloc] initWithFormat:errorTmpl, 
[attribute name], [*ioValue class]];
         [self createValidationError:errorMsg code:VALIDATION_TYPE 
error:outError];
         [errorMsg release];
         
@@ -378,7 +390,9 @@
             return YES;
         }
 
-        NSString *errorMsg = [[NSString alloc] initWithFormat:@"\"[EMAIL 
PROTECTED]" must be a NSNumber, not a %@", [attribute name], [*ioValue class]];
+        NSBundle *bundle = [CAYCocoaCayenne bundle];
+        NSString *errorTmpl = NSLocalizedStringFromTableInBundle(@"\"[EMAIL 
PROTECTED]" must be a NSNumber, not a %@", nil, bundle, @"");
+        NSString *errorMsg = [[NSString alloc] initWithFormat:errorTmpl, 
[attribute name], [*ioValue class]];
         [self createValidationError:errorMsg code:VALIDATION_TYPE 
error:outError];
         [errorMsg release];
         
@@ -599,8 +613,14 @@
 
 -(void)createValidationError:(NSString *)errorMessage code:(int)errorCode 
error:(NSError **)outError
 {
-    NSString *errorStr = NSLocalizedStringFromTable(errorMessage, [[self 
class] description], @"");
-    NSDictionary *userInfoDict = [NSDictionary dictionaryWithObject:errorStr
+
+NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
+NSArray* languages = [defs objectForKey:@"AppleLanguages"];
+NSString* preferredLang = [languages objectAtIndex:0];
+
+
+    NSLog(@"DEBUG: preflang: %@", preferredLang);
+    NSDictionary *userInfoDict = [NSDictionary 
dictionaryWithObject:errorMessage
                                                              
forKey:NSLocalizedDescriptionKey];
     NSError *error = [[[NSError alloc] initWithDomain:[[self class] 
description]
                                                  code:errorCode

Modified: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj?view=diff&rev=496476&r1=496475&r2=496476
==============================================================================
--- 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
 (original)
+++ 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
 Mon Jan 15 12:44:20 2007
@@ -87,9 +87,12 @@
                4485B3B80AF69DE500920481 /* CAYObjectIdQuery.m in Sources */ = 
{isa = PBXBuildFile; fileRef = 4485B3B60AF69DE500920481 /* CAYObjectIdQuery.m 
*/; };
                448E1BA90AC0882F00D137DF /* CAYArrayController.h in Headers */ 
= {isa = PBXBuildFile; fileRef = 448E1BA70AC0882F00D137DF /* 
CAYArrayController.h */; settings = {ATTRIBUTES = (Public, ); }; };
                448E1BAA0AC0882F00D137DF /* CAYArrayController.m in Sources */ 
= {isa = PBXBuildFile; fileRef = 448E1BA80AC0882F00D137DF /* 
CAYArrayController.m */; };
+               4492EAA50B55B7E100E80A60 /* Localizable.strings in Resources */ 
= {isa = PBXBuildFile; fileRef = 4492EAA40B55B7E100E80A60 /* 
Localizable.strings */; };
                44BD0F9D0ABF08320005EE1E /* CAYDataMapIO.h in Headers */ = {isa 
= PBXBuildFile; fileRef = 44BD0F9B0ABF08320005EE1E /* CAYDataMapIO.h */; 
settings = {ATTRIBUTES = (Public, ); }; };
                44BD0F9E0ABF08320005EE1E /* CAYDataMapIO.m in Sources */ = {isa 
= PBXBuildFile; fileRef = 44BD0F9C0ABF08320005EE1E /* CAYDataMapIO.m */; };
-               44FCBB6E0B02883200A0F3D3 /* CAYUtil.h in Headers */ = {isa = 
PBXBuildFile; fileRef = 44FCBB6C0B02883200A0F3D3 /* CAYUtil.h */; };
+               44FB9EF50B519A2500753533 /* CAYPersistentDocument.h in Headers 
*/ = {isa = PBXBuildFile; fileRef = 44FB9EF30B519A2500753533 /* 
CAYPersistentDocument.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               44FB9EF60B519A2500753533 /* CAYPersistentDocument.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = 44FB9EF40B519A2500753533 /* 
CAYPersistentDocument.m */; };
+               44FCBB6E0B02883200A0F3D3 /* CAYUtil.h in Headers */ = {isa = 
PBXBuildFile; fileRef = 44FCBB6C0B02883200A0F3D3 /* CAYUtil.h */; settings = 
{ATTRIBUTES = (Public, ); }; };
                44FCBB6F0B02883200A0F3D3 /* CAYUtil.m in Sources */ = {isa = 
PBXBuildFile; fileRef = 44FCBB6D0B02883200A0F3D3 /* CAYUtil.m */; };
                44FE798F0AA3790C0040BB78 /* HessianObjC.framework in Frameworks 
*/ = {isa = PBXBuildFile; fileRef = 44FE798E0AA3790C0040BB78 /* 
HessianObjC.framework */; };
                8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = 
{isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings 
*/; };
@@ -110,6 +113,7 @@
                442607370AA4B8DE00F0A01F /* CAYNodeCreateOperation.m */ = {isa 
= PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; 
path = CAYNodeCreateOperation.m; sourceTree = "<group>"; };
                443C14F80B01348F004B032F /* CAYObjectStore.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYObjectStore.h; sourceTree = "<group>"; };
                443C14F90B01348F004B032F /* CAYObjectStore.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYObjectStore.m; sourceTree = "<group>"; };
+               44418D000B55C5BE0072ED09 /* nb */ = {isa = PBXFileReference; 
lastKnownFileType = text.plist.strings; name = nb; path = 
nb.lproj/Localizable.strings; sourceTree = "<group>"; };
                44463D6B0AA37577006BAA58 /* CAYBootstrapMessage.h */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = 
CAYBootstrapMessage.h; sourceTree = "<group>"; };
                44463D6C0AA37577006BAA58 /* CAYBootstrapMessage.m */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; 
path = CAYBootstrapMessage.m; sourceTree = "<group>"; };
                44463D6D0AA37577006BAA58 /* CAYClientConnection.h */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = 
CAYClientConnection.h; sourceTree = "<group>"; };
@@ -182,12 +186,16 @@
                4485B3B60AF69DE500920481 /* CAYObjectIdQuery.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYObjectIdQuery.m; sourceTree = "<group>"; };
                448E1BA70AC0882F00D137DF /* CAYArrayController.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYArrayController.h; sourceTree = "<group>"; };
                448E1BA80AC0882F00D137DF /* CAYArrayController.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYArrayController.m; sourceTree = "<group>"; };
+               4492EA9D0B55B74200E80A60 /* English */ = {isa = 
PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; 
name = English; path = English.lproj/Localizable.strings; sourceTree = 
"<group>"; };
+               44A2DD020B5C18E000AF1D3D /* nb */ = {isa = PBXFileReference; 
lastKnownFileType = text.plist.strings; name = nb; path = 
nb.lproj/InfoPlist.strings; sourceTree = "<group>"; };
                44BD0F9B0ABF08320005EE1E /* CAYDataMapIO.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYDataMapIO.h; sourceTree = "<group>"; };
                44BD0F9C0ABF08320005EE1E /* CAYDataMapIO.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYDataMapIO.m; sourceTree = "<group>"; };
+               44FB9EF30B519A2500753533 /* CAYPersistentDocument.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYPersistentDocument.h; sourceTree = "<group>"; };
+               44FB9EF40B519A2500753533 /* CAYPersistentDocument.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYPersistentDocument.m; sourceTree = "<group>"; };
                44FCBB6C0B02883200A0F3D3 /* CAYUtil.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
CAYUtil.h; sourceTree = "<group>"; };
                44FCBB6D0B02883200A0F3D3 /* CAYUtil.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= CAYUtil.m; sourceTree = "<group>"; };
                44FE798E0AA3790C0040BB78 /* HessianObjC.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; name = 
HessianObjC.framework; path = /Library/Frameworks/HessianObjC.framework; 
sourceTree = "<absolute>"; };
-               8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = 
Info.plist; sourceTree = "<group>"; };
+               8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = 
Info.plist; sourceTree = "<group>"; };
                8DC2EF5B0486A6940098B216 /* CocoaCayenne.framework */ = {isa = 
PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; 
path = CocoaCayenne.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                D2F7E79907B2D74100F64583 /* CoreData.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; name = 
CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; 
sourceTree = "<absolute>"; };
 /* End PBXFileReference section */
@@ -238,6 +246,7 @@
                089C1665FE841158C02AAC07 /* Resources */ = {
                        isa = PBXGroup;
                        children = (
+                               4492EAA40B55B7E100E80A60 /* Localizable.strings 
*/,
                                8DC2EF5A0486A6940098B216 /* Info.plist */,
                                089C1666FE841158C02AAC07 /* InfoPlist.strings 
*/,
                        );
@@ -273,6 +282,8 @@
                                443C14F90B01348F004B032F /* CAYObjectStore.m */,
                                44FCBB6C0B02883200A0F3D3 /* CAYUtil.h */,
                                44FCBB6D0B02883200A0F3D3 /* CAYUtil.m */,
+                               44FB9EF30B519A2500753533 /* 
CAYPersistentDocument.h */,
+                               44FB9EF40B519A2500753533 /* 
CAYPersistentDocument.m */,
                        );
                        name = Classes;
                        sourceTree = "<group>";
@@ -474,6 +485,7 @@
                                445C275A0AFC024300D7D2AA /* CAYTreeController.h 
in Headers */,
                                443C14FA0B01348F004B032F /* CAYObjectStore.h in 
Headers */,
                                44FCBB6E0B02883200A0F3D3 /* CAYUtil.h in 
Headers */,
+                               44FB9EF50B519A2500753533 /* 
CAYPersistentDocument.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -506,6 +518,16 @@
                        isa = PBXProject;
                        buildConfigurationList = 1DEB91B108733DA50010E9CD /* 
Build configuration list for PBXProject "CocoaCayenne" */;
                        hasScannedForEncodings = 1;
+                       knownRegions = (
+                               English,
+                               Japanese,
+                               French,
+                               German,
+                               "Norwegian bokmål",
+                               Norwegian,
+                               no,
+                               nb,
+                       );
                        mainGroup = 0867D691FE84028FC02AAC07 /* CocoaCayenne */;
                        productRefGroup = 034768DFFF38A50411DB9C8B /* Products 
*/;
                        projectDirPath = "";
@@ -521,6 +543,7 @@
                        buildActionMask = 2147483647;
                        files = (
                                8DC2EF530486A6940098B216 /* InfoPlist.strings 
in Resources */,
+                               4492EAA50B55B7E100E80A60 /* Localizable.strings 
in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -573,6 +596,7 @@
                                445C275B0AFC024300D7D2AA /* CAYTreeController.m 
in Sources */,
                                443C14FB0B01348F004B032F /* CAYObjectStore.m in 
Sources */,
                                44FCBB6F0B02883200A0F3D3 /* CAYUtil.m in 
Sources */,
+                               44FB9EF60B519A2500753533 /* 
CAYPersistentDocument.m in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -583,8 +607,18 @@
                        isa = PBXVariantGroup;
                        children = (
                                089C1667FE841158C02AAC07 /* English */,
+                               44A2DD020B5C18E000AF1D3D /* nb */,
                        );
                        name = InfoPlist.strings;
+                       sourceTree = "<group>";
+               };
+               4492EAA40B55B7E100E80A60 /* Localizable.strings */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               4492EA9D0B55B74200E80A60 /* English */,
+                               44418D000B55C5BE0072ED09 /* nb */,
+                       );
+                       name = Localizable.strings;
                        sourceTree = "<group>";
                };
 /* End PBXVariantGroup section */

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/English.lproj/Localizable.strings
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/English.lproj/Localizable.strings?view=auto&rev=496476
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/English.lproj/Localizable.strings
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/InfoPlist.strings
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/InfoPlist.strings?view=auto&rev=496476
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/InfoPlist.strings
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/Localizable.strings
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/Localizable.strings?view=auto&rev=496476
==============================================================================
--- 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/Localizable.strings
 (added)
+++ 
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/nb.lproj/Localizable.strings
 Mon Jan 15 12:44:20 2007
@@ -0,0 +1,29 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+ 
+ // this file is generated by issuing 'genstrings *.m' and then importing
+ // the file as UTF-16 into the project.
+ //  - Tore.
+
+"\"[EMAIL PROTECTED]" is mandatory" = "\"[EMAIL PROTECTED]" er obligatorisk";
+"\"[EMAIL PROTECTED]" must be a NSDate, not a %@" = "\"[EMAIL PROTECTED]" mŒ 
v¾re en NSDate, ikke %@";
+"\"[EMAIL PROTECTED]" must be a NSNumber, not a %@" = "\"[EMAIL PROTECTED]" mŒ 
v¾re en NSNumber, ikke %@";
+"\"[EMAIL PROTECTED]" must be a NSString, not a %@" = "\"[EMAIL PROTECTED]" mŒ 
v¾re en NSString, ikke %@";
+"Unexpected server response: %@" = "Uventet svar fra server: %@";
+"\"[EMAIL PROTECTED]" exceeds maximum allowed length (%d chars): %d" = 
"\"[EMAIL PROTECTED]" overskrider maks lengde (%d tegn): %d";


Reply via email to