From 78b2eabc8753056fd363db6fc449bbcddec9fcb8 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Tue, 14 Jul 2015 20:28:25 +0100 Subject: Translatable strings for simplewallet The system is mostly the Qt system, but we don't use Qt to avoid the dependencies. See README.i18n for details. --- src/common/CMakeLists.txt | 6 ++++-- src/common/i18n.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 src/common/i18n.h (limited to 'src/common') diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 620e1add9..b1db006d9 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -30,7 +30,8 @@ set(common_sources base58.cpp command_line.cpp dns_utils.cpp - util.cpp) + util.cpp + i18n.cpp) set(common_headers) @@ -46,7 +47,8 @@ set(common_private_headers scoped_message_writer.h unordered_containers_boost_serialization.h util.h - varint.h) + varint.h + i18n.h) bitmonero_private_headers(common ${common_private_headers}) diff --git a/src/common/i18n.h b/src/common/i18n.h new file mode 100644 index 000000000..2aeac2287 --- /dev/null +++ b/src/common/i18n.h @@ -0,0 +1,36 @@ +// Copyright (c) 2014-2015, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#pragma once + +#define QT_TRANSLATE_NOOP(context,str) i18n_translate(str,context) + +int i18n_set_language(const char *directory, const char *base); +const char *i18n_translate(const char *str, const std::string &context); +static inline std::string get_default_i18n_context() { return std::string(); } +static inline const char *tr(const char *str) { return i18n_translate(str,get_default_i18n_context()); } -- cgit v1.2.3