locales/loce32/language/src/language_ja.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 16:13:36 +0300
branchRCL_3
changeset 106 e4e3998ddda2
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
* Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: 
*
*/




//  EXTERNAL RESOURCES  


//  Include Files  

#include <kernel/ls_std.h>
#include "locl_language.h"
#include "../inc/unicodeconv.h"

class ShiftJis
    {
public:
    static void ConvertFromUnicodeL(TDes8& aForeign, const TDesC16& aUnicode, const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, TFatUtilityFunctions::TOverflowAction aOverflowAction);
    static void ConvertToUnicodeL(TDes16& aUnicode, const TDesC8& aForeign, TFatUtilityFunctions::TOverflowAction aOverflowAction);
    static TBool IsLegalShortNameCharacter (TUint aCharacter);			
    };


void ShiftJis::ConvertFromUnicodeL(TDes8& aForeign, const TDesC16& aUnicode, const TDesC8& /*aReplacementForUnconvertibleUnicodeCharacters*/, TFatUtilityFunctions::TOverflowAction aOverflowAction)
    {
    TInt err = KErrNone;	
    aForeign.Zero();
    TRAP(err, UnicodeConv::ConvertFromUnicodeL(aForeign, aUnicode));
    
    // Ignore overflow errors if you're allowed to truncate the string
    if (aOverflowAction == TFatUtilityFunctions::EOverflowActionTruncate && err == KErrOverflow)
        {
        err = KErrNone;
        }

    User::LeaveIfError(err);					
    }

void ShiftJis::ConvertToUnicodeL(TDes16& aUnicode, const TDesC8& aForeign, TFatUtilityFunctions::TOverflowAction aOverflowAction)
    {
    TInt err = KErrNone;	
    aUnicode.Zero();
    TRAP(err, UnicodeConv::ConvertToUnicodeL(aUnicode, aForeign));	
    
    // Ignore overflow errors if you're allowed to truncate the string
    if (aOverflowAction == TFatUtilityFunctions::EOverflowActionTruncate && err == KErrOverflow)
        {
        err = KErrNone;
        }

    User::LeaveIfError(err);			
    }


TBool ShiftJis::IsLegalShortNameCharacter (TUint aCharacter)
    {
    return UnicodeConv::IsLegalShortNameCharacter (aCharacter);
    }


const TFatUtilityFunctions shiftJisFatUtilityFunctions=
    {
    ShiftJis::ConvertFromUnicodeL,
    ShiftJis::ConvertToUnicodeL,
    ShiftJis::IsLegalShortNameCharacter
    };


const TLanguage LanguageAspect::Language = ELangJapanese;
const TLanguage LanguageAspect::LanguageDowngrade[3] = {ELangNone, ELangNone, ELangNone};
const TDigitType LanguageAspect::DigitType = EDigitTypeWestern;
const TFatUtilityFunctions* const LanguageAspect::FatUtilityFunctions = &shiftJisFatUtilityFunctions;
    


//  LOCAL CONSTANTS AND MACROS  
const TText * const LanguageAspect::MsgTable[ELocaleMessages_LastMsg] =
    {
// Fileserver
    _S("\x518D\x8A66\x884C"),                                      // Button 1
    _S("\x505C\x6B62"),                                       // Button 2
    _S("\x30C7\x30A3\x30B9\x30AF\x3092\x623B\x3057\x3066\x304F\x3060\x3055\x3044"),                             // Put the card back - line1
    _S("\x30C7\x30FC\x30BF\x304C\x5931\x308F\x308C\x3066\x3057\x307E\x3044\x307E\x3059"),                           // Put the card back - line2
    _S("\x96FB\x6C60\x304C\x6B8B\x308A\x5C11\x306A\x3044\x3067\x3059"),                            // Low power - line1
    _S("\x30C7\x30A3\x30B9\x30AF\x3078\x306E\x66F8\x304D\x8FBC\x307F\x3092\x5B8C\x4E86\x3067\x304D\x307E\x305B\x3093"),                  // Low power - line2
    _S("\x30C7\x30A3\x30B9\x30AF\x30A8\x30E9\x30FC\x3067\x3059\x3002\x66F8\x304D\x8FBC\x307F\x3092\x5B8C\x4E86\x3067\x304D\x307E\x305B\x3093"),                                  // Disk error - line1
    _S("\x518D\x8A66\x884C\x3057\x306A\x3044\x3068\x30C7\x30FC\x30BF\x304C\x5931\x308F\x308C\x3066\x3057\x307E\x3044\x307E\x3059"),                      // Disk error - line2
// SoundDriver
    _S("\30C1\x30E3\x30A4\x30E0"),                                     // Chimes
    _S("\30EA\x30F3\x30B0"),                                      // Rings
    _S("\4FE1\x53F7"),                                     // Signal
// MediaDriver diskname (max 16 chars)
    _S("Internal"),                             // Internal
    _S("External(01)"),                         // External(01)
    _S("External(02)"),                         // External(02)
    _S("External(03)"),                         // External(03)
    _S("External(04)"),                         // External(04)
    _S("External(05)"),                         // External(05)
    _S("External(06)"),                         // External(06)
    _S("External(07)"),                         // External(07)
    _S("External(08)"),                         // External(08)
// MediaDriver socketname (max 16 chars)
    _S("Socket(01)"),                           // Socket(01)
    _S("Socket(02)"),                           // Socket(02)
    _S("Socket(03)"),                           // Socket(03)
    _S("Socket(04)")                            // Socket(04)
    };

// The suffix table
const TText * const LanguageAspect::DateSuffixTable[KMaxSuffixes] =
    {
    _S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),
    _S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),
    _S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),
    _S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),
    _S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),
    _S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),_S("\x65e5"),
    _S("\x65e5")
    };
// The day names
const TText * const LanguageAspect::DayTable[KMaxDays] =
    {
    _S("\x6708\x66dc\x65e5"),
    _S("\x706b\x66dc\x65e5"),
    _S("\x6c34\x66dc\x65e5"),
    _S("\x6728\x66dc\x65e5"),
    _S("\x91d1\x66dc\x65e5"),
    _S("\x571f\x66dc\x65e5"),
    _S("\x65e5\x66dc\x65e5")
    };
// The abbreviated day names
const TText * const LanguageAspect::DayAbbTable[KMaxDays] =
    {
    _S("\x6708"),
    _S("\x706b"),
    _S("\x6c34"),
    _S("\x6728"),
    _S("\x91d1"),
    _S("\x571f"),
    _S("\x65e5")
    };
// The month names
const TText * const LanguageAspect::MonthTable[KMaxMonths] =
    {
    _S("\xff11"),
    _S("\xff12"),
    _S("\xff13"),
    _S("\xff14"),
    _S("\xff15"),
    _S("\xff16"),
    _S("\xff17"),
    _S("\xff18"),
    _S("\xff19"),
    _S("10"),
    _S("11"),
    _S("12")
    };
// The abbreviated month names
const TText * const LanguageAspect::MonthAbbTable[KMaxMonths] =
    {
    _S("1"),
    _S("2"),
    _S("3"),
    _S("4"),
    _S("5"),
    _S("6"),
    _S("7"),
    _S("8"),
    _S("9"),
    _S("10"),
    _S("11"),
    _S("12"),
    };
// The am/pm strings
const TText * const LanguageAspect::AmPmTable[KMaxAmPms] = {_S("AM"),_S("PM")};



//  End of File