Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Localize short names for black and white #714

Merged
merged 8 commits into from
Sep 28, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions katrain/core/game_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,9 @@ def score(self) -> Optional[float]:
def format_score(self, score=None):
score = score or self.score
if score is not None:
return f"{'B' if score >= 0 else 'W'}+{abs(score):.1f}"
leading_player = 'B' if score >= 0 else 'W'
leading_player_color = i18n._(f"short color {leading_player}")
return f"{leading_player_color}+{abs(score):.1f}"

@property
def winrate(self) -> Optional[float]:
Expand All @@ -302,7 +304,9 @@ def winrate(self) -> Optional[float]:
def format_winrate(self, win_rate=None):
win_rate = win_rate or self.winrate
if win_rate is not None:
return f"{'B' if win_rate > 0.5 else 'W'} {max(win_rate,1-win_rate):.1%}"
leading_player = 'B' if win_rate > 0.5 else 'W'
leading_player_color = i18n._(f"short color {leading_player}")
return f"{leading_player_color} {max(win_rate,1-win_rate):.1%}"

def move_policy_stats(self) -> Tuple[Optional[int], float, List]:
single_move = self.move
Expand Down
2 changes: 1 addition & 1 deletion katrain/gui.kv
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@
StatsLabel:
id: pointloss_label
label: i18n._('stats:pointslost') if root.points_lost is None or root.points_lost > 0 else i18n._('stats:pointsgained')
text: '{}: {:.1f}'.format(root.player,abs(root.points_lost)) if root.points_lost is not None else '...'
text: '{}: {:.1f}'.format(i18n._(f'short color {root.player}'), abs(root.points_lost)) if root.points_lost is not None else '...'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's more logic than most of the UI elements have. I considered extracting this into Python and passing points_delta_label & points_delta but decided to keep the scope more focused.

color: Theme.POINTLOSS_COLOR

<ScrollableLabel>:
Expand Down
4 changes: 2 additions & 2 deletions katrain/gui/widgets/graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ def update_graph(self, *args):
font_size: root.marker_font_size
color: Theme.SCORE_MARKER_COLOR
pos: root.x + root.width - self.width-1, root.pos[1]+root.height - self.font_size - 1
text: 'B+{}'.format(root.score_scale)
text: '{}+{}'.format(i18n._('short color B'), root.score_scale)
opacity: int(root.show_score)
GraphMarkerLabel:
font_size: root.marker_font_size
Expand All @@ -223,7 +223,7 @@ def update_graph(self, *args):
font_size: root.marker_font_size
color: Theme.SCORE_MARKER_COLOR
pos: root.x + root.width - self.width-1, root.pos[1]
text: 'W+' + str(int(root.score_scale))
text: '{}+{}'.format(i18n._('short color W'), root.score_scale)
opacity: int(root.show_score)
# wr ticks
GraphMarkerLabel:
Expand Down
Binary file modified katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/cn/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,12 @@ msgstr "分数图"
msgid "Jigo"
msgstr "和棋"

msgid "short color B"
msgstr "黑"

msgid "short color W"
msgstr "白"

msgid "closedlabel:movestats"
msgstr "每步统计"

Expand Down
Binary file modified katrain/i18n/locales/de/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/de/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,12 @@ msgstr "Punkte-Graph"
msgid "Jigo"
msgstr "Jigo"

msgid "short color B"
msgstr "S"

msgid "short color W"
msgstr "W"

msgid "closedlabel:movestats"
msgstr "Zug-Statistik"

Expand Down
Binary file modified katrain/i18n/locales/en/LC_MESSAGES/katrain.mo
Binary file not shown.
10 changes: 8 additions & 2 deletions katrain/i18n/locales/en/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,12 @@ msgstr "Score Graph"
msgid "Jigo"
msgstr "Jigo"

msgid "short color B"
msgstr "B"

msgid "short color W"
msgstr "W"

msgid "closedlabel:movestats"
msgstr "Move Stats"

Expand Down Expand Up @@ -765,8 +771,8 @@ msgstr "KataGo"

msgid "aihelp:default"
msgstr ""
"Full strength KataGo AI. Strength is affected by 'max visits' and 'model' "
"in the general settings 'engine' section and engine configuration file. No "
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The i18n.py reformatted it.

"Full strength KataGo AI. Strength is affected by 'max visits' and 'model' in"
" the general settings 'engine' section and engine configuration file. No "
"options are available here."

#. ai which handles handicap games better
Expand Down
Binary file modified katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/fr/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,12 @@ msgstr "Graphes"
msgid "Jigo"
msgstr "Jigo"

msgid "short color B"
msgstr "N"

msgid "short color W"
msgstr "B"

msgid "closedlabel:movestats"
msgstr "Évaluation"

Expand Down
Binary file modified katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/jp/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,12 @@ msgstr "目差グラフ"
msgid "Jigo"
msgstr "持碁"

msgid "short color B"
msgstr "黒"

msgid "short color W"
msgstr "白"

msgid "closedlabel:movestats"
msgstr "着手の分析結果"

Expand Down
Binary file modified katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/ko/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,12 @@ msgstr "집 차이/승률 그래프"
msgid "Jigo"
msgstr "무승부"

msgid "short color B"
msgstr "흑"

msgid "short color W"
msgstr "백"

msgid "closedlabel:movestats"
msgstr "착수 통계"

Expand Down
Binary file modified katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/ru/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,12 @@ msgstr "График очков"
msgid "Jigo"
msgstr "Ничья"

msgid "short color B"
msgstr "Ч"

msgid "short color W"
msgstr "Б"

msgid "closedlabel:movestats"
msgstr "Статистика ходов"

Expand Down
Binary file modified katrain/i18n/locales/tr/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/tr/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,12 @@ msgstr "Skor Grafiği"
msgid "Jigo"
msgstr "Jigo"

msgid "short color B"
msgstr "S"

msgid "short color W"
msgstr "B"

msgid "closedlabel:movestats"
msgstr "Hamle İstatistikleri"

Expand Down
Binary file modified katrain/i18n/locales/tw/LC_MESSAGES/katrain.mo
Binary file not shown.
6 changes: 6 additions & 0 deletions katrain/i18n/locales/tw/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,12 @@ msgstr "分數圖"
msgid "Jigo"
msgstr "和棋"

msgid "short color B"
msgstr "黑"

msgid "short color W"
msgstr "白"

msgid "closedlabel:movestats"
msgstr "每步統計"

Expand Down
Binary file modified katrain/i18n/locales/ua/LC_MESSAGES/katrain.mo
Binary file not shown.
93 changes: 46 additions & 47 deletions katrain/i18n/locales/ua/LC_MESSAGES/katrain.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,6 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

# TODO: delete this mapping
# Settings = Налаштування
# Teaching = тренер
# Winrate = Шанс на перемогу
# Engine = енджин
# TODO: reformat all lines that are too long ^.{79,100}

#. main hamburger menu
msgid "menu:playersetup"
msgstr "Налаштування гравців"
Expand Down Expand Up @@ -185,8 +178,8 @@ msgstr "Визначити область для аналізу"
#. Status message
msgid "analysis:region:start"
msgstr ""
"Потягніть для вибору області інтересу. Виберіть одну точку для"
"скасування області."
"Потягніть для вибору області інтересу. Виберіть одну точку для скасування "
"області."
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the past PR #712 I formatted this file manually rather than used the i18n.py script. So there would be many unrelated changes in this file.


#. Menu option
msgid "analysis:playtoend"
Expand Down Expand Up @@ -287,6 +280,12 @@ msgstr "Графік очок"
msgid "Jigo"
msgstr "Джиґо"

msgid "short color B"
msgstr "Ч"

msgid "short color W"
msgstr "Б"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new messages for the graph and stats.


msgid "closedlabel:movestats"
msgstr "Статистика ходів"

Expand Down Expand Up @@ -564,8 +563,8 @@ msgstr "Одночасні ігри"
#. hint for max games
msgid "contribute:maxgames:hint"
msgstr ""
"Найкраще встановити кількість, рівну оптимальній numSearchThreads, близько "
"8 для середнього класу GPU. Можна трохи зменшити для коротких запусків, "
"Найкраще встановити кількість, рівну оптимальній numSearchThreads, близько 8"
" для середнього класу GPU. Можна трохи зменшити для коротких запусків, "
"оскільки неповні ігри не завантажуються."

msgid "contribute:ownership"
Expand Down Expand Up @@ -708,14 +707,14 @@ msgstr "Не вдалося відкрити SGF: {error}"

msgid "Kata exe not found"
msgstr ""
"Виконуваний файл KataGo {exe} не знайдено, будь ласка, перевірте "
"загальні налаштування."
"Виконуваний файл KataGo {exe} не знайдено, будь ласка, перевірте загальні "
"налаштування."

msgid "Kata exe not found in path"
msgstr ""
"Виконуваний файл KataGo '{exe}' не знайдено у вашому PATH. Перевірте "
"змінні середовища або вкажіть повний шлях у загальних налаштуваннях."
"Для MacOS зверніться до інструкції щодо встановлення KataGo через brew."
"Виконуваний файл KataGo '{exe}' не знайдено у вашому PATH. Перевірте змінні "
"середовища або вкажіть повний шлях у загальних налаштуваннях. Для MacOS "
"зверніться до інструкції щодо встановлення KataGo через brew."

msgid "Kata model not found"
msgstr "Модель KataGo {model} не знайдено, перевірте загальні налаштування."
Expand All @@ -734,8 +733,8 @@ msgstr "Енджин несподівано припинив роботу без
msgid "Engine missing DLL"
msgstr ""
"Не вдалося запустити KataGo через відсутню DLL. Перевірте вимоги в "
"документації KataGo або спробуйте запустити виконуваний файл самостійно "
"для отримання деталей."
"документації KataGo або спробуйте запустити виконуваний файл самостійно для "
"отримання деталей."

#. popup title
msgid "engine recovery"
Expand All @@ -758,8 +757,8 @@ msgstr ""
#. Link in tags should not be touched (uses link_here msgid)
msgid "go to engine help page"
msgstr ""
"Якщо проблеми залишаються, скористайтеся {link} для перегляду "
"актуальної сторінки з порадами щодо вирішення."
"Якщо проблеми залишаються, скористайтеся {link} для перегляду актуальної "
"сторінки з порадами щодо вирішення."

#. as in "click here" to go to this page,
msgid "link_here"
Expand All @@ -777,8 +776,8 @@ msgstr "KataGo"

msgid "aihelp:default"
msgstr ""
"Повна сила AI KataGo. Сила залежить від параметрів 'max visits' і 'model' "
"у загальних налаштуваннях розділу енджина та у файлі конфігурації енджина. "
"Повна сила AI KataGo. Сила залежить від параметрів 'max visits' і 'model' у "
"загальних налаштуваннях розділу енджина та у файлі конфігурації енджина. "
"Ніякі опції тут недоступні."

#. ai which handles handicap games better
Expand All @@ -791,7 +790,6 @@ msgstr ""
"параметру 'playoutDoublingAdvantage' у KataGo з точки зору чорних. Якщо "
"встановлено 'automatic', KaTrain автоматично підбере відповідне значення."


msgid "ai:simple"
msgstr "Simple Style"

Expand All @@ -801,9 +799,9 @@ msgstr ""
"втрачають не більше ніж 'max_points_lost' очок і мають щонайменше "
"'min_visits' візитів, надає перевагу тим, що втрачають менше очок, "
"стабілізують власну територію більше (з вагою важливості 'settled_weight'), "
"стабілізують територію опонента (з важливістю "
"'settled_weight' * 'opponent_fac'), уникають тенукі (більше ніж на 5 клітин, "
"важливість 'tenuki_penalty') та уникають прикріплення (важливість "
"стабілізують територію опонента (з важливістю 'settled_weight' * "
"'opponent_fac'), уникають тенукі (більше ніж на 5 клітин, важливість "
"'tenuki_penalty') та уникають прикріплення (важливість "
"'attachment_penalty'). Ваги можуть бути негативними, щоб ускладнити гру, а "
"wideRootNoise (у загальних налаштуваннях) може бути використаний для для "
"гри, більш відповідної до обраного стилю, але за рахунок зниження сили "
Expand All @@ -828,9 +826,9 @@ msgstr "Втрата очок"

msgid "aihelp:scoreloss"
msgstr ""
"Робить ходи, що призводять до більшої втрати очок, але з меншою "
"ймовірністю. При вищій кількості візитів, ймовірно, робитиме слабші та "
"різноманітніші ходи."
"Робить ходи, що призводять до більшої втрати очок, але з меншою ймовірністю."
" При вищій кількості візитів, ймовірно, робитиме слабші та різноманітніші "
"ходи."

msgid "ai:policy"
msgstr "Політика"
Expand All @@ -848,8 +846,8 @@ msgstr "Політика з коефіцієнтами"
msgid "aihelp:p:weighted"
msgstr ""
"Робить ходи відповідно до ймовірності політики, при цьому параметр "
"'weaken_fac' визначає, наскільки частіше будуть обиратися слабші ходи. "
"При дуже низькому значенні грає як AI 'Політика'. Параметр 'pick_override' "
"'weaken_fac' визначає, наскільки частіше будуть обиратися слабші ходи. При "
"дуже низькому значенні грає як AI 'Політика'. Параметр 'pick_override' "
"визначає, коли найкращий хід обирається без випадковості, а 'lower_bound' "
"визначає нижнє граничне значення політики, яке дозволено."

Expand All @@ -858,18 +856,18 @@ msgstr "Політика всліпу"

msgid "aihelp:p:pick"
msgstr ""
"Випадковим чином обирає 'pick_n + pick_frac * <кількість легальних ходів>' "
"і робить найкращий. Якщо 'pick_frac=1', грає як AI 'Політика'. Робить "
"топовий хід, якщо значення політики вище за 'pick_override', щоб уникнути "
"явних помилок."
"Випадковим чином обирає 'pick_n + pick_frac * <кількість легальних ходів>' і"
" робить найкращий. Якщо 'pick_frac=1', грає як AI 'Політика'. Робить топовий"
" хід, якщо значення політики вище за 'pick_override', щоб уникнути явних "
"помилок."

msgid "ai:p:local"
msgstr "Локальний стиль"

msgid "aihelp:p:local"
msgstr ""
"Випадковим чином обирає 'pick_n + pick_frac * <кількість легальних ходів>' "
"з ухилом у бік останнього ходу і виконує найкращий з них. Виконує найкращий "
"Випадковим чином обирає 'pick_n + pick_frac * <кількість легальних ходів>' з"
" ухилом у бік останнього ходу і виконує найкращий з них. Виконує найкращий "
"хід, якщо значення політики перевищує 'pick_override', щоб уникнути явних "
"помилок."

Expand All @@ -878,10 +876,10 @@ msgstr "Стиль тенукі"

msgid "aihelp:p:tenuki"
msgstr ""
"Випадковим чином обирає 'pick_n + pick_frac * <кількість легальних ходів>' "
"з відхиленням від останнього ходу і робить найкращий з них. Робить "
"найкращий хід, якщо значення політики перевищує 'pick_override', щоб "
"уникнути очевидних помилок. Вищий 'stddev' змушує грати ще далі."
"Випадковим чином обирає 'pick_n + pick_frac * <кількість легальних ходів>' з"
" відхиленням від останнього ходу і робить найкращий з них. Робить найкращий "
"хід, якщо значення політики перевищує 'pick_override', щоб уникнути "
"очевидних помилок. Вищий 'stddev' змушує грати ще далі."

msgid "ai:p:influence"
msgstr "Influential Style"
Expand All @@ -898,8 +896,9 @@ msgstr "Territorial Style"
msgid "aihelp:p:territory"
msgstr ""
"Вибирає ходи, що перевищують 'threshold', і робить найкращий. Збільште "
"'line_weight', щоб більше штрафувати ходи біля центру. Стратегія припиняється "
"після того, як буде заповнено частину дошки, визначену параметром 'endgame'."
"'line_weight', щоб більше штрафувати ходи біля центру. Стратегія "
"припиняється після того, як буде заповнено частину дошки, визначену "
"параметром 'endgame'."

msgid "ai:p:rank"
msgstr "Калібрований ранг"
Expand Down Expand Up @@ -1022,8 +1021,8 @@ msgstr "Вставку завершено, скопійовано {num_copied}
#. when a user tries to go to a different move/node while in insert mode
msgid "finish inserting before navigating"
msgstr ""
"Навігація недоступна під час вставки, натисніть 'i', щоб завершити "
"режим вставки."
"Навігація недоступна під час вставки, натисніть 'i', щоб завершити режим "
"вставки."

#. menu item
msgid "menu:distributed"
Expand All @@ -1043,8 +1042,8 @@ msgstr "Генерація гри через самостійну гру AI: х
msgid "setup position explanation"
msgstr ""
"Генерує незавершену гру, яку ви можете продовжити грати. Наприклад, ви "
"можете використовувати це для гри проти сильніших AI, починаючи з переваги "
"в різноманітних середніх або кінцевих позиціях гри."
"можете використовувати це для гри проти сильніших AI, починаючи з переваги в"
" різноманітних середніх або кінцевих позиціях гри."

#. Description for black target score
msgid "setup position black score"
Expand Down