File: translate.cpp

package info (click to toggle)
libfilezilla 0.54.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,504 kB
  • sloc: cpp: 31,105; sh: 4,241; makefile: 375; xml: 37
file content (38 lines) | stat: -rw-r--r-- 992 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "libfilezilla/translate.hpp"
#include "libfilezilla/string.hpp"

namespace fz {
namespace {
std::wstring default_translator(char const* const t)
{
	return fz::to_wstring(t);
}

std::wstring default_translator_pf(char const* const singular, char const* const plural, int64_t n)
{
	return fz::to_wstring((n == 1) ? singular : plural);
}

std::wstring(*translator)(char const* const) = default_translator;
std::wstring(*translator_pf)(char const* const singular, char const* const plural, int64_t n) = default_translator_pf;
}

void set_translators(
	std::wstring(*s)(char const* const t),
	std::wstring(*pf)(char const* const singular, char const* const plural, int64_t n)
)
{
	translator = s ? s : default_translator;
	translator_pf = pf ? pf : default_translator_pf;
}

std::wstring translate(char const * const t)
{
	return translator(t);
}

std::wstring translate(char const * const singular, char const * const plural, int64_t n)
{
	return translator_pf(singular, plural, n);
}
}