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

インストーラの UI を英語対応にする #359

Merged

Conversation

m-tmatma
Copy link
Member

@m-tmatma m-tmatma commented Aug 25, 2018

インストーラの UI を英語対応にする

メモ
@KENCHjp さんが仕上げてくれました。

@KENCHjp
Copy link
Member

KENCHjp commented Aug 26, 2018

一通りできたっぽいのですが、このWipにぶら下げるにはどうしたらいいでしょうか?
m-tmatma:feature/issue209-wip-installer-english
↑これをフォークして↑にPRする???

一つだけうまくいってないところがありまして、info.txtこれを言語でだしわけるのがうまくいきません。
現在は、英語と日本語を一つのinfo.txtにして、utf-8のbom付にして逃げてる状況です。

それ以外は、翻訳結果は別(全部google翻訳)にして、iniファイルの英語時のDLL初期設定等一通りできたかなと。

@m-tmatma
Copy link
Member Author

他人のプルリクエストに対して修正をする方法
https://www.ncaq.net/2017/10/16/

@KENCHjp
Copy link
Member

KENCHjp commented Aug 26, 2018

他人のプルリクエストに対して修正をする方法

やってみます。

@KENCHjp
Copy link
Member

KENCHjp commented Aug 26, 2018

できたっぽいですが、以下変えたことと課題。

  • 日本語部分をCustomMessageに追い出し(ただし翻訳はほぼルー語)
  • DisableStartupPrompt=yesにしないと、[setup]セクションで{cm:が使えないってエラーになる。
  • InfoBeforeFile="instmaterials\info.txt" これを言語で出し分けようとしたんですが{cm:を記述するとCustomMessageに展開されずエラーになる。なのでしょうがなく、info.txtをUTF-8にして日本語と英語両方記述。
  • 起動時の常駐のショートカットが(&B)となってたが、戻る(&B)と同じだったので、(&R)に変更。
  • なぜかもともと日本語なのに[Types]のEditor with HelpとEditor Onlyが英語だったので日本語追加
  • Icon追加用のメニューでInnoに備わってる「{cm:CreateQuickLaunchIcon}」「{cm:CreateDesktopIcon}」があるが、日本語にはショートカットがついてるが英語にはついてない。
  • 初期iniファイルを作成し英語の時には、[common]にszLanguageDll=sakura_lang_en_US.dllを追加
  • iniファイルを作っちゃうのでアンインストール時に削除する設定追加

info.txtが解決できればほぼほぼ元通りできそう。
ただし英語OSだと、アンインストーラーが消えちゃうのが頻発しちゃうのはなんでだろう。

あと皆様PR内でDIFF結果のソースをインラインで引用してますが、やり方がわからずどなたかおしえてくださいませ。

@KENCHjp
Copy link
Member

KENCHjp commented Aug 26, 2018

あと皆様PR内でDIFF結果のソースをインラインで引用してますが、やり方がわからずどなたかおしえてくださいませ。

これって「Files changed」の画面で直接コメント書けばいいって感じですかね?

@berryzplus
Copy link
Contributor

あと皆様PR内でDIFF結果のソースをインラインで引用してますが、やり方がわからずどなたかおしえてくださいませ。

これって「Files changed」の画面で直接コメント書けばいいって感じですかね?

ぼくもよく分っていませんが...(笑

「Files changed」の画面で行番号のあたりにマウスカーソルを持ってくと「+」になるので、そこをクリックしてコメントを書けばクリックした行を含む数行(4行くらい?)が引用される仕組みのようです。

@KENCHjp
Copy link
Member

KENCHjp commented Aug 26, 2018

マウスカーソルを持ってくと「+」になるので

やっぱそこなんすね。今度はそれ使ってみます。


[Run]
FileName: "{app}\sakura.exe"; Description: "今すぐサクラエディタを起動"; WorkingDir: "{app}"; Flags: postinstall nowait skipifsilent; Check: CheckPrivilege(false);
FileName: "{app}\sakura.exe"; Description: "{cm:run}"; WorkingDir: "{app}"; Flags: postinstall nowait skipifsilent; Check: CheckPrivilege(false);

[UninstallDelete]
;Uninstall時に確認無く消されるのでコメントアウト
Copy link
Contributor

Choose a reason for hiding this comment

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

修正概要みて「あれ?」と思ったんですが、アンインストール時に確認せずに削除されるようになっていませんか?

•iniファイルを作っちゃうのでアンインストール時に削除する設定追加

「削除」が「ごみ箱に移動」と同じ意味ならこのままでもいいと思ってます。
「ごみ箱に移動」なら「元に戻」せるので。

Copy link
Member

Choose a reason for hiding this comment

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

なるほど、わざわざコメントになってたんですね。
確かにそこのセクションに書くと確認無く消されるようですね。
私自身は勝手に作ったものはアインインストール時には削除するものかな(ゴミ箱にも入れず)と思っておりますが、
こちらWIPなのでマージはされないかと思っておりますので、本気マージの時にはここコメントの方が以前の動作引き継ぎと言う意味ではいいかと思います。
ご指摘どうもです。

Filename: "{userappdata}\sakura\sakura.ini"; Section: "Common"; Key: "szLanguageDll"; String: "{cm:languageDLL}"; Check: isMultiUserEnabled
Filename: "{app}\sakura.ini"; Section: "Common"; Key: "szLanguageDll"; String: "{cm:languageDLL}"; Check: isMultiUserDisabled

[UninstallDelete]
Copy link
Contributor

Choose a reason for hiding this comment

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

176行目に同じ設定名がありますが名前が重複した場合の動きはどうなるんでしょうか。
・・・ただの感想です。(どうなるか知らないですが怪しい香りがします。)

Copy link
Member

Choose a reason for hiding this comment

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

そっちを見落としてたのでマジPRの時は片方消すですね。

@berryzplus
Copy link
Contributor

berryzplus commented Aug 26, 2018

英訳についてざっくり突っ込み入れてみました。
こういうの作るときはサクラエディタがすごく便利です。

項目名 日本語 英語 コメント
ComponentsMain サクラエディタ本体 Sakura-Editor itself そのまま
ComponentsHelp ヘルプファイル Help files 末尾sがあったほうが良さげ
ComponentsKeyword KeyWordファイル KeyWord files 末尾sがあったほうが良さげ
startmenu スタートメニューを作成(&S) Create Start Menu(&S) 先頭大文字化
proglist プログラム一覧に追加(&P) Add Program List(&P) そのまま
fileassoc 「SAKURAで開く」メニューの追加(&E) Add "Open With Sakura &Editor" メニュー名を変えたほうが良さげ
sendto 送るに追加(&T) Add Send &To 定型文言な気がします。
fileassocMenu SAKURAで開く(&E) Open With Sakura &Editor メニュー名を変えたほうが良さげ
IconPreferencefolder 設定フォルダ Preference folder いいのが浮かびませんでした。
run 今すぐサクラエディタを起動 Start Now 表現を簡潔に。
InitWiz1 設定保存方法の選択 Selection of setting preservation method 「設定」を意味する単語が違うのが気になってます。
InitWiz3 よくわからない場合は変更しないでください Please do not change below unless you know about very well. それっぽく
InitWiz4 設定をユーザ毎に個別に管理する Manage preference per user 表現を簡潔に。
ReadyMemo1 設定ファイル等格納場所 Preference folder 強引でも合わせたほうがいい気がしました。
ReadyMemo2 ユーザ個別ディレクトリ User-Profile directory 文脈あってるか自信ないです。
ReadyMemo3 無効 Disable 定型文言な気がします。
ReadyMemo4 実行ファイルと同一ディレクトリ Same as the executable file 表現を簡潔に。
ReadyMemo5 有効 Enable 定型文言な気がします。

長いやつを一緒に入れると表が崩れるので外に出しました。

MultiUser
互換モードでインストールします。
システムファイルおよびプログラムをユーザ権限で編集すると
編集結果が他のアプリケーションから参照できないことがあります。(VirtualStore機能)
Install in compatibility mode.
When editing system files and programs with user authority,
editing results may not be accessible from other applications. (VirtualStore function)

これ、日本語の説明が怪しい気がします。
現状の仕様ではシステムファイルを編集することはできないです。
編集結果が他アプリから見えないではなく、意図しない場所に保存されるのはず。
ちょっと隙を見てissue立てる感じで行きたいです。

InitWiz2
設定をユーザ毎に保存するか実行ファイルの場所へ保存するかを選択してください
Please choose whether you want to save the settings for each user or to the location of the executable file

Please choose [選択するモノ] [選択肢]...

うまい代替案が浮かびませんでした。

@KENCHjp
Copy link
Member

KENCHjp commented Aug 26, 2018

@berryzplus さん
翻訳ありがとうございます。
設定は「Setting」と以前アプリではしてたのですが、
「Preference」の方が適切そうですよね。
InitWiz1はGoogle先生に伺ったのでSettingになっちゃった感じです。
ひとまず英語メニュー化は、こんな感じで情報共有。

@KENCHjp
Copy link
Member

KENCHjp commented Aug 28, 2018

InfoBeforeFile="instmaterials\info.txt" これを言語で出し分けようとしたんですが

これの解決方法を見つける、週末試してみる予定。これで技術的なところは一通りクリアできそう。
後は文言ですね。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 1, 2018

sakura_install2-2-0-1.exe の動きと比べてたのですが、この元のとなったissの時点で既に動きが違うみたいです。。。それから、なぜかアンインストールのショートカットが目の前で消えてきます。。。ひとまずエビデンス。


2-2-0-1
setup_000
setup_001
setup_001e
setup_002
setup_002e
setup_003
setup_004
setup_005
setup_006
setup_007
setup_008
setup_009
setup_010
setup_011
cpanel_000
editor_000
menu_000
menu_001
uninstall_000
uninstall_000e
uninstall_001
uninstall_002


日本語
setup_000
setup_000e
setup_001
setup_002
setup_002e
setup_003
setup_004
setup_005
setup_006
setup_007
setup_008
setup_009
setup_010
setup_011
menu_0001
cpanel_000
editor_000
menu_000
uninstall_000
uninstall_000e
uninstall_001
uninstall_002


英語
setup_000
setup_000e
setup_001
setup_002
setup_002e
setup_003
setup_004
setup_005
setup_006
setup_007
setup_008
setup_009
setup_010
setup_011
cpanel_000
editor_000
menu_000
menu_001
uninstall_000
uninstall_000e
uninstall_001
uninstall_002

@KENCHjp
Copy link
Member

KENCHjp commented Sep 1, 2018

sakura_install2-2-0-1.exeのインストーラの動きから変わってるのはコミットログ見ると、

2015/02/11 23:13:35のInst: インストール時のライセンス表示

の時に変ってるようですが、現在リリースされているsakura_install2-2-0-1.exe(2015-03-01 Ver.2.2.0.1 (Unicode版) )にはそれが反映されていないようです。
また反映の修正方法が、
InfoBeforeFile="instmaterials\info.txt"
に書いてありますが、licenseなら、
LicenseFile=license.txt
こっちに書くのがただしそう、ただ2-2-0-1のインストーラーでは表示されていなかったのと、
文章も怪しいと @berryzplus さんがいわれてたので、いっそこれ表示しなくしてもいいのかなと思うのですが、皆様いかがでしょう???

また、Inno setupの仕様が変わったのか、2-2-0-1では表示されていた、Welcome画面が表示されません。

DisableWelcomePage=no

を入れると同じ振る舞いをします。Inno setupのデフォルトの振る舞いがどっかから変わってしまったのかもしれません。

welcome : welcome

@KENCHjp
Copy link
Member

KENCHjp commented Sep 2, 2018

まだ見落としがありました、スタートアップのショートカット名に不具合あり修正しました。
startup_000 : startup_000

@KENCHjp
Copy link
Member

KENCHjp commented Sep 2, 2018

文章も怪しいと @berryzplus さんがいわれてたので、いっそこれ表示しなくしてもいいのかなと思うのですが、皆様いかがでしょう???

すいません、 @berryzplus さん指摘箇所とは違いますね。失礼しました。
とはいえ、sakura_install2-2-0-1.exe の時には出てなかったメッセージなんすけども。
とりあえずインストーラーの英語(手段)化はひとまず区切りで、内容はまた別途って感じですかね。

ja.ComponentsHelp=ヘルプファイル
en.ComponentsKeyword=KeyWord files
ja.ComponentsKeyword=KeyWordファイル
en.startmenu=Create Start Menu(&S)
Copy link
Member

Choose a reason for hiding this comment

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

英語だとアクセスキーを括弧付きで後ろに書くのはあまりやらない気がします。
Create &Start Menu がいいのではないでしょうか。
以下の項目も同様。

Copy link
Member

@KENCHjp KENCHjp Sep 2, 2018

Choose a reason for hiding this comment

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

取り込みました。
setup_u01

installer/sakura-common.iss Outdated Show resolved Hide resolved
installer/sakura-common.iss Outdated Show resolved Hide resolved
installer/sakura-common.iss Outdated Show resolved Hide resolved
KENCHjp added a commit to m-tmatma/sakura that referenced this pull request Sep 2, 2018
@KENCHjp
Copy link
Member

KENCHjp commented Sep 4, 2018

@m-tmatma さん、これ次のアクションどうします?
WIPなのでこのままクローズ?(誰かが別PRする?)
もうちょっとまってこのままコミット?

一応アンインストーラーが消えるのは最近再現しない模様、不思議。。。

@m-tmatma
Copy link
Member Author

m-tmatma commented Sep 4, 2018

@m-tmatma さん、これ次のアクションどうします?
WIPなのでこのままクローズ?(誰かが別PRする?)
もうちょっとまってこのままコミット?

状況的にマージできる状態ですか?
それとも何か調査すること残ってますか?

@KENCHjp
Copy link
Member

KENCHjp commented Sep 4, 2018

それとも何か調査すること残ってますか?

調査するところはないです。
既存(本修正前)とあとでほぼ動きは変わらないところまで実装できてるとおもいます。

2-2-0-1のインストーラとすでに動きが違ってる点が気になりますが(重要な情報画面が表示される)、多分当時手動でインストーラ作ってると思うので経緯はわからないきがします。
#359 (comment)
調べた結果記載。

できたら第三者でインストール アンインストールの疎通日本語英語両方確認していただけると安心かと思ってます。

@m-tmatma
Copy link
Member Author

m-tmatma commented Sep 4, 2018

2-2-0-1のインストーラとすでに動きが違ってる点が気になりますが、多分当時手動でインストーラ作ってると思うので経緯はわからないきがします。

この PR の対象外だけど気になっている点を別の issue として登録していただけますか?
この PR の目標が達成できているのであれば、タイトルの WIP を取ってみんなでレビューしましょう。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 4, 2018

この PR の対象外だけど気になっている点を別の issue として登録していただけますか?

了解です。
翻訳漏れてるところは無いかと思うので(翻訳が正しいかは別(笑))、別Issue立てたら、こっちへリンクします。
週末になりそうですが。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 19, 2018

{cm:AutoStartProgram}はインストーラを起動したときに{cm:AppName} を自動的に起動するか? ということなので、もともとの 起動時に常駐 とは意味が違うように思います。

常駐するかというはなしと、インストーラーを終了したときに、起動するかが意味が違うということをおっしゃってるイルの認識でよろしいでしょうか?

これを分けたいということでしょうか?(常駐するしないと、すぐに起動したいのどうかってことを両方ともユーザーに聞き分けたいということでいいでしょうか?)

@m-tmatma
Copy link
Member Author

ごめんなさい、それをみつけられないです。ReadyMemoってどこにあるキーワードですか?

ここら辺です。

en.ReadyMemo_SaveLocation=Preference file etc. save location
ja.ReadyMemo_SaveLocation=設定ファイル等格納場所
en.ReadyMemo_UserProfileDir=User-Profile directory
ja.ReadyMemo_UserProfileDir=ユーザ個別ディレクトリ
en.ReadyMemo_VirtualStoreDisable=Disable
ja.ReadyMemo_VirtualStoreDisable=無効
en.ReadyMemo_ExecProfileDir=Same as the executable file
ja.ReadyMemo_ExecProfileDir=実行ファイルと同一ディレクトリ
en.ReadyMemo_VirtualStoreEnable=Enable
ja.ReadyMemo_VirtualStoreEnable=有効

@m-tmatma
Copy link
Member Author

{cm:AutoStartProgram}はインストーラを起動したときに{cm:AppName} を自動的に起動するか? ということなので、もともとの 起動時に常駐 とは意味が違うように思います。

常駐するかというはなしと、インストーラーを終了したときに、起動するかが意味が違うということをおっしゃってるイルの認識でよろしいでしょうか?

そうです。実際の動作とメッセージが異なっています。
仕様を変えるという話ではないです。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 19, 2018

ここら辺です。

了解です。私がつけた名前ですね。
単なる名前なので、適切なものがあれば改変願います。

@m-tmatma m-tmatma added this to the next release milestone Sep 19, 2018
@KENCHjp
Copy link
Member

KENCHjp commented Sep 19, 2018

そうです。実際の動作とメッセージが異なっています。
仕様を変えるという話ではないです。

了解しました。

このPRは英語インストーラーにするPRかと存じます。
ご指摘の挙動は、残念ながら私が調査するにはそれなりの時間を要する気がしています。
ご要望の挙動を満足しつつこのPRをフィックスするには時間的リソースが私にはないので、
かなりおまちいただけることなるかとぞんじます。
すいません。

@m-tmatma
Copy link
Member Author

ReadyMemo ってどういう意味ですか?

これって UpdateReadyMemo という関数名から来てるんですか?
何をする関数かわかりますか?

@m-tmatma
Copy link
Member Author

ご指摘の挙動は、残念ながら私が調査するにはそれなりの時間を要する気がしています。
ご要望の挙動を満足しつつこのPRをフィックスするには時間的リソースが私にはないので、

日本語のメッセージに関しては、もともとの 起動時に常駐(&B) がそのまま使われるように
すればいいと思います。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 19, 2018

これって UpdateReadyMemo という関数名から来てるんですか?

単に名前です。各ダイアログのページの命名から来ている認識でおります。

function UpdateReadyMemo

これからですね。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 19, 2018

日本語のメッセージに関しては、もともとの 起動時に常駐(&B) がそのまま使われるようにすればいいと思います。

そうですよね。
それがですね、なんだか、時と場合で表示されないようなきがしておりまして、それを調べないと決着しない気がしております・・・

@KENCHjp
Copy link
Member

KENCHjp commented Sep 19, 2018

そうなんです、日本語のリソースを単に英語にするってところは終わってる認識なんですが(英語があってるかどうかは置いておいて)、
そもそもの動きでどうだって話+Windows10でメニューが勝手に消えちゃう問題とあわさると、
こいつってずっとクローズしなと思います。
いやいいんですよ、ずっとクロースしなくても、それが正しい動きを追い求めているのであれば。

@m-tmatma
Copy link
Member Author

そうなんです、日本語のリソースを単に英語にするってところは終わってる認識なんですが(英語があってるかどうかは置いておいて)、

{cm:AutoStartProgram} というのは、InnoSetup が定義しているメッセージのようです。
http://www.jrsoftware.org/ishelp/index.php?topic=custommessagessection

動きがよくわからないものは、InnoSetup が定義している値を使わずにカスタムの
メッセージを使った方がいいと思います。

その上で、この PR が終わった後に、標準のメッセージに差し替えが可能なものがあれば
標準のメッセージに差し替えるようにしてはいかがでしょうか?
その方が対応が楽だと思います。

@KENCHjp
Copy link
Member

KENCHjp commented Sep 19, 2018

@m-tmatma さん、了解です。
また週末になりそうですがやってみます。

レビュー結果反映
InnoSetupの定義を利用している文字列を再確認し元々のインストーラーと意味が異なるものについて見直し。
@KENCHjp
Copy link
Member

KENCHjp commented Sep 22, 2018

修正コミット積みました。
{cm:CreateQuickLaunchIcon}
{cm:CreateDesktopIcon}
{cm:UninstallProgram,{cm:AppName}}
はInnoSetupのキーワードですが仕様が明示かと思われるのでそのままにしてます。

Name: main; Description: "サクラエディタ本体"; Types: all editorwithhelp editoronly custom; Flags: fixed
Name: help; Description: "ヘルプファイル"; Types: all editorwithhelp
Name: keyword; Description: "KeyWordファイル"; Types: all
Name: main; Description: "{cm:ComponentsMain}"; Types: all TypesEditorwithhelp TypesEditoronly custom; Flags: fixed
Copy link
Member Author

Choose a reason for hiding this comment

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

TypesEditorwithhelp は前半が camel case なので
camel case で統一した方がいいと思います。

こんな感じ TypesEditorWithHelp

Copy link
Member Author

Choose a reason for hiding this comment

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

TypesEditoronly も同様です。

Copy link
Member

Choose a reason for hiding this comment

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

対応しました。

@m-tmatma
Copy link
Member Author

対応ありがとうございました。
問題ないです。

もともと私の投げた PR なので、approve できないみたいです。
@KENCHjp さん以外方、確認および approve お願いします。

Copy link
Member

@KENCHjp KENCHjp left a comment

Choose a reason for hiding this comment

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

@m-tmatma さんレビューありがとうございます。
私は、Approve出来るみたいです。

@m-tmatma
Copy link
Member Author

説明欄の WIP 削除したのですが、
WIP のチェック更新されない。

@KENCHjp KENCHjp merged commit 836430e into sakura-editor:master Sep 23, 2018
@KENCHjp
Copy link
Member

KENCHjp commented Sep 23, 2018

Marge ボタン押せたので押してみました。
なんか、不都合あったら、再度後追いPRしましょう。

@m-tmatma m-tmatma deleted the feature/issue209-wip-installer-english branch September 25, 2018 10:16
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 11, 2019
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 11, 2019
レビュー結果反映
InnoSetupの定義を利用している文字列を再確認し元々のインストーラーと意味が異なるものについて見直し。
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 11, 2019
…ip-installer-english

インストーラの UI を英語対応にする
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants