よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

March 12, 2002

[Linux] GNU GetText

gettext-0.11のソースをダウンロードして読んでみる。うーむ、結構いろいろやってるなぁ。一番Ruby GetText Packageにとって痛いのが、setlocale()まわりだよな。Win32への対応はなんと自前でWin32のAPIからja_JPみたいな文字列を取得するテーブルを持ってる。つーか、setlocale()自体に対応できてないからまずいな。iconv使ってるところを見ると内部で変換もしてるのか....。

これ全部実装するのめんどいなぁ。まぁ、もともと完全互換を目指そうとは思ってはいないのだが、いっそのこと、yashiさんのGNU GetTextのラッパベースに改造しなおそうかなぁ。pure rubyってのが良いのだけどな...。


March 12, 2003

[Hiki] Hiki英語化?

詳しくはまだ書かないけど、なぜかHiki-0.4のテンプレート・メッセージをナンチャッテ英語化したのが手元にあります。

ニーズがありそうなので、とりあえずここに置いときます。

これを展開して、hikiconf.rbの$langにenを指定すればOK。

興味がある方はどうぞ。

おっと、忘れてましたがTextFormattingRulesはわけがあって訳してません。

[Hiki] オットビックリ英語化中にふと思ったこと

  • template配下の文字列は全てmessages/[lang].rbに追い出せば、template自体は一切手を入れずに済むんじゃないかなぁ。(でも、templateのHTMLに直書きされてる言葉でmessages/ja.rbにあるものもあるので実は評価する順番で参照できない?)
  • template配下は全てがHTMLとして完結してる。これはこれで良いのだけど、header.html, navigater.html, footer.htmlは分割・共通化できそうだし、共通化してあればいじる部分少なくてすむのになぁ。

いや、ふと思っただけなんですが。

[Hiki] そういや

管理者画面も日本語化してません。なぜなら管理者は今のところ日本人だからです(^^;)。

本日のツッコミ(全3件) [ツッコミを入れる]

たむら [本日100人目ゲト、ズサー。 ふふふ。Let's hack Hiki!!]

たけうち [トラブル中(泣)分割・共通化ですが、Amritaのテンプレート合成でゴニョゴニョしようとずーっと考えているのですが着..]

むとぽん [お疲れのようで(^_^;)。]


March 12, 2009

[Ruby] Ruby-Locale on Ubuntu

UbuntuだとLocale.charsetのテストがこける、とのレポートをいただきました。さっそく試していただいてありがとうございます。

修正しておきましたので、同じような問題に当たって諦めた方がいらっしゃいましたら再度試してみてください。

あと、gettext_railsもコミット(じゃなくてpush)忘れがあったのでそちらも最新をどうぞ。


March 12, 2010

[Rails] 3.0 betaを試してみる(9) railsコマンドを動作するように

前回の続きなんだけど、その前に、railsコマンド自体が動作しないのに気づいたので動作するようにそちらをまず修正。

% rails -v
/home/mutoh/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems.rb:334:in `bin_path': can't find executable rails for rails-3.0.0.beta (Gem::Exception)

同様のことに悩んでいる人は多いらしく、こちらを参照しながら、railtiesをインストール。

% gem install railties --pre

インストールしただけでもやっぱり動作しないので、とりあえず、空のプロジェクトを作ってそれと比較することにした。

% cd ../
% rails newprj
      create  
      create  README
      create  .gitignore
      create  Rakefile
      create  config.ru
      create  Gemfile
      create  app
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/models
      create  app/views/layouts
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/cookie_verification_secret.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/session_store.rb
      create  config/initializers/inflections.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  doc
      create  doc/README_FOR_APP
      create  lib
      create  lib/tasks
      create  lib/tasks/.gitkeep
      create  log
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
      create  public
      create  public/422.html
      create  public/index.html
      create  public/404.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/500.html
      create  public/images
      create  public/images/rails.png
      create  public/stylesheets
      create  public/stylesheets/.gitkeep
      create  public/javascripts
      create  public/javascripts/rails.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/prototype.js
      create  public/javascripts/application.js
      create  script
      create  script/rails
      create  test
      create  test/performance/browsing_test.rb
      create  test/test_helper.rb
      create  test/unit
      create  test/functional
      create  test/fixtures
      create  test/integration
      create  tmp
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  vendor/plugins
      create  vendor/plugins/.gitkeep

お。script/配下がrailsだけになってる!とりあえず環境依存ではなさそうなので新しいのをこちらにコピってきて上書き。他のファイルは全削除。これなら動くか!?ということでrailsコマンドを起動。

% rails -v
/home/mutoh/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- initializer (LoadError)
	from /home/mutoh/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /home/mutoh/dev/git/gettext_rails/sample_rails3/config/boot.rb:54:in `load_initializer'
	from /home/mutoh/dev/git/gettext_rails/sample_rails3/config/boot.rb:38:in `run'

まだエラー出るなぁ。config/boot.rbあたりが怪しいかな。ということで、両者を比較するとこれまた全然違う。新しい方がかなりシンプルだ。ということで、新しいconfig/boot.rbでこちらも上書き。

% rails -v
/home/mutoh/.rvm/gems/ruby-1.8.7-p249%rails3beta/gems/bundler-0.9.10/lib/bundler/resolver.rb:163:in `resolve': Could not find gem 'rails (= 3.0.pre, runtime)' in any of the sources. (Bundler::GemNotFound)

んっと、今度はGemfileの指定の問題か。前回、rake rails:upgrade:gemsで生成したGemfileの中身を修正する。

# Edit this Gemfile to bundle your application's dependencies.
# This preamble is the current preamble for Rails 3 apps; edit as needed.
source 'http://gemcutter.org'
 
#path "/path/to/rails", :glob => "{*/,}*.gemspec"
#git "git://github.com/rails/rack.git"
#
#gem "rails", "3.0.pre"
gem "rails", "3.0.0.beta"
#
gem 'locale_rails'
gem 'gettext_activerecord'
gem 'gettext_rails'

んでもって実行。

% rails -v
/home/mutoh/.rvm/gems/ruby-1.8.7-p249%rails3beta/gems/bundler-0.9.10/lib/bundler/resolver.rb:163:in `resolve': Could not find gem 'locale_rails (>= 0, runtime)' in any of the sources. (Bundler::GemNotFound)

お、ようやくlocale_railsまできたぞ。bundlerを使ってインストールしておこう。

% bundler install

なんかいろいろインストールされた。

% rails -v
Rails 3.0.0.beta

おぉ。ようやくバージョンが表示できた…、って今日はここまでか(苦笑)。


追記