Submit Search
WordBench Osaka 春の大翻訳祭り
•
18 likes
•
6,072 views
Takayuki Miyauchi
Follow
2013/04/13で使う資料を先行公開します。
Read less
Read more
1 of 75
Download now
Downloaded 15 times
More Related Content
WordBench Osaka 春の大翻訳祭り
1.
春の大翻訳祭
WordBench Osaka 2013/04/13 Takayuki Miyauchi 13年4月15日月曜日
2.
自己紹介 13年4月15日月曜日
3.
@miya0001 13年4月15日月曜日
4.
以上!
(宣伝は自粛します。) 13年4月15日月曜日
5.
では、さっそく本題! 13年4月15日月曜日
6.
テーマやプラグインを翻訳しよう! 13年4月15日月曜日
7.
翻訳でよく使用されるツール 13年4月15日月曜日
8.
poedit
http://sourceforge.jp/projects/sfnet_poedit/ 13年4月15日月曜日
9.
Google Translator Toolkit
http://translate.google.com/toolkit/ 13年4月15日月曜日
10.
Gettext
黒い画面の人はこれ $ msgfmt -o wp-total-hacks-ja.mo wp-total-hacks-ja.po .poを編集後、上記コマンドを実行 13年4月15日月曜日
11.
WordPress i18n Tools
プラグイン&テーマ開発者向け http://svn.automattic.com/wordpress-i18n/tools/trunk/ $ php makepot.php wp-plugin /path/to/plugin 翻訳メッセージの抽出が超簡単! 13年4月15日月曜日
12.
ポイント!
✓ 開発者じゃない人は poedit または Google ✓ 複数の人で共有しながら翻訳するならGoogle 13年4月15日月曜日
13.
翻訳の流れ 13年4月15日月曜日
14.
1. テーマやプラグインの中に専用のディレクトリ
があります。 (デフォルトでは languages) 2. その中で .po ファイルを作成&翻訳 3. .po をコンパイルして、.moを作成 4. 作者さんに、.po と .mo を送る! 13年4月15日月曜日
15.
ポイント!
✓ language/ 以下にある .po と .mo が言語フ ァイルです! ✓ .po は人が編集するためのファイル ✓ .mo はWordPressが実際に読むファイル 13年4月15日月曜日
16.
ファイル名の規則 13年4月15日月曜日
17.
‣ テーマは、常に ja.po
(ja.mo) ‣ プラグインは、example-ja.po (example-ja.mo) example の部分はテキストドメインというやつ 13年4月15日月曜日
18.
✓ textdomainわかんねー!
‣ languages/ 以下にある .pot のファイル名の部分が テキストドメイン ‣ .pot がない場合はつくる必要があります。 (ちょっとむずかしい。。。) 13年4月15日月曜日
19.
これは超簡単にサイトが高速化出来ると評判の
WP Boosterの言語ファイル 超簡単にサイトを高速化したい場合は http://ja.wpbooster.net/ 13年4月15日月曜日
20.
✓ まれに pot
のファイル名が間違ってる場合も ある...orz (英語圏の人が開発したものは多言語化のテス トをしてないことが多い) 13年4月15日月曜日
21.
これは超簡単に電子書籍が作れると評判の
bookpressクライアントプラグインのソース 超簡単に電子書籍を作りたい方は http://ja.bookpress.me/ 13年4月15日月曜日
22.
✓ 他にも load_textdomain()
という関数を探し て、その第一引数を見るという手も。 これは誰でも超簡単にAWS上でWordPressが使えると評判の、 Amimotoでも使用されてるプラグインのソース http://ja.megumi-cloud.com/ 13年4月15日月曜日
23.
ポイント!
✓ テキストドメイン間違えると翻訳結果が適用 されないから要注意ね! 13年4月15日月曜日
24.
というわけでさっそく翻訳 13年4月15日月曜日
25.
✓ ちなみに今回は .pot
があるのを前提にしま す。 ✓ .pot がない場合は、黒い画面(ターミナル)の 出番になります。。。 13年4月15日月曜日
26.
poeditで翻訳作業 13年4月15日月曜日
27.
ファイルの読み込み 13年4月15日月曜日
28.
.pot を選ぶ!間違えないでね! 13年4月15日月曜日
29.
翻訳作業 13年4月15日月曜日
30.
13年4月15日月曜日
31.
✓ 保存すれば .mo
も同時に生成されます。 ✓ まめに保存しながら確認しましょうね。^^ 13年4月15日月曜日
32.
Google Translator Toolkitで
翻訳 13年4月15日月曜日
33.
ファイルの読み込み 13年4月15日月曜日
34.
.po ファイルは .potをコピーして、
ファイル名の .pot を -ja.po に変更する。 13年4月15日月曜日
35.
13年4月15日月曜日
36.
翻訳が完了したら .poをダウンロード 13年4月15日月曜日
37.
✓ これだけでは、.mo が生成されてないので、
poeditで、 .mo を作りましょう。 ✓ 漢なら以下のコマンドで。 $ msgfmt -o hoge-ja.mo hoge-ja.po 13年4月15日月曜日
38.
翻訳の予備知識 13年4月15日月曜日
39.
翻訳にはガイドラインがあるので
いちおう目を通しましょう。 http://bit.ly/wpjatranslate 13年4月15日月曜日
40.
13年4月15日月曜日
41.
✓ お金をください。=> お金を下さい。
✓ お金を払って下さい。 => お金を払ってください。 わかりますか?この違い。 英語力や技術よりも、国語力が重要。 13年4月15日月曜日
42.
✓ Howdy, %s
=> こんにちは、 %s さん ! 13年4月15日月曜日
43.
✓ %s とか
%d は、プレースホルダーと呼ばれる もので、動的に値が変わります。 printf(__('We deleted %d spam messages.'), $count); %d の部分に $count の値が入る。 「%d件のスパムを削除しました。」 13年4月15日月曜日
44.
✓ %1$s とか
%1$d は複数のプレースホルダー がある場合に使用します。 printf(__('Your city is %1$s, and your zip code is %2$s.'), $city, $zipcode); %1$s の部分に $city が、%2$s の部分に $zipcode が入ります。 「あなたの 郵便番号は %2$s 、都市名は %1$s です。」 13年4月15日月曜日
45.
✓ %s とか
%1$s と、%d とか %1$d は、文字 列か数字の違いです。 13年4月15日月曜日
46.
✓ 一部の翻訳のみ適用されない!?
‣ .po に fuzzy って行があると思います。 ‣ これは他にも同じようなのがあるけど、オッケー?み たいな意味です。 ‣ fuzzy って書いてある行を1行まるごと削除し て、.moをつくれば翻訳が適用されます。 13年4月15日月曜日
47.
作者さんに送ろう! 13年4月15日月曜日
48.
✓ 作者さんとのコンタクト方法
‣ メール、ブログへのコメント、twitter、フォーラムな ど。 ‣ リアクションがなければ、コンタクト方法を変えて数 日様子を見る感じ。 13年4月15日月曜日
49.
✓ 英語のやり取り怖い!
‣ 僕のとこにくる翻訳のメールは、ほとんどが1行。 ‣ Hi, I have translated your ○○ plugin to Japanese. Your plugin is awesome great ! Thanks ! ‣ ぼくが送る時も、だいたいこんな感じです。 13年4月15日月曜日
50.
なおさんは、こんな感じ
コンタクト方法がわかんない時は フォーラムで投げる! 13年4月15日月曜日
51.
翻訳の心構え(?) 13年4月15日月曜日
52.
✓ メンテを継続できないかも。。。
‣ 僕も放置した経験があります。笑 ‣ オープンソースなので、あまり目くじらを立てない感 じで。^^ 13年4月15日月曜日
53.
✓ 作者さん、知らない人だから遠慮しちゃ
う。。。 ‣ 仲良くなろうとされても逆に困りますw ‣ そんなこと言ってたらオープンソース成り立たないw 13年4月15日月曜日
54.
✓ 翻訳ファイルはGitHubで公開するのがおすすめ!
‣ 続きを誰かがやってくれるかも! ‣ バージョンアップなどの際にpullリクエストがくるかも! 13年4月15日月曜日
55.
matuboさんが公開してた、テーマの翻訳を修正したのが、
はじめてGitHubを使ったきっかけ。 13年4月15日月曜日
56.
✓ とにかく気軽な感じで! 13年4月15日月曜日
57.
(上級者・開発者向け)
.potをつくる! 13年4月15日月曜日
58.
✓ .potをつくるには、phpのソースからメッセー
ジを抽出する必要があります。 13年4月15日月曜日
59.
(まあまあ簡単な方法)
poeditを使って抽出する! 13年4月15日月曜日
60.
13年4月15日月曜日
61.
赤いところがミソ! 13年4月15日月曜日
62.
✓ この方法では完全には抽出できないこともあ
ります。 ✓ その時は、黒い画面(ターミナル)の登場 (詳細はいつか誰かがブログに書くかもw) 13年4月15日月曜日
63.
WordPress i18n Tools
を使った抽出 13年4月15日月曜日
64.
まず環境を構築
1. Xcodeをインストール 2. gettextライブラリを homebrew 等でインス トール 3. i18n Tools をインストール 13年4月15日月曜日
65.
Xcodeをインストール
1. App Storeからインストールするだけ! 13年4月15日月曜日
66.
gettextライブラリをインストール
$ ruby -e "$(curl -fsSL https:// raw.github.com/mxcl/homebrew/go)" $ brew install gettext 13年4月15日月曜日
67.
WordPress i18n Toolsを
インストール $ cd $ mkdir wordpress-i18n-tools $ cd wordpress-i18n-tools $ svn co http://i18n.svn.wordpress.org/tools/trunk/ . 13年4月15日月曜日
68.
抽出方法
$ cd wp-content/plugins/example-plugin $ cd lnaguages $ ~/wordpress-i18n-tools/makepot.php wp-plugin . 以上で .pot が生成される(はず)。 13年4月15日月曜日
69.
最後に翻訳を使った裏ワザ 13年4月15日月曜日
70.
✓ せっかく翻訳したのに、作者が適用してくれ
ねー! ✓ アップデートしたら翻訳ファイルが消えたじ ゃねーかっ! 13年4月15日月曜日
71.
自作プラグイン等で、.mo のパスを書き換えること
で、暫定的に日本語を適用できます。 add_filter( "load_textdomain_mofile", "my_load_textdomain_mofile", 10, 2 ); function my_load_textdomain_mofile($mo, $domain){ if ($domain === 'example') { return ‘/path/to/example-ja.mo’; } return $mo; } この方法ならプラグインがアップデー トされてもオッケー! 13年4月15日月曜日
72.
✓ テーマの翻訳を手っ取り早くするなら、
twentytwelveなどのデフォルトテーマの ja.mo を、そのまま適用しちゃおう。笑 // 子テーマの functions.php に以下のようなソースを。 load_theme_textdomain( 'ここにテーマのテキストドメイン', dirname(__FILE__).'/languages' ); 13年4月15日月曜日
73.
✓ いまいち活用しきれてない投稿フォーマット
もこうすれば!? 13年4月15日月曜日
74.
<?php
add_filter('gettext', 'change_post_to_article'); add_filter('gettext_with_context', 'change_post_to_article'); add_filter('ngettext', 'change_post_to_article'); add_filter('ngettext_with_context', 'change_post_to_article'); function change_post_to_article($translated) { $translated = str_ireplace('アサイド', 'プレスリリース', $translated); return $translated; } 13年4月15日月曜日
75.
おわり
あざました! 13年4月15日月曜日
Download