「Q&A: Linux founder Linus Torvalds talks about open-source identity」より。ふーん 。
GLib Ref. translation progress (TAKE 9).
前回から残りのセクションを翻訳し、これで第四章 「GLib のユーティリティ」は完了。
今回の4つのセクションのうちテストはバージョン 2.16 で追加された新しい API:
- キーと値のペアからなるファイルのパーサ
- ブックマーク・ファイルのパーサ
- テスト
- Windows 互換の関数
翻訳の ChangeLog は次のとおり:
キーと値のペアからなるファイルのパーサ
- Windowsの場合のキー・ファイルの違いが追記された
- 関数が追加された:
- g_key_file_load_from_dirs()
- g_key_file_get_double()
“If @group_name is %NULL, the start_group is used.” とあるが実装はそうなっていないようなので注意が必要。バグ登録する予定。
- g_key_file_get_boolean() のエラーの対処が変わった
- g_key_file_get_integer () で @group_name = %NULL の処理がなくなった (一番先頭のグループとみなす) し、エラーの対処も変わった
- g_key_file_set_comment() が返り値を持つようになった
- g_key_file_remove_*() が返り値を持つようになった
- G_KEY_FILE_DESKTOP_* の定義が追加された
ブックマーク・ファイルのパーサ
- GLib 2.12 から追加されたデスクトップのブックマークを扱う API
- g_bookmark_file_add_application() に誤植があったので #568294 で報告
テスト
- 新規の翻訳
- 一部前のバージョンの”メッセージ出力とデバッグ関数”の API を含んでいる
- g_assert()
- g_assert_not_reached()
- g_assert_cmpflott() って誤植なんだけど…
Windows 互換の関数
- pipe() マクロがなくなった
- g_win32_get_package_installation_directory() 関数が廃止になった
- g_win32_get_package_installation_directory_of_module() 関数が追加された
GLib リファレンスマニュアル: v2.18.1 版の API リファレンス (翻訳中)
SVN リポジトリ: 翻訳作業の SVN リポジトリ
GLib Utilities: オリジナルのドキュメント (第四章)
バグ報告と追跡: 翻訳バグなどの報告はこちらへどうぞ
新しく追加されたテストの API は簡単な Unit Testing (アプリの単体テスト) を行う際に役に立つフレームワークを提供してくれる。テスト・ケースを生成し、テストを行うための条件やテスト自体の初期値などを持つ付帯情報、そしていくつかのテストケースをまとめて行うことができるテスト・パッケージといったインスタンスを用いて、テスト・アプリの起動から終了まで、そしてテスト中はレベルに応じたログの記録、タイマーを用いた時間計測、テスト中に文字列や整数、実数を比較してアサーションを出す機能、テストを行う関数を動的に追加したり削除したりといったあまり複雑ではないテストをサポートしてくれる。実際に GLib パッケージの test はこのフレームワークを用いるように書き直された。ちなみにテスト・プログラムを起動するための専用のコマンドライン (gtester と gtester-report) も提供されている。
ということで、次は第五章 「GLib のデータ型」の翻訳に進む予定。
GLib Ref. translation progress (TAKE 8).
前回に引き続き、第四章の途中まで翻訳が完了した。
ソースコードの同期はバージョン 2.18.4 にアップデートしておいた。
このうち Perl 互換の正規表現はバージョン 2.14 で追加された新しい API:
- Shell 関連のユーティリティ
- コマンドライン・オプションのパーサ
- Glob スタイルのパターン・マッチング
- Perl 互換の正規表現
- シンプルな XML サブセットのパーサ
翻訳の ChangeLog は次のとおり:
Shell 関連のユーティリティ
- 日本語訳の修正
コマンドライン・オプションのパーサ
- 日本語訳の修正
- g_option_context_new() の説明が増えた
- 新規に追加された関数:
- g_option_context_set_summary()
- g_option_context_get_summary()
- g_option_context_set_description()
- g_option_context_set_translate_func()
- g_option_context_set_translation_domain()
- g_option_context_get_help()
- 新規に追加された型など:
- GTranslateFunc
- GOptionArg (一部の列挙子)
- 引用している関数名が間違っているようなので BUG#565905 に登録した
Glob スタイルのパターン・マッチング
- 日本語訳の見直し
- g_pattern_match() の説明が修正されている
Perl 互換の正規表現
- 新規の翻訳
- 正規表現の場合、ahead というと対象とする文字列の左側、behindというと対象とする文字列の右側を指す。検索とは意味が逆になる。混乱するなぁ。
- 全体的にしっくり行かない訳になってしまった
- 原文もまともな英語ではないのだけれど (日本語のように省略されているので推測が難しい)
- 原文は全体的に(英語ではなく)英文になっていないので翻訳するのに苦労した (ということで誤訳があるかもしれない)
シンプルな XML サブセットのパーサ
- GMarkupError 型に列挙子が追加された
- G_MARKUP_ERROR_MISSING_ATTRIBUTE
- GMarkupParseFlags 型の列挙子が定義された
- 今までも存在していたが空だった
- g_markup_escape_text() 関数に説明が追加された
- g_markup_parse_context_get_element() 関数に説明が追加された
- 新規に追加された関数:
- g_markup_parse_context_get_element_stack()
- g_markup_parse_context_get_user_data()
- g_markup_parse_context_push()
- g_markup_parse_context_pop()
- g_markup_collect_attributes()
- 新規に追加された型など
- GMarkupCollectType
GLib リファレンスマニュアル: v2.18.1 版の API リファレンス (翻訳中)
SVN リポジトリ: 翻訳作業の SVN リポジトリ
GLib Utilities: オリジナルのドキュメント (第四章)
バグ報告と追跡: 翻訳バグなどの報告はこちらへどうぞ
残りは4つ。ということで、引き続き第四章の翻訳を進めていく予定。
GLib Ref. translation progress (TAKE 7).
前回に引き続き、第四章の途中まで翻訳が完了した。
このうち最後のセクションはバージョン 2.16 で追加された新しい API:
- 文字列の自動補完
- タイマー
- プロセスの生成
- ファイル・ユーティリティ
- URI関数
翻訳の ChangeLog は次のとおり:
文字列の自動補完
- 日本語訳の見直し
タイマー
- スレッドと併用する際の注意書きが追加された
- g_timer_start() の訳を見直した (g_timer_elapsed() が自動的に呼び出されるような誤解を生みそうな訳だったので)
- g_timer_stop() の訳を見直した (g_timer_elapsed() が自動的に呼び出されるような誤解を生みそうな訳だったので)
プロセスの生成
- 日本語訳の見直し
- タイトルの説明からfork()がなくなった
- GSpawnChildSetupFunc に補足説明が追加された
- g_spawn_async() の説明が増えた
- GChildWatch ソースを GChildWatchSource に修正した
ファイル・ユーティリティ
- g_mkstemp() に説明が補足された
- g_open() でWindows系プラットフォームの説明が補足されている
- g_stat() にWindows系プラットフォームの説明が追加された
- g_remove() にWindows系プラットフォームの説明が追加された
- g_access() もWindows系プラットフォームでは全く役に立たない
- g_utime() 関数が追加された
URI関数
- 新規の翻訳
- GTK-Doc の新しい書式(?)を発見した (もしかしたらテンプレートがなくなるかも)
/** * SECTION:セクションの識別子 * @short_description: このセクションの短い説明 * * このセクションの長い説明 **/
他のセクション同様に Windows 系プラットフォームに対する説明が随所に補足されている。ファイル・ユーティリティは特に注意書きが多く、Windows のCランタイムは UNIX 系のシステムコールとは異なった動きをしたり、いい加減な実装が多いそうだ。特に開発時のバージョンと実行時のバージョンが異なるとファイル・ディスクリプタさえも同じ値が返されないそうだ 。そのような場合は、GLib on Windows は使わずに Win32 API を使えと。
GLib リファレンスマニュアル: v2.18.1 版の API リファレンス (翻訳中)
SVN リポジトリ: 翻訳作業の SVN リポジトリ
GLib Utilities: オリジナルのドキュメント (第四章)
バグ報告と追跡: 翻訳バグなどの報告はこちらへどうぞ
現時点で第四章は60%ちょっとだから間違いなく年を越すな。ということで、引き続き第四章の翻訳を進めていく予定。
GLib Ref. translation progress (TAKE 6).
- 国際化
- 日付と時刻の関数
- 乱数
- フック関数
- その他のユーティリティ関数
- レキシカル・スキャナ
翻訳の ChangeLog は次のとおり:
国際化
- 前のバージョンではプログラミングしやすいようにマクロだけの提供だったが、gettextで複数形をサポートするなど踏み込んだAPIを提供してきたため、それに随時対応したラッパー関数を用意している
- gettext >= 0.15 でサポートされた新しいインタフェースに対応している (実質的にこれ以下のgettextでは動作しない)
- g_dgettext() の恩恵を受ける際はそれぞれ関連する関数を呼び出す順番に注意すること
日付と時刻の関数
- 新しく追加されたAPI:
- g_time_val_from_iso8601()
- g_time_val_to_iso8601()
- GLib のバージョン 2.10 から GTime 型の構造体が廃止になったため g_date_set_time() 関数も廃止になった
乱数
フック関数
- 日本語訳の見直し
その他のユーティリティ関数
- GUserDirectory という列挙型が追加された
- 新しく追加されたAPI:
- g_format_size_for_display()
レキシカル・スキャナ
- 関数の並びが変わっている
- GScannerConfigに補足説明が追加された
- g_scanner_peek_next_token() に補足説明が追加された
GLib リファレンスマニュアル: v2.18.1 版の API リファレンス (翻訳中)
SVN リポジトリ: 翻訳作業の SVN リポジトリ
GLib Utilities: オリジナルのドキュメント (第四章)
バグ報告と追跡: 翻訳バグなどの報告はこちらへどうぞ
引き続き第四章の翻訳を進めていく予定。