motion-i18n 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- metadata +7 -33
- data/.gitignore +0 -10
- data/Gemfile +0 -6
- data/README.md +0 -63
- data/Rakefile +0 -13
- data/app/app_delegate.rb +0 -7
- data/lib/motion-i18n/i18n.rb +0 -16
- data/lib/motion-i18n.rb +0 -4
- data/lib/tasks/translate.rb +0 -36
- data/motion-i18n.gemspec +0 -18
- data/resources/en.lproj/Localizable.strings +0 -2
- data/spec/motion-i18n/i18n_spec.rb +0 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 648b5afbd3edf2e548189b72f7fe9d771f2980f9
|
4
|
+
data.tar.gz: 23a7f7a3b92daf628bed9a5e69416cd8a0f4d260
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d33e90b877f4e347955b9e510ac4b1520e0e141232d16cedf0437a11781dc7e3192d76cbb9704611d08df816f6d68c6d0a00c5c4697b7941e50c2a4d74b5b8ec
|
7
|
+
data.tar.gz: c0b737a01a4ad78a3ea6015363d17ccc97452ac6f9cf33d1b336a19c66e61ea37af1639a87e31bbb0b9a885fd8bd51faee38e5c40f2942a1051c3acc9ff7f019
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Thomas Kadauke
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-11-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: motion-require
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: i18n
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ! '>='
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -65,47 +58,28 @@ email:
|
|
65
58
|
executables: []
|
66
59
|
extensions: []
|
67
60
|
extra_rdoc_files: []
|
68
|
-
files:
|
69
|
-
- .gitignore
|
70
|
-
- Gemfile
|
71
|
-
- README.md
|
72
|
-
- Rakefile
|
73
|
-
- app/app_delegate.rb
|
74
|
-
- lib/motion-i18n.rb
|
75
|
-
- lib/motion-i18n/i18n.rb
|
76
|
-
- lib/tasks/translate.rb
|
77
|
-
- motion-i18n.gemspec
|
78
|
-
- resources/en.lproj/Localizable.strings
|
79
|
-
- spec/motion-i18n/i18n_spec.rb
|
61
|
+
files: []
|
80
62
|
homepage: https://github.com/tkadauke/motion-i18n
|
81
63
|
licenses: []
|
64
|
+
metadata: {}
|
82
65
|
post_install_message:
|
83
66
|
rdoc_options: []
|
84
67
|
require_paths:
|
85
68
|
- lib
|
86
69
|
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
70
|
requirements:
|
89
71
|
- - ! '>='
|
90
72
|
- !ruby/object:Gem::Version
|
91
73
|
version: '0'
|
92
|
-
segments:
|
93
|
-
- 0
|
94
|
-
hash: -2960334702810538327
|
95
74
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
75
|
requirements:
|
98
76
|
- - ! '>='
|
99
77
|
- !ruby/object:Gem::Version
|
100
78
|
version: '0'
|
101
|
-
segments:
|
102
|
-
- 0
|
103
|
-
hash: -2960334702810538327
|
104
79
|
requirements: []
|
105
80
|
rubyforge_project:
|
106
|
-
rubygems_version:
|
81
|
+
rubygems_version: 2.2.2
|
107
82
|
signing_key:
|
108
|
-
specification_version:
|
83
|
+
specification_version: 4
|
109
84
|
summary: Wrapper for translations in RubyMotion
|
110
|
-
test_files:
|
111
|
-
- spec/motion-i18n/i18n_spec.rb
|
85
|
+
test_files: []
|
data/.gitignore
DELETED
data/Gemfile
DELETED
data/README.md
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
# MotionI18n
|
2
|
-
|
3
|
-
Rails-style translations for RubyMotion apps.
|
4
|
-
|
5
|
-
This gem allows you to specify your RubyMotion translations as `.yml` files. The translations are automatically converted to Cocoa's native format for translations.
|
6
|
-
|
7
|
-
# Installation
|
8
|
-
|
9
|
-
```
|
10
|
-
gem install motion-i18n
|
11
|
-
```
|
12
|
-
|
13
|
-
and in your `Rakefile`:
|
14
|
-
|
15
|
-
```ruby
|
16
|
-
require 'motion-i18n'
|
17
|
-
```
|
18
|
-
|
19
|
-
or using bundler:
|
20
|
-
|
21
|
-
```ruby
|
22
|
-
gem "motion-i18n"
|
23
|
-
```
|
24
|
-
|
25
|
-
# Usage
|
26
|
-
|
27
|
-
Put your translations in YAML files in `config/locales/`. For each locale there should be a file named as the locale with the extension `.yml`, e.g. `en.yml`, `de.yml` etc.
|
28
|
-
|
29
|
-
## Translations
|
30
|
-
|
31
|
-
For a guide on how the translation files should look like, see <http://guides.rubyonrails.org/i18n.html#adding-translations>
|
32
|
-
|
33
|
-
To translate a string, use `I18n.translate` or the shortcut `I18n.t` like this:
|
34
|
-
|
35
|
-
```ruby
|
36
|
-
I18n.t("main_screen.title")
|
37
|
-
```
|
38
|
-
|
39
|
-
To substitute variables in the string, specify the substitutions in second a hash argument
|
40
|
-
|
41
|
-
```ruby
|
42
|
-
I18n.t("maps.directions", :from => origin, :to => destination)
|
43
|
-
```
|
44
|
-
|
45
|
-
## Locale
|
46
|
-
|
47
|
-
You can get the current locale by calling
|
48
|
-
|
49
|
-
```ruby
|
50
|
-
I18n.locale
|
51
|
-
```
|
52
|
-
|
53
|
-
# Warning
|
54
|
-
|
55
|
-
For each locale `loc`, this gem overwrites the file `resources/loc.lproj/Localizable.strings` before building. Make sure you don't edit this file. Also, you should add these files to `.gitignore`:
|
56
|
-
|
57
|
-
```
|
58
|
-
Localizable.strings
|
59
|
-
```
|
60
|
-
|
61
|
-
# Forking
|
62
|
-
|
63
|
-
Feel free to fork and submit pull requests!
|
data/Rakefile
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
$:.unshift("/Library/RubyMotion/lib")
|
3
|
-
require 'motion/project'
|
4
|
-
require "bundler/gem_tasks"
|
5
|
-
Bundler.setup
|
6
|
-
Bundler.require
|
7
|
-
|
8
|
-
require 'motion-i18n'
|
9
|
-
|
10
|
-
Motion::Project::App.setup do |app|
|
11
|
-
# Use `rake config' to see complete project settings.
|
12
|
-
app.name = 'MotionI18n'
|
13
|
-
end
|
data/app/app_delegate.rb
DELETED
data/lib/motion-i18n/i18n.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
module I18n
|
2
|
-
class << self
|
3
|
-
def translate(key, substitutions = {})
|
4
|
-
String.new((NSBundle.mainBundle.localizedStringForKey(key, value:"", table:nil))).tap do |result|
|
5
|
-
substitutions.each do |key, value|
|
6
|
-
result.sub!("%{#{key}}", value.to_s)
|
7
|
-
end
|
8
|
-
end
|
9
|
-
end
|
10
|
-
alias t translate
|
11
|
-
|
12
|
-
def locale
|
13
|
-
NSLocale.preferredLanguages.first
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
data/lib/motion-i18n.rb
DELETED
data/lib/tasks/translate.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
def convert(file, namespace, value)
|
2
|
-
if value.is_a?(Hash)
|
3
|
-
value.each do |key, value|
|
4
|
-
convert(file, "#{namespace}.#{key}", value)
|
5
|
-
end
|
6
|
-
else
|
7
|
-
file.puts %{"#{namespace}" = "#{value.to_s}";}
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
desc "Convert YAML translations to Localizable.strings format"
|
12
|
-
task :translate do
|
13
|
-
require 'i18n'
|
14
|
-
|
15
|
-
files = Dir.glob("config/locales/*.yml")
|
16
|
-
|
17
|
-
I18n.load_path.clear
|
18
|
-
I18n.load_path << files
|
19
|
-
|
20
|
-
files.each do |locale_file|
|
21
|
-
locale = File.basename(locale_file).sub(".yml", "")
|
22
|
-
|
23
|
-
all_translations = I18n.backend.send(:lookup, locale.to_sym, "")
|
24
|
-
FileUtils.mkdir_p("resources/#{locale}.lproj")
|
25
|
-
File.open("resources/#{locale}.lproj/Localizable.strings", 'w') do |file|
|
26
|
-
all_translations.each do |key, value|
|
27
|
-
convert(file, key, value)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
namespace :build do
|
34
|
-
task :simulator => :translate
|
35
|
-
task :device => :translate
|
36
|
-
end
|
data/motion-i18n.gemspec
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
Gem::Specification.new do |s|
|
3
|
-
s.name = "motion-i18n"
|
4
|
-
s.version = "0.0.2"
|
5
|
-
s.authors = ["Thomas Kadauke"]
|
6
|
-
s.email = ["thomas.kadauke@googlemail.com"]
|
7
|
-
s.homepage = "https://github.com/tkadauke/motion-i18n"
|
8
|
-
s.summary = "Wrapper for translations in RubyMotion"
|
9
|
-
s.description = "Wrapper for translations in RubyMotion"
|
10
|
-
|
11
|
-
s.files = `git ls-files`.split($\)
|
12
|
-
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
13
|
-
s.require_paths = ["lib"]
|
14
|
-
|
15
|
-
s.add_dependency 'motion-require'
|
16
|
-
s.add_dependency 'i18n'
|
17
|
-
s.add_development_dependency 'rake'
|
18
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
describe "I18n" do
|
2
|
-
describe "translate" do
|
3
|
-
it "should translate string" do
|
4
|
-
I18n.translate("test.string").should == "Test string"
|
5
|
-
end
|
6
|
-
|
7
|
-
it "should return key for untranslated string" do
|
8
|
-
I18n.translate("foo.bar").should == "foo.bar"
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should plug in substitutions" do
|
12
|
-
I18n.translate("test.substitutions", :count => 5).should == "5 substitutions"
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should have shortcut" do
|
16
|
-
I18n.t("test.string").should == I18n.translate("test.string")
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "locale" do
|
21
|
-
it "should return the current locale" do
|
22
|
-
I18n.locale.should == "en"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|