persist language, readme

This commit is contained in:
Sander Land committed 2020-05-30 21:37:43 +02:00
1 parent 0de50719cf
commit 2b97f7f234
8 files changed
+47 -20

No files matched your search

+9 -5
View File
@@ -128,10 +128,14 @@ In addition to shortcuts mentioned above and those shown in the main menu:
* How can I play on larger boards?
* For windows, change the `katago` setting to `katrain\KataGo\katago-bs52.exe`. For other operating systems, you need to compile your own KataGo version with higher limits.
## Contributing
* Feedback and pull requests are both very welcome. I would also be happy to host translations of this manual into languages where English fluency is typically lower.
* For suggestions and planned improvements, see the 'issues' tab on github.
* You can also contact me on [discord](https://discord.gg/AjTPFpN) (Sander#3278), [KakaoTalk](https://open.kakao.com/o/gTsMJCac) or [Reddit](http://reddit.com/u/sanderbaduk) to give feedback, or simply show your appreciation.
* Some people have also asked me how to donate. Something go-related such as a book or teaching time is highly appreciated.
## <a name="support"></a> Support / Contribute
* You can contact me on [discord](https://discord.gg/AjTPFpN) (Sander#3278), [KakaoTalk](https://open.kakao.com/o/gTsMJCac)
or [Reddit](http://reddit.com/u/sanderbaduk) to get help, discuss improvements, or simply show your appreciation.
* Ideas, feedback, and contributions to code or translations are all very welcome.
* For suggestions and planned improvements, see [open issues](https://github.com/sanderland/katrain/issues) on github.
* I am looking for contributors of more translations of both this manual and the program itself. The best way to help with this is to contact me on discord.
+15 -5
View File
@@ -1,18 +1,20 @@
import os # isort:skip
os.environ["KCFG_KIVY_LOG_LEVEL"] = os.environ.get("KCFG_KIVY_LOG_LEVEL", "warning") # isort:skip surpress info output
from kivy.config import Config # isort:skip
ICON = "img/icon.png" # isort:skip # set icon
Config.set("kivy", "window_icon", ICON) # isort:skip # set icon
Config.set("input", "mouse", "mouse,multitouch_on_demand") # isort:skip # no red dots on right click
Config.set("graphics", "width", 1300)
Config.set("graphics", "height", 1000)
Config.set("graphics", "width", 1300) # isort:skip
Config.set("graphics", "height", 1000) # isort:skip
import os
import signal
import sys
import threading
import traceback
from queue import Queue
import webbrowser
from kivy.app import App
from kivy.core.clipboard import Clipboard
@@ -25,7 +27,7 @@ from katrain.core.utils import (
DEFAULT_LANGUAGE,
find_package_resource,
)
from katrain.core.constants import OUTPUT_ERROR, OUTPUT_KATAGO_STDERR, OUTPUT_INFO, OUTPUT_DEBUG, OUTPUT_EXTRA_DEBUG, MODE_PLAY, AI_STRATEGIES_RECOMMENDED_ORDER
from katrain.core.constants import OUTPUT_ERROR, OUTPUT_KATAGO_STDERR, OUTPUT_INFO, OUTPUT_DEBUG, OUTPUT_EXTRA_DEBUG, MODE_PLAY, AI_STRATEGIES_RECOMMENDED_ORDER, HOMEPAGE
from katrain.gui.popups import ConfigTeacherPopup, ConfigTimerPopup, I18NPopup
from katrain.core.base_katrain import KaTrainBase
from katrain.core.engine import KataGoEngine
@@ -374,9 +376,17 @@ class KaTrainApp(MDApp):
def on_language(self, _instance, language):
self.gui.log(f"Switching language to {language}", OUTPUT_INFO)
self.gui._config["general"]["lang"] = language
self.gui.save_config()
i18n.switch_lang(language)
def webbrowser(self, site_key):
WEBSITES = {"homepage": HOMEPAGE, "support": HOMEPAGE + "#support"}
if site_key in WEBSITES:
webbrowser.open(WEBSITES[site_key])
def on_start(self):
self.language = self.gui.config("general/lang")
self.gui.start()
def on_request_close(self, *_args):
+2 -2
View File
@@ -16,8 +16,8 @@
"sgf_load": "~/Downloads",
"sgf_save": "./sgfout",
"anim_pv_time": 0.5,
"debug_level": 1,
"language": "en"
"debug_level": 0,
"lang": "en"
},
"timer": {
"byo_length": 30,
+1 -1
View File
@@ -53,7 +53,7 @@ class KaTrainBase:
Config.set("kivy", "log_level", "error")
if self.debug_level >= OUTPUT_DEBUG:
Config.set("kivy", "log_enable", 1)
Config.set("kivy", "log_level", "warning")
Config.set("kivy", "log_level", "info")
if self.debug_level >= OUTPUT_EXTRA_DEBUG:
Config.set("kivy", "log_level", "trace")
self.players_info = {"B": Player("B"), "W": Player("W")}
+3
View File
@@ -52,6 +52,7 @@ class Lang(Observable):
def __init__(self, lang):
super(Lang, self).__init__()
self.lang = None
self.switch_lang(lang)
def _(self, text):
@@ -88,6 +89,8 @@ class Lang(Observable):
self.callbacks.append(callback_fn)
def switch_lang(self, lang):
if lang == self.lang:
return
# get the right locales directory, and instantiate a gettext
self.lang = lang
self.font_name = self.FONTS.get(lang) or DEFAULT_FONT
+8 -2
View File
@@ -802,6 +802,10 @@
height: self.parent.item_height or 50
size_hint: 1,None
<MenuLink@ButtonBehavior+MenuLabel>:
site_key: ''
underline: True
on_press: app.webbrowser(self.site_key)
<PlayerSetup>:
orientation: 'horizontal'
@@ -937,10 +941,12 @@
size_hint: 1,None
height: root.item_height
item_height: root.item_height
MenuLabel:
MenuLink:
text: i18n._('menu:manual')
MenuLabel:
site_key: 'homepage'
MenuLink:
text: i18n._('menu:support')
site_key: 'support'
<OutlineBox@MDBoxLayout+BackgroundMixin>:
+8 -4
View File
@@ -37,6 +37,7 @@ a shortcut to the Documents directory added to the favorites bar::
.. image:: _static/filebrowser.png
:align: right
"""
from kivy import Config
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.treeview import TreeViewLabel, TreeView
from kivy.uix.filechooser import FileChooserListView, FileChooserListLayout
@@ -113,9 +114,10 @@ class I18NFileChooserListLayout(FileChooserListLayout):
_ENTRY_TEMPLATE = "I18NFileListEntry"
with warnings.catch_warnings():
warnings.simplefilter("ignore")
Builder.load_string("""
log_level = Config.get("kivy", "log_level")
Config.set("kivy", "log_level", "error")
Builder.load_string(
"""
[I18NFileListEntry@FloatLayout+TreeViewNode]:
locked: False
entries: []
@@ -150,7 +152,9 @@ with warnings.catch_warnings():
I18NFileChooserListLayout:
id: layout
controller: root
""")
"""
)
Config.set("kivy", "log_level", log_level)
Builder.load_string(
"""
+1 -1
View File
@@ -4,7 +4,7 @@ import os
from setuptools import find_packages, setup
package_data = {"": ["*.json", "*.kv"], "katrain": [], "tests": []}
packages = find_packages(exclude=["bots", "tests"])
packages = find_packages(exclude=["tests"])
version = re.search('^__version__\s*=\s*"(.*)"', open("katrain/__main__.py").read(), re.M).group(1)