- Upgrade dependency on multipart-post, which includes a few compatibility fixes to ruby 2.0.
- Update CA cert of the WebTranslateit’s issuer (Rapid SSL). #95.
- A new version of WebTranslateIt brings instant statistics generation. Statistics are never stale,
so removed some code that was handling stale stats in
wti status
. #93
- Remove dependency on JSON. We use
multi_json
instead so wti should now be easier to install. (it previously required a C compiler to install).
- New: Add ability to pass a file path in
wti push
:wti push path/to/file
. #90. - Made it a bit clearer that wti push now takes an optional file path.
- Move version file to a string in the .gemspec file.
- Upgrade dependencies
- New: Add a throbber to indicate the project information is loading.
- New: Display error message when pushing or pulling a language that doesn’t exist in a project.
- Fixed: Compatibility problem with ruby 1.8.6.
- Fix: String#translation_for('xx') should not return an array of all translations. #88
- Fix: Term#translation_for('xx') should not return an array of all term translations.
- String#find and Term#find now return nil if no element was found with that ID.
- String, Translation, Term and TermTranslation classes now raise exceptions and display useful error messages. #87
- Implemented pagination for
String#find_all
andTerm#find_all
. This should work seemlessly with no API change.
- Fix: Issue with saving labels on a string.
- Add more helpers to
wti init
a project - Add ability to add a source locale to a project from the command line: the first
wti addlocale xx
sets the source locale. wti add
: Display if there are no new files to add.
- Allow instantiating
WebTranslateIt::String
andWebTranslateIt::Term
using a Hash made of symbols or strings.
- Remove deprecated
wti server
. - Reword command help and output.
- Rework String, Translation, Term and TermTranslation refactoring. Now using a connection persisted as a class instance. See connection.rb. This makes for a nicer syntax.
- Backport of compatibility fix for ruby 1.8.7 from 1.x serie.
- Fix issue with new version system, which broke the gem. #86
Important: This release candidate introduce breaking changes in the String, Translation, Term and TermTranslation APIs. See Extras if you use the String, Translation, Term and TermTranslation APIs to programmatically manage strings, translations and terms.
- Remove undeclared dependency on ActiveSupport. ActiveSupport was required to use the
WebTranslateIt::String
,Translation
,Term
andTermTranslation
classes. #84 - Refactor
WebTranslateIt::String
andWebTranslateIt::Translation
classes and add specs. #85 - Refactor
WebTranslateIt::Term
andWebTranslateIt::TermTranslation
classes and add specs.
- Compatibility fix for ruby 1.8.7.
- New: Prevent existing master files from being added again on
wti add
. This allows to run something like:ls *.xml | grep -v "\.en" | xargs wti add
without worrying about adding files a second time. Patch submitted by Ivan Kolesnikov [email protected]. - New: Better error messages. #82.
- New: Add process name to command line tool. #81.
- Fix: Prevents
wti status
from crashing, #83.
- New:
wti push
only push local files having a different checksum than the ones on WTI server. Patch submitted by Ivan Kolesnikov [email protected]. - New:
wti push --force
lets you force push files. Patch submitted by Ivan Kolesnikov [email protected].
- Support for new
minor_changes
flag on File API. Use withwti push --minor
.
- Include classes to connect to TermBase and TermBase Translation APIs.
- Bug fix: Prevent
wti
from crashing when pulling from a project having no files.
- Bug fix: the round(1) used in performance statistics wasn’t compatible with ruby < 1.9.
-
Gem now includes library to connect to String and Translation APIs, see #74 and #78. (@bray).
-
Add
<filename>
placeholder. -
Bug fix: don’t crash when running
wti init
on an empty project. -
Bug fix: File API was returning
102 Continue
error status when fetching a file begin currently imported. It was making subsequent requests fail. The File API now returns503 Service Unavailable
. Client was updated to handle this status. -
Fix
wti status
command. -
Improvement: truncate
wti pull
performance statistics (Pulled 10 files in 0.7 seconds at 13.4 files/sec
). -
Fix: Configuration file lookup improvements. Configuration files can now be located in another directory, and
wti
commands don’t have to be executed in the root directory. It is now possible to execute:wti pull wti pull -c /Users/edouard/code/test/.wti wti pull -c ../.wti wti pull -c ~/code/.wti
- Add
wti rm
andwti rmlocale
to CLI help. - Sort files by name in
wti push
. - Improve command-line interface. Executing
wti
should now give help. - Bug fix: TranslationFile timeouts, #77. (@bray).
- Deprecate
wti server
. This feature was introducing a hard dependency on Sinatra, which is not desirable when embeddingweb_translate_it
on a Rails application.wti server
now lives in a separate gem,web_translate_it_server
, which depends on theweb_translate_it
gem. To keep usingwti server
, execute:gem install web_translate_it_server
and run:wti-server
.
- Add new command
wti rmlocale locale_code_1 locale_code_2 ...
to delete a locale from a project. - Add new command
wti rm path_to_file1 path_to_file2 ...
to delete a master file from a project. wti
sends client name and version in custom headers. #73.
- Bring back
-c
option to specify a configuration file with a specific name.wti pull -c config/translations.yml
for instance. See #67 and #71. web_translate_it
rubygem now respects semantic versioning. #72.
- Remove
sanitize_locale
. This method was replacing locale codes likeen_US
byen-US
. It is now up to the user to make sure they use the correct locale format. - Fix minor display bug during wti pull. See #70.
- Add
--low-priority
option towti add
command.
- Fix frozen string bug on ruby 1.9.3 (thanks @mikian for the patch).
- Fix: arrays of symbols
ignore_locales: [:en, :fr]
are not being parsed by Psych. People should use an array of strings (ignore_locales: ['en', 'fr']
) or the longer version instead:ignore_locales: - :en - :fr
wti pull
downloads files in parallel, using up to 20 threads. This makes syncing much faster for projects containing many files (up to 65 files/sec).- Default configuration file was renamed
.wti
. #67. The upgrade process should be seamless. Config file will be renamed if aconfig/translation.yml
file is detected.
- Possible fix for encoding issue in .gemspec file, #66
- Removed dependency on
ansi
gem, so wti now installs smoothly on Windows machines. Prior to that Windows users had to manually install thewin32console
gem. #62.
- Revert previous commit, which didn’t work. Added an extra step to the Windows installation instructions: http://help.webtranslateit.com/kb/tips/how-to-install-wti-on-windows
- Fix broken
WebTranslateIt.fetch_translations
, #63.
- Add dependency on
win32console
for Microsoft Windows users.
- Update multipart-post dependency.
- Only include CA cert of WTI’s SSL certificate issuer. #61.
- Update ansi dependency.
- Bug fix: re-recreate http connection from scratch after SSL certificate verification failure.
- Bug fix: don’t try to modify a frozen object during fall back to non-verified SSL. #60
wti
now falls back to non-verified SSL connections if SSL verification cannot be done.
- Bug fix: Disable colors when running under MS Windows. #58
- Bug fix: Don’t verify SSL certificate when running under MS Windows. #57
- Upgrade
multipart-post
dependency. - Replace
rainbow
dependency byansi
, which can also format columns. #55 - Bug fix:
translation.yml
file wasn’t created on new projects. - New: Gracefully quit on interrupt.
- New command:
wti match
. Displays files matching with the File Manager. - Improved help commands.
- Fix: SSL certificate verification wasn’t working on some systems (at least Ubuntu).
- New: Faster file transfers using KeepAlive’d connection.
- New: Verify SSL certificate on connection.
- Fix: Display more detailed error messages on unconfigured projects. Ticket #56
- Fix:
wti init
now checks if configuration file is writable. Ticket #35 - Remove rake tasks. Rake tasks are much slower than the
wti executable
and were removed. Should you want the rake tasks back, see how to add them in your project on the wiki.
- Fix: Broken links on
wti server
. - Fix: Avoid crashes on blank checksums. Ticket #53 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.
- Update Sinatra to 1.2.6.
- New: Compare local file checksum with file checksum from WTI API to determine if file needs downloading. We were previously using the date of last modification which can be a little bit unreliable.
- Remove
wti autoconf
andwti stats
. These commands were deprecated in favour ofwti init
andwti status
(and its aliaswti st
).
- Bug fix:
wti init
fails when configuration file doesn’t exist. - Add Gemfile for using
web_translate_it
with Bundler.
- Deprecate
wti autoconf
in favour ofwti init
. - Deprecate
wti stats
in favour ofwti status
and its aliaswti st
. - Better help and options. Replaced option parser from Choice to Trollop.
wti pull -l
can now take several locales separated by spaces. For instance:wti pull -l "en fr ja"
wti push -l
can now take several locales separated by spaces. For instance:wti push -l "en fr"
- New: Coloured terminal output.
- New:
before_pull
andafter_pull
hooks now work for all kind ofwti pull
(not only withinwti server
). - New: Added 2 new hooks:
before_push
andafter_push
.
- New:
wti unknow_command
explains how to get help. - Upgrade Sinatra to 1.2.0.
- New: Increase timeout to 30 seconds to accommodate large projects.
- Fix: Make sure
log
directory exists onwti server
start up. - New: Upgrade Sinatra to 1.1.3.
- Fix an issue with
wti server
swallowing allwti
outputs.
- New: Add
--low_priority
option. - Update Sinatra and multipart-post dependancies.
- New: Enable logging of
wti server
. Logs will be saved inlog/webtranslateit.log
in your project directory.
- Fix: Bug in
wti add
.
- Fix: server timeout handling on
wti addlocale
.
- New:
wti addlocale locale1 locale2 ...
to create new locales for a project.
- New: TranslationFile#fetch now use file timestamps served by the Project API.
This makes
wti pull
much faster, especially for projects having a lot of files - Fix:
wti server
now notice new languages. Each page request towti server
now reloads the project information from Web Translate It.
- Fix connection problems through a proxy (1.7.0.7.pre)
- Fix eventual problems connecting through an authenticated proxy (1.7.0.7.pre2)
- Makes
wti server
load much faster for projects having a lot of files. - The web interface now displays before_pull and after_pull hooks to facilitate debugging.
- Ability to do
wti pull -l
from the web interface to update server faster.
- Fixes to make wti compatible with Ruby 1.9.2.
- New: Added support for labels. Only works for
wti push
for now.wti push --label release_week_4
will tag new and changed strings asrelease_week_4
.
- New: ability to add several master files at once
wti add file1 file2 file3 …
wti add *.yml
.
- Fix bug with file permissions.
- Handle server timeouts more gracefully, and retry request. Set timeout down to 20 secs.
- New: display warning if file is not writable.
- New:
wti server
launch a sinatra app allowing to sync files from a web interface. Pinched from Tom Lea’s awesome rack-webtranslate-it, but made less specific. - Bug fix:
wti autoconf
now create directories correctly if they don’t already exist. #27
- New:
wti add file_path
to create a new master language file on Web Translate It. This is only for master language files. Target language files are created server-side, and can be updated usingwti push --all
.
- New:
--merge
option to force WTI to perform a merge of this file with its database. - New:
--ignore_missing
option to force WTI to not obsolete missing strings.
- Enhancement: Remove new line on push/pull result. It now displays
Pulling config/locales/app/fr.yml… 200 OK
. - Enhancement:
wti stats
now propose to refresh the stats if the stats displayed are stale. - Bug fix:
wti push
used to crash on non-existent files. Close #24.
- Bug fix: Rake tasks not working
- Bug fix: Don’t rely on active_support only for .blank? Fix issue #23
- Bug fix: ability to run
rake
tasks if Web Translate It is installed as a plugin. - Fix tests and 1 encoding bug for Ruby 1.9.
- Bug fix: prevents a few crashes when accessing non-configured projects.
- Bug fix:
wti push --all
was using an incorrect list of locales, thus not pushing all files.
-
Bug fix: Encoding problem with Ruby 1.9 (Romain Sempé)
-
Bug fix: Make rake task create locale directory if it doesn’t exist yet. (Romain Sempé)
-
Bug fix: Make the list of ignore locales work for wti pull (it won’t pull the locales you ignore)
-
Breaking update: The project configuration changed and doesn’t include a list of master language files any longer. This makes configuration much simpler. However you must configure the exact file path of your files in the File Manager. This allows much more flexibility for the choice of your language file names. Ref #22.
- Only added a man page.
- Add
wti stats
, to fetch the project stats from the stats API endpoint.
Warning, some deprecations in this version.
- Remove
wti fetch
andwti upload
. It was deprecated in 1.4.7 in favour ofwti pull
andwti push
respectively. wti push
now only pushes the master language file. Usewti push --all
to push all orwti push -l [locale]
to push a specific locale.wti pull
now only pulls the target language files. Usewti pull --all
to pull all orwti pull -l [locale]
to pull a specific locale.- Increase read timeout to 40s — Required for very large projects.
- Bug fix:
wti autoconf
now create directory if it doesn't exist. - Bug fix:
wti autoconf
now ask the user where are the locale files.
- Add deprecation warning for
wti --fetch
,wti -f
. These commands will be deprecated in favour ofwti pull
. - Add deprecation warning for
wti --upload
,wti -u
. These commands will be deprecated in favour ofwti push
. - Add -c parameter to specify a configuration file at a custom location.
- Add -l parameter to specify a specific language file to pull or push (only works with
wti pull
andwti push
). - Add --force parameter to force Web Translate It to send the language files again, regardless if the current
language file version is current (this makes
wti pull
very much slower). - Add
wti autoconf
command to automatically configure your project for Web Translate It.
- Add feedback when using the
wti command
. - Fix bug where fetch requests were not using the conditional get requests feature.
- Improved documentation
- Web Translate is now an executable:
wti
- Add generator to automatically configure your project, given a Web Translate It API key.
- Remove rake trans:config, as configuration is now handled by the generator.
- Remove colour outputs as it increases code complexity and doesn't add any value.
- Rack middleware now write to the application’s log file instead of just puts-ing
- Better error messages for misconfigured projects
- Bug fix for
rake trans:config
which was not installing the translation.yml file properly.
- Rename
rake trans:send[fr_Fr]
torake trans:upload[fr_FR]
- Remove
rake trans:version
task. Instead, version number is displayed in the welcome banner. - Code refactoring
- More tests
- The plugin is now a gem
- Add rack middleware to automatically fetch your translations
- Remove
autofetch
parameter in configuration file as it is better off to leave it to the user to include the rack middleware in each environment file. - Add example of rack middleware for setting up I18n.locale
- Add some documentation
- More feedback on file upload
- New: Ability to update language files via PUT requests. Upload brand new language files is not possible at the moment.
- Fix: locales in exclude list are no longer autofetched when browsing the app in these locales.
- Support for multi-files projects.
- Deprecate
rake translation:*
in favour of the shorter formrake trans
. - Add task
rake trans:fetch[en_US]
to fetch files locale by locale. - Add task
rake trans:fetch:all
to fetch all the files for all locales defined in Web Translate It’s web interface.
- Better support for exceptions.
- First version, plugin only support download of strings. Strings upload will be available in a later version.