- Fix deprecation warning. #112
- New configuration option:
needed_locale: an array containing all the locales you want to sync with WebTranslateIt. #110
- Update dependencies.
- Bug fix on
- New: Ability to pull a specific file or directory.
wti pull path/to/file.jsonto pull a file.
- Bug fixes to autofetch.
- Commands now display more information, such as the current project’s name.
- Improvements to auto-fetch: reload I18n after fetch, and do not run auto-fetch for static requests.
wti pullto use up to 10 threads.
- Limit amount of simultaneous HTTP requests to WTI.
- Display more information about “unavail” error message. #97
- New: add ability to initialize project with a one-liner:
wti init api_token. #94
- Catch errors when running commands in a directory not containing a .wti file. #98
- Update my name so it doesn’t contain accentuated characters anymore (seems to make jruby/rubygems 2.0.3 fail to install the gem). #96
- 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_jsoninstead 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 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
Term#find_all. This should work seemlessly with no API change.
- Fix: Issue with saving labels on a string.
- Add more helpers to
wti inita project
- Add ability to add a source locale to a project from the command line: the first
wti addlocale xxsets the source locale.
wti add: Display if there are no new files to add.
- Allow instantiating
WebTranslateIt::Termusing a Hash made of symbols or strings.
- Remove deprecated
- 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::Translationclasses and add specs. #85
WebTranslateIt::TermTranslationclasses 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 addwithout worrying about adding files a second time. Patch submitted by Ivan Kolesnikov email@example.com.
- New: Better error messages. #82.
- New: Add process name to command line tool. #81.
- Fix: Prevents
wti statusfrom crashing, #83.
wti pushonly push local files having a different checksum than the ones on WTI server. Patch submitted by Ivan Kolesnikov firstname.lastname@example.org.
wti push --forcelets you force push files. Patch submitted by Ivan Kolesnikov email@example.com.
- Support for new
minor_changesflag on File API. Use with
wti push --minor.
- Bug fix: Prevent
wtifrom 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).
- Bug fix: don’t crash when running
wti initon an empty project.
- Bug fix: File API was returning
102 Continueerror status when fetching a file begin currently imported. It was making subsequent requests fail. The File API now returns
503 Service Unavailable. Client was updated to handle this status.
- Improvement: truncate
wti pullperformance 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
wticommands 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
wti rmlocaleto CLI help.
- Sort files by name in
- Improve command-line interface. Executing
wtishould now give help.
- Bug fix: TranslationFile timeouts, #77. (@bray).
wti server. This feature was introducing a hard dependency on Sinatra, which is not desirable when embedding
web_translate_iton a Rails application.
wti servernow lives in a separate gem,
web_translate_it_server, which depends on the
web_translate_itgem. To keep using
wti server, execute:
gem install web_translate_it_serverand run:
- 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.
wtisends client name and version in custom headers. #73.
- Bring back
-coption to specify a configuration file with a specific name.
wti pull -c config/translations.ymlfor instance. See #67 and #71.
web_translate_itrubygem now respects semantic versioning. #72.
sanitize_locale. This method was replacing locale codes like
en-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.
- 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:
yaml ignore_locales: - :en - :fr
wti pulldownloads 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 a
config/translation.ymlfile is detected.
- Possible fix for encoding issue in .gemspec file, #66
- Removed dependency on
ansigem, so wti now installs smoothly on Windows machines. Prior to that Windows users had to manually install the
- 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
- Add dependency on
win32consolefor 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
wtinow 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
ansi, which can also format columns. #55
- Bug fix:
translation.ymlfile 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
wti initnow checks if configuration file is writable. Ticket #35
- Remove rake tasks. Rake tasks are much slower than the
wti executableand were removed. Should you want the rake tasks back, see how to add them in your project on the wiki.
- Fix: Broken links on
- 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.
wti stats. These commands were deprecated in favour of
wti status(and its alias
- Bug fix:
wti initfails when configuration file doesn’t exist.
- Add Gemfile for using
wti autoconfin favour of
wti statsin favour of
wti statusand its alias
- Better help and options. Replaced option parser from Choice to Trollop.
wti pull -lcan now take several locales separated by spaces. For instance:
wti pull -l "en fr ja"
wti push -lcan now take several locales separated by spaces. For instance:
wti push -l "en fr"
- New: Coloured terminal output.
after_pullhooks now work for all kind of
wti pull(not only within
- New: Added 2 new hooks:
wti unknow_commandexplains how to get help.
- Upgrade Sinatra to 1.2.0.
- New: Increase timeout to 30 seconds to accommodate large projects.
- Fix: Make sure
logdirectory exists on
wti serverstart up.
- New: Upgrade Sinatra to 1.1.3.
- Fix an issue with
wti serverswallowing all
- New: Add
- Update Sinatra and multipart-post dependancies.
- New: Enable logging of
wti server. Logs will be saved in
log/webtranslateit.login your project directory.
- Fix: Bug in
- Fix: server timeout handling on
wti addlocale locale1 locale2 ...to create new locales for a project.
- New: TranslationFile#fetch now use file timestamps served by the Project API.
wti pullmuch faster, especially for projects having a lot of files
wti servernow notice new languages. Each page request to
wti servernow reloads the project information from Web Translate It.
- Fix connection problems through a proxy (188.8.131.52.pre)
- Fix eventual problems connecting through an authenticated proxy (184.108.40.206.pre2)
wti serverload 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 -lfrom 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 pushfor now.
wti push --label release_week_4will tag new and changed strings as
- 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.
wti serverlaunch 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 autoconfnow create directories correctly if they don’t already exist. #27
wti add file_pathto 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 using
wti push --all.
--mergeoption to force WTI to perform a merge of this file with its database.
--ignore_missingoption 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.
wti statsnow propose to refresh the stats if the stats displayed are stale.
- Bug fix:
wti pushused 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
raketasks 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 --allwas 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.
wti stats, to fetch the project stats from the stats API endpoint.
Warning, some deprecations in this version.
wti upload. It was deprecated in 1.4.7 in favour of
wti pushnow only pushes the master language file. Use
wti push --allto push all or
wti push -l [locale]to push a specific locale.
wti pullnow only pulls the target language files. Use
wti pull --allto pull all or
wti pull -l [locale]to pull a specific locale.
- Increase read timeout to 40s — Required for very large projects.
- Bug fix:
wti autoconfnow create directory if it doesn't exist.
- Bug fix:
wti autoconfnow ask the user where are the locale files.
- Add deprecation warning for
wti -f. These commands will be deprecated in favour of
- Add deprecation warning for
wti -u. These commands will be deprecated in favour of
- 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
- 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 pullvery much slower).
wti autoconfcommand to automatically configure your project for Web Translate It.
- Add feedback when using the
- Fix bug where fetch requests were not using the conditional get requests feature.
- Improved documentation
- Web Translate is now an executable:
- 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:configwhich was not installing the translation.yml file properly.
rake trans:versiontask. 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
autofetchparameter 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.
rake translation:*in favour of the shorter form
- Add task
rake trans:fetch[en_US]to fetch files locale by locale.
- Add task
rake trans:fetch:allto 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.