サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.yotabanana.com
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Rails3] ActiveSupport::Concernを自分なりに調べてみた Rails3の実装を見ていると、とにかくActiveSupport::Concernをextendする、という風になっているらしい。 ってか、ActiveSupport::Concernって何?なんなのこれ? Googleさんに聞いてもあまりまとまった情報がないみたいだし…。 ということで、自分なりに調べてみたのでメモってみる。補足や誤りのご指摘を歓迎します、ぜひ。 ■ まず、ソースコードを見ると…、シンプルなんだけど今のところRDocもなし…orz。 貴重な情報源、現時点で唯一と言っても過言でないブログがこちらにあったのでそちらを参考に勝手な空想を織り交ぜつつ話を進めたいと思う。
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Ruby] rvmを試す (インストール編) twitter経由で。各種バージョンのRubyを一つの環境上にインストールしてスイッチして使うことができるツール、とのこと。バージョン間での挙動の違いにはいつも苦しめられているのでもしかしたらRubyアプリ/ライブラリ開発の救世主に!? ということで、さっそく試してみることにした。以下、Fedoraの場合ね。 まずはこの辺を見ながらインストール。 % sudo gem install rvm % rvm-install bashなら.bash_profileに、zshなら.zshrcに以下を追記する。 if [[ -s /home/mutoh/.rvm/scripts/rvm ]] ; then source /home
このチュートリアルはRuby-GetText-Package-1.93.0 and Rails-2.1.x向けの古い記述です。 最新版は以下を参照してください。 [Ruby on RailsでRuby-GetText-Packageを使う (Rails-2.3.2以降)] Railsのための機能 Controller/Viewを翻訳する機能 Modelを翻訳する機能(テーブル名、カラム名) クライアントロケールの自動取得 (Controller/ViewだけではなくModelについても)翻訳対象文字列を自動で抽出しpoファイルを生成する機能 複数のテキストドメインを作る機能 ロケールごとのAction/Fragmentキャッシュ エラーメッセージの翻訳(ビルトイン) いくつかのヘルパー関数の翻訳(ビルトイン) ここではRuby on Rails 2.0.0以降でRuby-GetText-P
(su) $ gem uninstall gettext # for gettext-1.93.0 $ gem install gettext_rails Successfully installed locale-2.0.0 Successfully installed gettext-2.0.0 Successfully installed gettext_activerecord-2.0.0 Successfully installed locale_rails-2.0.0 Successfully installed gettext_rails-2.0.0 5 gems installed config/environment.rb (Required) Rails::Initializer.run do |config| : : config.gem "locale_rails"
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Rails] Ruby-GetText-Pacakge on Ruby on Rails-2.3.0 RC2 ようやくですが、Ruby-GetText-PackageをRails-2.3.0 RC2への対応が一段落しました。(Rails-2.2.xは捨てでいいよね・・。ダメ?) 基本的には今までの使用方法を踏襲しています。かつ、Rails I18n系のローカライゼーションのフレームワーク・他のバックエンドとも協調でき、Rails I18nや他のバックエンドでローカライズされたプラグインやI18n.tメソッド(+YAMLベースのリソースファイル)等も一緒に使うこともできます(となるのが当面の目標です)。 大きな違いとしては、Ruby-GetText-Packageは5
最初にRuby on Rails 2.2を使ったサンプルアプリケーションを作成してください。 ここでは、すでに作成されたサンプルアプリケーションを国際化していきます。 関連文書 I18n rails guide Ruby-Locale for Ruby on Rails RDoc Ruby-Locale HOWTO 以下の順番でファイルを編集していきます。 I18nモジュールの初期化 まずは、他のRails i18nアプリケーション同様にI18nモジュールの初期化を行います。 # in config/initializer/locale.rb # 翻訳ファイルが置かれているディレクトリを指定します。 I18n.load_path += Dir[ File.join(RAILS_ROOT, 'lib', 'locale', '*.{rb,yml}') ] # このアプリケーションがサポートし
[Back] Ruby-Locale for Ruby on RailsはRuby-Localeを使ってRuby on Railsをローカライズするライブラリです。 Ruby on Rails 2.2.0以上で動作し、他のI18nバックエンドを強力にサポートします。 WWWブラウザのロケールの自動判別 ローカライズされたRoutes 言語ごとのAction/Fragmentキャッシュ 言語ごとのViewテンプレートファイル
プログラムが使用する現在のロケールIDを管理します。マルチスレッドに対応しており、スレッドごとにロケールIDを管理できます。 ロケールIDは内部的に次の"言語タグ"を用いて管理されます。 require 'locale' Locale.current #=> Current locale IDs. 言語タグ Ruby-Localeでは、言語タグをロケールIDとして使用します。プログラムは言語タグに応じてローカライズされた処理を実行します。この言語タグはja_JP.UTF-8やja-JPなど表記法にいくつかの標準があるのですが、Ruby-Localeでは、これらを統一的に扱うことができます。 この言語タグは文字列から間単に生成することができ、また、言語タグからそれぞれの表記方法に基づいた文字列を出力することができます。 Ruby-Localeでは以下の言語タグをサポートします。 Simple
FOSSwire.comの Unix/Linux Command Referenceの和訳です。 これをベースに自分あるいはチーム内で使うシートを作ってみると良いかもしれません。 間違いがありましたら指摘してくださいませ。
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Rails] FunctionalTestとIntegrationTestでローカライズの確認テスト そろそろまじめにRuby-GetText-Packageのテストケースの1つとしてテスト用Railsアプリを作ってそれのテストを書いていこうと思いたち、Railsのテストケースを勉強し始めてみた(っておぃ(^^;))。 で、お恥ずかしながら多少混乱したので整理しておこうと思う。ローカライズされた文字列もきちんとテストしたかったんだよなぁ、と言う人(プロジェクト)には参考になるかも。 ■ 最初にRuby-GetText-Packageがどのようにローカライズする言語を特定するかのおさらい。Ruby-GetText-PackageのCGIバージョンではHTTP_ACCE
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [ Ruby-GNOME2 ] Ruby-GNOME2 Win32 GUI Installer リリース! Ruby-GNOME2がWindows環境でもホントに簡単に使うことができるようになりました。RailsやJavascriptに疲れた貴方、気分転換にGUIアプリケーションにチャレンジしてみませんか。おもしろいですよー。 ちなみに、今回のインストーラに含まれるライブラリは、Ruby/GLib2, Ruby/ATK, Ruby/Pango, Ruby/GdkPixbuf2, Ruby/GTK2, Ruby/Libglade2, Ruby/GtkGLExt, Ruby/Libart2, Ruby/GnomeCanvas2, Ruby/GnomePrint2, Rub
本ライブラリを使用した開発手順を簡単に説明します。 application_rootがあなたのアプリケーションのルートディレクトリとします。 例えば、以下のように本ライブラリを用いたスクリプトを作ります。hello.rbと言う名前で保存します。 require 'gettext' class Test include GetText bindtextdomain("hello") def say_hello puts _("Hello World") end end Test.new.say_hello 次にrgettextを使って文字列を抽出します。これをapplication_root/po/に置きます。 $rgettext hello.rb -o po/hello.pot rgettextは複数ファイルを指定できます。 $rgettext *.rb -o po/hello.pot h
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Rails] Rails のためのものぐさな Web アプリケーションの国際化手法 by Secondlifeさん ローカライズの主言語に日本語を使うことで英語が苦手な人でも無理無くアプリを国際化(を前提とした開発が)できるよという話。「最初は日本語で開発、とりあえず、メッセージは_("")で囲い後で英語リソースを用意する」という開発スタイルは、思考が(英語に翻訳するという)余計なことで妨げられない分、ストレスが少なくて良いよね。個人(や企業)でサポートする全ての言語を自前で用意する場合、主言語が英語以外でも問題ないしこの方法はアリだと思う。 注意点としては、アプリケーション本体とmsgidの文字コードをあわせる必要がある、ということかな。msgidは文字コード変換
Note: This tutorial requires Ruby-GetText-Package-1.2.0 or later Ruby-GetText-Package supports Ruby on Rails powerfully. The features for Rails are: Translates Controllers/Views. Translates Models(table names, column names) Singular/plural messages in each locales. Auto finding the client locale Rake task to extract strings automatically. multi-textdomain supported. You can bind plural textdomai
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Rails] Rails 1.2RC1対応 Rails 1.2RC1が出たのでRuby-GetText周り(CVS)の確認をしてみた。 大体は動いてるみたいなんだけど、テストが失敗するね。1.2リリースまでには直したいところだけど間に合うかな。すでにチャレンジされている方、パッチ歓迎です;)。 #DEPRECATIONのメッセージだけは直しました。 ■ [Rails] ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy Rails 1.2からは@cookies, @flash, @headers, @params, @request, @response, @sessionの各変数に直接アクセスする
■ [Misc] BetaBrite RedHanded経由。このライブラリはBetaBriteというLEDパネルを操作するものみたいなんだけど、DRbを使った例が面白い。 まずはgemでbetabriteをダウンロードする。んでもって上記Blogにもあるサンプルを実行。送信するメッセージだけYotabananaに。 require 'drb' require 'rubygems' require 'betabrite' DRb.start_service() obj = DRbObject.new(nil, "druby://eviladmins.org:9000") File.open("out.jpg", "wb") { |a| a.write obj.write_simple("Yotabanana") } んで、右の画像が結果。 なんと、メッセージを作者のAaron Patte
Rails Engines are supported by Ruby-GetText-Package since 1.8.0. It's similar with supporting Rails. So you can understand this HOWTO well if you learn Rails localization with GetText before. Read Ruby-GetText-Package HOWTO for Ruby on Rails first. In this tutorial, I explain to localize LoginEngine plugin. So you need to set up Rails Engines and LoginEngine first. LoginEngine has its own database
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Ruby] Module.nesting 例えば、Foo::Bar::Baz というモジュールがあった場合に、[Foo::Bar::Baz, Foo::Bar, Foo]という感じに外へ外へと返してくれるメソッドはないかなぁ、と思ってリファレンスマニュアルを探したら、Module.nestingを発見。そういえば、そんなメソッドもあったなぁ、と思って試してみた・・・。んだけど、2番目の戻り値が想定外だった。同じじゃないのか。ふーむ。 $ cat test.rb module Foo module Bar module Baz p Module.nesting end end end module Foo::Bar::Baz p Module.nesting end
■ [Ruby] Gemをユーザディレクトリにインストールする もしかしたら、あまり知られてないのかな。レンタルサーバなんかでルート権限がない場合、$HOMEの直下辺りにGemをインストールして、GEM_HOMEを設定してあげれば良い。詳しくは、こちら。 ■ [Rails] ApplicationControllerでContent-Typeをbefore_filterでセットするのはいい加減やめませんか運動 以下みたいなコード、なんだかまだ見かけるし、Railsの書籍を見てもほとんどと言っていいほど出てくるんだけど、RJSと一緒に(一部の環境では)使えないという問題があります。Rails使うんだったらRJSも使いたいよね? (誤) class ApplicationController < ActionController::Base before_filter :set_charset
tDiaryのデータベースから日別にHTMLファイルを生成し、任意のディレクトリに保存します。 検索エンジン(主にNamazu)での使用を想定しています。 日記本文からツッコミまでを再現 非表示の日記を対象にするかどうかを選択できる 年別にディレクトリを作成(1ディレクトリ最大365ファイル)、または全てのファイルをを一つのディレクトリに作成(tDiary互換モード) CGIとしてもコマンドとしてもtDiaryプラグインとしても動作する 注意 tDiary-1.4.xまではyasqueeze.rbという名称でしたが、tDiary-1.5.xからはsqueeze.rbに名称変更されました。1.4.xをお使いの方はsquueze.rbの記述を適宜yasqueeze.rbと読み替えてください。 squeeze.rbは3つの使い方ができます。 プラグインとして使用(1日の日記をHTML化する) t
Creates ActiveRecord::Migration class using GUI. This is a sample script of Ruby/GTK2, Ruby/Libglade2.
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。 Ruby言語やLinuxのネタが多いです。 ■ [Rails] Ruby on Railsで日本語しか使わない場合でもRuby-GetText-Packageを使う理由 Ruby-GetText-Packageは元々メッセージの国際化のためのライブラリです。なので、とかく、 「アプリを国際化したい場合は使った方が良いよ。」 という話になります。これはこれで正しいのですが、Ruby On Railsに限って言うと、 「日本語でRoRを使う場合はとにかく使った方が便利だよ。」 なのです。ホント? ViewやControllerでわざわざ英語を考えて_("eigo shiranaimon")なんて書いてらんねーよ、と思う方がいるかもしれません。 でも、国際化を考えない場合、_("eigo shiranaimon")なんて
Ruby-GetText-PackageはRuby on Railsのローカライゼーションを強力にサポートします。 Railsのための機能 Controller/Viewを翻訳する機能 Modelを翻訳する機能(テーブル名、カラム名) クライアントロケールの自動取得 (Controller/ViewだけではなくModelについても)翻訳対象文字列を自動で抽出しpoファイルを生成する機能 複数のテキストドメインを作る機能 ロケールごとのAction/Fragmentキャッシュ エラーメッセージの翻訳(ビルトイン) いくつかのヘルパー関数の翻訳(ビルトイン) ここではRuby on Rails 2.0.0以降でRuby-GetText-Packageを使う方法を説明します。 Ruby on Railsではrakeを使うことが多いので、この例ではpo/moファイルの管理についてもrakeを使うよ
■ [Rails] Ruby-GetText-Packageでエラー画面のメッセージを変更する 昨日の件で、Special Generator、jascaffoldをもうちょっと勉強しようと思っていたら、ちょうど、樂水開発日記さん経由で「jascaffold 勝手にまとめページ」を知りました。おっ、これは・・・って、またgettextが話題になってますね(苦笑)。 ちょっと回答部分で誤解もあるようなのでここでフォローをしたいと思います。 #守護霊の忠告に従って(笑)私自身は人様のWikiに何かを書くということはしません。どなたか気になった方がいましたらリンクでも張って頂ければ幸いです。 ■ で、誤解かと思われる部分は「modelのクラスに直接かかれたvalidateなどの文字列は簡単には変更できません。」のところです。私自身が誤解してるとアレですが、ここでは「validateのメッセージを
次のページ
このページを最初にブックマークしてみませんか?
『http://www.yotabanana.com/』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く