ZenLib
Translation.h
Go to the documentation of this file.
1/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
2 *
3 * Use of this source code is governed by a zlib-style license that can
4 * be found in the License.txt file in the root of the source tree.
5 */
6
7//---------------------------------------------------------------------------
8#ifndef ZenLib_TranslationH
9#define ZenLib_TranslationH
10//---------------------------------------------------------------------------
11
12//---------------------------------------------------------------------------
13#include "ZenLib/Ztring.h"
14#include <map>
15//---------------------------------------------------------------------------
16
17namespace ZenLib
18{
19
20//***************************************************************************
21/// @brief Helper for translation
22//***************************************************************************
23
24class Translation : public std::map<Ztring, Ztring>
25{
26public :
27 //Constructors/Destructor
29 Translation (const Ztring &Source);
30 Translation (const Char *Source);
31 #ifdef _UNICODE
32 Translation (const char *Source); //convert a UTF-8 string into Unicode
33 #endif
34
35 //In/Out
36 Ztring Get () const;
37 const Ztring &Get (const Ztring &Value);
38 Ztring Get (const Ztring &Count, const Ztring &Value);
39 void Write (const Ztring &NewLanguage); //All language in one
40 void Write (const Ztring &Value, const Ztring &NewLanguage); //Per item
41
42 //Configuration
43 /// @brief Set the Separator character
44 void Separator_Set (size_type Level, const Ztring &NewSeparator);
45 /// @brief Set the Quote character
46 /// During Read() or Write() method, if Separator is in the sequence, we must quote it
47 void Quote_Set (const Ztring &NewQuote);
48 /// @brief Set the Maximum number of element to read
49 /// During Read() or Write() method, if there is more elements, merge them with the last element
50 void Max_Set (size_type Level, size_type Max);
51
52protected :
55 size_type Max[2];
56};
57
58} //namespace
59#endif
Helper for translation.
Definition Translation.h:25
void Separator_Set(size_type Level, const Ztring &NewSeparator)
Set the Separator character.
Ztring Get() const
Translation(const Ztring &Source)
void Write(const Ztring &NewLanguage)
void Write(const Ztring &Value, const Ztring &NewLanguage)
Ztring Quote
Definition Translation.h:54
Ztring Get(const Ztring &Count, const Ztring &Value)
Ztring Separator[2]
Definition Translation.h:53
size_type Max[2]
Definition Translation.h:55
void Max_Set(size_type Level, size_type Max)
Set the Maximum number of element to read During Read() or Write() method, if there is more elements,...
const Ztring & Get(const Ztring &Value)
Translation(const Char *Source)
void Quote_Set(const Ztring &NewQuote)
Set the Quote character During Read() or Write() method, if Separator is in the sequence,...
String manipulation (based on std::(w)string)
Definition Ztring.h:50
Definition BitStream.h:24
char Char
Definition Conf.h:225