VirtualBox

source: vbox/trunk/src/VBox/Main/include/QMTranslator.h@ 90828

Last change on this file since 90828 was 90828, checked in by vboxsync, 3 years ago

Main: bugref:1909: Added API localization

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.0 KB
Line 
1/* $Id: QMTranslator.h 90828 2021-08-24 09:44:46Z vboxsync $ */
2/** @file
3 * VirtualBox API translation handling class
4 */
5
6/*
7 * Copyright (C) 2014-2020 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef MAIN_INCLUDED_QMTranslator_h
19#define MAIN_INCLUDED_QMTranslator_h
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24class QMTranslator_Impl;
25
26class QMTranslator
27{
28public:
29 QMTranslator();
30 virtual ~QMTranslator();
31
32 /**
33 * Gets translation from loaded QM file
34 *
35 * @param pszContext QM context to look for translation
36 * @param pszSource Source string in one-byte encoding
37 * @param pszDisamb Disambiguationg comment, empty by default
38 * @param iNum Plural form indicator.
39 *
40 * @returns Pointer to a translation (UTF-8 encoding), source string on failure.
41 */
42 const char *translate(const char *pszContext, const char *pszSource,
43 const char *pszDisamb = NULL, const int iNum = -1) const RT_NOEXCEPT;
44
45 /**
46 * Loads and parses QM file
47 *
48 * @param pszFilename The name of the file to load
49 * @param hStrCache The string cache to use for storing strings.
50 *
51 * @returns VBox status code.
52 */
53 int load(const char *pszFilename, RTSTRCACHE hStrCache) RT_NOEXCEPT;
54
55private:
56 /** QMTranslator implementation.
57 * To separate all the code from the interface */
58 QMTranslator_Impl *m_impl;
59
60 /* If copying is required, please define the following operators */
61 void operator=(QMTranslator &);
62 QMTranslator(const QMTranslator &);
63};
64
65#endif /* !MAIN_INCLUDED_QMTranslator_h */
66/* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette