web_translate_it 1.7.3.0 → 1.7.3.1

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.
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
- # Web Translate It
1
+ Web Translate It
2
+ ================
2
3
 
3
4
  [Homepage](https://webtranslateit.com) |
4
- [RDocs](http://yardoc.org/docs/AtelierConvivialite-webtranslateit) |
5
+ [RDoc](http://yardoc.org/docs/AtelierConvivialite-webtranslateit) |
5
6
  [Example app](http://github.com/AtelierConvivialite/rails_example_app) |
6
7
  [Report a bug](http://github.com/AtelierConvivialite/webtranslateit/issues) |
7
8
  [Support](http://help.webtranslateit.com)
@@ -16,7 +17,8 @@ This gem provides:
16
17
  * a synchronisation server to help your translation team update your language files from a web interface,
17
18
  * a rack middleware you can use within your Rails app to automatically fetch new translations from Web Translate It.
18
19
 
19
- ## Installation
20
+ Installation
21
+ ------------
20
22
 
21
23
  These instructions are for Linux and Mac OS X system. Follow [these instructions](http://help.webtranslateit.com/kb/tips/how-to-install-wti-on-windows) if you’re using Microsoft Windows.
22
24
 
@@ -24,7 +26,8 @@ These instructions are for Linux and Mac OS X system. Follow [these instructions
24
26
 
25
27
  At this point you should have the `wti` executable working.
26
28
 
27
- ## Configuration
29
+ Configuration
30
+ -------------
28
31
 
29
32
  Now that the tool is installed, you’ll have to configure your project:
30
33
 
@@ -35,7 +38,8 @@ The tool will prompt for:
35
38
  * your Web Translate It API key (you can find it in your project settings),
36
39
  * where to save the configuration file (by default in `config/translations.yml`).
37
40
 
38
- ## Usage
41
+ Usage
42
+ -----
39
43
 
40
44
  Execute `wti --help` to see the usage:
41
45
 
@@ -74,11 +78,92 @@ You can get more information by appending `--help` after each command. For insta
74
78
  --label, -b <s>: Apply a label to the changes
75
79
  --help, -h: Show this message
76
80
 
77
- ## Web Translate It Synchronisation Console
81
+ Sample Commands
82
+ ---------------
83
+
84
+ <table>
85
+ <tr>
86
+ <th>Command</th>
87
+ <th>Action</th>
88
+ </tr>
89
+ <tr>
90
+ <td>wti add path/to/master/file.po</td>
91
+ <td>Upload a new master language file</td>
92
+ </tr>
93
+ <tr>
94
+ <td>wti add file1.po file2.po file3.xml</td>
95
+ <td>Create several master language files at once, by specifying each file</td>
96
+ </tr>
97
+ <tr>
98
+ <td>wti add *.po</td>
99
+ <td>Create several master language files at once, by specifying an extension</td>
100
+ </tr>
101
+ <tr>
102
+ <td>wti push</td>
103
+ <td>Update a master language file</td>
104
+ </tr>
105
+ <tr>
106
+ <td>wti push -l fr</td>
107
+ <td>Update a target (French) language file</td>
108
+ </tr>
109
+ <tr>
110
+ <td>wti push -l "fr en da sv"</td>
111
+ <td>Update several target language files at once (French, English, Danish, Swedish)</td>
112
+ </tr>
113
+ <tr>
114
+ <td>wti push --all</td>
115
+ <td>Update all language files at once</td>
116
+ </tr>
117
+ <tr>
118
+ <td>wti pull</td>
119
+ <td>Download target language files</td>
120
+ </tr>
121
+ <tr>
122
+ <td>wti pull -l fr</td>
123
+ <td>Download a specific language file (French)</td>
124
+ </tr>
125
+ <tr>
126
+ <td>wti pull --all</td>
127
+ <td>Download all language files, including source</td>
128
+ </tr>
129
+ <tr>
130
+ <td>wti pull --force</td>
131
+ <td>Force pull (to bypass Web Translate It’s HTTP caching)</td>
132
+ </tr>
133
+ <tr>
134
+ <td>wti addlocale fr</td>
135
+ <td>Add a new locale to the project</td>
136
+ </tr>
137
+ <tr>
138
+ <td>wti addlocale fr da sv</td>
139
+ <td>Add several locales at once</td>
140
+ </tr>
141
+ <tr>
142
+ <td>wti status</td>
143
+ <td>View project statistics</td>
144
+ </tr>
145
+ </table>
146
+
147
+ Hooks
148
+ -----
149
+
150
+ It is sometimes useful to hook a command or a script before or after a push or a pull. One use-case would be to launch a build after pulling language files. You can do that by implementing hooks in your `translation.yml` file.
151
+
152
+ There are 4 hooks:
153
+
154
+ * `before_pull`
155
+ * `after_pull`
156
+ * `before_push`
157
+ * `after_push`
158
+
159
+ Check the [sample `translation.yml`](https://github.com/AtelierConvivialite/webtranslateit/blob/master/examples/translation.yml#L9..L13) file for implementation.
160
+
161
+ Web Translate It Synchronisation Console
162
+ ----------------------------------------
78
163
 
79
164
  ![Web Translate It](http://s3.amazonaws.com:80/edouard.baconfile.com/web_translate_it%2Fadmin_console2.png)
80
165
 
81
- The `wti` gem integrates since its version 1.7.0 a sinatra app that provides you with a friendly web interface to sync your translations. It allows a translation team to refresh the language files on a staging server without asking the developers to manually `wti pull`.
166
+ `wti` contains a server you can use to run a friendly web interface to sync your translations. It allows a translation team to refresh the language files on a staging server without asking the developers to manually `wti pull`.
82
167
 
83
168
  To get started, go to the directory of the application you want to sync and do:
84
169
 
@@ -88,77 +173,13 @@ By default, it starts an application on localhost on the port 4000. You will fin
88
173
 
89
174
  Should you need to use another host or port, you can use the `-h` and `-p` options. For example: `wti server -p 1234`.
90
175
 
91
- You may want to run some commands before or after syncing translations. To do so, add in the `translation.yml` file the following:
176
+ You may want to run some commands before or after syncing translations. You can use the hooks to do so. For instance, you could add the following in your `translation.yml` file:
92
177
 
93
178
  before_pull: "echo 'some unix command'"
94
179
  after_pull: "touch tmp/restart.txt"
95
180
 
96
181
  `before_pull` and `after_pull` are respectively executed before and after pulling language files.
97
182
 
98
- ## Use Cases
99
-
100
- Here are some example commands for the most common scenarios.
101
-
102
- ### Upload a new master language file
103
-
104
- wti add path/to/master/file.po
105
-
106
- Create several master language files at once:
107
-
108
- wti add file1.po file2.po file3.xml
109
-
110
- Or:
111
-
112
- wti add *.po
113
-
114
- After receiving your master language files, Web Translate It will automatically create the corresponding target files. If you have already some translations for these files, use `wti push --all` to synchronise them to Web Translate It.
115
-
116
- ### Update a master language file
117
-
118
- wti push
119
-
120
- ### Update a target language file
121
-
122
- Update the french language file:
123
-
124
- wti push -l fr
125
-
126
- Or several languages at once:
127
-
128
- wti push -l "fr en da sv"
129
-
130
- ### Update all language files at once
131
-
132
- wti push --all
133
-
134
- ### Download target language files
135
-
136
- wti pull
137
-
138
- ### Download a specific language file
139
-
140
- wti pull -l fr
141
-
142
- ### Download all language files, including source
143
-
144
- wti pull --all
145
-
146
- ### Force pull (to bypass Web Translate It’s HTTP caching)
147
-
148
- wti pull --force
149
-
150
- ### Add a new locale to the project
151
-
152
- wti addlocale fr
153
-
154
- Or add several locales at once:
155
-
156
- wti addlocale fr da sv
157
-
158
- ### View project stats
159
-
160
- wti status
161
-
162
183
  # License
163
184
 
164
185
  Copyright (c) 2009-2011 Atelier Convivialité, released under the MIT License.
data/bin/wti CHANGED
@@ -48,7 +48,7 @@ command_options = case command
48
48
  when "st"
49
49
  when "init"
50
50
  else
51
- Trollop::die "unknown subcommand #{command.inspect}"
51
+ Trollop::die "Unknown subcommand #{command.inspect}"
52
52
  end
53
53
 
54
54
  WebTranslateIt::CommandLine.new(command, command_options, global_options, ARGV, File.expand_path("."))
data/examples/en.yml CHANGED
@@ -1,18 +1,10 @@
1
- fr:
1
+ en:
2
2
  activerecord:
3
3
  errors:
4
- models:
5
- invitation:
6
- attributes:
7
- email:
8
- user_already_invited: "This user has already been invited"
9
- user_already_member: "This user is already a member"
10
- project_file:
11
- attributes:
12
- file:
13
- file_format_not_supported: "Sorry, we currenly support only Gettext .pot/.po, .yml/.yaml and .strings"
14
4
  templates:
15
5
  header:
6
+ one: "1 error prohibited this {{model}} from being saved"
7
+ other: "{{count}} errors prohibited this {{model}} from being saved"
16
8
  body: "there were problems with the following fields:"
17
9
  messages:
18
10
  accepted: "must be accepted"
@@ -33,11 +25,14 @@ fr:
33
25
  taken: "is already taken"
34
26
  too_long: "is too long (maximum is {{count}} characters)"
35
27
  too_short: "is too short (minimum is {{count}} characters)"
36
- wrong_length: "is the wrong length (should be {{count}} characters)"
37
- one: "1 error prohibited this {{model}} from being saved"
38
- other: "{{count}} errors prohibited this {{model}} from being saved"
39
- another_one: dskjdks
40
- another_string: "this is another string"
41
- hello: "Hello world!!"
42
- new_string: hehe
43
- test: " & &amp; "
28
+ wrong_length: "is the wrong length (should be {{count}} characters)"
29
+ models:
30
+ invitation:
31
+ attributes:
32
+ email:
33
+ user_already_invited: "This user has already been invited"
34
+ user_already_member: "This user is already a member"
35
+ project_file:
36
+ attributes:
37
+ file:
38
+ file_format_not_supported: "Sorry, we currenly support only Gettext .pot/.po, .yml/.yaml and .strings"
data/history.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## Version 1.7.3.1 / 2011-05-06
2
+
3
+ * Fix: Broken links on `wti server`.
4
+ * Fix: Avoid crashes on blank checksums. Ticket #53
5
+ This bug could happen when the file checksum is not yet calculated by WTI server, typically by doing a wti push, then wti pull too quickly.
6
+ * Update Sinatra to 1.2.6.
7
+
1
8
  ## Version 1.7.3.0 / 2011-04-12
2
9
 
3
10
  * New: Compare local file checksum with file checksum from WTI API to determine if file needs downloading.
@@ -14,9 +14,12 @@ module WebTranslateIt
14
14
  def pull
15
15
  STDOUT.sync = true
16
16
  `#{configuration.before_pull}` if configuration.before_pull
17
+ puts ""
18
+ puts " Pulling files ".bright
19
+ puts ""
17
20
  fetch_locales_to_pull.each do |locale|
18
21
  configuration.files.find_all{ |file| file.locale == locale }.each do |file|
19
- print "Pulling #{file.file_path}: "
22
+ print " * #{file.file_path}: "
20
23
  puts file.fetch(command_options.force)
21
24
  end
22
25
  end
@@ -26,9 +29,12 @@ module WebTranslateIt
26
29
  def push
27
30
  STDOUT.sync = true
28
31
  `#{configuration.before_push}` if configuration.before_push
32
+ puts ""
33
+ puts " Pushing files ".bright
34
+ puts ""
29
35
  fetch_locales_to_push(configuration).each do |locale|
30
36
  configuration.files.find_all{ |file| file.locale == locale }.each do |file|
31
- print "Pushing #{file.file_path}... "
37
+ print " * #{file.file_path}... "
32
38
  puts file.upload(command_options[:merge], command_options.ignore_missing, command_options.label, command_options.low_priority)
33
39
  end
34
40
  end
@@ -38,7 +44,7 @@ module WebTranslateIt
38
44
  def add
39
45
  STDOUT.sync = true
40
46
  if parameters == []
41
- puts "No master file given."
47
+ puts "No master file given.".failure
42
48
  puts "Usage: wti add master_file1 master_file2 ..."
43
49
  exit
44
50
  end
@@ -47,27 +53,26 @@ module WebTranslateIt
47
53
  print "Creating #{file.file_path}... "
48
54
  puts file.create
49
55
  end
50
- puts "Master file added."
56
+ puts "Master file added.".success
51
57
  end
52
58
 
53
59
  def addlocale
54
60
  STDOUT.sync = true
55
61
  if parameters == []
56
- puts "No locale code given."
62
+ puts "No locale code given.".failure
57
63
  puts "Usage: wti addlocale locale1 locale2 ..."
58
64
  exit
59
65
  end
60
66
  parameters.each do |param|
61
- print "Adding locale #{param}... "
67
+ print "Adding locale #{param}... ".success
62
68
  puts WebTranslateIt::Project.create_locale(configuration.api_key, param)
63
69
  end
64
70
  puts "Done!"
65
71
  end
66
72
 
67
73
  def init
68
- puts "This command configures your project."
69
- api_key = Util.ask("Enter your project API Key:")
70
- path = Util.ask("Where should we put the configuration file?", 'config/translation.yml')
74
+ api_key = Util.ask("Project API Key:")
75
+ path = Util.ask("Configuration file path:", 'config/translation.yml')
71
76
  FileUtils.mkpath(path.split('/')[0..path.split('/').size-2].join('/'))
72
77
  project = YAML.load WebTranslateIt::Project.fetch_info(api_key)
73
78
  project_info = project['project']
@@ -78,7 +83,7 @@ module WebTranslateIt
78
83
  puts "Project File #{file['id']} doesn’t seem to be set up.".failure
79
84
  error = true
80
85
  elsif !File.exists?(file['name'])
81
- puts "Could not find file `#{file['name']}`.".failure
86
+ puts "Could not find file `#{file['name']}` locally."
82
87
  error = true
83
88
  else
84
89
  puts "Found #{file['name']}.".success
@@ -90,7 +95,7 @@ module WebTranslateIt
90
95
  else
91
96
  puts ""
92
97
  puts "Done! You can now use `wti` to push and pull your language files."
93
- puts "Check `wti --help` for more information."
98
+ puts "Check `wti --help` for help."
94
99
  end
95
100
  end
96
101
 
@@ -3,7 +3,6 @@ module WebTranslateIt
3
3
  class Project
4
4
 
5
5
  def self.fetch_info(api_key)
6
- puts "Gathering project's information..." unless Object.const_defined?(:Spec)
7
6
  begin
8
7
  WebTranslateIt::Util.http_connection do |http|
9
8
  request = Net::HTTP::Get.new("/api/projects/#{api_key}.yaml")
@@ -36,7 +36,7 @@ module WebTranslateIt
36
36
  # file.fetch(true) # force to re-download the file, will return the content of the file with a 200 OK
37
37
  #
38
38
  def fetch(force = false)
39
- print "#{self.local_checksum.checksumify}...#{self.remote_checksum.checksumify} "
39
+ print "#{self.local_checksum.to_s.checksumify}...#{self.remote_checksum.to_s.checksumify} "
40
40
  if !File.exist?(self.file_path) or force or self.remote_checksum != self.local_checksum
41
41
  begin
42
42
  WebTranslateIt::Util.http_connection do |http|
@@ -47,16 +47,16 @@ module WebTranslateIt
47
47
  File.open(self.file_path, 'wb'){ |file| file << response.body } if response.code.to_i == 200 and response.body != ''
48
48
  Util.handle_response(response)
49
49
  rescue
50
- "\n/!\\ An error occured: #{$!}".failure
50
+ "/!\\ An error occured: #{$!}".failure
51
51
  end
52
52
  end
53
53
  rescue Timeout::Error
54
- puts "The request timed out. The service may be overloaded. We will retry in 5 seconds.".failure
54
+ puts "Request timeout. Will retry in 5 seconds.".failure
55
55
  sleep(5)
56
56
  fetch(force)
57
57
  end
58
58
  else
59
- return "Not needed".success
59
+ return "Skipped (up to date)".success
60
60
  end
61
61
  end
62
62
 
@@ -80,13 +80,13 @@ module WebTranslateIt
80
80
  Util.handle_response(http.request(request))
81
81
  end
82
82
  rescue Timeout::Error
83
- puts "The request timed out. The service may be overloaded. We will retry in 5 seconds.".failure
83
+ puts "Request timeout. Will retry in 5 seconds.".failure
84
84
  sleep(5)
85
85
  upload(merge, ignore_missing)
86
86
  end
87
87
  end
88
88
  else
89
- puts "\nFile #{self.file_path} doesn't exist.".failure
89
+ puts "Can't push #{self.file_path}. File doesn't exist.".failure
90
90
  end
91
91
  end
92
92
 
@@ -110,7 +110,7 @@ module WebTranslateIt
110
110
  Util.handle_response(http.request(request))
111
111
  end
112
112
  rescue Timeout::Error
113
- puts "The request timed out. The service may be overloaded. We will retry in 5 seconds.".failure
113
+ puts "Request timeout. Will retry in 5 seconds.".failure
114
114
  sleep(5)
115
115
  create
116
116
  end
@@ -46,15 +46,16 @@ module WebTranslateIt
46
46
 
47
47
  def self.handle_response(response, return_response = false)
48
48
  if response.code.to_i >= 400 and response.code.to_i < 500
49
- "Can't fetch project with this API key. Make sure it is correct.".failure
49
+ "Error: Can't find project for this API key.".failure
50
50
  elsif response.code.to_i >= 500
51
- "Web Translate It is temporarily unavailable. We've been notified of this issue. Please try again shortly.".failure
51
+ "Error: Server temporarily unavailable. Please try again shortly.".failure
52
52
  else
53
53
  return response.body if return_response
54
- return "200 OK".success if response.code.to_i == 200
55
- return "201 Created".success if response.code.to_i == 201
56
- return "202 Accepted".success if response.code.to_i == 202
57
- return "304 Not Modified".success if response.code.to_i == 304
54
+ return "Server currently processing file. Please retry later.".failure if response.code.to_i == 102
55
+ return "OK".success if response.code.to_i == 200
56
+ return "Created".success if response.code.to_i == 201
57
+ return "Accepted".success if response.code.to_i == 202
58
+ return "Not Modified".success if response.code.to_i == 304
58
59
  end
59
60
  end
60
61
 
@@ -46,8 +46,8 @@
46
46
  <div class="contact">
47
47
  <p>
48
48
  <a href="http://docs.webtranslateit.com">Documentation</a><br/>
49
- <a href="http://github.com/AtelierConvivialite/web_translate_it">Source</a><br/>
50
- <a href="http://github.com/AtelierConvivialite/web_translate_it/issues">Issues</a><br/>
49
+ <a href="https://github.com/AtelierConvivialite/webtranslateit/">Source</a><br/>
50
+ <a href="https://github.com/AtelierConvivialite/webtranslateit/issues">Issues</a><br/>
51
51
  <a href="http://twitter.com/webtranslateit">Twitter</a>
52
52
  </p>
53
53
  </div>
data/readme.md CHANGED
@@ -1,7 +1,8 @@
1
- # Web Translate It
1
+ Web Translate It
2
+ ================
2
3
 
3
4
  [Homepage](https://webtranslateit.com) |
4
- [RDocs](http://yardoc.org/docs/AtelierConvivialite-webtranslateit) |
5
+ [RDoc](http://yardoc.org/docs/AtelierConvivialite-webtranslateit) |
5
6
  [Example app](http://github.com/AtelierConvivialite/rails_example_app) |
6
7
  [Report a bug](http://github.com/AtelierConvivialite/webtranslateit/issues) |
7
8
  [Support](http://help.webtranslateit.com)
@@ -16,7 +17,8 @@ This gem provides:
16
17
  * a synchronisation server to help your translation team update your language files from a web interface,
17
18
  * a rack middleware you can use within your Rails app to automatically fetch new translations from Web Translate It.
18
19
 
19
- ## Installation
20
+ Installation
21
+ ------------
20
22
 
21
23
  These instructions are for Linux and Mac OS X system. Follow [these instructions](http://help.webtranslateit.com/kb/tips/how-to-install-wti-on-windows) if you’re using Microsoft Windows.
22
24
 
@@ -24,7 +26,8 @@ These instructions are for Linux and Mac OS X system. Follow [these instructions
24
26
 
25
27
  At this point you should have the `wti` executable working.
26
28
 
27
- ## Configuration
29
+ Configuration
30
+ -------------
28
31
 
29
32
  Now that the tool is installed, you’ll have to configure your project:
30
33
 
@@ -35,7 +38,8 @@ The tool will prompt for:
35
38
  * your Web Translate It API key (you can find it in your project settings),
36
39
  * where to save the configuration file (by default in `config/translations.yml`).
37
40
 
38
- ## Usage
41
+ Usage
42
+ -----
39
43
 
40
44
  Execute `wti --help` to see the usage:
41
45
 
@@ -74,11 +78,92 @@ You can get more information by appending `--help` after each command. For insta
74
78
  --label, -b <s>: Apply a label to the changes
75
79
  --help, -h: Show this message
76
80
 
77
- ## Web Translate It Synchronisation Console
81
+ Sample Commands
82
+ ---------------
83
+
84
+ <table>
85
+ <tr>
86
+ <th>Command</th>
87
+ <th>Action</th>
88
+ </tr>
89
+ <tr>
90
+ <td>wti add path/to/master/file.po</td>
91
+ <td>Upload a new master language file</td>
92
+ </tr>
93
+ <tr>
94
+ <td>wti add file1.po file2.po file3.xml</td>
95
+ <td>Create several master language files at once, by specifying each file</td>
96
+ </tr>
97
+ <tr>
98
+ <td>wti add *.po</td>
99
+ <td>Create several master language files at once, by specifying an extension</td>
100
+ </tr>
101
+ <tr>
102
+ <td>wti push</td>
103
+ <td>Update a master language file</td>
104
+ </tr>
105
+ <tr>
106
+ <td>wti push -l fr</td>
107
+ <td>Update a target (French) language file</td>
108
+ </tr>
109
+ <tr>
110
+ <td>wti push -l "fr en da sv"</td>
111
+ <td>Update several target language files at once (French, English, Danish, Swedish)</td>
112
+ </tr>
113
+ <tr>
114
+ <td>wti push --all</td>
115
+ <td>Update all language files at once</td>
116
+ </tr>
117
+ <tr>
118
+ <td>wti pull</td>
119
+ <td>Download target language files</td>
120
+ </tr>
121
+ <tr>
122
+ <td>wti pull -l fr</td>
123
+ <td>Download a specific language file (French)</td>
124
+ </tr>
125
+ <tr>
126
+ <td>wti pull --all</td>
127
+ <td>Download all language files, including source</td>
128
+ </tr>
129
+ <tr>
130
+ <td>wti pull --force</td>
131
+ <td>Force pull (to bypass Web Translate It’s HTTP caching)</td>
132
+ </tr>
133
+ <tr>
134
+ <td>wti addlocale fr</td>
135
+ <td>Add a new locale to the project</td>
136
+ </tr>
137
+ <tr>
138
+ <td>wti addlocale fr da sv</td>
139
+ <td>Add several locales at once</td>
140
+ </tr>
141
+ <tr>
142
+ <td>wti status</td>
143
+ <td>View project statistics</td>
144
+ </tr>
145
+ </table>
146
+
147
+ Hooks
148
+ -----
149
+
150
+ It is sometimes useful to hook a command or a script before or after a push or a pull. One use-case would be to launch a build after pulling language files. You can do that by implementing hooks in your `translation.yml` file.
151
+
152
+ There are 4 hooks:
153
+
154
+ * `before_pull`
155
+ * `after_pull`
156
+ * `before_push`
157
+ * `after_push`
158
+
159
+ Check the [sample `translation.yml`](https://github.com/AtelierConvivialite/webtranslateit/blob/master/examples/translation.yml#L9..L13) file for implementation.
160
+
161
+ Web Translate It Synchronisation Console
162
+ ----------------------------------------
78
163
 
79
164
  ![Web Translate It](http://s3.amazonaws.com:80/edouard.baconfile.com/web_translate_it%2Fadmin_console2.png)
80
165
 
81
- The `wti` gem integrates since its version 1.7.0 a sinatra app that provides you with a friendly web interface to sync your translations. It allows a translation team to refresh the language files on a staging server without asking the developers to manually `wti pull`.
166
+ `wti` contains a server you can use to run a friendly web interface to sync your translations. It allows a translation team to refresh the language files on a staging server without asking the developers to manually `wti pull`.
82
167
 
83
168
  To get started, go to the directory of the application you want to sync and do:
84
169
 
@@ -88,77 +173,13 @@ By default, it starts an application on localhost on the port 4000. You will fin
88
173
 
89
174
  Should you need to use another host or port, you can use the `-h` and `-p` options. For example: `wti server -p 1234`.
90
175
 
91
- You may want to run some commands before or after syncing translations. To do so, add in the `translation.yml` file the following:
176
+ You may want to run some commands before or after syncing translations. You can use the hooks to do so. For instance, you could add the following in your `translation.yml` file:
92
177
 
93
178
  before_pull: "echo 'some unix command'"
94
179
  after_pull: "touch tmp/restart.txt"
95
180
 
96
181
  `before_pull` and `after_pull` are respectively executed before and after pulling language files.
97
182
 
98
- ## Use Cases
99
-
100
- Here are some example commands for the most common scenarios.
101
-
102
- ### Upload a new master language file
103
-
104
- wti add path/to/master/file.po
105
-
106
- Create several master language files at once:
107
-
108
- wti add file1.po file2.po file3.xml
109
-
110
- Or:
111
-
112
- wti add *.po
113
-
114
- After receiving your master language files, Web Translate It will automatically create the corresponding target files. If you have already some translations for these files, use `wti push --all` to synchronise them to Web Translate It.
115
-
116
- ### Update a master language file
117
-
118
- wti push
119
-
120
- ### Update a target language file
121
-
122
- Update the french language file:
123
-
124
- wti push -l fr
125
-
126
- Or several languages at once:
127
-
128
- wti push -l "fr en da sv"
129
-
130
- ### Update all language files at once
131
-
132
- wti push --all
133
-
134
- ### Download target language files
135
-
136
- wti pull
137
-
138
- ### Download a specific language file
139
-
140
- wti pull -l fr
141
-
142
- ### Download all language files, including source
143
-
144
- wti pull --all
145
-
146
- ### Force pull (to bypass Web Translate It’s HTTP caching)
147
-
148
- wti pull --force
149
-
150
- ### Add a new locale to the project
151
-
152
- wti addlocale fr
153
-
154
- Or add several locales at once:
155
-
156
- wti addlocale fr da sv
157
-
158
- ### View project stats
159
-
160
- wti status
161
-
162
183
  # License
163
184
 
164
185
  Copyright (c) 2009-2011 Atelier Convivialité, released under the MIT License.
@@ -18,21 +18,21 @@ describe WebTranslateIt::TranslationFile do
18
18
  file = mock(File)
19
19
  file.stub(:puts => true, :close => true)
20
20
  File.stub(:exist? => true, :mtime => Time.at(0), :new => file)
21
- translation_file.fetch.should include "200 OK"
21
+ translation_file.fetch.should include "OK"
22
22
  end
23
23
 
24
24
  it "should prepare a HTTP request and get a 200 OK if the language file is stale using the force download parameter" do
25
25
  file = mock(File)
26
26
  file.stub(:puts => true, :close => true)
27
27
  File.stub(:exist? => true, :mtime => Time.at(0), :new => file)
28
- translation_file.fetch(true).should include "200 OK"
28
+ translation_file.fetch(true).should include "OK"
29
29
  end
30
30
 
31
31
  it "should prepare a HTTP request and get a 200 OK if the language file is fresh using the force download parameter" do
32
32
  file = mock(File)
33
33
  file.stub(:puts => true, :close => true)
34
34
  File.stub(:exist? => true, :mtime => Time.now, :new => file)
35
- translation_file.fetch(true).should include "200 OK"
35
+ translation_file.fetch(true).should include "OK"
36
36
  end
37
37
  end
38
38
 
data/version.yml CHANGED
@@ -2,4 +2,4 @@
2
2
  :major: 1
3
3
  :minor: 7
4
4
  :tiny: 3
5
- :patch: 0
5
+ :patch: 1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web_translate_it
3
3
  version: !ruby/object:Gem::Version
4
- hash: 107
4
+ hash: 105
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 7
9
9
  - 3
10
- - 0
11
- version: 1.7.3.0
10
+ - 1
11
+ version: 1.7.3.1
12
12
  platform: ruby
13
13
  authors:
14
14
  - "\xC3\x89douard Bri\xC3\xA8re"
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-04-12 00:00:00 +02:00
19
+ date: 2011-05-06 00:00:00 +02:00
20
20
  default_executable: wti
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -59,12 +59,12 @@ dependencies:
59
59
  requirements:
60
60
  - - ~>
61
61
  - !ruby/object:Gem::Version
62
- hash: 31
62
+ hash: 19
63
63
  segments:
64
64
  - 1
65
65
  - 2
66
- - 0
67
- version: 1.2.0
66
+ - 6
67
+ version: 1.2.6
68
68
  type: :runtime
69
69
  version_requirements: *id003
70
70
  - !ruby/object:Gem::Dependency