Added hints for taking pictures, improved localizations into English, German & Swedish

git-svn-id: https://zxing.googlecode.com/svn/trunk@542 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
christian.brunschen 2008-08-01 13:04:23 +00:00
parent 9e65557e47
commit 81c1368068
63 changed files with 2597 additions and 292 deletions

View file

@ -49,7 +49,7 @@
}
- (NSString *)title {
return NSLocalizedString(@"Add Contact", @"Add Contact");
return NSLocalizedString(@"AddContactAction title", @"Add Contact");
}
- (void) addContactWithController:(UIViewController *)controller {
@ -119,6 +119,16 @@
ABRecordSetValue(person, kABPersonURLProperty, urlMultiValue, error);
}
if (self.address) {
/*
ABMutableMultiValueRef addressMultiValue =
ABMultiValueCreateMutable(kABStringPropertyType);
ABMultiValueAddValueAndLabel(addressMultiValue,
NULL, NULL,
NULL);
*/
}
ABUnknownPersonViewController *unknownPersonViewController =
[[ABUnknownPersonViewController alloc] init];
unknownPersonViewController.displayedPerson = person;
@ -148,10 +158,10 @@
if (confirm) {
viewController = controller;
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil
message:NSLocalizedString(@"Add Contact?", @"add contact")
message:NSLocalizedString(@"AddContactAction alert message", @"Add Contact?")
delegate:self
cancelButtonTitle:NSLocalizedString(@"Cancel", @"cancel button title")
otherButtonTitles:NSLocalizedString(@"Add Contact", @"add contact"), nil];
cancelButtonTitle:NSLocalizedString(@"AddContactAction cancel button title", @"Cancel")
otherButtonTitles:NSLocalizedString(@"AddContactAction confirm button title", @"Add Contact"), nil];
[alertView show];
[alertView release];
} else {

View file

@ -123,7 +123,7 @@
- (void)viewDidLoad {
[super viewDidLoad];
self.title = NSLocalizedString(@"Scan Archive", "scan archive title");
self.title = NSLocalizedString(@"ScanArchiveTitle", @"Scan Archive");
self.navigationItem.rightBarButtonItem = [self editButtonItem];
}

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "DoCoMoResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "BookmarkDoCoMoResultParser.h"
#import "URIParsedResult.h"

View file

@ -74,7 +74,7 @@
}
+ (NSString *)typeName {
return @"Contact";
return NSLocalizedString(@"Contact Result Type Name", @"Contact");
}
- (UIImage *)icon {

View file

@ -43,19 +43,19 @@
}
- (NSString *)title {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Call %@", @"action title"), self.number];
return [NSString localizedStringWithFormat:NSLocalizedString(@"CallAction action title", @"Call %@"), self.number];
}
- (NSString *)alertTitle {
return NSLocalizedString(@"Call", @"alert title");
return NSLocalizedString(@"CallAction alert title", @"Call");
}
- (NSString *)alertMessage {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Call %@?", @"alert message"), self.number];
return [NSString localizedStringWithFormat:NSLocalizedString(@"CallAction alert message", @"Call %@?"), self.number];
}
- (NSString *)alertButtonTitle {
return NSLocalizedString(@"Call", @"alert button title");
return NSLocalizedString(@"CallAction alert button title", @"Call");
}

View file

@ -196,7 +196,7 @@ using namespace qrcode;
waitUntilDone:NO];
} else {
[self performSelectorOnMainThread:@selector(failedToDecodeImage:)
withObject:NSLocalizedString(@"No barcode detected.", @"No barcode detected.")
withObject:NSLocalizedString(@"Decoder BarcodeDetectionFailure", @"No barcode detected.")
waitUntilDone:NO];
}
@ -226,7 +226,7 @@ using namespace qrcode;
[self prepareSubset];
[self performSelectorOnMainThread:@selector(progressDecodingImage:)
withObject:@"Decoding ..."
withObject:NSLocalizedString(@"Decoder MessageWhileDecoding", @"Decoding ...")
waitUntilDone:NO];
[NSThread detachNewThreadSelector:@selector(decode:)

View file

@ -37,7 +37,9 @@
IBOutlet UIBarItem *archiveBarItem;
IBOutlet UIBarItem *actionBarItem;
IBOutlet UITextView *messageView;
IBOutlet UIView *messageView;
IBOutlet UITextView *messageTextView;
IBOutlet UIButton *messageHelpButton;
IBOutlet ScannedImageView *imageView;
IBOutlet UIToolbar *toolbar;
@ -54,7 +56,9 @@
@property (nonatomic, retain) UIBarItem *archiveBarItem;
@property (nonatomic, retain) UIBarItem *actionBarItem;
@property (nonatomic, retain) UITextView *messageView;
@property (nonatomic, retain) UIView *messageView;
@property (nonatomic, retain) UITextView *messageTextView;
@property (nonatomic, retain) UIButton *messageHelpButton;
@property (nonatomic, retain) ScannedImageView *imageView;
@property (nonatomic, retain) UIToolbar *toolbar;
@ -64,10 +68,11 @@
@property (nonatomic, retain) NSMutableArray *resultPointViews;
- (void)clearImageView;
- (void)updateToolbar;
- (void)pickAndDecodeFromSource:(UIImagePickerControllerSourceType) sourceType;
- (IBAction)pickAndDecode:(id)sender;
- (void)showMessage:(NSString *)message;
- (void)showMessage:(NSString *)message helpButton:(BOOL)showHelpButton;
- (IBAction)performResultAction:(id)sender;
- (IBAction)showArchive:(id)sender;
- (void)showScan:(Scan *)scan;

View file

@ -28,10 +28,10 @@
#import "Database.h"
#import "ArchiveController.h"
#import "HintsViewController.h"
#import "Scan.h"
#import "TwoDDecoderResult.h"
@implementation DecoderViewController
@synthesize cameraBarItem;
@ -41,6 +41,8 @@
@synthesize actionBarItem;
@synthesize messageView;
@synthesize messageTextView;
@synthesize messageHelpButton;
@synthesize imageView;
@synthesize toolbar;
@ -53,7 +55,7 @@
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Initialization code
self.title = @"ZXing";
self.title = NSLocalizedString(@"DecoderViewController AppTitle", @"Barcode Scanner ");
Decoder *d = [[Decoder alloc] init];
self.decoder = d;
@ -64,31 +66,84 @@
return self;
}
- (void) hintsReady:(id)sender {
HintsViewController *hintsController = sender;
[[self navigationController] pushViewController:hintsController animated:true];
[hintsController release];
}
- (void) hintsFailed:(id)sender {
HintsViewController *hintsController = sender;
NSLog(@"Failed to load hints!");
[hintsController release];
}
- (void) showHints:(id)sender {
NSLog(@"Showing Hints!");
HintsViewController *hintsController = [[HintsViewController alloc] initWithTarget:self onSuccess:@selector(hintsReady:) onFailure:@selector(hintsFailed:)];
hintsController.title = NSLocalizedString(@"DecoderViewController HintsViewController title", @"Hints");
hintsController.view;
}
#define HELP_BUTTON_WIDTH (44.0)
#define HELP_BUTTON_HEIGHT (55.0)
#define FONT_NAME @"TimesNewRomanPSMT"
#define FONT_SIZE 16.0
- (void) reset {
self.result = nil;
[self clearImageView];
[self updateToolbar];
[self showMessage:NSLocalizedString(@"DecoderViewController take or choose picture", @"Please take or choose a picture containing a barcode") helpButton:YES];
}
// Implement loadView if you want to create a view hierarchy programmatically
- (void)loadView {
[super loadView];
CGRect messageViewFrame = imageView.frame;
UITextView *mView = [[UITextView alloc] initWithFrame:messageViewFrame];
UIView *mView = [[UIView alloc] initWithFrame:messageViewFrame];
mView.backgroundColor = [UIColor darkGrayColor];
mView.alpha = 0.9;
mView.editable = false;
mView.scrollEnabled = true;
mView.font = [UIFont fontWithName:FONT_NAME size:FONT_SIZE];
mView.autoresizingMask = UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleTopMargin;
mView.textColor = [UIColor whiteColor];
mView.textAlignment = UITextAlignmentLeft;
UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleTopMargin;
UITextView *mTextView = [[UITextView alloc] initWithFrame:messageViewFrame];
mTextView.autoresizingMask = UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleWidth;
mTextView.editable = false;
mTextView.scrollEnabled = true;
mTextView.font = [UIFont fontWithName:FONT_NAME size:FONT_SIZE];
mTextView.textColor = [UIColor whiteColor];
mTextView.backgroundColor = [[UIColor lightGrayColor] colorWithAlphaComponent:0.0];
mTextView.textAlignment = UITextAlignmentLeft;
mTextView.alpha = 1.0;
[mView addSubview:mTextView];
UIButton *mHelpButton = [[UIButton buttonWithType:UIButtonTypeInfoLight] retain];
mHelpButton.frame = CGRectMake(messageViewFrame.size.width - HELP_BUTTON_WIDTH, 0.0, HELP_BUTTON_WIDTH, HELP_BUTTON_HEIGHT);
mHelpButton.backgroundColor = [UIColor clearColor];
[mHelpButton setUserInteractionEnabled:YES];
[mHelpButton addTarget:self action:@selector(showHints:) forControlEvents:UIControlEventTouchUpInside];
self.messageHelpButton = mHelpButton;
[mHelpButton release];
self.messageTextView = mTextView;
[mTextView release];
self.messageView = mView;
[mView release];
[self.view addSubview:self.messageView];
[self updateToolbar];
[self showMessage:NSLocalizedString(@"Please take or choose a picture containing a barcode", @"")];
[self reset];
}
- (void) updateToolbar {
@ -115,8 +170,8 @@
}
- (void)pickAndDecodeFromSource:(UIImagePickerControllerSourceType) sourceType {
self.result = nil;
[self clearImageView];
[self reset];
\
// Create the Image Picker
if ([UIImagePickerController isSourceTypeAvailable:sourceType]) {
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
@ -172,20 +227,46 @@
[super dealloc];
}
- (void)showMessage:(NSString *)message {
- (void)showMessage:(NSString *)message helpButton:(BOOL)showHelpButton {
#ifdef DEBUG
NSLog(@"Showing message '%@'", message);
NSLog(@"Showing message '%@' %@ help Button", message, showHelpButton ? @"with" : @"without");
#endif
CGSize maxSize = imageView.bounds.size;
CGSize size = [message sizeWithFont:messageView.font constrainedToSize:maxSize lineBreakMode:UILineBreakModeWordWrap];
if (showHelpButton) {
maxSize.width -= messageHelpButton.frame.size.width;
}
CGSize size = [message sizeWithFont:messageTextView.font constrainedToSize:maxSize lineBreakMode:UILineBreakModeWordWrap];
float height = 20.0 + fmin(100.0, size.height);
if (showHelpButton) {
height = fmax(HELP_BUTTON_HEIGHT, height);
}
CGRect messageFrame = imageView.bounds;
messageFrame.origin.y = CGRectGetMaxY(messageFrame) - height;
messageFrame.size.height = height;
self.messageView.text = message;
[self.messageView setFrame:messageFrame];
CGRect messageViewBounds = [messageView bounds];
self.messageTextView.text = message;
if (showHelpButton) {
CGRect textViewFrame;
CGRect helpButtonFrame;
CGRectDivide(messageViewBounds, &helpButtonFrame, &textViewFrame, HELP_BUTTON_WIDTH, CGRectMaxXEdge);
[self.messageTextView setFrame:textViewFrame];
[messageHelpButton setFrame:helpButtonFrame];
messageHelpButton.alpha = 1.0;
messageHelpButton.enabled = YES;
[messageView addSubview:messageHelpButton];
} else {
[messageHelpButton removeFromSuperview];
messageHelpButton.alpha = 0.0;
messageHelpButton.enabled = NO;
[self.messageTextView setFrame:messageViewBounds];
}
}
// DecoderDelegate methods
@ -193,7 +274,8 @@
- (void)decoder:(Decoder *)decoder willDecodeImage:(UIImage *)image {
[self clearImageView];
[self.imageView setImage:image];
[self showMessage:[NSString stringWithFormat:NSLocalizedString(@"Decoding image (%.0fx%.0f) ...", @"shown while image is decoding"), image.size.width, image.size.height]];
[self showMessage:[NSString stringWithFormat:NSLocalizedString(@"DecoderViewController MessageWhileDecodingWithDimensions", @"Decoding image (%.0fx%.0f) ..."), image.size.width, image.size.height]
helpButton:NO];
}
- (void)decoder:(Decoder *)decoder
@ -202,12 +284,12 @@
progress:(NSString *)message {
[self clearImageView];
[self.imageView setImage:subset];
[self showMessage:message];
[self showMessage:message helpButton:NO];
}
- (void)presentResultForString:(NSString *)resultString {
self.result = [ResultParser parsedResultForString:resultString];
[self showMessage:[self.result stringForDisplay]];
[self showMessage:[self.result stringForDisplay] helpButton:NO];
self.actions = self.result.actions;
#ifdef DEBUG
NSLog(@"result has %d actions", actions ? 0 : actions.count);
@ -237,7 +319,7 @@
}
- (void)decoder:(Decoder *)decoder failedToDecodeImage:(UIImage *)image usingSubset:(UIImage *)subset reason:(NSString *)reason {
[self showMessage:reason];
[self showMessage:reason helpButton:YES];
[self updateToolbar];
}
@ -379,7 +461,7 @@
[actionSheet addButtonWithTitle:[action title]];
}
int cancelIndex = [actionSheet addButtonWithTitle:NSLocalizedString(@"Cancel", @"")];
int cancelIndex = [actionSheet addButtonWithTitle:NSLocalizedString(@"DecoderViewController cancel button title", @"Cancel")];
actionSheet.cancelButtonIndex = cancelIndex;
actionSheet.delegate = self;

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "DoCoMoResultParser.h"

View file

@ -49,19 +49,19 @@ static NSURL *MailtoURL(NSString *to, NSString *sub, NSString *body) {
}
- (NSString *)title {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Email %@", @"action title"), self.recipient];
return [NSString localizedStringWithFormat:NSLocalizedString(@"EmailAction action title", @"Email %@"), self.recipient];
}
- (NSString *)alertTitle {
return NSLocalizedString(@"Compose Email", @"alert title");
return NSLocalizedString(@"EmailAction alert title", @"Compose Email");
}
- (NSString *)alertMessage {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Compose Email to %@?", @"alert message"), self.recipient];
return [NSString localizedStringWithFormat:NSLocalizedString(@"EmailAction alert message", @"Compose Email to %@?"), self.recipient];
}
- (NSString *)alertButtonTitle {
return NSLocalizedString(@"Compose", @"alert button title");
return NSLocalizedString(@"EmailAction alert button title", @"Compose");
}

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "DoCoMoResultParser.h"

View file

@ -3,26 +3,25 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "EmailDoCoMoResultParser.h"
#import "EmailParsedResult.h"
bool LooksLikeAnEmailAddress(NSString *s) {
if ([s rangeOfString:@"@"].location == NSNotFound) {
return false;
}
if ([s rangeOfString:@"."].location == NSNotFound) {
return false;
}
if ([s rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]].location != NSNotFound) {
return false;
}
return true;
}
@implementation EmailDoCoMoResultParser
+ (ParsedResult *)parsedResultForString:(NSString *)s {

View file

@ -32,4 +32,6 @@
@property (nonatomic, copy) NSString *subject;
@property (nonatomic, copy) NSString *body;
+ (bool) looksLikeAnEmailAddress:(NSString *)s;
@end

View file

@ -22,26 +22,42 @@
#import "EmailParsedResult.h"
#import "EmailAction.h"
@implementation EmailParsedResult
@synthesize to;
@synthesize subject;
@synthesize body;
+ (bool) looksLikeAnEmailAddress:(NSString *)s {
if ([s rangeOfString:@"@"].location == NSNotFound) {
return false;
}
if ([s rangeOfString:@"."].location == NSNotFound) {
return false;
}
if ([s rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]].location != NSNotFound) {
return false;
}
return true;
}
- (NSString *)stringForDisplay {
NSMutableString *result = [NSMutableString string];
[result appendFormat:@"To: %@", self.to];
NSMutableArray *parts = [[NSMutableArray alloc] initWithCapacity:10];
[parts addObject:[NSString stringWithFormat:NSLocalizedString(@"EmailParsedResult Display: Recipient", @"To: %@"), self.to]];
if (self.subject) {
[result appendFormat:@"\nSubject: %@", self.subject];
[parts addObject:[NSString stringWithFormat:NSLocalizedString(@"EmailParsedResult Display: Subject", @"Subject: %@"), self.subject]];
}
if (self.body) {
[result appendFormat:@"\n\n%@", self.body];
[parts addObject:@""];
[parts addObject:[NSString stringWithFormat:NSLocalizedString(@"EmailParsedResult Display: Body", @"%@"), self.body]];
}
return [NSString stringWithString:result];
return [parts componentsJoinedByString:@"\n"];
}
+ (NSString *)typeName {
return @"Email";
return NSLocalizedString(@"EmailParsedResult type name", @"Email");
}
- (NSArray *)actions {

View file

@ -35,7 +35,7 @@
+ (NSString *)typeName {
return @"Geolocation";
return NSLocalizedString(@"GeoParsedResult type name", @"Geolocation");
}
- (UIImage *)icon {
@ -44,7 +44,7 @@
- (NSString *)stringForDisplay {
return [NSString stringWithFormat:@"Geo: %@", self.location];
return [NSString stringWithFormat:NSLocalizedString(@"GeoParsedResult display", @"Geo: %@"), self.location];
}
- (void)populateActions {

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "GeoResultParser.h"
#import "GeoParsedResult.h"

View file

@ -0,0 +1,45 @@
//
// HintsViewController.h
// ZXing
//
// Created by Christian Brunschen on 30/07/2008.
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
@interface HintsViewController : UIViewController <UIWebViewDelegate> {
id callbackTarget;
SEL callbackSelectorSuccess;
SEL callbackSelectorFailure;
NSString *contentPath;
NSURL *contentURL;
NSString *content;
}
@property (nonatomic, retain) id callbackTarget;
@property (nonatomic, assign) SEL callbackSelectorSuccess;
@property (nonatomic, assign) SEL callbackSelectorFailure;
@property (nonatomic, readonly) UIWebView *webView;
@property (nonatomic, copy) NSString *contentPath;
@property (nonatomic, retain) NSURL *contentURL;
@property (nonatomic, copy) NSString *content;
- (id)initWithTarget:(id)cbt onSuccess:(SEL)ss onFailure:(SEL)fs;
@end

View file

@ -0,0 +1,90 @@
//
// HintsViewController.m
// ZXing
//
// Created by Christian Brunschen on 30/07/2008.
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "HintsViewController.h"
@implementation HintsViewController
@synthesize callbackTarget;
@synthesize callbackSelectorSuccess;
@synthesize callbackSelectorFailure;
@synthesize contentPath;
@synthesize contentURL;
@synthesize content;
- (UIWebView *)webView {
return (UIWebView *)self.view;
}
- (id)initWithTarget:(id)cbt onSuccess:(SEL)ss onFailure:(SEL)fs {
if (self = [super initWithNibName:@"Hints" bundle:nil]) {
self.callbackTarget = cbt;
self.callbackSelectorSuccess = ss;
self.callbackSelectorFailure = fs;
self.contentPath = [[NSBundle mainBundle] pathForResource:@"Hints" ofType:@"html"];
self.contentURL = [NSURL fileURLWithPath:self.contentPath];
self.content = [NSString stringWithContentsOfFile:self.contentPath];
}
return self;
}
- (void)loadView {
[super loadView];
self.webView.delegate = self;
[self.webView loadHTMLString:self.content baseURL:self.contentURL];
}
- (void)viewDidLoad {
[super viewDidLoad];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
// Release anything that's not essential, such as cached data
}
- (void)dealloc {
[super dealloc];
}
// UIWebViewDelegate methods
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
NSLog(@"failed to load content, performing failure callback");
[self.callbackTarget performSelector:self.callbackSelectorFailure withObject:self afterDelay:0.0];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"finished loading content, performing success callback");
[self.callbackTarget performSelector:self.callbackSelectorSuccess withObject:self afterDelay:0.0];
}
@end

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "DoCoMoResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "MeCardParser.h"
#import "BusinessCardParsedResult.h"

View file

@ -38,19 +38,19 @@
}
- (NSString *)title {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Open URL", @"action title"), self.URL];
return [NSString localizedStringWithFormat:NSLocalizedString(@"OpenURLAction action title", @"Open URL"), self.URL];
}
- (NSString *)alertTitle {
return NSLocalizedString(@"Open URL", @"alert title");
return NSLocalizedString(@"OpenURLAction alert title", @"Open URL");
}
- (NSString *)alertMessage {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Open URL <%@>?", @"alert message"), self.URL];
return [NSString localizedStringWithFormat:NSLocalizedString(@"OpenURLAction alert message", @"Open URL <%@>?"), self.URL];
}
- (NSString *)alertButtonTitle {
return NSLocalizedString(@"Open", @"alert button title");
return NSLocalizedString(@"OpenURLAction alert button title", @"Open");
}
- (void)performActionWithController:(UIViewController *)controller
@ -59,7 +59,7 @@
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil
message:[self alertMessage]
delegate:self
cancelButtonTitle:NSLocalizedString(@"Cancel", @"cancel button title")
cancelButtonTitle:NSLocalizedString(@"OpenURLAction cancel button title", @"Cancel")
otherButtonTitles:[self alertButtonTitle], nil];
[alertView show];
[alertView release];

View file

@ -0,0 +1,30 @@
//
// PlainEmailResultParser.h
// ZXing
//
// Created by Christian Brunschen on 28/07/2008.
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"
@interface PlainEmailResultParser : ResultParser {
}
@end

View file

@ -0,0 +1,36 @@
//
// PlainEmailResultParser.m
// ZXing
//
// Created by Christian Brunschen on 28/07/2008.
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "PlainEmailResultParser.h"
#import "EmailParsedResult.h"
@implementation PlainEmailResultParser
+ (ParsedResult *)parsedResultForString:(NSString *)s {
if ([EmailParsedResult looksLikeAnEmailAddress:s]) {
EmailParsedResult *result = [[[EmailParsedResult alloc] init] autorelease];
[result setTo:s];
return result;
}
return nil;
}
@end

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ParsedResult.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "ResultParser.h"
@ -18,6 +31,7 @@
#import "TextResultParser.h"
#import "SMSResultParser.h"
#import "SMSTOResultParser.h"
#import "PlainEmailResultParser.h"
@implementation ResultParser
@ -35,6 +49,7 @@ static NSArray *resultParsers = nil;
[SMSResultParser class],
[URLTOResultParser class],
[URLResultParser class],
[PlainEmailResultParser class],
[TextResultParser class],
nil];
}
@ -46,8 +61,14 @@ static NSArray *resultParsers = nil;
NSLog(@"parsing result:\n<<<\n%@\n>>>\n", s);
#endif
for (Class c in [self resultParsers]) {
#ifdef DEBUG
NSLog(@"trying %@", NSStringFromClass(c));
#endif
ParsedResult *result = [c parsedResultForString:s];
if (result != nil) {
#ifdef DEBUG
NSLog(@"parsed as %@ %@", NSStringFromClass([result class]), result);
#endif
return result;
}
}

View file

@ -62,19 +62,19 @@
}
- (NSString *)title {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Compose SMS to %@", @"action title"), self.number];
return [NSString localizedStringWithFormat:NSLocalizedString(@"SMSAction action title", @"Compose SMS to %@"), self.number];
}
- (NSString *)alertTitle {
return NSLocalizedString(@"Compose", @"alert title");
return NSLocalizedString(@"SMSAction alert title", @"Compose");
}
- (NSString *)alertMessage {
return [NSString localizedStringWithFormat:NSLocalizedString(@"Compose SMS to %@?", @"alert message"), self.number];
return [NSString localizedStringWithFormat:NSLocalizedString(@"SMSAction alert message", @"Compose SMS to %@?"), self.number];
}
- (NSString *)alertButtonTitle {
return NSLocalizedString(@"Compose", @"alert button title");
return NSLocalizedString(@"SMSAction alert button title", @"Compose");
}
- (void) dealloc {

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ParsedResult.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "SMSParsedResult.h"
#import "SMSAction.h"
@ -31,7 +44,7 @@
+ (NSString *)typeName {
return @"SMS";
return NSLocalizedString(@"SMSParsedResult type name", @"SMS");
}
- (UIImage *)icon {

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "SMSResultParser.h"
#import "SMSParsedResult.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "SMSTOResultParser.h"
#import "SMSParsedResult.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 30/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 30/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "ScanCell.h"
#import "Scan.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 24/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "Scan.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 24/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "ScanViewController.h"
#import "ResultAction.h"
@ -29,7 +42,7 @@
if (self = [super initWithStyle:UITableViewStyleGrouped]) {
self.result = r;
self.scan = s;
self.title = NSLocalizedString(@"Scan", @"scan view controller title");
self.title = NSLocalizedString(@"ScanViewController title", @"Scan");
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
[dateFormatter setTimeStyle:NSDateFormatterLongStyle];

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 01/07/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 01/07/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "ScannedImageView.h"
#import <math.h>

View file

@ -44,19 +44,19 @@ static NSURL * URLForLocation(NSString *location) {
}
- (NSString *)title {
return NSLocalizedString(@"Show on Map", @"action title");
return NSLocalizedString(@"ShowMapAction action title", @"Show on Map");
}
- (NSString *)alertTitle {
return NSLocalizedString(@"Show on Map", @"alert title");
return NSLocalizedString(@"ShowMapAction alert title", @"Show on Map");
}
- (NSString *)alertMessage {
return [NSString stringWithFormat:NSLocalizedString(@"Show location %@ on Map ?", @"alert message"), self.location];
return [NSString stringWithFormat:NSLocalizedString(@"ShowMapAction alert message", @"Show location %@ on Map ?"), self.location];
}
- (NSString *)alertButtonTitle {
return NSLocalizedString(@"Show", @"alert button title");
return NSLocalizedString(@"ShowMapAction alert button title", @"Show");
}

View file

@ -39,7 +39,7 @@
+ (NSString *)typeName {
return @"Tel";
return NSLocalizedString(@"TelParsedResult type name", @"Tel");
}
- (UIImage *)icon {

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "TelResultParser.h"
#import "TelParsedResult.h"

View file

@ -20,6 +20,7 @@
*/
#import "TextParsedResult.h"
#import "EmailAction.h"
@implementation TextParsedResult
@ -34,7 +35,7 @@
}
+ (NSString *)typeName {
return @"Text";
return NSLocalizedString(@"TextParsedResult type name", @"Text");
}
- (UIImage *)icon {
@ -46,6 +47,7 @@
}
- (void) populateActions {
//[actions addObject:[EmailAction actionWithRecipient:@"recipient@domain" subject:@"QR Code Contents" body:text]];
}
- (void)dealloc {

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "TextResultParser.h"
#import "TextParsedResult.h"

View file

@ -63,7 +63,7 @@
}
+ (NSString *)typeName {
return @"URI";
return NSLocalizedString(@"URIParsedResult type name", @"URI");
}
- (UIImage *)icon {

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "URLResultParser.h"
#import "URIParsedResult.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 <UIKit/UIKit.h>
#import "ResultParser.h"

View file

@ -3,8 +3,21 @@
// ZXing
//
// Created by Christian Brunschen on 25/06/2008.
// Copyright 2008 Google Inc. All rights reserved.
//
/*
* Copyright 2008 ZXing authors
*
* Licensed 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 "URLTOResultParser.h"
#import "URIParsedResult.h"

File diff suppressed because it is too large Load diff

BIN
iphone/de.lproj/Hints.html Normal file

Binary file not shown.

132
iphone/de.lproj/Hints.xib Normal file
View file

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
<data>
<int key="IBDocument.SystemTarget">512</int>
<string key="IBDocument.SystemVersion">9E17</string>
<string key="IBDocument.InterfaceBuilderVersion">670</string>
<string key="IBDocument.AppKitVersion">949.33</string>
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
</object>
<object class="IBProxyObject" id="711762367">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
<object class="IBUIWebView" id="221386056">
<nil key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 460}</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
<bool key="IBUIScalesPageToFit">YES</bool>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="221386056"/>
</object>
<int key="connectionID">5</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<object class="NSArray" key="object" id="360949347">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="360949347"/>
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="711762367"/>
<reference key="parent" ref="360949347"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="221386056"/>
<reference key="parent" ref="360949347"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>4.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>HintsViewController</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">5</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">HintsViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/HintsViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<nil key="IBDocument.LastKnownRelativeProjectPath"/>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View file

@ -1,65 +1,135 @@
/* Add Contact */
"Add Contact" = "Kontakt Dazulegen";
/* Add Contact? */
"AddContactAction alert message" = "Kontaktinfo speichern?";
/* alert title
alert button title */
"Call" = "Anrufen";
/* Cancel */
"AddContactAction cancel button title" = "Abbrechen";
/* action title */
"Call %@" = "%@ Anrufen";
/* Add Contact */
"AddContactAction confirm button title" = "Kontaktinfo speichern";
/* alert message */
"Call %@?" = "%@ Anrufen?";
/* Add Contact */
"AddContactAction title" = "Kontaktinfo speichern";
/* cancel button title */
"Cancel" = "Abbrechen";
/* Call %@ */
"CallAction action title" = "%@ Anrufen";
/* alert title
alert button title */
"Compose" = "Schreiben";
/* Call */
"CallAction alert button title" = "Anrufen";
/* alert title */
"Compose Email" = "Email Schreiben";
/* Call %@? */
"CallAction alert message" = "%@ Anrufen?";
/* alert message */
"Compose Email to %@?" = "Email an %@ Schreiben?";
/* Call */
"CallAction alert title" = "Anrufen";
/* action title */
"Compose SMS to %@" = "SMS an %@";
/* Compose */
"SMSAction alert title" = "Schreiben";
/* alert message */
"Compose SMS to %@?" = "SMS an %@ Schreiben?";
/* Contact */
"Contact Result Type Name" = "Kontakt";
/* shown while image is decoding */
"Decoding image (%.0fx%.0f) ..." = "Dekodiert Bild (%1$.0fx%2$.0f) ...";
/* No barcode detected. */
"Decoder BarcodeDetectionFailure" = "Kein Strichkod gefunden.";
/* action title */
"Email %@" = "Email an %@";
/* Decoding ... */
"Decoder MessageWhileDecoding" = "Dekodiert ...";
/* alert button title */
"Open" = "Öffnen";
/* ZXing */
"DecoderViewController AppTitle" = "Scanner";
/* action title */
"Open %@" = "%@ Öffnen";
/* Cancel */
"DecoderViewController cancel button title" = "Abbrechen";
/* alert title */
"Open URL" = "Link Öffnen";
/* Hints */
"DecoderViewController HintsViewController title" = "Tips";
/* alert message */
"Open URL <%@>?" = "Link <%@> Öffnen?";
/* Decoding image (%.0fx%.0f) ... */
"DecoderViewController MessageWhileDecodingWithDimensions" = "Dekodiert Bild (%.0fx%.0f) ...";
/* No comment provided by engineer. */
"Please take or choose a picture containing a barcode" = "Bitte nehmen oder wählen Sie ein Bild mit Strichkod";
/* Please take or choose a picture containing a barcode */
"DecoderViewController take or choose picture" = "Bitte nehmen oder wählen Sie ein Bild mit Strichkod";
/* alert button title */
"Show" = "Zeigen";
/* Email %@ */
"EmailAction action title" = "Email an %@";
/* alert message */
"Show location %@ on Map ?" = "Platz %@ auf der Karte Zeigen?";
/* Compose */
"EmailAction alert button title" = "Schreiben";
/* action title
alert title */
"Show on Map" = "Auf Karte Zeigen";
/* Compose Email to %@? */
"EmailAction alert message" = "Email an %@ schreiben?";
/* Compose Email */
"EmailAction alert title" = "Email schreiben";
/* %@ */
"EmailParsedResult Display: Body" = "%@";
/* To: %@ */
"EmailParsedResult Display: Recipient" = "An: %@";
/* Subject: %@ */
"EmailParsedResult Display: Subject" = "Betreff: %@";
/* Email */
"EmailParsedResult type name" = "Email";
/* Geo: %@ */
"GeoParsedResult display" = "Geo: %@";
/* Geolocation */
"GeoParsedResult type name" = "Platz";
/* Open URL */
"OpenURLAction action title" = "Link öffnen";
/* Open */
"OpenURLAction alert button title" = "Öffnen";
/* Open URL <%@>? */
"OpenURLAction alert message" = "Link <%@> öffnen?";
/* Open URL */
"OpenURLAction alert title" = "Link öffnen";
/* Cancel */
"OpenURLAction cancel button title" = "Abbrechen";
/* Scan Archive */
"ScanArchiveTitle" = "Scan Archiv";
/* Scan */
"ScanViewController title" = "Scan";
/* Show on Map */
"ShowMapAction action title" = "Auf der Karte zeigen";
/* Show */
"ShowMapAction alert button title" = "Zeigen";
/* Show location %@ on Map ? */
"ShowMapAction alert message" = "Platz %@ auf der Karte Zeigen?";
/* Show on Map */
"ShowMapAction alert title" = "Auf der Karte zeigen";
/* Compose SMS to %@ */
"SMSAction action title" = "SMS an %@ schreiben";
/* Compose */
"SMSAction alert button title" = "Schreiben";
/* Compose SMS to %@? */
"SMSAction alert message" = "SMS an %@ schreiben?";
/* SMS */
"SMSParsedResult type name" = "SMS";
/* Tel */
"TelParsedResult type name" = "Telefon";
/* Text */
"TextParsedResult type name" = "Text";
/* URI */
"URIParsedResult type name" = "Link";
/* No barcode detected */
"No barcode detected." = "Kein Strichkod gefunden.";

View file

@ -0,0 +1,17 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>Barcode Hints</title>
<style type="text/css">
</style>
<meta name="viewport" content="width=device-width; initial-scale=1.0">
</head>
<body style="background-color: black; color: white; font-family: sans-serif;">
<p>The
iPhone camera has a fixed focus depth, which works well for many
situations but is not ideal for scanning barcodes. Specifically, anything that is too close to the camera will look fuzzy
and will be difficult to decode. For best barcode scanning results:</p><ul><li>Take the picture from a distance of at least 2 feet / 60 cm</li><li>Use the <span style="font-style: italic;">Scale and
Move</span> screen to place the barcode centered,&nbsp;almost filling the screen</li></ul>This will give the decoder a large picture
containing mainly the barcode, which will be the easiest for it to
decode.
</body></html>

132
iphone/en.lproj/Hints.xib Normal file
View file

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
<data>
<int key="IBDocument.SystemTarget">512</int>
<string key="IBDocument.SystemVersion">9E17</string>
<string key="IBDocument.InterfaceBuilderVersion">670</string>
<string key="IBDocument.AppKitVersion">949.33</string>
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
</object>
<object class="IBProxyObject" id="711762367">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
<object class="IBUIWebView" id="221386056">
<nil key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 460}</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
<bool key="IBUIScalesPageToFit">YES</bool>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="221386056"/>
</object>
<int key="connectionID">5</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<object class="NSArray" key="object" id="360949347">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="360949347"/>
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="711762367"/>
<reference key="parent" ref="360949347"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="221386056"/>
<reference key="parent" ref="360949347"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>4.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>HintsViewController</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">5</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">HintsViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/HintsViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<nil key="IBDocument.LastKnownRelativeProjectPath"/>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View file

@ -1,65 +1,135 @@
/* Add Contact */
"Add Contact" = "Add Contact";
/* Add Contact? */
"AddContactAction alert message" = "Add Contact?";
/* alert title
alert button title */
"Call" = "Call";
/* Cancel */
"AddContactAction cancel button title" = "Cancel";
/* action title */
"Call %@" = "Call %@";
/* Add Contact */
"AddContactAction confirm button title" = "Add Contact";
/* alert message */
"Call %@?" = "Call %@?";
/* Add Contact */
"AddContactAction title" = "Add Contact";
/* cancel button title */
"Cancel" = "Cancel";
/* Call %@ */
"CallAction action title" = "Call %@";
/* alert title
alert button title */
"Compose" = "Compose";
/* Call */
"CallAction alert button title" = "Call";
/* alert title */
"Compose Email" = "Compose Email";
/* Call %@? */
"CallAction alert message" = "Call %@?";
/* alert message */
"Compose Email to %@?" = "Compose Email to %@?";
/* Call */
"CallAction alert title" = "Call";
/* action title */
"Compose SMS to %@" = "Compose SMS to %@";
/* Compose */
"SMSAction alert title" = "Compose";
/* alert message */
"Compose SMS to %@?" = "Compose SMS to %@?";
/* Contact */
"Contact Result Type Name" = "Contact";
/* shown while image is decoding */
"Decoding image (%.0fx%.0f) ..." = "Decoding image (%1$.0fx%2$.0f) ...";
/* No barcode detected. */
"Decoder BarcodeDetectionFailure" = "No barcode detected.";
/* action title */
"Email %@" = "Email %@";
/* Decoding ... */
"Decoder MessageWhileDecoding" = "Decoding ...";
/* alert button title */
"Open" = "Open";
/* ZXing */
"DecoderViewController AppTitle" = "Scanner";
/* action title */
"Open %@" = "Open %@";
/* Cancel */
"DecoderViewController cancel button title" = "Cancel";
/* alert title */
"Open URL" = "Open URL";
/* Hints */
"DecoderViewController HintsViewController title" = "Hints";
/* alert message */
"Open URL <%@>?" = "Open URL <%@>?";
/* Decoding image (%.0fx%.0f) ... */
"DecoderViewController MessageWhileDecodingWithDimensions" = "Decoding image (%.0fx%.0f) ...";
/* No comment provided by engineer. */
"Please take or choose a picture containing a barcode" = "Please take or choose a picture containing a barcode";
/* Please take or choose a picture containing a barcode */
"DecoderViewController take or choose picture" = "Please take or choose a picture containing a barcode";
/* alert button title */
"Show" = "Show";
/* Email %@ */
"EmailAction action title" = "Email %@";
/* alert message */
"Show location %@ on Map ?" = "Show location %@ on Map ?";
/* Compose */
"EmailAction alert button title" = "Compose";
/* action title
alert title */
"Show on Map" = "Show on Map";
/* Compose Email to %@? */
"EmailAction alert message" = "Compose Email to %@?";
/* Compose Email */
"EmailAction alert title" = "Compose Email";
/* %@ */
"EmailParsedResult Display: Body" = "%@";
/* To: %@ */
"EmailParsedResult Display: Recipient" = "To: %@";
/* Subject: %@ */
"EmailParsedResult Display: Subject" = "Subject: %@";
/* Email */
"EmailParsedResult type name" = "Email";
/* Geo: %@ */
"GeoParsedResult display" = "Geo: %@";
/* Geolocation */
"GeoParsedResult type name" = "Geolocation";
/* Open URL */
"OpenURLAction action title" = "Open URL";
/* Open */
"OpenURLAction alert button title" = "Open";
/* Open URL <%@>? */
"OpenURLAction alert message" = "Open URL <%@>?";
/* Open URL */
"OpenURLAction alert title" = "Open URL";
/* Cancel */
"OpenURLAction cancel button title" = "Cancel";
/* Scan Archive */
"ScanArchiveTitle" = "Scan Archive";
/* Scan */
"ScanViewController title" = "Scan";
/* Show on Map */
"ShowMapAction action title" = "Show on Map";
/* Show */
"ShowMapAction alert button title" = "Show";
/* Show location %@ on Map ? */
"ShowMapAction alert message" = "Show location %@ on Map?";
/* Show on Map */
"ShowMapAction alert title" = "Show on Map";
/* Compose SMS to %@ */
"SMSAction action title" = "Compose SMS to %@";
/* Compose */
"SMSAction alert button title" = "Compose";
/* Compose SMS to %@? */
"SMSAction alert message" = "Compose SMS to %@?";
/* SMS */
"SMSParsedResult type name" = "SMS";
/* Tel */
"TelParsedResult type name" = "Tel";
/* Text */
"TextParsedResult type name" = "Text";
/* URI */
"URIParsedResult type name" = "URI";
/* No barcode detected */
"No barcode detected." = "No barcode detected.";

BIN
iphone/sv.lproj/Hints.html Normal file

Binary file not shown.

132
iphone/sv.lproj/Hints.xib Normal file
View file

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
<data>
<int key="IBDocument.SystemTarget">512</int>
<string key="IBDocument.SystemVersion">9E17</string>
<string key="IBDocument.InterfaceBuilderVersion">670</string>
<string key="IBDocument.AppKitVersion">949.33</string>
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
</object>
<object class="IBProxyObject" id="711762367">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
<object class="IBUIWebView" id="221386056">
<nil key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 460}</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
<bool key="IBUIScalesPageToFit">YES</bool>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="221386056"/>
</object>
<int key="connectionID">5</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<object class="NSArray" key="object" id="360949347">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="360949347"/>
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="711762367"/>
<reference key="parent" ref="360949347"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="221386056"/>
<reference key="parent" ref="360949347"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>4.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>HintsViewController</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">5</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">HintsViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/HintsViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<nil key="IBDocument.LastKnownRelativeProjectPath"/>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View file

@ -1,65 +1,135 @@
/* Add Contact */
"Add Contact" = "Lägg till Kontakt";
/* Add Contact? */
"AddContactAction alert message" = "Lägg till kontakt?";
/* alert title
alert button title */
"Call" = "Ring";
/* Cancel */
"AddContactAction cancel button title" = "Avbryt";
/* action title */
"Call %@" = "Ring %@";
/* Add Contact */
"AddContactAction confirm button title" = "Lägg till kontakt";
/* alert message */
"Call %@?" = "Ring %@?";
/* Add Contact */
"AddContactAction title" = "Lägg till kontakt";
/* cancel button title */
"Cancel" = "Avbryt";
/* Call %@ */
"CallAction action title" = "Ring %@";
/* alert title
alert button title */
"Compose" = "Skriv";
/* Call */
"CallAction alert button title" = "Ring";
/* alert title */
"Compose Email" = "Skriv Epost";
/* Call %@? */
"CallAction alert message" = "Ring %@?";
/* alert message */
"Compose Email to %@?" = "Skriv Epost to %@?";
/* Call */
"CallAction alert title" = "Ring";
/* action title */
"Compose SMS to %@" = "Skriv SMS to %@";
/* Compose */
"SMSAction alert title" = "Skriv";
/* alert message */
"Compose SMS to %@?" = "Skriv SMS to %@?";
/* Contact */
"Contact Result Type Name" = "Kontakt";
/* shown while image is decoding */
"Decoding image (%.0fx%.0f) ..." = "Avkodar bild (%1$.0fx%2$.0f) ...";
/* No barcode detected. */
"Decoder BarcodeDetectionFailure" = "Ingen streckkod hittades.";
/* action title */
"Email %@" = "Epost till %@";
/* Decoding ... */
"Decoder MessageWhileDecoding" = "Avkodar ...";
/* alert button title */
"Open" = "Öppna";
/* ZXing */
"DecoderViewController AppTitle" = "Scanner";
/* action title */
"Open %@" = "Öppna %@";
/* Cancel */
"DecoderViewController cancel button title" = "Avbryt";
/* alert title */
"Open URL" = "Öppna Länk";
/* Hints */
"DecoderViewController HintsViewController title" = "Tips";
/* alert message */
"Open URL <%@>?" = "Öppna Länk <%@>?";
/* Decoding image (%.0fx%.0f) ... */
"DecoderViewController MessageWhileDecodingWithDimensions" = "Avkodar bild (%.0fx%.0f) ...";
/* No comment provided by engineer. */
"Please take or choose a picture containing a barcode" = "Tag eller välj en bild med streckkod";
/* Please take or choose a picture containing a barcode */
"DecoderViewController take or choose picture" = "Tag eller välj en bild som innehåller en streckkod";
/* alert button title */
"Show" = "Visa";
/* Email %@ */
"EmailAction action title" = "Mejla %@";
/* alert message */
"Show location %@ on Map ?" = "Visa plats %@ på Karta?";
/* Compose */
"EmailAction alert button title" = "Skriv";
/* action title
alert title */
"Show on Map" = "Visa på Karta";
/* Compose Email to %@? */
"EmailAction alert message" = "Skriv mejl till %@?";
/* Compose Email */
"EmailAction alert title" = "Skriv mejl";
/* %@ */
"EmailParsedResult Display: Body" = "%@";
/* To: %@ */
"EmailParsedResult Display: Recipient" = "Till: %@";
/* Subject: %@ */
"EmailParsedResult Display: Subject" = "Angående: %@";
/* Email */
"EmailParsedResult type name" = "Mejl";
/* Geo: %@ */
"GeoParsedResult display" = "Plats: %@";
/* Geolocation */
"GeoParsedResult type name" = "Geografisk plats";
/* Open URL */
"OpenURLAction action title" = "Öppna länk";
/* Open */
"OpenURLAction alert button title" = "Öppna";
/* Open URL <%@>? */
"OpenURLAction alert message" = "Öppna länk <%@>?";
/* Open URL */
"OpenURLAction alert title" = "Öppna länk";
/* Cancel */
"OpenURLAction cancel button title" = "Avbryt";
/* Scan Archive */
"ScanArchiveTitle" = "Tidigare Streckkoder";
/* Scan */
"ScanViewController title" = "Streckkod";
/* Show on Map */
"ShowMapAction action title" = "Visa på karta";
/* Show */
"ShowMapAction alert button title" = "Visa";
/* Show location %@ on Map ? */
"ShowMapAction alert message" = "Visa plats %@ på karta?";
/* Show on Map */
"ShowMapAction alert title" = "Visa på karta";
/* Compose SMS to %@ */
"SMSAction action title" = "Skriv SMS till %@";
/* Compose */
"SMSAction alert button title" = "Skriv";
/* Compose SMS to %@? */
"SMSAction alert message" = "Skriv SMS till %@?";
/* SMS */
"SMSParsedResult type name" = "SMS";
/* Tel */
"TelParsedResult type name" = "Telefon";
/* Text */
"TextParsedResult type name" = "Text";
/* URI */
"URIParsedResult type name" = "Länk";
/* No barcode detected */
"No barcode detected." = "Hittade ingen streckkod.";