Das Localization Plugin hat eine Methode generate_l10n_file um die zu lokalisierenden Strings auszulesen. Leider macht sie dies nicht besonders gut.
Auf die Schnelle habe ich sie etwas abgeändert und siehe da:
def self.generate_l10n_file
"Localization.define('de') do |l|" < <
Dir.glob("#{RAILS_ROOT}/app/**/*.*").collect do |f|
["# #{f}"] << File.read(f).scan(/(<%=_ |_\()[\"\'](.*?)[\"\']/)
end.uniq.flatten.collect do |g|
g.starts_with?('#') ? "" : " l.store '#{g}', ''"
end.uniq.sort.join("\n").gsub(" l.store '_(', ''",'').gsub(" l.store '<%=_ ', ''",'') << "\nend"
endJetzt werden sämtliche Controller ausgelesen und es werden deutlich mehr Strings gefunden (nämlich auch die wo nicht %= davor steht).
UPDATE: Zu “#{RAILS_ROOT}/app/**/*.*” müsste man noch “#{RAILS_ROOT}/app/views/**/*.*” irgendwie hinzunehmen.
Hier noch ein rake task dafür:
namespace [:l10n] do desc 'Verbose localization file (experimental)' task :generate => :environment do puts puts 'Creating localization file...' puts '----------- SNIP -----------' puts Localization.generate_l10n_file puts '----------- SNAP -----------' puts puts 'Finished.' puts end end
» No related posts

Ich heiße Captain Future und meine Leidenschaft ist es die Brücke zwischen Menschen und Technik zu schlagen.
0 Responses to “Localization Plugin: Improved generate_l10n_file”