Open yishn opened 4 years ago
I almost finished Simplified Chinese https://github.com/geovens/sabaki-i18n/blob/master/src/zh-Hans.i18n.js but I have some questions:
@geovens Thanks for your work! I put you on the list for Simplified Chinese.
en.i18n.js
as how to handle interpolation. You can't just specify a string, but a function like this:
'${appName} v${version}': p => `${p.appName} v${p.version}`
AdvancedPropertiesDrawer
.I've completed most of the Korean translation:
https://github.com/isty2e/sabaki-i18n/blob/korean/src/ko.i18n.js
However, some go terms like "Dog's head" are not well defined in Korean and I think there is no proper jargon to describe such shapes. What is your recommendation?
Thanks for your work! Not sure, either don't translate and fall back to English, or specify a string with a space character in it, so it doesn't fall back to English?
Then I'll let it fall back to English. Somebody might find an adequate translation, and I feel like leaving them as blank is not a good idea.
The 'Load Language File' feature is just a convenience. Not all strings can be replaced on runtime. For the actual language switching, the user will be required to restart Sabaki.
While I made some changes in my translation, I also noticed that @af990m forked the repo again from my fork, and had made changes too. I believe that many of their changes are better than mine. So I guess af990m could consider check my last two commits as revision suggestions, merge them into theirs, and the main repo could merge from af990m's repo?
@geovens The result you submitted is very good!Although I used the same shortcut as the English version, but it detracts from the aesthetics of the interface. :( It's hard to compare which is better, so please ignore my PR. :)
I made a conversion from simplified to traditional https://github.com/af990m/sabaki-i18n/blob/master/src/zh-Hant.i18n.js
@ParmuzinAlexander Please open a new issue and describe your problem in more detail.
I made a conversion from simplified to traditional https://github.com/af990m/sabaki-i18n/blob/master/src/zh-Hant.i18n.js
Hello,
Thanks for the great works!
There are some typos in both @geovens and your translation, line 49 Undo should be 撤消 not 撤銷 line 50 'Redo': '取消撤銷', should be 取消撤消 line 267 'sec per move': '每秒步數' should be 每步秒數 line 338, 448 and 496 'White': '白旗', should be 白棋 line 450 'Area': '數子', should be '子數' line 451 'Territory': '數目',should be '目數'
Other comments:
line 45 and 293 'Score' , this one a bit tricky, Your translation 數子 is appropriate for Chinese rule, while @geovens translation 计算目数 is appropriate for Japanese rule. How about use a more generic translation such as 計算勝負 ? Ideally, it would be great if the text or translation could change according to the rule selected but this is obviously not possible at this moment.
line 60, 211, 277 and 328 'Label Tool': '字母' Since Label can have more than one alphabet, I would be suggest to translate as 標記工具 or 標記
line 95 'Enter a move number to go to': '到指定手數', I would translate as '請輸入手數'or'請輸入前往的手數' I would prefer to use 往 or 前往 instead of 到 for the translation of the words "Go to" because it may not be possible to arrive there if the destination does not exist
line 107 and 260 Generate move is not exactly 讓引擎走一手, because the engine will continue to generate moves afterward. How about 讓引擎走棋?
line 132 'Show Move Colorization': '顯示移動著色' Move translate as 移動 is not appropriate, how about 棋步 or simply 棋?
line 146 'Transform Board': '旋轉棋盤' is not just rotation, 棋盤轉變 is what I found from Google translate
line 309 'Toggle group status.': '點選' looks incomplete to me, how about '點擊切換死活'?
line 502 'Game Records': 'Game Records', can be translated as 棋局記錄 or 對局記錄
This one is just my opinion, there are some inconsistencies in some of the translations in: Tools, Go to Example line 52 Select Tool is translated as 選擇工具 while line 53 Stone Tool is translated as 棋子, I would prefer to translate as 棋子工具 to keep the translation more consistent
Thank you all, I have merged revisions by @af990m and @yauwing into my fork, and will create a pull request.
line 60, 211, 277 and 328 'Label Tool': '字母' Since Label can have more than one alphabet, I would be suggest to translate as 標記工具 or 標記
I feel that 标记 refers to all of those: cross, triangle, square, label, etc. At first I translated 'label' to '字母/文字', indicating that it could be more than one letter, but now I feel that it looks redundant because I guess few people uses more than one letter, so I adopted af990m's change into just '字母', while still uses '字母/文字' when user is entering text, to indicate the possibility of more than one letter.
line 107 and 260 Generate move is not exactly 讓引擎走一手, because the engine will continue to generate moves afterward. How about 讓引擎走棋?
I don't know engine could continue to generate moves afterward. It has always been just one move for me. When does it generate multiple moves?
line 52 Select Tool is translated as 選擇工具 while line 53 Stone Tool is translated as 棋子, I would prefer to translate as 棋子工具 to keep the translation more consistent
In the Tools menu, there are Stone Tool, Cross Tool, Label Tool, etc.. If we change Stone Tool from 棋子 to 棋子工具, then we should add 工具 to all the rest tools too, which may appear a bit redundant. Just my 2 cents.
I just use the little to get the big.(我只是抛砖引玉而已) @geovens @yauwing :)
You are right! Generate Move only generates one move. I probably has mixed up Start engine vs engine game with Generate Move Sorry for the confusion caused.
I don't know engine could continue to generate moves afterward. It has always been just one move for me. When does it generate multiple moves?
Hi, @yishn san.
Thank you for your efforts! I start Japanese translation. Could you tell me the meaning of "&" in English translation?
In my opinion, the symbol "&" and the letters that follow it represent shortcuts @y-ich If a letter is underlined in a menu, press the Alt key and the underlined key together instead of choosing that menu item
@af990m san,
Thank you for your comment! I thought so, too.
If so I think that a template of displaying a shortcut for non-alphabetical language will be helpful for translation. There are no letters "F" in "ファイル", which means File in Japanese. And you cannot input any letters in "ファイル" from keyboard because this is a result of Input Method Editor(IME).
@y-ich
The method of change can be like this
module.exports = { 'menu.file': { 'New Window': null, 'File': '(&F)ファイル', ...
shortcuts "alt + F" still work
meybe it detracts from the aesthetics of the interface.
@af990m san,
Yes, so I want to hear from @yshin san such that '(&<shortcut key>)<translation>' is a template for non-alphabetic language. It may be worse for each translator to create their own template for this kind of work.
For the time being, I didn't include them in Korean translation. Is it supposed to be language-specific?
@y-ich Unfortunately, I don't know how other native applications handle menu keyboard hints on Japanese/Chinese/Korean. Also, on macOS, AFAIK there are no menu keyboard hints in the first place... Only Linux and Windows support it, I think.
For now, I think we should just go with no keyboard hints, otherwise it would look silly on macOS.
In Japanese, the most popular menu display in Windows looks like this.
But there are no keyboard shortcuts in Chinese or Korean currently, so I agree with yishn to go without keyboard shortcuts at first.
I created a pull request for Japanese.
How can I check it on Sabaki?
@y-ich Please check out the section 'Try out your translation'.
@yishn san,
Thank you for your information! (I should have read it first.)
Parts of translations are not valid in preferences. Maybe those are related with items. How can I debug it?
For now, you can toggle the Preferences checkboxes to update the strings manually.
I've started working on the Dutch translation.
I'm currently at line 150 of 534 of my first pass through the items.
One problem I'm having is with capitalization of the menu items. My feeling is that it's uncommon to capitalize all nouns in Dutch. For example: Show Next Moves
looks good in English, but Volgende Zet weergeven
looks rather awkward in Dutch. I think Volgende zet weegeven
is better, but I don't want to deviate from Sabaki's thoughts about this.
Note that there is no language rule that prefers Sabaki's capitalization for Dutch like, for example, German would. It's not uncommon to see non-standard capitalization for headlines/headers in Dutch, but this is more a matter of style than syntax.
What are your thoughts about this?
I think localization should prioritize how people using that language feel above all. My Korean translation is not a literal one (which could've been awkward) and some strings even have somewhat different meanings from original ones.
Exactly, in English it is common to have menu items capitalized, but in German, they are not. On any doubts, please look at any native applications on how they do the capitalization.
Can you remove the Russian translation for keyboard shortcuts 'Home', 'End', 'Page Up', 'Page Down'?
@ParmuzinAlexander I'm not sure what you mean?
@yishn Hotkeys here https://imgur.com/N4Y0PFp
Those are Electron/Chromium strings over which I have no control of. Currently, there is also an Electron bug where I can’t set the Electron language programmatically. But why do you not want Russian strings for keyboard shortcuts if you’re using Russian anyway?
@yishn The Russian keyboard does not have a translation of these buttons, to find this button you need to translate from Russian to English. 'Home' literally translated 'Main Page' 'End' literally translated 'To complete' 'Page Up' literally translated 'Up' 'Page Down' literally translated 'Scroll Down' Ok it's not important, just 4 hotkeys...
I think these should be the system strings of keyboard shortcuts. If they're not correct, you should probably open a bug on Electron, or even Chromium.
I just noticed that (I probably had done it before and then forgot) you can generate more than one move using the Generate Move command as following:
Start a new handicapped game with at least 2 stones, and assign white player to a bot. The game would not start until Generate Move was invoked, after black responded, white will continue to generate the next move.
line 107 and 260 Generate move is not exactly 讓引擎走一手, because the engine will continue to generate moves afterward. How about 讓引擎走棋?
I don't know engine could continue to generate moves afterward. It has always been just one move for me. When does it generate multiple moves?
This is the consequence of assigning an engine to a player. Sabaki will automatically generate a move for an engine if it is assigned to a player. But clicking on 'Generate Move' will only generate one move; it will not initiate an engine vs. engine or engine vs. player game.
Attaching an engine and not assigning it to a player, clicking on 'Generate Move' will not let the engine continue generating moves after you respond.
I'm working on the French translation... Thank you all for your great work.
I would like to contribute for the German translation, although I don't know a lot of the German terms.
@Gargantuar314 There's no need to provide a complete translation. Just do what you can and hopefully someone else can contribute to it. It's a community effort, after all!
Hi all! I'll gladly start working on the complete Spanish translation. Cheers!
Hi! I can contribute with Brazilian portuguese, can I create the branch?
Sure, thanks a lot, I'll add you to the list.
A lot of people have asked for translations and stated their willingness to help translating, so I'm happy to announce that we finally have an infrastructure in place to make translations as seamless as possible. Head over to Sabaki I18n to see how you can contribute.
To avoid duplicate work in the beginning, I suggest everyone who wants to start translating to comment with their language on this thread, so I can put them in this table:
A big thanks to all the translators in advance!