Vote #68278
完了Rake tasks to add/remove i18n strings
100%
説明
It would help with i18n if there were two more rake tasks:
- one to add a new string @rake locales:add key=text_a_new_string value="Default value"@
- one to remove a string @rake locales:remove key=text_an_old_string@
It would be even better if it could be used to exclude specific locales like "exclude=en". This can be used to invalidate translated strings if the content is going to change.
journals
See http://github.com/thegcat/redmine/commit/f350b1afcda65726f44cf283e3469732ee9b9afc
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
remove_key isn't working. I'm editing a string and wanted to remove all translated strings so they can be retranslated.
<pre>
$ r locales:remove_key key=field_member_of_group skip=en
(in /home/edavis/dev/redmine/redmine-core)
Deleting selected keys from ./config/locales/mk.yml
Deleting selected keys from ./config/locales/sr.yml
Deleting selected keys from ./config/locales/ja.yml
Skipping ./config/locales/en.yml
Deleting selected keys from ./config/locales/fi.yml
Deleting selected keys from ./config/locales/zh.yml
Deleting selected keys from ./config/locales/ko.yml
Deleting selected keys from ./config/locales/bs.yml
Deleting selected keys from ./config/locales/hu.yml
Deleting selected keys from ./config/locales/pt-BR.yml
Deleting selected keys from ./config/locales/es.yml
Deleting selected keys from ./config/locales/gl.yml
Deleting selected keys from ./config/locales/zh-TW.yml
Deleting selected keys from ./config/locales/pl.yml
Deleting selected keys from ./config/locales/sv.yml
Deleting selected keys from ./config/locales/sl.yml
Deleting selected keys from ./config/locales/th.yml
Deleting selected keys from ./config/locales/fr.yml
Deleting selected keys from ./config/locales/uk.yml
Deleting selected keys from ./config/locales/id.yml
Deleting selected keys from ./config/locales/de.yml
Deleting selected keys from ./config/locales/bg.yml
Deleting selected keys from ./config/locales/sr-YU.yml
Deleting selected keys from ./config/locales/lv.yml
Deleting selected keys from ./config/locales/nl.yml
Deleting selected keys from ./config/locales/tr.yml
Deleting selected keys from ./config/locales/he.yml
Deleting selected keys from ./config/locales/pt.yml
Deleting selected keys from ./config/locales/it.yml
Deleting selected keys from ./config/locales/vi.yml
Deleting selected keys from ./config/locales/ca.yml
Deleting selected keys from ./config/locales/el.yml
Deleting selected keys from ./config/locales/ru.yml
Skipping ./config/locales/en-GB.yml
Deleting selected keys from ./config/locales/da.yml
Deleting selected keys from ./config/locales/eu.yml
Deleting selected keys from ./config/locales/lt.yml
Deleting selected keys from ./config/locales/hr.yml
Deleting selected keys from ./config/locales/sk.yml
Deleting selected keys from ./config/locales/mn.yml
Deleting selected keys from ./config/locales/cs.yml
Deleting selected keys from ./config/locales/ro.yml
Deleting selected keys from ./config/locales/no.yml
$ git diff
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 8b2a9c9..616b672 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -293,8 +293,8 @@ en:
field_group_by: Group results by
field_sharing: Sharing
field_parent_issue: Parent task
- field_member_of_group: Member of Group
- field_assigned_to_role: Member of Role
+ field_member_of_group: Assignee is a member of group
+ field_assigned_to_role: Assignee is a member of role
field_text: Text field
setting_app_title: Application title
</pre>
Notice that @git diff@ isn't showing any changes other than my manual edits to en.yml.
--------------------------------------------------------------------------------
Eric Davis wrote:
> remove_key isn't working.
I'm so sure I tried it before committing it… Anyway, corrected version is up on the githubs, the diff is quite short though:
<pre><code class="diff">diff --git a/lib/tasks/locales.rake b/lib/tasks/locales.rake
index fb7de6e..5125384 100644
--- a/lib/tasks/locales.rake
+++ b/lib/tasks/locales.rake
@@ -50,7 +50,7 @@ END_DESC
(puts "Skipping #{path}"; next) if File.basename(path, ".yml") =~ skips
puts "Deleting selected keys from #{path}"
orig_content = File.open(path, 'r') {|file| file.read}
- File.open(path, 'w') {|file| orig_content.each_line {|line| file.puts line unless line =~ delete_regex}}
+ File.open(path, 'w') {|file| orig_content.each_line {|line| file.puts line unless line.chomp =~ delete_regex}}
end
end
</code></pre>
--------------------------------------------------------------------------------
(and please remember to remove the "wrong"-in-everything-but-english @label_user_mail_option_none@, thanks)
--------------------------------------------------------------------------------
Thanks for the fix Felix, committed in r4254.
> (and please remember to remove the "wrong"-in-everything-but-english @label_user_mail_option_none@, thanks)
Committed in r4255.
--------------------------------------------------------------------------------
Merged into 1.0-stable for release in 1.0.3
--------------------------------------------------------------------------------