1 /*
2   Copyright (C) 2004-2005 SKYRIX Software AG
3 
4   This file is part of OpenGroupware.org.
5 
6   OGo is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10 
11   OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15 
16   You should have received a copy of the GNU Lesser General Public
17   License along with OGo; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21 
22 #ifndef __WEExtensions_WEStringTableManager_H__
23 #define __WEExtensions_WEStringTableManager_H__
24 
25 #import <Foundation/NSObject.h>
26 
27 /*
28   WEStringTableManager
29 
30   This class manages the lookup and processing of string tables (that is, the
31   ".strings" files containing label translations)
32 
33   The class is used by the WEResourceManager.
34 */
35 
36 @class NSString, NSArray, NSMutableDictionary;
37 @class WOComponent;
38 
39 @interface WEStringTableManager : NSObject
40 {
41   NSMutableDictionary *nameToTable;
42   NSMutableDictionary *compLabelCache;
43 }
44 
45 + (NSArray *)availableTranslations;
46 
47 /* string tables */
48 
49 - (NSString *)labelForKey:(NSString *)_key component:(WOComponent *)_component;
50 
51 - (NSString *)stringForKey:(NSString *)_key
52   inTableNamed:(NSString *)_tableName
53   withDefaultValue:(NSString *)_default
54   languages:(NSArray *)_languages;
55 
56 - (id)stringTableWithName:(NSString *)_tableName
57   inFramework:(NSString *)_framework
58   languages:(NSArray *)_languages;
59 
60 @end
61 
62 
63 #include <NGObjWeb/WOApplication.h>
64 
65 @interface WOApplication(WEStringTableManager)
66 
67 - (NSString *)shareTranslationsDirectoryName;
68 - (NSString *)gsTranslationsDirectoryName;
69 
70 @end
71 
72 #endif /* __WEExtensions_WEStringTableManager_H__ */
73