Localize short names for black and white (#714)

* Localize B&W on graph. Add UA and EN values

* Add localizations for B&W on graph

* Add short player color

* Rename msgid to "short color"

* Update localizations

* Results of running i18n

* Use format to make i18n script check happy

* Add Ukrainian localization to README
This commit is contained in:
Borys Lykah authored and GitHub committed 2024-09-28 19:22:42 +02:00
1 parent da9ec8596a
commit cf8ca1ae41
24 files changed
+113 -56

No files matched your search

+2 -2
View File
@@ -39,10 +39,10 @@ KaTrain is a tool for analyzing games and playing go with AI feedback from KataG
<a href="http://github.com/sanderland/katrain/blob/master/README.md"><img alt="English" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-uk.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=de&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="German" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-de.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=fr&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="French" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-fr.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=uk&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="Ukrainian" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-ua.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=ru&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="Russian" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-ru.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=tr&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="Turkish" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-tr.png" width=50></a>
<br/>
<a href="http://translate.google.com/translate?sl=en&tl=tr&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="Turkish" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-tr.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=zh-CN&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="Simplified Chinese" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-cn.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=zh-TW&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="Traditional Chinese" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-tw.png" width=50></a>
<a href="http://translate.google.com/translate?sl=en&tl=ko&u=https%3A%2F%2Fgithub.com%2Fsanderland%2Fkatrain%2Fblob%2Fmaster%2FREADME.md"><img alt="Korean" src="https://github.com/sanderland/katrain/blob/master/katrain/img/flags/flag-ko.png" width=50></a>
+6 -2
View File
@@ -292,7 +292,9 @@ class GameNode(SGFNode):
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]:
@@ -302,7 +304,9 @@ class GameNode(SGFNode):
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
+1 -1
View File
@@ -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 '...'
color: Theme.POINTLOSS_COLOR
<ScrollableLabel>:
+2 -2
View File
@@ -211,7 +211,7 @@ Builder.load_string(
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
@@ -223,7 +223,7 @@ Builder.load_string(
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:
Binary file not shown.
@@ -135,6 +135,12 @@ msgstr "分数图"
msgid "Jigo"
msgstr "和棋"
msgid "short color B"
msgstr "黑"
msgid "short color W"
msgstr "白"
msgid "closedlabel:movestats"
msgstr "每步统计"
Binary file not shown.
@@ -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"
Binary file not shown.
@@ -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"
@@ -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 "
"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
Binary file not shown.
@@ -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"
Binary file not shown.
@@ -166,6 +166,12 @@ msgstr "目差グラフ"
msgid "Jigo"
msgstr "持碁"
msgid "short color B"
msgstr "黒"
msgid "short color W"
msgstr "白"
msgid "closedlabel:movestats"
msgstr "着手の分析結果"
Binary file not shown.
@@ -137,6 +137,12 @@ msgstr "집 차이/승률 그래프"
msgid "Jigo"
msgstr "무승부"
msgid "short color B"
msgstr "흑"
msgid "short color W"
msgstr "백"
msgid "closedlabel:movestats"
msgstr "착수 통계"
Binary file not shown.
@@ -160,6 +160,12 @@ msgstr "График очков"
msgid "Jigo"
msgstr "Ничья"
msgid "short color B"
msgstr "Ч"
msgid "short color W"
msgstr "Б"
msgid "closedlabel:movestats"
msgstr "Статистика ходов"
Binary file not shown.
@@ -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"
Binary file not shown.
@@ -207,6 +207,12 @@ msgstr "分數圖"
msgid "Jigo"
msgstr "和棋"
msgid "short color B"
msgstr "黑"
msgid "short color W"
msgstr "白"
msgid "closedlabel:movestats"
msgstr "每步統計"
Binary file not shown.
+46 -47
View File
@@ -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 "Налаштування гравців"
@@ -185,8 +178,8 @@ msgstr "Визначити область для аналізу"
#. Status message
msgid "analysis:region:start"
msgstr ""
"Потягніть для вибору області інтересу. Виберіть одну точку для"
"скасування області."
"Потягніть для вибору області інтересу. Виберіть одну точку для скасування "
"області."
#. Menu option
msgid "analysis:playtoend"
@@ -287,6 +280,12 @@ msgstr "Графік очок"
msgid "Jigo"
msgstr "Джиґо"
msgid "short color B"
msgstr "Ч"
msgid "short color W"
msgstr "Б"
msgid "closedlabel:movestats"
msgstr "Статистика ходів"
@@ -564,8 +563,8 @@ msgstr "Одночасні ігри"
#. hint for max games
msgid "contribute:maxgames:hint"
msgstr ""
"Найкраще встановити кількість, рівну оптимальній numSearchThreads, близько "
"8 для середнього класу GPU. Можна трохи зменшити для коротких запусків, "
"Найкраще встановити кількість, рівну оптимальній numSearchThreads, близько 8"
" для середнього класу GPU. Можна трохи зменшити для коротких запусків, "
"оскільки неповні ігри не завантажуються."
msgid "contribute:ownership"
@@ -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} не знайдено, перевірте загальні налаштування."
@@ -734,8 +733,8 @@ msgstr "Енджин несподівано припинив роботу без
msgid "Engine missing DLL"
msgstr ""
"Не вдалося запустити KataGo через відсутню DLL. Перевірте вимоги в "
"документації KataGo або спробуйте запустити виконуваний файл самостійно "
"для отримання деталей."
"документації KataGo або спробуйте запустити виконуваний файл самостійно для "
"отримання деталей."
#. popup title
msgid "engine recovery"
@@ -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"
@@ -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
@@ -791,7 +790,6 @@ msgstr ""
"параметру 'playoutDoublingAdvantage' у KataGo з точки зору чорних. Якщо "
"встановлено 'automatic', KaTrain автоматично підбере відповідне значення."
msgid "ai:simple"
msgstr "Simple Style"
@@ -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 (у загальних налаштуваннях) може бути використаний для для "
"гри, більш відповідної до обраного стилю, але за рахунок зниження сили "
@@ -828,9 +826,9 @@ msgstr "Втрата очок"
msgid "aihelp:scoreloss"
msgstr ""
"Робить ходи, що призводять до більшої втрати очок, але з меншою "
"ймовірністю. При вищій кількості візитів, ймовірно, робитиме слабші та "
"різноманітніші ходи."
"Робить ходи, що призводять до більшої втрати очок, але з меншою ймовірністю."
" При вищій кількості візитів, ймовірно, робитиме слабші та різноманітніші "
"ходи."
msgid "ai:policy"
msgstr "Політика"
@@ -848,8 +846,8 @@ msgstr "Політика з коефіцієнтами"
msgid "aihelp:p:weighted"
msgstr ""
"Робить ходи відповідно до ймовірності політики, при цьому параметр "
"'weaken_fac' визначає, наскільки частіше будуть обиратися слабші ходи. "
"При дуже низькому значенні грає як AI 'Політика'. Параметр 'pick_override' "
"'weaken_fac' визначає, наскільки частіше будуть обиратися слабші ходи. При "
"дуже низькому значенні грає як AI 'Політика'. Параметр 'pick_override' "
"визначає, коли найкращий хід обирається без випадковості, а 'lower_bound' "
"визначає нижнє граничне значення політики, яке дозволено."
@@ -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', щоб уникнути явних "
"помилок."
@@ -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"
@@ -898,8 +896,9 @@ msgstr "Territorial Style"
msgid "aihelp:p:territory"
msgstr ""
"Вибирає ходи, що перевищують 'threshold', і робить найкращий. Збільште "
"'line_weight', щоб більше штрафувати ходи біля центру. Стратегія припиняється "
"після того, як буде заповнено частину дошки, визначену параметром 'endgame'."
"'line_weight', щоб більше штрафувати ходи біля центру. Стратегія "
"припиняється після того, як буде заповнено частину дошки, визначену "
"параметром 'endgame'."
msgid "ai:p:rank"
msgstr "Калібрований ранг"
@@ -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"
@@ -1043,8 +1042,8 @@ msgstr "Генерація гри через самостійну гру AI: х
msgid "setup position explanation"
msgstr ""
"Генерує незавершену гру, яку ви можете продовжити грати. Наприклад, ви "
"можете використовувати це для гри проти сильніших AI, починаючи з переваги "
"в різноманітних середніх або кінцевих позиціях гри."
"можете використовувати це для гри проти сильніших AI, починаючи з переваги в"
" різноманітних середніх або кінцевих позиціях гри."
#. Description for black target score
msgid "setup position black score"