⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 localization.rb

📁 用ruby on rails写的一个博客程序,还不错..ruby on rails的确是个好框架
💻 RB
字号:
module Localization  mattr_accessor :lang    @@l10s = { :default => {} }  @@lang = :default    def self._(string_to_localize, *args)    translated = @@l10s[@@lang][string_to_localize] || string_to_localize    return translated.call(*args).to_s  if translated.is_a? Proc    if translated.is_a? Array      translated = if translated.size == 3         translated[args[0]==0 ? 0 : (args[0]>1 ? 2 : 1)]      else        translated[args[0]>1 ? 1 : 0]      end    end    sprintf translated, *args  end    def self.define(lang = :default)    @@l10s[lang] ||= {}    yield @@l10s[lang]  end    def self.load    Dir.glob("#{RAILS_ROOT}/lang/*.rb"){ |t| require t }    Dir.glob("#{RAILS_ROOT}/lang/custom/*.rb"){ |t| require t }  end    # Generates a best-estimate l10n file from all views by  # collecting calls to _() -- note: use the generated file only  # as a start (this method is only guesstimating)  def self.generate_l10n_file    "Localization.define('en_US') do |l|\n" <<    Dir.glob("#{RAILS_ROOT}/app/views/**/*.rhtml").collect do |f|       ["# #{f}"] << File.read(f).scan(/<%.*[^\w]_\s*[\"\'](.*?)[\"\']/)    end.uniq.flatten.collect do |g|      g.starts_with?('#') ? "\n  #{g}" : "  l.store '#{g}', '#{g}'"    end.uniq.join("\n") << "\nend"  end  endclass Object  def _(*args); Localization._(*args); endend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -