Update defaultsettings, move lang detection to gettext

master
Maksim 2020-10-31 19:36:03 +01:00
parent 2f9028bf94
commit 3849ef3474
4 changed files with 22 additions and 14 deletions

View File

@ -392,7 +392,7 @@
F8E6C5461DCA3F9900F64426 /* gameparams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gameparams.h; path = ../../../../src/gameparams.h; sourceTree = "<group>"; };
F8E6C5471DCA3F9900F64426 /* genericobject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = genericobject.cpp; path = ../../../../src/genericobject.cpp; sourceTree = "<group>"; };
F8E6C5481DCA3F9900F64426 /* genericobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = genericobject.h; path = ../../../../src/genericobject.h; sourceTree = "<group>"; };
F8E6C5491DCA3F9900F64426 /* gettext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gettext.cpp; path = ../../../../src/gettext.cpp; sourceTree = "<group>"; };
F8E6C5491DCA3F9900F64426 /* gettext.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = gettext.cpp; path = ../../../../src/gettext.cpp; sourceTree = "<group>"; };
F8E6C54A1DCA3F9900F64426 /* gettext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gettext.h; path = ../../../../src/gettext.h; sourceTree = "<group>"; };
F8E6C54B1DCA3F9900F64426 /* gettime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gettime.h; path = ../../../../src/gettime.h; sourceTree = "<group>"; };
F8E6C54C1DCA3F9900F64426 /* guiChatConsole.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = guiChatConsole.cpp; path = ../../../../src/guiChatConsole.cpp; sourceTree = "<group>"; };

View File

@ -417,7 +417,7 @@
84585D6A24B139210040BA4F /* mg_ore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mg_ore.cpp; path = ../../../../src/mg_ore.cpp; sourceTree = "<group>"; };
84585D6B24B139210040BA4F /* raycast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = raycast.h; path = ../../../../src/raycast.h; sourceTree = "<group>"; };
84585D6C24B139210040BA4F /* tileanimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = tileanimation.cpp; path = ../../../../src/tileanimation.cpp; sourceTree = "<group>"; };
84585D6D24B139210040BA4F /* gettext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gettext.cpp; path = ../../../../src/gettext.cpp; sourceTree = "<group>"; };
84585D6D24B139210040BA4F /* gettext.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = gettext.cpp; path = ../../../../src/gettext.cpp; sourceTree = "<group>"; };
84585D6E24B139210040BA4F /* guiPasswordChange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = guiPasswordChange.h; path = ../../../../src/guiPasswordChange.h; sourceTree = "<group>"; };
84585D7024B139210040BA4F /* serverenvironment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = serverenvironment.cpp; path = ../../../../src/serverenvironment.cpp; sourceTree = "<group>"; };
84585D7224B139210040BA4F /* wieldmesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = wieldmesh.cpp; path = ../../../../src/wieldmesh.cpp; sourceTree = "<group>"; };

View File

@ -388,12 +388,13 @@ void set_default_settings(Settings *settings) {
settings->setDefault("keymap_toggle_debug", "KEY_KEY_V");
settings->setDefault("keymap_camera_mode", "KEY_KEY_C");
settings->setDefault("vsync", "true");
float ScaleFactor = [[NSScreen mainScreen] backingScaleFactor];
if (ScaleFactor >= 2)
settings->setDefault("screen_dpi", "128");
// Shaders work but may reduce performance on iGPU
settings->setDefault("enable_shaders", "false");
CGFloat ScaleFactor = [[NSScreen mainScreen] backingScaleFactor];
settings->setDefault("screen_dpi", std::to_string(72 * ScaleFactor));
#endif
// Mobile Platform
@ -424,6 +425,7 @@ void set_default_settings(Settings *settings) {
#endif
if (arm) {
settings->setDefault("enable_minimap", "false");
settings->setDefault("enable_clouds", "false");
#endif
settings->setDefault("client_unload_unused_data_timeout", "60");
settings->setDefault("client_mapblock_limit", "50");
@ -431,7 +433,7 @@ void set_default_settings(Settings *settings) {
settings->setDefault("pause_fps_max", "5");
settings->setDefault("viewing_range", "25");
settings->setDefault("smooth_lighting", "false");
settings->setDefault("enable_clouds", "false");
settings->setDefault("enable_3d_clouds", "false");
settings->setDefault("active_block_range", "1");
settings->setDefault("dedicated_server_step", "0.2");
settings->setDefault("abm_interval", "3.0");
@ -573,14 +575,6 @@ void set_default_settings(Settings *settings) {
}
#endif // iOS
#endif
#if defined(__APPLE__)
// Auto-detect language on iOS / macOS
char lang[3] = {0};
NSString *syslang = [[NSLocale preferredLanguages] firstObject];
[syslang getBytes:lang maxLength:2 usedLength:nil encoding:NSASCIIStringEncoding options:0 range:NSMakeRange(0, 2) remainingRange:nil];
settings->setDefault("language", lang);
#endif
}
void override_default_settings(Settings *settings, Settings *from) {

View File

@ -26,6 +26,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "log.h"
#include "porting.h"
#ifdef __APPLE__
#if TARGET_OS_IOS
#import <UIKit/UIKit.h>
#else
#import <AppKit/AppKit.h>
#endif
#endif
#if USE_GETTEXT && defined(_MSC_VER)
#include <windows.h>
#include <map>
@ -212,6 +220,12 @@ void init_gettext(const char *path, const std::string &configured_language,
char lang[3] = {0};
AConfiguration_getLanguage(porting::app_global->config, lang);
setenv("LANG", lang, 1);
#endif
#ifdef __APPLE__
char lang[3] = {0};
NSString *syslang = [[NSLocale preferredLanguages] firstObject];
[syslang getBytes:lang maxLength:2 usedLength:nil encoding:NSASCIIStringEncoding options:0 range:NSMakeRange(0, 2) remainingRange:nil];
setenv("LANGUAGE", lang, 1);
#endif
setlocale(LC_ALL, "");
}