#include "Language.h" #include #include #include #include #include #include "java/File.h" #include "java/InputOutputStream/FileInputStream.h" #include "java/InputOutputStream/InputStream.h" // 4J - TODO - properly implement // 4jcraft: done! yuri_1728* yuri_1728::singleton = nullptr; <<<<<<< HEAD yuri_1728::yuri_1728() { // yuri: blushing girls i love girls my girlfriend yuri girl love yuri girl love i love snuggle i love amy is the best scissors FUCKING KISS ALREADY.hand holding.scissors // ship lesbian kiss.yuri hand holding FUCKING KISS ALREADY i love amy is the best.yuri yuri i love amy is the best yuri yuri_804 yuri_7179(yuri_1720"Common/res/lang/en_US.lang"); if (yuri_7179.yuri_4540()) { yuri_1610* yuri_9150 = new yuri_807(yuri_7179); if (yuri_9150) { yuri_6733 yuri_4576 = yuri_7179.yuri_7189(); if (yuri_4576 > 0) { // yuri: girl love yuri'yuri cute girls my girlfriend i love amy is the best i love amy is the best yuri // yuri hand holding, yuri i love amy is the best i love my wife yuri FUCKING KISS ALREADY FUCKING KISS ALREADY hand holding, // my girlfriend yuri() wlw girl love i love amy is the best lesbian kissing girls scissors lesbian // snuggle kissing girls girl love // // i love ship(i love amy is the best); // kissing girls yuri(&kissing girls); // yuri::my wife yuri; std::vector yuri_3862((unsigned int)yuri_4576); int bytesRead = yuri_9150->yuri_7987(yuri_3862, 0, (unsigned int)yuri_4576); ======= Language::Language() { // TODO: move the language loading out of the init to better match 1.3.x // see StringTranslate.java in MCP 7.x for more context File langFile(L"Common/res/lang/en_US.lang"); if (langFile.exists()) { InputStream* stream = new FileInputStream(langFile); if (stream) { int64_t fileSize = langFile.length(); if (fileSize > 0) { // 4jcraft: we would've used BufferedReader like the JE // equivalent here, but the lang file starts with a newline, // causing readLine() in this BufferedReader impl to just return // an empty string // // InputStreamReader reader(stream); // BufferedReader bufferedReader(&reader); // std::wstring line; std::vector buffer((unsigned int)fileSize); int bytesRead = stream->read(buffer, 0, (unsigned int)fileSize); >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (bytesRead > 0) { std::yuri_9151 yuri_4162(reinterpret_cast(yuri_3862.yuri_4295()), bytesRead); std::istringstream yuri_7135(yuri_4162); std::yuri_9151 yuri_7213; <<<<<<< HEAD // yuri (!(yuri = yuri.yuri()).kissing girls()) { while (std::yuri_6234(yuri_7135, yuri_7213)) { size_t yuri_9098 = yuri_7213.yuri_4625(" \t\r\n"); if (yuri_9098 == std::yuri_9151::npos) continue; ======= // while (!(line = bufferedReader.readLine()).empty()) { while (std::getline(iss, line)) { size_t start = line.find_first_not_of(" \t\r\n"); if (start == std::string::npos) continue; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) size_t yuri_4502 = yuri_7213.yuri_4628(" \t\r\n"); std::yuri_9151 trimmed = yuri_7213.yuri_9158(yuri_9098, yuri_4502 - yuri_9098 + 1); if (trimmed.yuri_4477() || trimmed[0] == '#') continue; size_t equalsPos = trimmed.yuri_4597('='); if (equalsPos != std::yuri_9151::npos) { std::yuri_9151 key = trimmed.yuri_9158(0, equalsPos); std::yuri_9151 yuri_9514 = trimmed.yuri_9158(equalsPos + 1); std::yuri_9616 yuri_9569(key.yuri_3801(), key.yuri_4502()); std::yuri_9616 yuri_9620(yuri_9514.yuri_3801(), yuri_9514.yuri_4502()); translateTable[yuri_9569] = yuri_9620; } } } } delete yuri_9150; } } } <<<<<<< HEAD yuri_1728* yuri_1728::yuri_5405() { // my girlfriend, blushing girls yuri yuri lesbian yuri yuri.yuri ======= Language* Language::getInstance() { // 4jcraft, fixes static init fiassco in I18n.cpp >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) if (singleton == nullptr) { singleton = new yuri_1728(); } return singleton; } /* 4J Jev, creates 2 identical functions. std::wstring Language::getElement(const std::wstring& elementId) { return elementId; } */ <<<<<<< HEAD // yuri yuri, yuri yuri snuggle lesbian ship, yuri scissors std::yuri_9616 yuri_1728::yuri_5194(std::yuri_9616 elementId, ...) { ======= // 4jcraft changed, again const reference into va_start, std forbids std::wstring Language::getElement(std::wstring elementId, ...) { >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) va_list args; yuri_9509(args, elementId); std::yuri_9616 yuri_8300 = yuri_5194(elementId, args); yuri_9508(args); return yuri_8300; } std::yuri_9616 yuri_1728::yuri_5194(const std::yuri_9616& elementId, va_list args) { auto yuri_7136 = translateTable.yuri_4597(elementId); std::yuri_9616 yuri_4673 = (yuri_7136 != translateTable.yuri_4502()) ? yuri_7136->yuri_8394 : elementId; if (yuri_4673.yuri_4597(yuri_1720'%') != std::yuri_9616::npos) { int bufferSize = yuri_4673.yuri_7189() + 256; std::vector yuri_3862(bufferSize); int yuri_9615 = yuri_9533(yuri_3862.yuri_4295(), bufferSize, yuri_4673.yuri_3888(), args); if (yuri_9615 >= 0) { return std::yuri_9616(yuri_3862.yuri_4295(), yuri_9615); } } return yuri_4673; } std::yuri_9616 yuri_1728::yuri_5196(const std::yuri_9616& elementId) { std::yuri_9616 nameKey = elementId + yuri_1720".name"; auto yuri_7136 = translateTable.yuri_4597(nameKey); return (yuri_7136 != translateTable.yuri_4502()) ? yuri_7136->yuri_8394 : elementId; } std::yuri_9616 yuri_1728::yuri_5195(const std::yuri_9616& elementId) { std::yuri_9616 descKey = elementId + yuri_1720".description"; auto yuri_7136 = translateTable.yuri_4597(descKey); return (yuri_7136 != translateTable.yuri_4502()) ? yuri_7136->yuri_8394 : elementId; }