Linux あれこれ

Linux 関連の備忘録です。

「Haiku」にてアプリを日本語化 「Koder」編〈H136-2〉

登録日: 2021-10-19 更新日: 2021-11-11

前回、Haiku にて、Linux アプリをHaiku に移植するときに使われる環境 「Haikuports」を構築 しました。

今回は、その環境でHaiku 専用のテキストエディタである「Koder-0.5.3」の日本語化にトライしました。 その備忘録です。

-

「Koder-0.5.3」のメニューは英語ですが、ヘルプには日本語の貢献者の表示がありました。 変だと思い、ports ツリーを見ると日本語の翻訳ファイルがあります。でも日本語は表示されてません。

日本語のメニューが表示されるように、色々と調べました。

-

-

追記:

2021-10-19

HaikuDepot において「Koder-0.5.4-1」になり、日本語化されました。 なので、本作業を行う必要はなくなりました。 Haiku でのアプリの移植作業の参考にはなると思います。

-

-

USB メモリに「nightly ビルド」の「Haiku R1/beta3」をインストール しました。システムとしては最新です。そこで作業しました。

-

-

使用したPC は「ASUS Chromebox CN60」で、 プロセッサは第4世代の「Intel Celeron 2955U 」です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

「前回の作業」

「レシピファイルについて」

「パッチファイルについて」

「ローカルで差分を作成」

「git で差分を作成」

「.patchset の正式な形式」

「Koder-0.5.3 の日本語化」

「まとめ へ」

-

「目次詳細 へ」

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -

-

Haiku R1/beta3」のデスクトップ

-

「nightly ビルド」のデスクトップ画面:

→「nightly ビルド」は開発版と言えますが、更新の回数が多いので不具合が解消されている可能性があります。

-

「nightly ビルド」のアイコン:

→立ち上げデバイス(ボリューム)には「てんとう虫」マークが付きます。

-

日本語化した「Koder」アプリ:

→「Koder」はテキストエディタです。Haiku 専用のアプリに付き、日本語入力時にインライン変換ができます。 StyledEdit を除くと、Haiku で日本語入力時にインライン変換ができるテキストエディタは、これくらいです。

メニューは英語表示でしたが、日本語化(というか日本語化されるように修正)しました。 その後のバージョンアップで正規に日本語化されました。

-

「Koder」のテーマをダーク系に変更:

→テーマを選べるのも利点です。Haiku だとライト系が合うみたい。

-

「Koder」の日本語化に使ったファイル群:

Haiku でフォルダを開くとこのようになります。 フォルダ別に開いた位置を覚えているので、見やすい位置に調整すれば、使い込むほど開きやすくなります。

-

ちなみに、Window キーを押しながら、フォルダを開くと、以前のフォルダを閉じることができます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --

-

現在のシステムのバージョン:

-

2021-11-11 現在:

~> uname -v
hrev55632 Nov 10 2021 08:36:21

→「nightly ビルド」は、頻繁に更新されています。

-

時々、デスクトップが表示しきれないことがあるので、

もし、立ち上げで背景色のまま、デスクトップが表示されないときは「ココ 」を参照

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

-

1. 前回までの作業:

-

Linux アプリをHaiku に移植するときに使われる環境を準備:

前回の作業

-

今回はその続きです。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----

-

2.「haikuports」ツリーにて、Haiku 専用に作られたアプリを確認:

-


例: テキストエディタ「koder」:

-

在り処の表示:
~/Git/haikuporter> haikuporter -o koder
/boot/home/Git/haikuports/haiku-apps/koder

> cd /boot/home/Git/haikuports/haiku-apps/koder/
> ls -1
koder-0.5.3.recipe        ←(レシピファイル: 必須)
work-0.5.3             ←(作業フォルダ)更新チェックで自動で作られたもの

→アプリによりますが、「.rdef.in 」はソースの方に準備されていました。

-

→移植されたアプリだけでなく、Haiku 専用のアプリも確認や修正ができることに感謝。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----

-

3. レシピファイルについて

-

レシピファイルはソースファイルをビルドして、パッケージ化するためのスクリプト

Linux のアプリをHaiku に移植するときに使われる、アプリのパッケージ化を自動で行うための指示書と言えます。

Arch Linux のAUR で使われる「PKGBUILD 」ファイルと似たようなものと言えば、ピンとくる方もいると思います。

移植に成功すれば、そのレシピやパッチをアップして共有できます。アプリのバージョンごとに依存しているパッケージなどは違うので、アプリのバージョンが変われば、それに合わせて修正が必要です。

-

  • 流れとしては、GitHub の「haikuports/haikuports 」に置かれているレシピファイルが、ツリーごと、こちらのローカルのフォルダにダウンロードされます。

  • アプリのパッケージ化のコマンドを投入すると、そのレシピファイルに従って、アプリごとの作業フォルダに、ローカルのリポジトリ(git 環境)が作成され、パッチの適用、ビルド、リンク、パッケージ化が行われます。

  • 後は、ローカルにあるパッケージとして、インストールが可能です。

→パッケージ化したとしても、インストールする、しないは自由です。パッケージをダウンロードした状態と同じと言えます。なのでテキストエディタとして「koder」を使いながら作業ができます。

-

レシピの作成で指摘されやすい項目:

レシピファイルを記述するときのルールがあります。

-

参考:

レシピのガイドライン

HaikuPorts のレシピを書くときの注意点

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -

-

4. パッチファイルについて

-

同じアプリでも、OS が変わると、ソースやMakefile 等の修正が必要になる場合があります。

他のディストリビューションと共通な場合は、本家のアプリの方にプルリクエスト(改善案の組み込み依頼)することを優先すべきです。それが採用(マージ)されれば、ソースが対応して余計なバッチファイルは要らなくなります。

ただし、中にはパッチファイルを使わないとうまく動かないアプリもあり得ます。

-

また、別の使い方としては、個人で使う範囲で、アプリのカスタマイズができます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --

-

5. Haiku の「ソースファイルの記述」のルール:

-

  • パッチファイルを作るときの元になる、ソースの修正で使う、記述のしかたです。

-

参考:

コーディングガイドライン

-

ソースコードの記述のしかた(抜粋):
- タブを使用してブロックをインデントします。
- 1行の列数は100を超えてはなりません。     ←(別の記述では「70」)
- 長すぎる行を折り返す場合は、折り返した部分に少なくとも1つのタブを追加し、式レベルごとに1つのタブを追加します(たとえば、括弧のある複雑な条件では、各括弧レベルはさらに1タブインデントされます)。
- 名前空間の関数/クラスはインデントされません。
- 演算子は常に両側にスペースを入れて区切り、コンマの後にスペースを使います。
- 関数間、インクルードブロックと定義ブロックの間、および定義と変数または関数定義の間に、正確に2行の空白行を配置します。
- 行末のスペースは削除します。
- すべてのファイルの終わりに改行を含めます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

-

6. 参考: ローカルで差分を作成するには:

-

  • git の環境にないときに使えるやり方です。

-

差分を表示させるには、git の基準となる(.git が存在する)であろうフォルダにて、「a」と「b」のフォルダを作成し、実際のファイルを置きます。サブフォルダもソースに合わせて作っておくと、修正が要りません。

> cat a/test.txt
123
456
789

> cat b/test.txt
123
456
abc
def
789

-

差分の表示:
> diff -Naur a b
diff -Naur a/test.txt b/test.txt
--- a/test.txt  2021-10-18 07:49:40.291999403 +0900
+++ b/test.txt  2021-10-18 07:50:45.908725000 +0900
@@ -1,4 +1,6 @@
 123
 456
+abc
+def
 789

→フォルダだけの指定でOK 。「-u」で差分をunified 形式にして、git の表示と合わせています。

-

プルリクエストに使うなら、patchset に追加した差分コマンドの行を書き換え:
diff -Naur a/testf.txt b/testf.txt

↓ git での表示に合わせます(コメント行なのでパッチの動作に影響しません)

diff --git a/testf.txt b/testf.txt

→上記のように修正したとしても、Haiku の場合は、付加すべきヘッダー部に「コミット番号」が必要なので二度手間になります。ただし、他のディストリビューションのパッチに使うには便利です。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

-

7. git で差分を表示できるようにします:

-

  • 「git」コマンドを使うには、「git」の環境が必要です。

→「Haikuports」に置かれたアプリを「git」の環境にするには、一度アプリのパッケージを作成する必要があります。 そのときに自動で作られます。

-

ただし、アプリのパッケージの作成の完了まで行うと、ビルド等が走ってコミットだらけで、ごちゃつきます。そのまま使い、コミットを追加して、そこで「-2」とか「--author="name"」 とか抽出しても使えますが、

今回は「git」の状態の変化を見たいので、レシピファイルを修正して、ビルド寸前で停止させました。

-


1). 作業フォルダのgit の環境にて、ファイルが修正されていない初期の状態を確認:

→それには、レシピファイルを修正して、パッチを適用せずに、ビルド寸前で停止させます。

-

(1). レシピファイルのパッチファイルの定義の行を削除、「BUILD()」の行以下をすべて削除。

-

日本語化する以前のバージョンのレシピ koder-0.5.3.recipe を使用:
> cd ~/Git/haikuports/haiku-apps/koder/
> ls -1
download
koder-0.5.3.recipe
patches
work-0.5.3

→もし、「koder-0.5.4.recipe」があったら「koder-0.5.4.recipe-ORG」に名前を変更しておきます。

-

> lpe koder-0.5.3.recipe

↓ 「$portVersion」を直に指定して「"0.5.3"」に変更した状態です:

SUMMARY="A code editor"
DESCRIPTION="Koder is a code editor for Haiku based on Scintilla editing \
component. It supports syntax highlighting for several programming languages \
and additional languages can be added by the user. It also features multiline \
editing, folding, brace highlighting, and some other things supported by \
Scintilla."
HOMEPAGE="https://github.com/KapiX/Koder"
COPYRIGHT="2016-2020 Kacper Kasper"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/KapiX/Koder/archive/0.5.3.tar.gz"
CHECKSUM_SHA256="8dbbf9fc73e0e8ad461e702b793a72c009b9098752bc36c70e374100db4fb1eb"
SOURCE_DIR="Koder-0.5.3"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

USER_SETTINGS_FILES="
    settings/Koder directory
    "

PROVIDES="
    koder$secondaryArchSuffix ="0.5.3"
    app:Koder ="0.5.3"
    "
REQUIRES="
    haiku$secondaryArchSuffix
    scintilla${secondaryArchSuffix}_lexers
    lib:libscintilla$secondaryArchSuffix
    lib:libyaml_cpp$secondaryArchSuffix
    "

BUILD_REQUIRES="
    haiku${secondaryArchSuffix}_devel
    devel:libscintilla$secondaryArchSuffix
    devel:libyaml_cpp$secondaryArchSuffix
    "
BUILD_PREREQUIRES="
    makefile_engine
    cmd:g++$secondaryArchSuffix
    cmd:make
    "
   ←(差分ファイルの確認に使うだけなので、これ以降は削除)

→パッケージ化を最後まで実行しても、ソースの一部が変更されているのか、以前は通ったものが今はエラーします。

-

(2). 「work-0.5.3」フォルダと「download」フォルダを削除

-

(3). アプリをパッケージ化するコマンドを入力:
> cd ~/Git/haikuporter/
> hp koder
:
grabbing koder-0.5.3-1-x86_64.hpkg and moving it to /boot/home/Git/haikuports/packages/koder-0.5.3-1-x86_64.hpkg

エイリアスが登録されているときに使えるコマンドです。

途中で停止するはずですが、パッケージが正常に作成されたみたいなメッセージが表示されます。

-

(4). 作業フォルダのgit の状態を確認:
  • ファイルが修正されていない「git が作られたばかりの、初期の状態」です。

-

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/
> ls -a
.   .editorconfig  .gitignore  data        LICENSE  Makefile   src
..  .git           artwork     Koder.rdef  locales  README.md

> git branch
* haikuport

> git tag
ORIGIN

> git status
On branch haikuport
nothing to commit, working tree clean

→まだ何もファイルの修正はされていない、表示です。

-

ただし、リポジトリが作成されたときのコミットが登録されています:

> git log
commit 1de36e8916b1507d593e69cc9a3d05d08f1fca1e (HEAD -> haikuport, tag: ORIGIN)
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Mon Oct 18 18:53:31 2021 +0900

    import

→コミットのAuthor は自分になっています。構築するときに設定ファイルで設定した値です。

-

その状態でソースファイルを修正:

表示以外の「git」の操作をしません。

-

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/

> echo "test" > test.txt
> cat test.txt
test
> git status
On branch haikuport
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        test.txt

nothing added to commit but untracked files present (use "git add" to track)

→更新のあった(新規作成した)ファイル名が赤色で表示されます。

和訳: コミットするために何も追加されていませんが、追跡されていないファイルが存在します(追跡するには「gitadd」を使用してください)

-

その状態で、その差分を表示:
> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/
> git diff
>

→修正したファイルの差分が表示されます。ステージングやコミットすると表示されなくなります。 ただし、新規に作成したファイルは表示されません。

git 管理の対象とされていない(追跡されていない)ファイルがある場合は、git diff では、新しいファイルが存在しないことが時々起こります。その場合は、作成したファイルをステージングします。コミットまですると、表示されないので注意。

-

git add でステージング(ステージングエリアに移動):

-

git add で指定したファイルのみをステージングする場合:
> git add test.txt

> git status
On branch haikuport
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   test.txt

→ファイル名が緑色表示に変わりました。

-

git add で新規のファイルも含めて、修正したすべてのファイルをステージングする場合:
> git add -A

-

  • ステージングが必要なのは、コミットするファイル群を選びやすくするためと、git の管理の対象となっていないファイルを追加するため。

-

ステージングしたファイルの差分のみを表示:
> git dif
>

→表示なし

> git diff --cached

または、

> git diff --staged
diff --git a/test.txt b/test.txt
new file mode 100644
index 0000000..9daeafb
--- /dev/null
+++ b/test.txt
@@ -0,0 +1 @@
+test

→ステージングされたファイルのみが表示され、コミットすると表示されなくなります。

つまり、修正したファイルがある場合、「git diff」と「git diff --staged」の両方をしないと差分表示できません。

-


2). パッケージ作成途中で、「パッチを適用」して停止させ、その修正された差分を表示:

→それには、レシピファイルを修正して、パッチを適用して、ビルド寸前で停止させます。

-

(1). 「patches」フォルダを作ります

そこにパッチファイル「koder-0.5.3.patchset」を置きます

$ cd ~/Git/haikuports/haiku-apps/koder/

$ ls -1
koder-0.5.3.recipe
patches

$ ls patches/
koder-0.5.3.patchset

→「patches/」フォルダ配下に置きます。

-

(2). その「patches」フォルダに、仮のパッチファイル「koder-0.5.3.patchset」を作成:
  • 仮としているのは、ヘッダー(表題)に使う「コミット番号」がまだないからです。

  • ひとつのコミットに複数のファイルの差分が含まれていてもOK です。

  • フッター(お尻)にある番号は、使っているgit のバージョン番号です。任意でかまいません。

-

git のバージョン:
> git --version
git version 2.30.2

-

仮のパッチファイル「koder-0.5.3.patchset」を作成:
> cd ~/Git/haikuports/haiku-apps/koder/

> lpe patches/koder-0.5.3.patchset

From 00000000000000000000000000000000000001 Fri Sep 24 00:00:00 2021
From: FuRuYa7 <mymail@mydomain.org>
Date: 2021-09-24 10:48:00.000000000 +0900
Subject: Add translation file (Japanese + etc)


diff --git a/Makefile b/Makefile
index f317d4e..979c9b6 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ SYSTEM_INCLUDE_PATHS = \
        $(shell findpaths -e -a $(shell uname -p) B_FIND_PATH_HEADERS_DIRECTORY scintilla)
 
 LOCAL_INCLUDE_PATHS = src/controls src/support src/windows
-LOCALES = de en en_GB es fr pt pl ro ru uk
+LOCALES = ca de en en_GB es fi fr fur hu id it ja lt pl pt ro ru sv tr uk
 
 SYMBOLS := FALSE
 DEBUGGER := FALSE
--
2.30.2


From 00000000000000000000000000000000000002 Fri Sep 24 00:00:00 2021
From: FuRuYa7 <mymail@mydomain.org>
Date: 2021-09-24 10:48:00.000000000 +0900
Subject: Translation correction (Japanese)


diff --git a/locales/ja.catkeys b/locales/ja.catkeys
index 86927ee..4a91f88 100644
--- a/locales/ja.catkeys
+++ b/locales/ja.catkeys
@@ -61,7 +61,6 @@ Undo  EditorWindow            元に戻す
 Unix format    EditorWindow            Unix 形式
 Unsaved changes        EditorWindow            保存されていない変更
 Untitled       EditorWindow            無題
-
 View   EditorWindow            表示
 Windows format EditorWindow            Windows 形式
 Wrap lines     EditorWindow            行を折り返す
--
2.30.2

→「lpe」は、GUIテキストエディタ「Pe」をターミナルから起動するためのコマンドです。 Haiku での切り貼りは、Alt+C、Alt+V、です。 また、右クリックが貼り付け。

  • デバッグ時は、ファイルごとにコミットして、差分を分けておくと、パッチが適用される時のメッセージも別々に表示されてわかりやすいです。

-

(3). レシピファイルにパッチファイルの定義の行を追加、「BUILD()」の行以下をすべて削除

-

日本語化のレシピ koder-0.5.3.recipe を適用:
> lpe koder-0.5.3.recipe

↓ パッチファイルを使う定義「PATCHES=」を追加:

SUMMARY="A code editor"
DESCRIPTION="Koder is a code editor for Haiku based on Scintilla editing \
component. It supports syntax highlighting for several programming languages \
and additional languages can be added by the user. It also features multiline \
editing, folding, brace highlighting, and some other things supported by \
Scintilla."
HOMEPAGE="https://github.com/KapiX/Koder"
COPYRIGHT="2016-2020 Kacper Kasper"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/KapiX/Koder/archive/0.5.3.tar.gz"
CHECKSUM_SHA256="8dbbf9fc73e0e8ad461e702b793a72c009b9098752bc36c70e374100db4fb1eb"
SOURCE_DIR="Koder-0.5.3"
PATCHES="koder-0.5.3.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

USER_SETTINGS_FILES="
    settings/Koder directory
    "

PROVIDES="
    koder$secondaryArchSuffix ="0.5.3"
    app:Koder ="0.5.3"
    "
REQUIRES="
    haiku$secondaryArchSuffix
    scintilla${secondaryArchSuffix}_lexers
    lib:libscintilla$secondaryArchSuffix
    lib:libyaml_cpp$secondaryArchSuffix
    "

BUILD_REQUIRES="
    haiku${secondaryArchSuffix}_devel
    devel:libscintilla$secondaryArchSuffix
    devel:libyaml_cpp$secondaryArchSuffix
    "
BUILD_PREREQUIRES="
    makefile_engine
    cmd:g++$secondaryArchSuffix
    cmd:make
    "
   ←(差分ファイルの確認に使うだけなので、これ以降は削除)

→1行追加しただけです。

-

(4). 「work-0.5.3」フォルダと「download」フォルダを削除

-

(5). アプリをパッケージ化するコマンドを入力:
> cd ~/Git/haikuporter/
> hp koder
:
Applying patchset "/boot/home/Git/haikuports/haiku-apps/koder/patches/koder-0.5.3.patchset" ...
Applying: Add translation file (Japanese + etc)
Applying: Translation correction (Japanese)
:
grabbing koder-0.5.3-1-x86_64.hpkg and moving it to /boot/home/Git/haikuports/packages/koder-0.5.3-1-x86_64.hpkg

エイリアスが登録されているときに使えるコマンドです。

途中で停止しているはずですが、メッセージとしてはパッケージが正常に作成されたみたいな表示で完了します。途中で、パッチに登録されているコミットの数だけ「コミットメッセージ」が表示されます。

-

(6). 作業フォルダのgit の状態を確認:
  • コミットされた状態と同じになりました。

-

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/

> git diff
> git diff --cached

> git status
On branch haikuport
nothing to commit, working tree clean

→コミットすると、上記2つのコマンドでは、差分の表示はできなくなります。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

-

8. git で差分を表示:

-

1). コミット履歴からコミット番号を確認:

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/
> git log

commit acb89e81e4afd1aa92ab6b3973354a7669987abd (HEAD -> haikuport)
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Fri Sep 24 10:48:00 2021 +0900

    Translation correction (Japanese)

commit 3e7a49851aa14bbd9800f59e7b2f43a18becae00
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Fri Sep 24 10:48:00 2021 +0900

    Add translation file (Japanese + etc)

commit 41750ca9059316212af2301bb48ace343705457d (tag: ORIGIN)
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Mon Oct 18 19:25:13 2021 +0900

    import

-

2). コミット間で差分を表示:

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/
> git diff 41750ca905..acb89e81e4

diff --git a/Makefile b/Makefile
index f317d4e..979c9b6 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ SYSTEM_INCLUDE_PATHS = \
        $(shell findpaths -e -a $(shell uname -p) B_FIND_PATH_HEADERS_DIRECTORY scintilla)
 
 LOCAL_INCLUDE_PATHS = src/controls src/support src/windows
-LOCALES = de en en_GB es fr pt pl ro ru uk
+LOCALES = ca de en en_GB es fi fr fur hu id it ja lt pl pt ro ru sv tr uk
 
 SYMBOLS := FALSE
 DEBUGGER := FALSE
diff --git a/locales/ja.catkeys b/locales/ja.catkeys
index 86927ee..4a91f88 100644
--- a/locales/ja.catkeys
+++ b/locales/ja.catkeys
@@ -61,7 +61,6 @@ Undo  EditorWindow            元に戻す
 Unix format    EditorWindow            Unix 形式
 Unsaved changes        EditorWindow            保存されていない変更
 Untitled       EditorWindow            無題
-
 View   EditorWindow            表示
 Windows format EditorWindow            Windows 形式
 Wrap lines     EditorWindow            行を折り返す

→ヘッダー(エントリー部)は表示されません。

-

3). 「git show」コマンドで最新のコミットログを表示:

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/
> git show

commit acb89e81e4afd1aa92ab6b3973354a7669987abd (HEAD -> haikuport)
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Fri Sep 24 10:48:00 2021 +0900

    Translation correction (Japanese)

diff --git a/locales/ja.catkeys b/locales/ja.catkeys
index 86927ee..4a91f88 100644
--- a/locales/ja.catkeys
+++ b/locales/ja.catkeys
@@ -61,7 +61,6 @@ Undo  EditorWindow            元に戻す
 Unix format    EditorWindow            Unix 形式
 Unsaved changes        EditorWindow            保存されていない変更
 Untitled       EditorWindow            無題
-
 View   EditorWindow            表示
 Windows format EditorWindow            Windows 形式
 Wrap lines     EditorWindow            行を折り返す

→ヘッダー(エントリー部)は表示されましたが、コミットが1件のみです。

-

4). 「git log -p」コマンドで、最新のコミット履歴から2つを表示:

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/
> git log -p -2

commit acb89e81e4afd1aa92ab6b3973354a7669987abd (HEAD -> haikuport)
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Fri Sep 24 10:48:00 2021 +0900

    Translation correction (Japanese)

diff --git a/locales/ja.catkeys b/locales/ja.catkeys
index 86927ee..4a91f88 100644
--- a/locales/ja.catkeys
+++ b/locales/ja.catkeys
@@ -61,7 +61,6 @@ Undo  EditorWindow            元に戻す
 Unix format    EditorWindow            Unix 形式
 Unsaved changes        EditorWindow            保存されていない変更
 Untitled       EditorWindow            無題
-
 View   EditorWindow            表示
 Windows format EditorWindow            Windows 形式
 Wrap lines     EditorWindow            行を折り返す

commit 3e7a49851aa14bbd9800f59e7b2f43a18becae00
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Fri Sep 24 10:48:00 2021 +0900

    Add translation file (Japanese + etc)

diff --git a/Makefile b/Makefile
index f317d4e..979c9b6 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ SYSTEM_INCLUDE_PATHS = \
        $(shell findpaths -e -a $(shell uname -p) B_FIND_PATH_HEADERS_DIRECTORY scintilla)
 
 LOCAL_INCLUDE_PATHS = src/controls src/support src/windows
-LOCALES = de en en_GB es fr pt pl ro ru uk
+LOCALES = ca de en en_GB es fi fr fur hu id it ja lt pl pt ro ru sv tr uk
 
 SYMBOLS := FALSE
 DEBUGGER := FALSE

→修正ファイル2つを別々のコミットとしたパッチファイルなので、これでOKです。 ただし、ヘッダーの形式が違うのと、フッターがありません。

-

どちらにしても、編集は 2回に分けて行い、その都度、コミットするやり方が、デバッグ時は見やすいです。 ただし、プルリクエストするときはひとつにまとめた方がコメントがわかりやすくなると思います。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

-

9. 「.patchset」の正式な形式を調べました:

-

プルリクエストに含めた「.patchset」は手動で作成したため「間違っている」と指摘を受けました。

パッチの適用には使えましたが、プルリクエストで受け付けてもらえないので、正式な作り方を調べました。 なかなか見つからなかったのですが、やっと見つけました。

-

  • 「git」の機能としての、ソースファイルの差分をメールで送信するための形式でした。

→メールで使われる「UNIX mailbox format」と呼ばれる形式で、送られてきたパッチを「git-am」コマンドを使うとリポジトリに反映できます。

-

  • 形式としては、空白行で区切られた、「mbox 形式」と呼ばれる単一の From 行を頭に付加した、複数のメッセージ(差分の内容)が含まれたひとつのファイルです。

→付加された頭の部分には、標準のRFC 電子メール形式の一部であるFrom:行が必要です。

→付加された後ろの部分には、作成に使った「git」のバージョンが付加されます。

-

参考:

git format-patchで外に出す用のパッチを生成する

-


1). Haiku のパッチファイルの形式でファイル出力:

  • コミットされていないと作成されません。

  • コミット数の指定が必要です。

-

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.3/sources/Koder-0.5.3/

> git format-patch -2
0001-Add-translation-file-Japanese-etc.patch
0002-Translation-correction-Japanese.patch

→コミットごとにパッチファイルが作成されます。

末尾にディレクトリ名やファイル名を指定すると、その中で更新されたものだけを抽出してくれます。

-

内容の確認:
> cat 0001-Add-translation-file-Japanese-etc.patch

From 3e7a49851aa14bbd9800f59e7b2f43a18becae00 Mon Sep 17 00:00:00 2001
From: FuRuYa7 <mymail@mydomain.org>
Date: Fri, 24 Sep 2021 10:48:00 +0900
Subject: [PATCH 1/2] Add translation file (Japanese + etc)

---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index f317d4e..979c9b6 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ SYSTEM_INCLUDE_PATHS = \
        $(shell findpaths -e -a $(shell uname -p) B_FIND_PATH_HEADERS_DIRECTORY scintilla)
 
 LOCAL_INCLUDE_PATHS = src/controls src/support src/windows
-LOCALES = de en en_GB es fr pt pl ro ru uk
+LOCALES = ca de en en_GB es fi fr fur hu id it ja lt pl pt ro ru sv tr uk
 
 SYMBOLS := FALSE
 DEBUGGER := FALSE
-- 
2.30.2
> cat 0002-Translation-correction-Japanese.patch

From acb89e81e4afd1aa92ab6b3973354a7669987abd Mon Sep 17 00:00:00 2001
From: FuRuYa7 <mymail@mydomain.org>
Date: Fri, 24 Sep 2021 10:48:00 +0900
Subject: [PATCH 2/2] Translation correction (Japanese)

---
 locales/ja.catkeys | 1 -
 1 file changed, 1 deletion(-)

diff --git a/locales/ja.catkeys b/locales/ja.catkeys
index 86927ee..4a91f88 100644
--- a/locales/ja.catkeys
+++ b/locales/ja.catkeys
@@ -61,7 +61,6 @@ Undo  EditorWindow            元に戻す
 Unix format    EditorWindow            Unix 形式
 Unsaved changes        EditorWindow            保存されていない変更
 Untitled       EditorWindow            無題
-
 View   EditorWindow            表示
 Windows format EditorWindow            Windows 形式
 Wrap lines     EditorWindow            行を折り返す
--          ←(フッター)
2.30.2       ←(フッター: 自動で付加。作成に使ったgit のバージョン)

→ヘッダーもフッターも付いていてOK です。「Subject」に書かれた連番の順に連結して、間を2行ほど空ければ、パッチファイルとしてそのまま使えます。簡単にパッチファイルが作成できました。

-

ファイル名は、コミットメッセージ

-

先頭のヘッダーの 1行目の数字は「コミット番号」:

→ その後ろに続く「Mon Sep 17 00:00:00 2001」は固定、これで「git format-patch」で作られたとわかります。

-

最後のフッターの数字は「git のバージョン番号」:
> git --version
git version 2.30.2

→メールとして相手に送るので、作成したときのgit のバージョンも知らせているみたい。

-

  • 形式がわかったので、手動で作成できそうですが、コミットしないと番号がわかりません。 コミットしたらこのコマンドが使えます。なのでわざわざ手動で行う必要はありません。

-


2). 最新のコミットが 1つのパッチファイルを生成:

> git format-patch -1
0001-Translation-correction-Japanese.patch

もしくは、

> git format-patch HEAD^
0001-Translation-correction-Japanese.patch

-


3). 最新のコミットから 2つのパッチファイルを生成:

> git format-patch -2
0001-Add-translation-file-Japanese-etc.patch
0002-Translation-correction-Japanese.patch

もしくは、

> git format-patch HEAD^^
0001-Add-translation-file-Japanese-etc.patch
0002-Translation-correction-Japanese.patch

→ファイル名に、コミットメッセージが含まれます。

-


4). コミットの並びに注目:

> git log -2

commit acb89e81e4afd1aa92ab6b3973354a7669987abd (HEAD -> haikuport)
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Fri Sep 24 10:48:00 2021 +0900

    Translation correction (Japanese)

commit 3e7a49851aa14bbd9800f59e7b2f43a18becae00
Author: FuRuYa7 <mymail@mydomain.org>
Date:   Fri Sep 24 10:48:00 2021 +0900

    Add translation file (Japanese + etc)

→コミットの履歴としては一番上が最新ですが、パッチを適用するときは一番最後になります。 ちゃんとパッチする順番の番号(逆順)が振られています。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

-

10. 「Koder」が日本語化される前のバージョンに戻しました:

-

本投稿は、以前のバージョンの「Koder-0.5.3」の日本語化についてです。 最新バージョンは日本語化されており、本作業は必要ありません。

また、「Koder-0.5.3」では、関連するパッケージが更新されたのか、 以前は完了した作業が、現在はアプリのパッケージ化の途中でエラーします。

残念ながらインストールしての確認テストまではできませんが、 Haiku 専用アプリの日本語化については色々と学べると思います。

-


1). 「Koder-0.5.3」にて、翻訳ファイルはあるけど日本語化されていなかった原因:

-

原因1.「Makefile」のLOCALESに日本語を含むいくつかの言語の指定がありません

→ビルド時に翻訳されません。翻訳ファイルを追加した時に「Makefile」が修正されていなかったみたい。

-

原因2. 翻訳ファイルの「ja.catkeys」の64行目に空白行があるため、翻訳変換中にエラーが発生

-

原因3. 他の言語に設定のHaiku のファイル属性が「ja.catkeys」にはなく、翻訳変換中にエラーが発生

→上記の「ja.catkeys」の空白行を削除後に、Haiku 上で「ja.catkeys」のファイル属性を追加する必要があります。 (もしくは、.tar.gz を作成する前に追加を実施)

-

Haiku 上で下記の操作が必要:
> addattr -t mime "BEOS:TYPE" locale/x-vnd.Be.locale-catalog.plaintext locales/ja.catkeys
> addattr -t string "BEOS:LOCALE_LANGUAGE" Japanese locales/ja.catkeys
> addattr -t string "BEOS:LOCALE_SIGNATURE" x-vnd.KapiX-Koder locales/ja.catkeys
> addattr -t uint32 "BEOS:LOCALE_FINGERPRINT" 822155924 locales/ja.catkeys

Haiku の翻訳ファイルには、「SIGNATURE」の属性が設定されており、翻訳変換時に「SIGNATURE」を「koder」の実行ファイルに埋め込むことで、どの言語を使うべきかを判断しているみたい。なので、翻訳ファイルにファイル属性が設定されていないとエラーします。Haiku のファイル属性(テキストファイルなのに、上記のファイル属性を持てます)を利用したロケールのやり方なので、他のディストリビューションでは考えられない原因になります。

-

Haiku のファイル属性は、BeFS でのみ有効。etx4 やfat32 に持っていくと消えます

→「.tar.gz」にしておけば保持されます。

-

原因4. 実際にパッケージ化してインストールしても、その国の人でないと気づきません。確認漏れです

ちなみに、多くの翻訳者は、翻訳ファイルを提供するだけです。他のディストリビューションでの翻訳だと、アプリが国際化に対応されていれば、翻訳ファイルの変換と配置だけで翻訳が正しいかは翻訳者でも確認します。Haiku ではシステムは書き込み保護されているので、ビルドしてパッケージ化してインストールが必要です。多くの翻訳者がパッケージ化してインストールするまでしての確認は行わないと思われます。

翻訳ファイルが採用されたか、されなかったかは、翻訳者にはその時点ではわかりません。その後にアプリをインストールして翻訳されていないことに気づいても「採用されなかった」と思うだけです。また、翻訳されていないことはその国の人でないと気づきません。ほとんどの国の人がそうだったようで、長い間(2年ほど)気づかれなかった理由だろうと思います。Makefile に有効化するための設定があるとは知りません。アプリの作り方しだいとは思います。

-


2). 「Koder-0.5.3」を日本語化するために行ったこと:

-

対策1. 「パッチファイル」で、ソースファイルの「Makefile」と「locales/ja.catkeys」を修正

-

対策2. 「レシピファイル」にて、パッチが適用されて、ビルドされる前に「locales/ja.catkeys」に対するファイル属性の設定が行われるように設定

-

対策3. 「レシピファイル」にて、どの言語の翻訳ファイルが登録されたかがわかるように、システムに置かれる場所に翻訳ファイルを置きました

→アプリの実行ファイルに埋め込まれるので、翻訳ファイルの配置がなくても支障がないことも要因。置くのは無駄と思うかは開発者しだい。

  • この設定は個人的なデバッグ用です。また、システムに自由にファイルが置けるかのテストも兼ねています。 なので、プルリクエストには含めていません。

-


3). 今回、いじれるように古いバージョン(koder-0.5.3)を復活:

> cd ~/Git/haikuports/haiku-apps/koder/
> ls

> cp koder-0.5.4.recipe koder-0.5.4.recipe-ORG
> cp koder-0.5.4.recipe koder-0.5.3.recipe
> ls

→以前に「Haikuports」の環境を作ったのなら、最新のレシピをダウンロードしなければ、koder-0.5.3 のままです。 開発環境なので、勝手に更新されません。なので、新しいレシピをダウンロードした場合の操作です。

-


4). バージョンが上がり、日本語化された「koder-0.5.4.recipe」:

koder: bump version (#6260)   ←(bump version とはバージョンアップ版ということ)

diversys merged 1 commit into haikuports:master from KapiX:koder-0.5.4

KapiX deleted the koder-0.5.4 branch

→以前の「0.5.3」と同じtags 管理で「0.5.4」です。「master」ブランチの更新は停止していることに注意。 ここには日本語の翻訳ファイルは置かれていません。タグを切り替えないと見つかりません。

-

プルリクエストの対象になる最新バージョンはこのGitHub の場合は、「master」ブランチや「0.5.4」タグではなく、「0.5」ブランチになります。数字の大きさに惑わされないように注意です。自分も Issues で教えてもらうまで気づきませんでした。

シンプルに「master」ブランチが最新だと楽ですが、ブランチの作成やpush 、プルリクエスト時の切り替えなど、それらがいつもとは違う操作になるので、自分のような git 初心者には敷居が高いですね。管理者が管理しやすいのが一番なので、その辺りはしかたないこと。

-

koder-0.5.4.recipe

$ cd ~/Git/haikuports/haiku-apps/koder/

$ ls -1
koder-0.5.4.recipe

-

$ cat koder-0.5.4.recipe

:
SOURCE_URI="https://github.com/KapiX/Koder/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="7a873283f8439a885b908f9c933a7433929df65b7fe8d4304b9bb21947f195e2"
:

→レシピのバージョンが上がりました:

haiku-apps/koder/koder-0.5.3.recipe → haiku-apps/koder/koder-0.5.4.recipe

→レシピファイルとしては、チェックサムが変更されただけです。

ソースで不具合は吸収(アップストリームで対処)されたので、パッチファイルは要りません。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

-

11. 「Koder-0.5.3」の日本語化を実行:

-

こちらの場合はパッチファイルが必要でした。

-


1). 最終的な、日本語化のレシピ koder-0.5.3.recipe を配置:

> cd ~/Git/haikuports/haiku-apps/koder/
> lpe koder-0.5.3.recipe

↓ 「$portVersion」を直に指定して「"0.5.3"」に変更した状態です:

SUMMARY="A code editor"
DESCRIPTION="Koder is a code editor for Haiku based on Scintilla editing \
component. It supports syntax highlighting for several programming languages \
and additional languages can be added by the user. It also features multiline \
editing, folding, brace highlighting, and some other things supported by \
Scintilla."
HOMEPAGE="https://github.com/KapiX/Koder"
COPYRIGHT="2016-2020 Kacper Kasper"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/KapiX/Koder/archive/0.5.3.tar.gz"
CHECKSUM_SHA256="8dbbf9fc73e0e8ad461e702b793a72c009b9098752bc36c70e374100db4fb1eb"
SOURCE_DIR="Koder-0.5.3"
PATCHES="koder-0.5.3.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

USER_SETTINGS_FILES="
    settings/Koder directory
    "

PROVIDES="
    koder$secondaryArchSuffix ="0.5.3"
    app:Koder ="0.5.3"
    "
REQUIRES="
    haiku$secondaryArchSuffix
    scintilla${secondaryArchSuffix}_lexers
    lib:libscintilla$secondaryArchSuffix
    lib:libyaml_cpp$secondaryArchSuffix
    "

BUILD_REQUIRES="
    haiku${secondaryArchSuffix}_devel
    devel:libscintilla$secondaryArchSuffix
    devel:libyaml_cpp$secondaryArchSuffix
    "
BUILD_PREREQUIRES="
    makefile_engine
    cmd:g++$secondaryArchSuffix
    cmd:make
    "

BUILD()
{
    addattr -t mime "BEOS:TYPE" locale/x-vnd.Be.locale-catalog.plaintext locales/ja.catkeys
    addattr -t string "BEOS:LOCALE_LANGUAGE" Japanese locales/ja.catkeys
    addattr -t string "BEOS:LOCALE_SIGNATURE" x-vnd.KapiX-Koder locales/ja.catkeys
    addattr -t uint32 "BEOS:LOCALE_FINGERPRINT" 822155924 locales/ja.catkeys
    make $jobArgs OBJ_DIR=objects
    make bindcatalogs OBJ_DIR=objects
}

INSTALL()
{
    mkdir -p $appsDir
    cp -af objects/Koder $appsDir

    mkdir -p $dataDir/Koder
    cp -r data/* $dataDir/Koder

    mkdir -p $dataDir/locale/catalogs/x-vnd.KapiX-Koder
    cp -r locales/* $dataDir/locale/catalogs/x-vnd.KapiX-Koder

    addAppDeskbarSymlink $appsDir/Koder
}

→パッチファイルの定義の行を追加。「BUILD() 」のところにファイル属性の設定コマンドを 4つ追加。「INSTALL()」のところにデバッグ用として 翻訳ファイルを配置(動作には関係しません)。

-


2). 最終的な、日本語化のパッチファイル「koder-0.5.3.patchset」を配置:

> cd ~/Git/haikuports/haiku-apps/koder/
> lpe patches/koder-0.5.3.patchset
From 3e7a49851aa14bbd9800f59e7b2f43a18becae00 Mon Sep 17 00:00:00 2001
From: FuRuYa7 <mymail@mydomain.org>
Date: Fri, 24 Sep 2021 10:48:00 +0900
Subject: [PATCH 1/2] Add translation file (Japanese + etc)

---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index f317d4e..979c9b6 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ SYSTEM_INCLUDE_PATHS = \
        $(shell findpaths -e -a $(shell uname -p) B_FIND_PATH_HEADERS_DIRECTORY scintilla)
 
 LOCAL_INCLUDE_PATHS = src/controls src/support src/windows
-LOCALES = de en en_GB es fr pt pl ro ru uk
+LOCALES = ca de en en_GB es fi fr fur hu id it ja lt pl pt ro ru sv tr uk
 
 SYMBOLS := FALSE
 DEBUGGER := FALSE
-- 
2.30.2


From acb89e81e4afd1aa92ab6b3973354a7669987abd Mon Sep 17 00:00:00 2001
From: FuRuYa7 <mymail@mydomain.org>
Date: Fri, 24 Sep 2021 10:48:00 +0900
Subject: [PATCH 2/2] Translation correction (Japanese)

---
 locales/ja.catkeys | 1 -
 1 file changed, 1 deletion(-)

diff --git a/locales/ja.catkeys b/locales/ja.catkeys
index 86927ee..4a91f88 100644
--- a/locales/ja.catkeys
+++ b/locales/ja.catkeys
@@ -61,7 +61,6 @@ Undo  EditorWindow            元に戻す
 Unix format    EditorWindow            Unix 形式
 Unsaved changes        EditorWindow            保存されていない変更
 Untitled       EditorWindow            無題
-
 View   EditorWindow            表示
 Windows format EditorWindow            Windows 形式
 Wrap lines     EditorWindow            行を折り返す
-- 
2.30.2

-


3). 「work-0.5.3」フォルダと「download」フォルダを削除

-


4). アプリをパッケージ化するコマンドを入力:

> cd ~/Git/haikuporter/
> hp koder

エイリアスが登録されているときに使えるコマンドです。

→バージョンアップする前までは動いていたのですが、どこか変更されたようで、現在はビルドの途中でエラーします。

/boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/8.3.0/include/c++/bits/hashtable_policy.h:810:76: internal compiler error: Illegal instruction
       using __node_type = _Hash_node<_Value, _Traits::__hash_cached::value>;
                                                                            ^

→もはや使われているバージョンではないので調べてもしかたありません。なので中断。

-

  • あとは日本語化された、新しいバージョンの「koder」を「HaikuDepot」でインストールして使います。

-

-


ちなみに、Koder-0.5.4 でパッケージ化して、正常時のファイル属性を確認すると:

-

1). パッケージ化を実行:
> ls ~/Git/haikuports/haiku-apps/koder/
koder-0.5.4.recipe

~> cd ~/Git/haikuporter
~/Git/haikuporter> hp koder

> ls ~/Git/haikuports/haiku-apps/koder/
download  koder-0.5.4.recipe  work-0.5.4

> cd ~/Git/haikuports/haiku-apps/koder/work-0.5.4/sources/Koder-0.5.4/

Koder-0.5.4> ls
artwork  data  Koder.rdef  LICENSE  locales  Makefile  objects  README.md  src

Koder-0.5.4> ls locales
ca.catkeys     es.catkeys   hu.catkeys  lt.catkeys  ro.catkeys  uk.catkeys
de.catkeys     fi.catkeys   id.catkeys  nl.catkeys  ru.catkeys
en_GB.catkeys  fr.catkeys   it.catkeys  pl.catkeys  sv.catkeys
en.catkeys     fur.catkeys  ja.catkeys  pt.catkeys  tr.catkeys

-

2). ファイルの属性を一覧表示:

listattr ファイル名

-

Koder-0.5.4> listattr locales/ja.catkeys
File: locales/ja.catkeys
        Type       Size  Name                                
----------------------------------------------------------
 MIME String        41  "BEOS:TYPE"
        Text         9  "BEOS:LOCALE_LANGUAGE"
        Text        18  "BEOS:LOCALE_SIGNATURE"
     Uint-32         4  "BEOS:LOCALE_FINGERPRINT"

72 bytes total in attributes.

→属性の内容は表示されません。

-

3). 指定されたファイルの属性の内容を表示:

catattr 属性 ファイル名

-

Koder-0.5.4> catattr "BEOS:TYPE"  locales/ja.catkeys
locales/ja.catkeys : 'MIMS' : locale/x-vnd.Be.locale-catalog.plaintext ←(翻訳ファイルの原本)

Koder-0.5.4> catattr "BEOS:LOCALE_LANGUAGE"  locales/ja.catkeys
locales/ja.catkeys : string : Japanese     ←(注目)

Koder-0.5.4> catattr "BEOS:LOCALE_SIGNATURE"  locales/ja.catkeys
locales/ja.catkeys : string : x-vnd.KapiX-Koder  ←(翻訳を結びつけるキー: 重要)

Koder-0.5.4> catattr "BEOS:LOCALE_FINGERPRINT"  locales/ja.catkeys
locales/ja.catkeys : uint32 : 822155924 ←(int みたいに値を表現する形式のひとつで、その値)

-

Koder-0.5.4> catattr "BEOS:LOCALE_LANGUAGE"  locales/fr.catkeys
locales/fr.catkeys : string : French      ←(注目)

→テキストファイルなのに、こんなにたくさんの属性がセットできることと、これらの属性の中には違う内容の属性があることに注目。また、これらの属性の情報はファイルサイズに含まれません。

ちなみに、テキストファイルがすべてこれらの属性を持っているわけではなく、 「翻訳ファイル」の変換ツールで必要な情報なので特別にセットされているだけです。また、違うエディタで編集すると、使われたアプリの属性もセットされたりして、どんどんファイルによって増えていきます。

属性の内容がコマンドでは一覧表示できないのは面倒です。この辺りはGUI でも操作できますが、変に日本語化されていて実際の「uint32」とかの値がわかりづらくなっています。どう使われるかがわかっている人でないと単に翻訳しただけでは役に立ちません。逆に素のままが良い場合もあります。個人的な意見。

-

参考:

Haiku のファイル「属性

-

-


4). 参考: パッケージ化したので、インストールしたいときは、

パッケージ化に成功すると、最後にパッケージ名が表示されます:

~/Git/haikuporter> hp koder
:
grabbing koder-0.5.4-1-x86_64.hpkg and moving it to /boot/home/Git/haikuports/packages/koder-0.5.4-1-x86_64.hpkg

-

確認:

> ls -1 ~/Git/haikuports/packages/
flac-1.3.3-2-x86_64.hpkg
flac_devel-1.3.3-2-x86_64.hpkg
koder-0.5.4-1-x86_64.hpkg    ←(追加)

→いろいろなアプリのパッケージ化を試したので、そのときのアプリが残っていました。

-

インストール:

> pkgman install ~/Git/haikuports/packages/koder-0.5.4-1-x86_64.hpkg

→システム更新のタイミングで、メニューからの起動は、正規のアプリに上書きされるので注意。でも、右クリックで場所をホームに指定すれば起動は可能。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----

-

12. 「git」についての学習:

-

Linux基本コマンドTips一覧 よりの抜粋:

-

  • gitコマンドが扱う「リポジトリ(repository)」とは、ソースコードや変更履歴、コメントなどを一括して保管する場所です。

  • リポジトリには、自分のPC上に作る「ローカルリポジトリ」と、「GitHub」などのWebサービス上に作る「リモートリポジトリ」があり、両者を連携させることで複数の開発者による開発を1本にまとめることができます。

  • 保管場所であるリポジトリに対し、ファイルの編集などを行う場所を「ワークツリー」あるいは「ワーキングエリア」などと呼びます。「git clone」や「git pull」で取得した最新版のファイルはワークツリーに配置されます。つまり「作業ディレクトリ」です。

  • ワークツリー(作業ディレクトリ)で編集した結果をリポジトリに反映する操作を「コミット」と呼びます。

  • 「git add」コマンドでコミットしたいファイルを「インデックス」あるいは「ステージングエリア」と呼ばれる領域に追加します。インデックスにはファイルの変更箇所などが記録されます。

  • インデックスの内容は「git commit」コマンドでローカルリポジトリにコミットされ、「git push」コマンドでローカルリポジトリの内容をリモートリポジトリに反映します。

  • 「git add」や「git commit」などを行わなければ、自分の環境で編集した内容がリポジトリに影響を与えることはありません。自由に編集し、テストできます。なお、ワークツリーのファイルを過去の任意のコミット状態に戻すことも可能です。

  • 開発中のソースコードやドキュメントを、枝分かれさせたり、それらを合流させたりする機能もあります。枝分かれしたそれぞれのバージョンを「ブランチ」(branch)と呼び、ブランチを合流させることを「マージ」(merge)と呼びます。

→「プルリクエスト」したコミットを採用することが「マージ」で、それは管理者が判断します。

-

  • 開発中のソースコードやドキュメントのある段階で「タグ」(tags)を付けて、ソースを利用しやすくすることができます。単なる印なので「ブランチ」とは違いますが、似た名前にすると混乱します。

-

-


まとめ

Haiku 専用のテキストエディタである「Koder-0.5.3」の日本語化にトライしました。 色々と調べているうちに、投稿が遅くなり、「Koder-0.5.4」が出て日本語化されてしまいました。

手順としては役に立たなくなりましたが、おかげで色々と勉強になりました。

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-