Textencoding Kit localization support added.
* Textencoding Kit now uses localized names of available encodings; * Default encoding for composing new messages in Mail application is now configurable through localization feature. Fixes #8147. * This contribution was made as part of GCI 2011 task. Signed-off-by: Siarzhuk Zharski <[email protected]>
This commit is contained in:
committed by
Siarzhuk Zharski
parent
82a05afe30
commit
d38ae623c3
@@ -56,6 +56,7 @@ Hide Mail Скрыть
|
||||
Forward without attachments Mail Переслать без вложений
|
||||
Previous Mail Предыдущее
|
||||
Redo Mail Повторить
|
||||
UTF-8 Mail This string is used as a key to set default message compose encoding. It must be correct IANA name from http://cgit.haiku-os.org/haiku-tree/src/kits/textencoding/character_sets.cpp Translate it only if you want to change default message compose encoding for your locale. If you don't know what is it and why it may needs changing, just leave \"UTF-8\". KOI8-R
|
||||
Add enclosure… Mail Добавить вложение…
|
||||
Mail System name Почта
|
||||
Print… Mail Печать…
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
1 english x-vnd.Haiku-libtextencodings 3062073902
|
||||
ISO Greek textencodings ISO Греческая
|
||||
ISO South European textencodings ISO Южноевропейская
|
||||
Chinese Big5 textencodings Китайская Big5
|
||||
ISO Hebrew textencodings ISO Иврит
|
||||
ISO Arabic textencodings ISO Арабская
|
||||
ISO Latin 9 textencodings ISO Latin 9
|
||||
Japanese Shift JIS textencodings Японская Shift JIS
|
||||
DOS Cyrillic textencodings DOS Кириллица
|
||||
Windows Cyrillic (CP 1251) textencodings Windows Кириллица (CP 1251)
|
||||
Japanese EUC textencodings Японская EUC
|
||||
Unicode textencodings Юникод
|
||||
Chinese GB18030 textencodings Китайская GB18030
|
||||
ISO North European textencodings ISO Северноевропейская
|
||||
ISO Celtic textencodings ISO Кельтская
|
||||
Unicode (UCS-2) textencodings Юникод (UCS-2)
|
||||
Windows Latin-1 (CP 1252) textencodings Windows Latin-1 (CP 1252)
|
||||
Macintosh Roman textencodings Macintosh Roman
|
||||
ISO Turkish textencodings ISO Турецкая
|
||||
Japanese JIS textencodings Японская JIS
|
||||
KOI8-R Cyrillic textencodings KOI8-R Кириллица
|
||||
ISO Baltic textencodings ISO Балтийская
|
||||
ISO Nordic textencodings ISO Nordic
|
||||
EUC Korean textencodings EUC Корейская
|
||||
ISO West European textencodings ISO Западноевропейская
|
||||
ISO East European textencodings ISO Восточноевропейская
|
||||
DOS Latin-US textencodings DOS Latin-US
|
||||
ISO Cyrillic textencodings ISO Кириллица
|
||||
@@ -45,6 +45,8 @@ of their respective holders. All rights reserved.
|
||||
|
||||
#include <Autolock.h>
|
||||
#include <Catalog.h>
|
||||
#include <CharacterSet.h>
|
||||
#include <CharacterSetRoster.h>
|
||||
#include <Clipboard.h>
|
||||
#include <Debug.h>
|
||||
#include <E-mail.h>
|
||||
@@ -114,7 +116,7 @@ TMailApp::TMailApp()
|
||||
fWarnAboutUnencodableCharacters(true),
|
||||
fStartWithSpellCheckOn(false),
|
||||
fShowSpamGUI(true),
|
||||
fMailCharacterSet(B_MS_WINDOWS_CONVERSION),
|
||||
fMailCharacterSet(B_MAIL_UTF8_CONVERSION),
|
||||
fContentFont(be_fixed_font)
|
||||
{
|
||||
// set default values
|
||||
@@ -129,6 +131,17 @@ TMailApp::TMailApp()
|
||||
TITLE_BAR_HEIGHT + kSigHeight);
|
||||
fPrefsWindowPos.Set(6, TITLE_BAR_HEIGHT);
|
||||
|
||||
const BCharacterSet *defaultComposeEncoding =
|
||||
BCharacterSetRoster::FindCharacterSetByName(
|
||||
B_TRANSLATE_COMMENT("UTF-8", "This string is used as a key to set "
|
||||
"default message compose encoding. It must be correct IANA name from "
|
||||
"http://cgit.haiku-os.org/haiku-tree/src/kits/textencoding"
|
||||
"/character_sets.cpp Translate it only if you want to change default "
|
||||
"message compose encoding for your locale. If you don't know what is "
|
||||
"it and why it may needs changing, just leave \"UTF-8\"."));
|
||||
if (defaultComposeEncoding != NULL)
|
||||
fMailCharacterSet = defaultComposeEncoding->GetConversionID();
|
||||
|
||||
// Find and read settings file.
|
||||
LoadSettings();
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ SubDir HAIKU_TOP src kits textencoding ;
|
||||
SetSubDirSupportedPlatformsBeOSCompatible ;
|
||||
AddSubDirSupportedPlatforms libbe_test ;
|
||||
|
||||
AddResources libtextencoding.so : libtextencoding.rdef ;
|
||||
|
||||
UsePrivateHeaders textencoding ;
|
||||
UseLibraryHeaders iconv ;
|
||||
|
||||
@@ -11,8 +13,15 @@ SharedLibrary libtextencoding.so :
|
||||
CharacterSetRoster.cpp
|
||||
character_sets.cpp
|
||||
utf8_conversions.cpp
|
||||
: be libiconv.a $(TARGET_LIBSUPC++) ;
|
||||
: be libiconv.a $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS) ;
|
||||
|
||||
Package haiku-maildaemon-cvs :
|
||||
libtextencoding.so :
|
||||
boot beos system lib ;
|
||||
|
||||
DoCatalogs libtextencoding.so :
|
||||
x-vnd.Haiku-libtextencoding
|
||||
:
|
||||
character_sets.cpp
|
||||
;
|
||||
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
#include <string.h>
|
||||
#include <Catalog.h>
|
||||
#include <Locale.h>
|
||||
#include <CharacterSet.h>
|
||||
#include <Debug.h>
|
||||
#include "character_sets.h"
|
||||
|
||||
#undef B_TRANSLATE_CONTEXT
|
||||
#define B_TRANSLATE_CONTEXT "textencodings"
|
||||
|
||||
namespace BPrivate {
|
||||
|
||||
/**
|
||||
@@ -18,7 +23,8 @@ static const char * unicodeAliases[] = {
|
||||
"UTF8", "unicode-1-1-utf-8",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet unicode(0,106,"Unicode","UTF-8","UTF-8",unicodeAliases);
|
||||
static const BCharacterSet unicode(0,106, B_TRANSLATE("Unicode"),
|
||||
"UTF-8", "UTF-8",unicodeAliases);
|
||||
|
||||
static const char * isoLatin1aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -27,7 +33,8 @@ static const char * isoLatin1aliases[] = {
|
||||
"819", "IBM-819", "ISO8859_1", "8859_1", "ISO8859-1",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin1(1,4,"ISO West European","ISO_8859-1:1987","ISO-8859-1",isoLatin1aliases);
|
||||
static const BCharacterSet isoLatin1(1,4, B_TRANSLATE("ISO West European"),
|
||||
"ISO_8859-1:1987","ISO-8859-1",isoLatin1aliases);
|
||||
|
||||
static const char * isoLatin2aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -36,7 +43,8 @@ static const char * isoLatin2aliases[] = {
|
||||
"iso8859_2", "8859_2", "ISO8859-2", "ibm912", "ibm-912", "cp912", "912",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin2(2,5,"ISO East European","ISO_8859-2:1987","ISO-8859-2",isoLatin2aliases);
|
||||
static const BCharacterSet isoLatin2(2,5, B_TRANSLATE("ISO East European"),
|
||||
"ISO_8859-2:1987","ISO-8859-2",isoLatin2aliases);
|
||||
|
||||
static const char * isoLatin3aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -45,7 +53,8 @@ static const char * isoLatin3aliases[] = {
|
||||
"iso8859_3", "8859_3", "iso8859-3", "ibm913", "ibm-913", "cp913", "913",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin3(3,6,"ISO South European","ISO_8859-3:1988","ISO-8859-3",isoLatin3aliases);
|
||||
static const BCharacterSet isoLatin3(3,6, B_TRANSLATE("ISO South European"),
|
||||
"ISO_8859-3:1988","ISO-8859-3",isoLatin3aliases);
|
||||
|
||||
static const char * isoLatin4aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -54,7 +63,8 @@ static const char * isoLatin4aliases[] = {
|
||||
"iso8859_4", "iso8859-4", "8859_4", "ibm914", "ibm-914", "cp914", "914",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin4(4,7,"ISO North European","ISO_8859-4:1988","ISO-8859-4",isoLatin4aliases);
|
||||
static const BCharacterSet isoLatin4(4,7, B_TRANSLATE("ISO North European"),
|
||||
"ISO_8859-4:1988","ISO-8859-4",isoLatin4aliases);
|
||||
|
||||
static const char * isoLatin5aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -63,7 +73,8 @@ static const char * isoLatin5aliases[] = {
|
||||
"iso8859_5", "8859_5", "ISO8859-5", "ibm915", "ibm-915", "cp915", "915",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin5(5,8,"ISO Cyrillic","ISO_8859-5:1988","ISO-8859-5",isoLatin5aliases);
|
||||
static const BCharacterSet isoLatin5(5,8, B_TRANSLATE("ISO Cyrillic"),
|
||||
"ISO_8859-5:1988","ISO-8859-5",isoLatin5aliases);
|
||||
|
||||
static const char * isoLatin6aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -72,7 +83,8 @@ static const char * isoLatin6aliases[] = {
|
||||
"iso8859_6", "8859_6", "ISO8859-6", "ibm1089", "ibm-1089", "cp1089", "1089",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin6(6,9,"ISO Arabic","ISO_8859-6:1987","ISO-8859-6",isoLatin6aliases);
|
||||
static const BCharacterSet isoLatin6(6,9, B_TRANSLATE("ISO Arabic"),
|
||||
"ISO_8859-6:1987","ISO-8859-6",isoLatin6aliases);
|
||||
|
||||
static const char * isoLatin7aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -81,7 +93,8 @@ static const char * isoLatin7aliases[] = {
|
||||
"iso8859_7", "8859_7", "iso8859-7", "sun_eu_greek", "ibm813", "ibm-813", "813", "cp813",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin7(7,10,"ISO Greek","ISO_8859-7:1987","ISO-8859-7",isoLatin7aliases);
|
||||
static const BCharacterSet isoLatin7(7,10, B_TRANSLATE("ISO Greek"),
|
||||
"ISO_8859-7:1987","ISO-8859-7",isoLatin7aliases);
|
||||
|
||||
static const char * isoLatin8aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -90,7 +103,8 @@ static const char * isoLatin8aliases[] = {
|
||||
"iso8859_8", "8859_8", "ISO8859-8", "cp916", "916", "ibm916", "ibm-916",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin8(8,11,"ISO Hebrew","ISO_8859-8:1988","ISO-8859-8",isoLatin8aliases);
|
||||
static const BCharacterSet isoLatin8(8,11, B_TRANSLATE("ISO Hebrew"),
|
||||
"ISO_8859-8:1988","ISO-8859-8",isoLatin8aliases);
|
||||
|
||||
static const char * isoLatin9aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -99,7 +113,8 @@ static const char * isoLatin9aliases[] = {
|
||||
"iso8859_9", "8859_9", "ibm920", "ibm-920", "920", "cp920",
|
||||
NULL
|
||||
};
|
||||
const BCharacterSet isoLatin9(9,12,"ISO Turkish","ISO_8859-9:1989","ISO-8859-9",isoLatin9aliases);
|
||||
const BCharacterSet isoLatin9(9,12, B_TRANSLATE("ISO Turkish"),
|
||||
"ISO_8859-9:1989","ISO-8859-9",isoLatin9aliases);
|
||||
|
||||
static const char * isoLatin10aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -107,7 +122,8 @@ static const char * isoLatin10aliases[] = {
|
||||
// java aliases
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet isoLatin10(10,13,"ISO Nordic","ISO-8859-10","ISO-8859-10",isoLatin10aliases);
|
||||
static const BCharacterSet isoLatin10(10,13, B_TRANSLATE("ISO Nordic"),
|
||||
"ISO-8859-10","ISO-8859-10",isoLatin10aliases);
|
||||
|
||||
static const char * macintoshAliases[] = {
|
||||
// IANA aliases
|
||||
@@ -118,7 +134,8 @@ static const char * macintoshAliases[] = {
|
||||
"x-mac-roman",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet macintosh(11,2027,"Macintosh Roman","macintosh",NULL,macintoshAliases);
|
||||
static const BCharacterSet macintosh(11,2027, B_TRANSLATE("Macintosh Roman"),
|
||||
"macintosh",NULL,macintoshAliases);
|
||||
|
||||
static const char * shiftJISaliases[] = {
|
||||
// IANA aliases
|
||||
@@ -129,7 +146,8 @@ static const char * shiftJISaliases[] = {
|
||||
"shift_jisx0213",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet shiftJIS(12,17,"Japanese Shift JIS","Shift_JIS","Shift_JIS",shiftJISaliases);
|
||||
static const BCharacterSet shiftJIS(12,17, B_TRANSLATE("Japanese Shift JIS"),
|
||||
"Shift_JIS","Shift_JIS",shiftJISaliases);
|
||||
|
||||
static const char * EUCPackedJapaneseAliases[] = {
|
||||
// IANA aliases
|
||||
@@ -140,7 +158,7 @@ static const char * EUCPackedJapaneseAliases[] = {
|
||||
"euc-jisx0213",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet packedJapanese(13,18,"Japanese EUC",
|
||||
static const BCharacterSet packedJapanese(13,18, B_TRANSLATE("Japanese EUC"),
|
||||
"Extended_UNIX_Code_Packed_Format_for_Japanese","EUC-JP",
|
||||
EUCPackedJapaneseAliases);
|
||||
|
||||
@@ -151,7 +169,8 @@ static const char * iso2022jpAliases[] = {
|
||||
"iso2022jp", "jis", "jis_encoding", "csjisencoding",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet iso2022jp(14,39,"Japanese JIS","ISO-2022-JP","ISO-2022-JP",iso2022jpAliases);
|
||||
static const BCharacterSet iso2022jp(14,39, B_TRANSLATE("Japanese JIS"),
|
||||
"ISO-2022-JP","ISO-2022-JP",iso2022jpAliases);
|
||||
|
||||
static const char * windows1252aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -159,7 +178,8 @@ static const char * windows1252aliases[] = {
|
||||
"cp1252", "cp5348",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet windows1252(15,2252,"Windows Latin-1 (CP 1252)","windows-1252",NULL,windows1252aliases);
|
||||
static const BCharacterSet windows1252(15,2252, B_TRANSLATE("Windows Latin-1 "
|
||||
"(CP 1252)"),"windows-1252",NULL,windows1252aliases);
|
||||
|
||||
static const char * unicode2aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -168,7 +188,8 @@ static const char * unicode2aliases[] = {
|
||||
"UTF-16BE", "UTF_16BE", "X-UTF-16BE", "UnicodeBigUnmarked",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet unicode2(16,1000,"Unicode (UCS-2)","ISO-10646-UCS-2",NULL,unicode2aliases);
|
||||
static const BCharacterSet unicode2(16,1000, B_TRANSLATE("Unicode (UCS-2)"),
|
||||
"ISO-10646-UCS-2",NULL,unicode2aliases);
|
||||
|
||||
static const char * KOI8Raliases[] = {
|
||||
// IANA aliases
|
||||
@@ -177,7 +198,8 @@ static const char * KOI8Raliases[] = {
|
||||
"koi8_r", "koi8", "cskoi8r",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet KOI8R(17,2084,"KOI8-R Cyrillic","KOI8-R","KOI8-R",KOI8Raliases);
|
||||
static const BCharacterSet KOI8R(17,2084, B_TRANSLATE("KOI8-R Cyrillic"),
|
||||
"KOI8-R","KOI8-R",KOI8Raliases);
|
||||
|
||||
static const char * windows1251aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -185,7 +207,8 @@ static const char * windows1251aliases[] = {
|
||||
"cp1251", "cp5347", "ansi-1251",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet windows1251(18,2251,"Windows Cyrillic (CP 1251)","windows-1251",NULL,windows1251aliases);
|
||||
static const BCharacterSet windows1251(18,2251, B_TRANSLATE("Windows Cyrillic (CP 1251)"),
|
||||
"windows-1251",NULL,windows1251aliases);
|
||||
|
||||
static const char * IBM866aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -196,7 +219,8 @@ static const char * IBM866aliases[] = {
|
||||
"dos-866",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet IBM866(19,2086,"DOS Cyrillic","IBM866","IBM866",IBM866aliases);
|
||||
static const BCharacterSet IBM866(19,2086, B_TRANSLATE("DOS Cyrillic"),
|
||||
"IBM866","IBM866",IBM866aliases);
|
||||
|
||||
static const char * IBM437aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -207,7 +231,8 @@ static const char * IBM437aliases[] = {
|
||||
"dos-437",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet IBM437(20,2011,"DOS Latin-US","IBM437","IBM437",IBM437aliases);
|
||||
static const BCharacterSet IBM437(20,2011, B_TRANSLATE("DOS Latin-US"),
|
||||
"IBM437","IBM437",IBM437aliases);
|
||||
|
||||
static const char * eucKRaliases[] = {
|
||||
// IANA aliases
|
||||
@@ -216,7 +241,8 @@ static const char * eucKRaliases[] = {
|
||||
"ksc5601", "euckr", "ks_c_5601-1987", "ksc5601-1987", "ksc5601_1987", "ksc_5601", "5601",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet eucKR(21,38,"EUC Korean","EUC-KR","EUC-KR",eucKRaliases);
|
||||
static const BCharacterSet eucKR(21,38, B_TRANSLATE("EUC Korean"),
|
||||
"EUC-KR","EUC-KR",eucKRaliases);
|
||||
|
||||
static const char * iso13aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -224,14 +250,16 @@ static const char * iso13aliases[] = {
|
||||
"iso8859_13", "8859_13", "iso_8859-13", "ISO8859-13",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet iso13(22,109,"ISO Baltic","ISO-8859-13","ISO-8859-13",iso13aliases);
|
||||
static const BCharacterSet iso13(22,109, B_TRANSLATE("ISO Baltic"),
|
||||
"ISO-8859-13","ISO-8859-13",iso13aliases);
|
||||
|
||||
static const char * iso14aliases[] = {
|
||||
// IANA aliases
|
||||
"iso-ir-199", "ISO_8859-14:1998", "ISO_8859-14", "latin8", "iso-celtic", "l8",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet iso14(23,110,"ISO Celtic","ISO-8859-14","ISO-8859-14",iso14aliases);
|
||||
static const BCharacterSet iso14(23,110, B_TRANSLATE("ISO Celtic"),
|
||||
"ISO-8859-14","ISO-8859-14",iso14aliases);
|
||||
|
||||
static const char * iso15aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -241,7 +269,8 @@ static const char * iso15aliases[] = {
|
||||
"LATIN0", "LATIN9", "L9", "csISOlatin0", "csISOlatin9", "ISO8859_15_FDIS",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet iso15(24,111,"ISO Latin 9","ISO-8859-15","ISO-8859-15",iso15aliases);
|
||||
static const BCharacterSet iso15(24,111, B_TRANSLATE("ISO Latin 9"),
|
||||
"ISO-8859-15","ISO-8859-15",iso15aliases);
|
||||
|
||||
// chinese character set testing
|
||||
|
||||
@@ -250,7 +279,8 @@ static const char * big5aliases[] = {
|
||||
"csBig5",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet big5(25,2026,"Chinese Big5","Big5","Big5",big5aliases);
|
||||
static const BCharacterSet big5(25,2026, B_TRANSLATE("Chinese Big5"),
|
||||
"Big5","Big5",big5aliases);
|
||||
|
||||
static const char * gb18030aliases[] = {
|
||||
// java aliases
|
||||
@@ -260,7 +290,8 @@ static const char * gb18030aliases[] = {
|
||||
"gbk",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet gb18030(26,114,"Chinese GB18030","GB18030",NULL,gb18030aliases);
|
||||
static const BCharacterSet gb18030(26,114, B_TRANSLATE("Chinese GB18030"),
|
||||
"GB18030",NULL,gb18030aliases);
|
||||
|
||||
static const char* kUTF16Aliases[] = {
|
||||
// IANA aliases
|
||||
@@ -269,7 +300,7 @@ static const char* kUTF16Aliases[] = {
|
||||
"UTF-16BE", "X-UTF-16BE", "UnicodeBigUnmarked",
|
||||
NULL
|
||||
};
|
||||
static const BCharacterSet kUTF16(27, 1000, "Unicode", "UTF-16", "UTF-16",
|
||||
static const BCharacterSet kUTF16(27, 1000, B_TRANSLATE("Unicode"), "UTF-16", "UTF-16",
|
||||
kUTF16Aliases);
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
resource app_signature "application/x-vnd.Haiku-libtextencoding";
|
||||
|
||||
resource app_version {
|
||||
major = 1,
|
||||
middle = 0,
|
||||
minor = 0,
|
||||
variety = 0,
|
||||
internal = 0,
|
||||
short_info = "1.0.0",
|
||||
long_info = "Haiku libtextencoding."
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user