mirror of
https://github.com/diaspora/diaspora.git
synced 2026-04-29 03:01:03 -04:00
Merge branch 'master' of github.com:diaspora/diaspora
This commit is contained in:
221
README.md
221
README.md
@@ -1,54 +1,85 @@
|
||||
## Commit Guidlines
|
||||
You are welcome to contribute, add and extend Diaspora however you see fit. We will do our best to incorporate everything that meets our guidelines.
|
||||
|
||||
We need you to fill out a [contributor agreement form](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq) before we can accept your patches. The agreement gives Diaspora joint ownership of the patch so the copyright isn't scattered. You can find it [here](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq).
|
||||
You are welcome to contribute, add to and extend Diaspora however you see fit. We
|
||||
will do our best to incorporate everything that meets our guidelines.
|
||||
|
||||
All commits must be tested, and after each commit, all tests should be green before a pull request is sent. Please write your tests in Rspec.
|
||||
We need you to fill out a
|
||||
[contributor agreement form](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq)
|
||||
before we can accept your patches. The agreement gives Diaspora joint
|
||||
ownership of the patch so the copyright isn't scattered. You can find it
|
||||
[here](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq).
|
||||
|
||||
GEMS: We would like to keep external dependencies unduplicated. We're using Nokogiri, Mongomapper, and EM::HttpRequest as much as possible. We have a few gems in the project we'd rather not use, but if you can, use dependencies we already have.
|
||||
All commits must be tested, and after each commit, all tests should be green
|
||||
before a pull request is sent. Please write your tests in Rspec.
|
||||
|
||||
GEMS: We would like to keep external dependencies unduplicated. We're using
|
||||
Nokogiri, Mongomapper, and EM::HttpRequest as much as possible. We have a few
|
||||
gems in the project we'd rather not use, but if you can, use dependencies we
|
||||
already have.
|
||||
|
||||
# Diaspora
|
||||
|
||||
The privacy aware, personally controlled, do-it-all, open source social network.
|
||||
The privacy aware, personally controlled, do-it-all, open source social
|
||||
network.
|
||||
|
||||
**DISCLAIMER: THIS IS PRE-ALPHA SOFTWARE AND SHOULD BE TREATED ACCORDINGLY.**
|
||||
**PLEASE, DO NOT RUN IN PRODUCTION. IT IS FUN TO GET RUNNING, BUT EXPECT THINGS TO BE BROKEN**
|
||||
**PLEASE, DO NOT RUN IN PRODUCTION. IT IS FUN TO GET RUNNING, BUT EXPECT THINGS
|
||||
TO BE BROKEN**
|
||||
|
||||
Also, we really want to continue to focus on features and improving the code base. When we think it is
|
||||
ready for general use, we will post more detailed instructions.
|
||||
We are continuing to build features and improve the code base.
|
||||
When we think it is ready for general use, we will post more detailed
|
||||
instructions.
|
||||
|
||||
## Notice
|
||||
|
||||
We currently run Diaspora with the [thin](http://code.macournoyer.com/thin/) as our webserver, behind [nginx](http://wiki.nginx.org/Main). Diaspora uses the asynchronous feature of [EventMachine](http://rubyeventmachine.com/) to send messages between seeds,
|
||||
We currently run Diaspora with the [thin](http://code.macournoyer.com/thin/) as
|
||||
our webserver, behind [nginx](http://wiki.nginx.org/Main). Diaspora uses an
|
||||
asynchronous [EventMachine](http://rubyeventmachine.com/) queue inside the appserver
|
||||
to send messages between seeds. If you use mod_rails, mongrel, or another
|
||||
non-eventmachine based application server, federation may not work.
|
||||
|
||||
using the power of the [Reactor](http://en.wikipedia.org/wiki/Reactor_pattern) pattern. If you use mod_rails, mongrel, or another non-eventmachine based application server, federation and/or websockets may not work.
|
||||
If you don't like thin, you can always try
|
||||
[Rainbows!](http://rainbows.rubyforge.org/) We will try to fully support more
|
||||
webservers later, but that is what works for now.
|
||||
|
||||
If you don't like thin, you can always try [Rainbows!](http://rainbows.rubyforge.org/)
|
||||
We will try and fully support more webservers later, but that is what works for now.
|
||||
|
||||
|
||||
These instructions are for machines running [Ubuntu](http://www.ubuntu.com/), [Fedora](http://www.fedoraproject.org) or Mac OS X. We are developing Diaspora for the latest and greatest browsers, so please update your Firefox, Chrome or Safari to the latest and greatest.
|
||||
These instructions are for machines running [Ubuntu](http://www.ubuntu.com/),
|
||||
[Fedora](http://www.fedoraproject.org) or Mac OS X. We are developing Diaspora
|
||||
for the latest and greatest browsers, so please update your Firefox, Chrome or
|
||||
Safari to the latest and greatest.
|
||||
|
||||
## Preparing your system
|
||||
In order to run Diaspora, you will need to download the following dependencies (specific instructions follow):
|
||||
|
||||
In order to run Diaspora, you will need to download the following dependencies
|
||||
(specific instructions follow):
|
||||
|
||||
- Build Tools - Packages needed to compile the components that follow.
|
||||
- [Ruby](http://www.ruby-lang.org) - The Ruby programming language. (We're using **1.8.7**. It comes preinstalled on Mac OS X.)
|
||||
- [Ruby](http://www.ruby-lang.org) - The Ruby programming language.
|
||||
(We're using **1.8.7**. It comes preinstalled on Mac OS X.)
|
||||
- [MongoDB](http://www.mongodb.org) - A snappy noSQL database.
|
||||
- [OpenSSL](http://www.openssl.org/) - An encryption library. (It comes preinstalled on Mac OS X and Ubuntu.)
|
||||
- [ImageMagick](http://www.imagemagick.org/) - An Image processing library used to resize uploaded photos.
|
||||
- [OpenSSL](http://www.openssl.org/) - An encryption library.
|
||||
(It comes preinstalled on Mac OS X and Ubuntu.)
|
||||
- [ImageMagick](http://www.imagemagick.org/) - An Image processing library used
|
||||
to resize uploaded photos.
|
||||
- [Git](http://git-scm.com/) - The fast version control system.
|
||||
|
||||
After you have Ruby installed on your system, you will need to get RubyGems, then install Bundler:
|
||||
After you have Ruby installed on your system, you will need to get RubyGems,
|
||||
then install Bundler:
|
||||
|
||||
- [RubyGems](http://rubygems.org/) - Source for Ruby gems.
|
||||
- [Bundler](http://gembundler.com/) - Gem management tool for Ruby projects.
|
||||
|
||||
**We suggest using a package management system to download these dependencies. Trust us, it's going to make your life a lot easier. If you're using Mac OS X, you can use [homebrew](http://mxcl.github.com/homebrew/); if you're using Ubuntu, just use [Synaptic](http://www.nongnu.org/synaptic/) (it comes pre-installed); if you're using Fedora simply use [yum](http://yum.baseurl.org/). The instructions below assume you have these installed.**
|
||||
**We suggest using a package management system to download these dependencies.
|
||||
Trust us, it's going to make your life a lot easier. If you're using Mac OS X,
|
||||
you can use [homebrew](http://mxcl.github.com/homebrew/); if you're using
|
||||
Ubuntu, just use [Synaptic](http://www.nongnu.org/synaptic/) (it comes
|
||||
pre-installed); if you're using Fedora simply use
|
||||
[yum](http://yum.baseurl.org/). The instructions below assume you have these
|
||||
installed.**
|
||||
|
||||
### Build Tools
|
||||
|
||||
To install build tools on **Ubuntu**, run the following (includes the gcc and xml parsing dependencies):
|
||||
To install build tools on **Ubuntu**, run the following (includes the gcc and
|
||||
xml parsing dependencies):
|
||||
|
||||
sudo apt-get install build-essential libxslt1.1 libxslt1-dev libxml2
|
||||
|
||||
@@ -56,7 +87,8 @@ To install build tools on **Fedora**, run the following:
|
||||
|
||||
sudo yum install libxslt libxslt-devel libxml2 libxml2-devel
|
||||
|
||||
To install build tools on **Mac OS X**, you need to download and install [Xcode](http://developer.apple.com/technologies/tools/xcode.html).
|
||||
To install build tools on **Mac OS X**, you need to download and install
|
||||
[Xcode](http://developer.apple.com/technologies/tools/xcode.html).
|
||||
|
||||
### Ruby
|
||||
|
||||
@@ -64,22 +96,38 @@ To install Ruby 1.8.7 on **Ubuntu**, run the following command:
|
||||
|
||||
sudo apt-get install ruby-full
|
||||
|
||||
Please note that you need to have Universe enabled in your /etc/apt/sources.list file to install ruby using apt-get.
|
||||
Please note that you need to have Universe enabled in your
|
||||
/etc/apt/sources.list file to install ruby using apt-get.
|
||||
|
||||
At this time Fedora does not have Ruby 1.8.7. As a workaround it is possible to use [rvm](http://rvm.beginrescueend.com/) with a locally compiled Ruby installation. A semi automated method for doing this is available. It is highly recommended that you review the script before running it so you understand what will occur. The script can be executed by running the following command:
|
||||
At this time Fedora does not have Ruby 1.8.7. As a workaround it is possible to
|
||||
use [rvm](http://rvm.beginrescueend.com/) with a locally compiled Ruby
|
||||
installation. A semi automated method for doing this is available. It is
|
||||
highly recommended that you review the script before running it so you
|
||||
understand what will occur. The script can be executed by running the
|
||||
following command:
|
||||
|
||||
./script/bootstrap-fedora-diaspora.sh
|
||||
|
||||
After reviewing and executing the above script you will need to follow the "MongoDB" section and then you should skip all the way down to "Start Mongo".
|
||||
|
||||
After reviewing and executing the above script you will need to follow the
|
||||
"MongoDB" section and then you should skip all the way down to "Start Mongo".
|
||||
|
||||
If you're on **Mac OS X**, you already have Ruby on your system. Yay!
|
||||
|
||||
### MongoDB
|
||||
|
||||
To install MongoDB on **Ubuntu**, add the official MongoDB repository [here](http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages).
|
||||
To install MongoDB on **Fedora**, use the official repositories
|
||||
|
||||
For Lucid, add the following line to your /etc/apt/sources.list (for other distros, see http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages):
|
||||
sudo yum install mongodb-server
|
||||
|
||||
Ensure that the server is started at system reboot:
|
||||
|
||||
sudo chkconfig mongod on
|
||||
|
||||
To install MongoDB on **Ubuntu**, add the official MongoDB repository
|
||||
[here](http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages).
|
||||
|
||||
For Lucid, add the following line to your /etc/apt/sources.list (for other
|
||||
distros, see http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages):
|
||||
|
||||
deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen
|
||||
|
||||
@@ -90,11 +138,11 @@ Then run:
|
||||
|
||||
You can also run the binary directly by doing the following:
|
||||
|
||||
If you're running a 32-bit system, run:
|
||||
If you're running a 32-bit system, run:
|
||||
|
||||
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.6.2.tgz
|
||||
|
||||
If you're running a 64-bit system, run:
|
||||
|
||||
If you're running a 64-bit system, run:
|
||||
|
||||
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.2.tgz
|
||||
|
||||
@@ -107,29 +155,6 @@ Then run:
|
||||
sudo chmod -Rv 777 /data/
|
||||
|
||||
|
||||
To install MongoDB on a x86_64 **Fedora** system, add the official MongoDB repository from MongoDB (http://www.mongodb.org/display/DOCS/CentOS+and+Fedora+Packages) into /etc/yum.repos.d/10gen.repo:
|
||||
|
||||
[10gen]
|
||||
name=10gen Repository
|
||||
baseurl=http://downloads.mongodb.org/distros/fedora/13/os/x86_64/
|
||||
gpgcheck=0
|
||||
enabled=1
|
||||
|
||||
|
||||
Then use yum to install the packages:
|
||||
|
||||
sudo yum install mongo-stable mongo-stable-server
|
||||
|
||||
|
||||
If you're running a 32-bit system, run `wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.6.2.tgz`. If you're running a 64-bit system, run `wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.2.tgz`.
|
||||
|
||||
# extract
|
||||
tar xzf mongodb-linux-i686-1.4.0.tgz
|
||||
# create the required data directory
|
||||
sudo mkdir -p /data/db
|
||||
sudo chmod -Rv 777 /data/
|
||||
|
||||
|
||||
To install MongoDB on **Mac OS X**, run the following:
|
||||
|
||||
brew install mongo
|
||||
@@ -138,7 +163,8 @@ To install MongoDB on **Mac OS X**, run the following:
|
||||
|
||||
### OpenSSL
|
||||
|
||||
If you're running either **Ubuntu**, **Fedora** or **Mac OS X** you already have OpenSSL installed!
|
||||
If you're running either **Ubuntu**, **Fedora** or **Mac OS X** you already
|
||||
have OpenSSL installed!
|
||||
|
||||
### ImageMagick
|
||||
|
||||
@@ -178,60 +204,104 @@ On **Ubuntu** 10.04, run the following:
|
||||
sudo apt-get update
|
||||
sudo apt-get install rubygems
|
||||
|
||||
This PPA is maintained by an Ubuntu Developer. For Ubuntu 10.10, this version of rubygems is in the repositories.
|
||||
This PPA is maintained by an Ubuntu Developer. For Ubuntu 10.10, this version
|
||||
of rubygems is in the repositories.
|
||||
|
||||
On **Fedora**, run the following:
|
||||
|
||||
sudo yum install rubygems
|
||||
|
||||
On **Mac OS X**, RubyGems comes preinstalled; however, you might need to update it for use with the latest Bundler. To update RubyGems, run `sudo gem update --system`.
|
||||
On **Mac OS X**, RubyGems comes preinstalled; however, you might need to update
|
||||
it for use with the latest Bundler. To update RubyGems, run `sudo gem update
|
||||
--system`.
|
||||
|
||||
|
||||
### Bundler
|
||||
|
||||
After RubyGems is updated, simply run `sudo gem install bundler` to get Bundler. If you're using Ubuntu repository .debs, bundler is found at /var/lib/gems/1.8/bin/bundle
|
||||
After RubyGems is updated, simply run `sudo gem install bundler` to get
|
||||
Bundler. If you're using Ubuntu repository .debs, bundler is found at
|
||||
/var/lib/gems/1.8/bin/bundle
|
||||
|
||||
|
||||
## Getting Diaspora
|
||||
|
||||
git clone http://github.com/diaspora/diaspora.git
|
||||
|
||||
If you have never used github before, their [help desk](http://help.github.com/) has a pretty awesome guide on getting setup.
|
||||
If you have never used github before, their
|
||||
[help desk](http://help.github.com/) has a pretty awesome guide on getting
|
||||
setup.
|
||||
|
||||
|
||||
## Running Diaspora
|
||||
|
||||
### Install required gems
|
||||
To start the app server for the first time, you need to use Bundler to install Diaspora's gem depencencies. Run `bundle install` from Diaspora's root directory. Bundler will also warn you if there is a new dependency and you need to bundle install again.
|
||||
|
||||
To start the app server for the first time, you need to use Bundler to install
|
||||
Diaspora's gem depencencies. Run `bundle install` from Diaspora's root
|
||||
directory. Bundler will also warn you if there is a new dependency and you
|
||||
need to bundle install again.
|
||||
|
||||
### Start Mongo
|
||||
If you installed the Ubuntu package, MongoDB should already be running (if not, run `service mongodb start`). If you installed the binary manually, run `sudo mongod` from where mongo is installed to start mongo.
|
||||
|
||||
If you installed the Fedora package, MongoDB will need to be started via `service mongodb start`. If you installed the binary manually, run `sudo mongod` from where Mongo is installed to start Mongo.
|
||||
If you installed the Ubuntu package, MongoDB should already be running (if not,
|
||||
run `service mongodb start`). If you installed the binary manually, run `sudo
|
||||
mongod` from where mongo is installed to start mongo.
|
||||
|
||||
If you installed the OsX package through "brew", MongoDB will need to be started via `sudo launchctl load /Library/LaunchDaemons/org.mongodb.mongod.plist`. (before you have to go to /Library/LaunchDaemons and add a symlink to /usr/local/Cellar/mongodb/1.6.2-x86_64/org.mongodb.mongod.plist)
|
||||
If you installed the Fedora package, MongoDB will need to be started via
|
||||
`service mongod start`. If you installed the binary manually, run `sudo
|
||||
mongod` from where Mongo is installed to start Mongo.
|
||||
|
||||
Diaspora will not run unless Mongo is running. Mongo will not run by default, and will need to be started every time you wish to use or run the test suite for Diaspora.
|
||||
If you installed the OsX package through "brew", MongoDB will need to be
|
||||
started via `sudo launchctl load
|
||||
/Library/LaunchDaemons/org.mongodb.mongod.plist`. (before you have to go to
|
||||
/Library/LaunchDaemons and add a symlink to
|
||||
/usr/local/Cellar/mongodb/1.6.2-x86_64/org.mongodb.mongod.plist)
|
||||
|
||||
Diaspora will not run unless Mongo is running. Mongo will not run by default,
|
||||
and will need to be started every time you wish to use or run the test suite
|
||||
for Diaspora.
|
||||
|
||||
### Configure Diaspora
|
||||
|
||||
Diaspora needs to know where on the internet it is. Copy config/app_config_example.yml
|
||||
to config/app_config.yml, put your url into the url field, and make any other
|
||||
needed configuration changes.
|
||||
|
||||
### Run the server
|
||||
`./script/server` will start both thin and the websocket server. If you want to run a different app server, you will have to run them separately. See below for instructions.
|
||||
|
||||
`./script/server` will start both thin and the websocket server. If you want
|
||||
to run a different app server, you will have to run them separately. See below
|
||||
for instructions.
|
||||
|
||||
### Run the app server
|
||||
Once mongo is running and bundler has finished, run `bundle exec thin start` from the root Diaspora directory. This will start the app server in development mode[.](http://bit.ly/9mwtUw)
|
||||
|
||||
Once mongo is running and bundler has finished, run `bundle exec thin start`
|
||||
from the root Diaspora directory. This will start the app server in
|
||||
development mode[.](http://bit.ly/9mwtUw)
|
||||
|
||||
### Run the websocket server
|
||||
run `bundle exec ruby ./script/websocket_server` to start the websocket server on port 8080. Change the port in config/app_config.yml.
|
||||
|
||||
run `bundle exec ruby ./script/websocket_server` to start the websocket server
|
||||
on port 8080. Change the port in config/app_config.yml.
|
||||
|
||||
### Logging in with a sample user
|
||||
Run `rake db:seed:tom`, then login with user `tom` and password `evankorth`. More details in db/seeds/tom.rb.
|
||||
|
||||
Run `rake db:seed:tom`, then login with user `tom` and password `evankorth`.
|
||||
More details in db/seeds/tom.rb.
|
||||
|
||||
### Testing
|
||||
Diaspora's test suite uses [rspec](http://rspec.info/), a behavior driven testing framework. In order to run the tests, run `bundle exec rspec spec`.
|
||||
|
||||
Diaspora's test suite uses [rspec](http://rspec.info/), a behavior driven
|
||||
testing framework. In order to run the tests, run `bundle exec rspec spec`.
|
||||
|
||||
## Resources
|
||||
|
||||
We are maintaining a [public tracker project](http://www.pivotaltracker.com/projects/61641) and a [roadmap](https://github.com/diaspora/diaspora/wiki/Roadmap). Also, you can file [bug reports](https://github.com/diaspora/diaspora/issues) right here on github.
|
||||
We are maintaining a
|
||||
[public tracker project](http://www.pivotaltracker.com/projects/61641)
|
||||
and a
|
||||
[roadmap](https://github.com/diaspora/diaspora/wiki/Roadmap). Also, you can
|
||||
file [bug reports](https://github.com/diaspora/diaspora/issues) right here on
|
||||
github.
|
||||
|
||||
Ongoing discussion:
|
||||
- [Diaspora Developer Google Group](http://groups.google.com/group/diaspora-dev)
|
||||
@@ -240,6 +310,11 @@ Ongoing discussion:
|
||||
- [#diaspora-dev IRC channel](irc://irc.freenode.net/#diaspora-dev)
|
||||
([join via the web client](http://webchat.freenode.net?channels=diaspora-dev))
|
||||
|
||||
More general info and updates about the project can be found on our [blog](http://joindiaspora.com), [and on Twitter](http://twitter.com/joindiaspora). Also, be sure to join the official [mailing list](http://eepurl.com/Vebk).
|
||||
More general info and updates about the project can be found on:
|
||||
[Our blog](http://joindiaspora.com),
|
||||
[and on Twitter](http://twitter.com/joindiaspora).
|
||||
Also, be sure to join the official [mailing list](http://http://eepurl.com/Vebk).
|
||||
|
||||
If you wish to contact us privately about any exploits in Diaspora you may find, you can email [exploits@joindiaspora.com](mailto:exploits@joindiaspora.com).
|
||||
If you wish to contact us privately about any exploits in Diaspora you may
|
||||
find, you can email
|
||||
[exploits@joindiaspora.com](mailto:exploits@joindiaspora.com).
|
||||
|
||||
@@ -20,7 +20,7 @@ class AlbumsController < ApplicationController
|
||||
data = clean_hash(params[:album])
|
||||
|
||||
@album = current_user.post(:album, data)
|
||||
flash[:notice] = "You've created an album called #{@album.name}."
|
||||
flash[:notice] = I18n.t 'albums.create.success', :name => @album.name
|
||||
redirect_to :action => :show, :id => @album.id, :aspect => aspect
|
||||
end
|
||||
|
||||
@@ -31,7 +31,7 @@ class AlbumsController < ApplicationController
|
||||
def destroy
|
||||
@album = current_user.find_visible_post_by_id params[:id]
|
||||
@album.destroy
|
||||
flash[:notice] = "Album #{@album.name} deleted."
|
||||
flash[:notice] = I18n.t 'albums.destroy.success', :name => @album.name
|
||||
respond_with :location => albums_url
|
||||
end
|
||||
|
||||
@@ -52,11 +52,11 @@ class AlbumsController < ApplicationController
|
||||
|
||||
data = clean_hash(params[:album])
|
||||
|
||||
if @album.update_attributes data
|
||||
flash[:notice] = "Album #{@album.name} successfully edited."
|
||||
if current_user.update_post( @album, data )
|
||||
flash[:notice] = I18n.t 'albums.update.success', :name => @album.name
|
||||
respond_with @album
|
||||
else
|
||||
flash[:error] = "Failed to edit album #{@album.name}."
|
||||
flash[:error] = I18n.t 'albums.update.failure', :name => @album.name
|
||||
render :action => :edit
|
||||
end
|
||||
end
|
||||
|
||||
@@ -29,7 +29,7 @@ class AspectsController < ApplicationController
|
||||
|
||||
begin
|
||||
current_user.drop_aspect @aspect
|
||||
flash[:notice] = "#{@aspect.name} was successfully removed."
|
||||
flash[:notice] = i18n.t 'aspects.destroy.success',:name => @aspect.name
|
||||
rescue RuntimeError => e
|
||||
flash[:error] = e.message
|
||||
end
|
||||
@@ -55,7 +55,7 @@ class AspectsController < ApplicationController
|
||||
|
||||
data = clean_hash(params[:aspect])
|
||||
@aspect.update_attributes( data )
|
||||
flash[:notice] = "Your aspect, #{@aspect.name}, has been successfully edited."
|
||||
flash[:notice] = i18n.t 'aspects.update.success',:name => @aspect.name
|
||||
respond_with @aspect
|
||||
end
|
||||
|
||||
@@ -63,25 +63,25 @@ class AspectsController < ApplicationController
|
||||
params[:moves].each{ |move|
|
||||
move = move[1]
|
||||
unless current_user.move_friend(move)
|
||||
flash[:error] = "Aspect editing failed for friend #{current_user.visible_person_by_id( move[:friend_id] ).real_name}."
|
||||
flash[:error] = i18n.t 'aspects.move_friends.failure', :real_name => Person.find_by_id( move[:friend_id] ).real_name
|
||||
redirect_to aspects_manage_path
|
||||
return
|
||||
end
|
||||
}
|
||||
|
||||
flash[:notice] = "Aspects edited successfully."
|
||||
flash[:notice] = i18n.t 'aspects.move_friends.success'
|
||||
redirect_to aspects_manage_path
|
||||
end
|
||||
|
||||
def move_friend
|
||||
unless current_user.move_friend( :friend_id => params[:friend_id], :from => params[:from], :to => params[:to][:to])
|
||||
flash[:error] = "didn't work #{params.inspect}"
|
||||
flash[:error] = I18n.t 'aspects.move_friend.error',:inspect => params.inspect
|
||||
end
|
||||
if aspect = current_user.aspect_by_id(params[:to][:to])
|
||||
flash[:notice] = "You are now showing your friend a different aspect of yourself."
|
||||
flash[:notice] = I18n.t 'aspects.move_friend.success'
|
||||
render :nothing => true
|
||||
else
|
||||
flash[:error] = "Invalid aspect id!"
|
||||
flash[:notice] = I18n.t 'aspects.move_friend.failure'
|
||||
render aspects_manage_path
|
||||
end
|
||||
end
|
||||
|
||||
@@ -42,15 +42,15 @@ class PhotosController < ApplicationController
|
||||
end
|
||||
|
||||
rescue TypeError
|
||||
message = "Photo upload failed. Are you sure an image was added?"
|
||||
message = I18n.t 'photos.create.type_error'
|
||||
respond_with :location => album, :error => message
|
||||
|
||||
rescue CarrierWave::IntegrityError
|
||||
message = "Photo upload failed. Are you sure that was an image?"
|
||||
message = I18n.t 'photos.create.integrity_error'
|
||||
respond_with :location => album, :error => message
|
||||
|
||||
rescue RuntimeError => e
|
||||
message = "Photo upload failed. Are you sure that your seatbelt is fastened?"
|
||||
message = I18n.t 'photos.create.runtime_error'
|
||||
respond_with :location => album, :error => message
|
||||
raise e
|
||||
end
|
||||
@@ -66,7 +66,7 @@ class PhotosController < ApplicationController
|
||||
@photo = current_user.find_visible_post_by_id params[:id]
|
||||
|
||||
@photo.destroy
|
||||
flash[:notice] = "Photo deleted."
|
||||
flash[:notice] = I18n.t 'photos.destroy.notice'
|
||||
respond_with :location => @photo.album
|
||||
end
|
||||
|
||||
@@ -88,11 +88,11 @@ class PhotosController < ApplicationController
|
||||
|
||||
data = clean_hash(params)
|
||||
|
||||
if @photo.update_attributes data[:photo]
|
||||
flash[:notice] = "Photo successfully updated."
|
||||
if current_user.update_post( @photo, data[:photo] )
|
||||
flash[:notice] = I18n.t 'photos.update.notice'
|
||||
respond_with @photo
|
||||
else
|
||||
flash[:error] = "Failed to edit photo."
|
||||
flash[:error] = I18n.t 'photos.update.error'
|
||||
render :action => :edit
|
||||
end
|
||||
end
|
||||
|
||||
@@ -15,7 +15,7 @@ class RegistrationsController < Devise::RegistrationsController
|
||||
flash[:error] = e.message
|
||||
end
|
||||
if user
|
||||
flash[:notice] = "You've joined Diaspora!"
|
||||
flash[:notice] = I18n.t 'registrations.create.success'
|
||||
sign_in_and_redirect(:user, user)
|
||||
else
|
||||
redirect_to new_user_registration_path
|
||||
|
||||
@@ -13,15 +13,15 @@ class RequestsController < ApplicationController
|
||||
if params[:accept]
|
||||
if params[:aspect_id]
|
||||
@friend = current_user.accept_and_respond( params[:id], params[:aspect_id])
|
||||
flash[:notice] = "You are now friends."
|
||||
flash[:notice] = I18n.t 'requests.destroy.success'
|
||||
respond_with :location => current_user.aspect_by_id(params[:aspect_id])
|
||||
else
|
||||
flash[:error] = "Please select an aspect!"
|
||||
flash[:error] = I18n.t 'requests.destroy.error'
|
||||
respond_with :location => requests_url
|
||||
end
|
||||
else
|
||||
current_user.ignore_friend_request params[:id]
|
||||
flash[:notice] = "Ignored friend request."
|
||||
flash[:notice] = I18n.t 'requests.destroy.ignore'
|
||||
respond_with :location => requests_url
|
||||
end
|
||||
end
|
||||
@@ -37,7 +37,7 @@ class RequestsController < ApplicationController
|
||||
rel_hash = relationship_flow(params[:request][:destination_url])
|
||||
rescue Exception => e
|
||||
raise e unless e.message.include? "not found"
|
||||
flash[:error] = "No diaspora seed found with this email!"
|
||||
flash[:error] = I18n.t 'requests.create.error'
|
||||
respond_with :location => aspect
|
||||
return
|
||||
end
|
||||
@@ -50,17 +50,17 @@ class RequestsController < ApplicationController
|
||||
begin
|
||||
@request = current_user.send_friend_request_to(rel_hash[:friend], aspect)
|
||||
rescue Exception => e
|
||||
raise e unless e.message.include? "already friends"
|
||||
flash[:notice] = "You are already friends with #{params[:request][:destination_url]}!"
|
||||
raise e unless e.message.include? "already"
|
||||
flash[:notice] = I18n.t 'requests.create.already_friends', :destination_url => params[:request][:destination_url]
|
||||
respond_with :location => aspect
|
||||
return
|
||||
end
|
||||
|
||||
if @request
|
||||
flash[:notice] = "A friend request was sent to #{@request.destination_url}."
|
||||
flash[:notice] = I18n.t 'requests.create.success',:destination_url => @request.destination_url
|
||||
respond_with :location => aspect
|
||||
else
|
||||
flash[:error] = "Something went horribly wrong."
|
||||
flash[:error] = I18n.t 'requests.create.horribly_wrong'
|
||||
respond_with :location => aspect
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
module AlbumsHelper
|
||||
def friends_albums_link
|
||||
if params[:friends]
|
||||
"Friends Albums"
|
||||
I18n.t('albums.helper.friends_albums')
|
||||
else
|
||||
link_to 'Friends Albums', albums_path({:friends => true})
|
||||
link_to I18n.t('albums.helper.friends_albums'), albums_path({:friends => true})
|
||||
end
|
||||
end
|
||||
|
||||
def your_albums_link
|
||||
if params[:friends]
|
||||
link_to 'Your Albums', albums_path
|
||||
link_to I18n.t('albums.helper.your_albums'), albums_path
|
||||
else
|
||||
'Your Albums'
|
||||
I18n.t('albums.helper.your_albums')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -37,7 +37,7 @@ module ApplicationHelper
|
||||
when "Person"
|
||||
person_path(person)
|
||||
else
|
||||
"unknown person"
|
||||
I18n.t('application.helper.unknown_person')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -61,7 +61,7 @@ module ApplicationHelper
|
||||
end
|
||||
|
||||
def new_request(request_count)
|
||||
"new_requests" if request_count > 0
|
||||
I18n.t('application.helper.new_requests') if request_count > 0
|
||||
end
|
||||
|
||||
def post_yield_tag(post)
|
||||
|
||||
@@ -10,9 +10,9 @@ module AspectsHelper
|
||||
|
||||
def remove_link( aspect )
|
||||
if aspect.people.size == 0
|
||||
link_to "remove", aspect, :method => :delete
|
||||
link_to I18n.t('aspects.helper.remove'), aspect, :method => :delete
|
||||
else
|
||||
"<span class='grey' title='Aspect not empty'>remove</span>"
|
||||
"<span class='grey' title=#{I18n.t('aspects.helper.aspect_not_empty')}>#{I18n.t('aspects.helper.remove')}</span>"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
module DashboardsHelper
|
||||
def title_for_page
|
||||
'home'
|
||||
I18n.t('dashboards.helper.home')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -7,8 +7,8 @@ module ErrorMessagesHelper
|
||||
# Render error messages for the given objects. The :message and :header_message options are allowed.
|
||||
def error_messages_for(*objects)
|
||||
options = objects.extract_options!
|
||||
options[:header_message] ||= "Invalid Fields"
|
||||
options[:message] ||= "Correct the following errors and try again."
|
||||
options[:header_message] ||= I18n.t('error_messages.helper.invalid_fields')
|
||||
options[:message] ||= I18n.t('error_messages.helper.correct_the_following_errors_and_try_again')
|
||||
messages = objects.compact.map { |o| o.errors.full_messages }.flatten
|
||||
unless messages.empty?
|
||||
content_tag(:div, :class => "error_messages") do
|
||||
|
||||
@@ -7,9 +7,9 @@ module PeopleHelper
|
||||
|
||||
def search_or_index
|
||||
if params[:q]
|
||||
" results for #{params[:q]}"
|
||||
I18n.t 'people.helper.results_for',:params => params[:q]
|
||||
else
|
||||
" people on pod is aware of"
|
||||
I18n.t "people.helper.people_on_pod_are_aware_of"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -8,7 +8,7 @@ module StatusMessagesHelper
|
||||
unless @latest_status_message.nil?
|
||||
return @latest_status_message.message
|
||||
else
|
||||
return "No message to display."
|
||||
return I18n.t('status_messages.helper.no_message_to_display')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -104,8 +104,8 @@ class Person
|
||||
|
||||
return nil unless public_key_entry
|
||||
|
||||
public_key = public_key_entry.first.href
|
||||
new_person.exported_key = Base64.decode64 public_key
|
||||
pubkey = public_key_entry.first.href
|
||||
new_person.exported_key = Base64.decode64 pubkey
|
||||
|
||||
guid = profile.links.select{|x| x.rel == 'http://joindiaspora.com/guid'}.first.href
|
||||
new_person.id = guid
|
||||
|
||||
@@ -122,6 +122,12 @@ class User
|
||||
post
|
||||
end
|
||||
|
||||
def update_post( post, post_hash = {} )
|
||||
if self.owns? post
|
||||
post.update_attributes(post_hash)
|
||||
end
|
||||
end
|
||||
|
||||
def validate_aspect_permissions(aspect_ids)
|
||||
aspect_ids = [aspect_ids.to_s] if aspect_ids.is_a? BSON::ObjectId
|
||||
|
||||
@@ -253,14 +259,9 @@ class User
|
||||
aspect(:name => "Work")
|
||||
end
|
||||
|
||||
def terse_url
|
||||
terse = APP_CONFIG[:pod_url].gsub(/(https?:|www\.)\/\//, '')
|
||||
terse = terse.chop! if terse[-1, 1] == '/'
|
||||
terse
|
||||
end
|
||||
|
||||
def diaspora_handle
|
||||
"#{self.username}@#{self.terse_url}"
|
||||
"#{self.username}@#{APP_CONFIG[:terse_pod_url]}"
|
||||
end
|
||||
|
||||
def downcase_username
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
%div.time
|
||||
by
|
||||
= link_to ((current_user.person == post.person)? 'you' : post.person.real_name), person_path(post.person)
|
||||
= link_to ((current_user.person == post.person)? t('.you') : post.person.real_name), person_path(post.person)
|
||||
%br
|
||||
= link_to(how_long_ago(post), object_path(post, :aspect => @aspect))
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
|
||||
%h1 Add a new album
|
||||
%h1=t('.add_a_new_album')
|
||||
|
||||
= form_for Album.new do |f|
|
||||
= f.error_messages
|
||||
@@ -11,4 +11,4 @@
|
||||
= f.label :name
|
||||
= f.text_field :name
|
||||
= f.hidden_field :to, :value => aspect
|
||||
= f.submit 'create', :class => 'button'
|
||||
= f.submit t('.create'), :class => 'button'
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
.back= link_to "⇧ #{@album.name}", @album
|
||||
%h1.big_text
|
||||
|
||||
= "Editing #{@album.name}"
|
||||
= "#{t('.editing')} #{@album.name}"
|
||||
|
||||
.sub_header
|
||||
="updated #{how_long_ago(@album)}"
|
||||
="#{t('.updated')} #{how_long_ago(@album)}"
|
||||
|
||||
- form_for @album do |a|
|
||||
= a.error_messages
|
||||
@@ -21,12 +21,12 @@
|
||||
.photo_edit_block= image_tag photo.url(:thumb_medium)
|
||||
|
||||
#submit_block
|
||||
= link_to "Cancel", root_path
|
||||
= link_to t('.cancel'), root_path
|
||||
or
|
||||
= a.submit
|
||||
|
||||
.button.delete
|
||||
= link_to 'Delete Album', @album, :confirm => 'Are you sure?', :method => :delete
|
||||
= link_to t('.delete_album'), @album, :confirm => t('.are_you_sure'), :method => :delete
|
||||
|
||||
#content_bottom
|
||||
.back
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
});
|
||||
|
||||
= content_for :page_title do
|
||||
= link_to "◂ Home", aspects_path, :aspect => params[:aspect]
|
||||
= link_to "◂ #{t('.home')}", aspects_path, :aspect => params[:aspect]
|
||||
|
||||
- content_for :left_pane do
|
||||
= render "shared/aspect_friends"
|
||||
@@ -19,7 +19,7 @@
|
||||
%h1
|
||||
Albums
|
||||
.right
|
||||
= link_to 'New Album', '#new_album_pane', {:class => "button", :id => "add_album_button"}
|
||||
= link_to t('.new_album'), '#new_album_pane', {:class => "button", :id => "add_album_button"}
|
||||
|
||||
.yo{:style => "display:none;" }
|
||||
#new_album_pane
|
||||
@@ -34,4 +34,4 @@
|
||||
|
||||
#content_bottom
|
||||
.back
|
||||
= link_to "⇧ home", root_path
|
||||
= link_to "⇧ #{t('.home')}", root_path
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
});
|
||||
|
||||
= content_for :page_title do
|
||||
= link_to "◂ Albums", albums_path(:aspect => @aspect)
|
||||
= link_to "◂ #{t('.albums')}", albums_path(:aspect => @aspect)
|
||||
|
||||
- content_for :left_pane do
|
||||
= render "shared/aspect_friends"
|
||||
@@ -20,17 +20,17 @@
|
||||
-if current_user.owns? @album
|
||||
.right
|
||||
=render 'photos/new_photo'
|
||||
= link_to 'Edit Album', edit_album_path(@album), :class => 'button'
|
||||
= link_to t('.edit_album'), edit_album_path(@album), :class => 'button'
|
||||
%h1
|
||||
= @album.name
|
||||
="updated #{how_long_ago(@album)}"
|
||||
="#{t('.updated')} #{how_long_ago(@album)}"
|
||||
|
||||
|
||||
|
||||
.album_id{:id => @album.id, :style => "display:hidden;"}
|
||||
|
||||
-unless current_user.owns? @album
|
||||
%h4= "by #{@album.person.real_name}"
|
||||
%h4= "#{t('.by')} #{@album.person.real_name}"
|
||||
|
||||
#thumbnails
|
||||
- for photo in @album_photos
|
||||
@@ -39,5 +39,4 @@
|
||||
|
||||
#content_bottom
|
||||
.back
|
||||
= link_to "⇧ albums", albums_path
|
||||
|
||||
= link_to "⇧ #{t('.albums')}", albums_path
|
||||
|
||||
@@ -9,4 +9,4 @@
|
||||
%p
|
||||
= f.label :name
|
||||
= f.text_field :name
|
||||
= f.submit 'create', :class => 'button'
|
||||
= f.submit t('.create'), :class => 'button'
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
|
||||
- content_for :page_title do
|
||||
= link_to "photos", albums_path(:aspect => @aspect)
|
||||
= link_to t('.photos'), albums_path(:aspect => @aspect)
|
||||
|
||||
|
||||
- content_for :left_pane do
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
= javascript_include_tag 'aspect-edit.js'
|
||||
|
||||
- content_for :left_pane do
|
||||
%h1
|
||||
Requests
|
||||
%h1=t('.requests')
|
||||
|
||||
.requests
|
||||
%ul.dropzone
|
||||
@@ -21,15 +20,14 @@
|
||||
= person_image_tag(request.person)
|
||||
.name
|
||||
= request.person.real_name
|
||||
%h1
|
||||
Ignore/Remove
|
||||
%h1=t('.ignore_remove')
|
||||
|
||||
%li.remove
|
||||
%ul.dropzone
|
||||
%li.grey Drag to ignore/remove
|
||||
|
||||
- content_for :publish do
|
||||
= link_to("add a new aspect", "#add_aspect_pane", :id => "add_aspect_button", :class => "new_aspect button", :title => "Add a new aspect")
|
||||
= link_to(t('.add_a_new_aspect'), "#add_aspect_pane", :id => "add_aspect_button", :class => "new_aspect button", :title => t('.add_a_new_aspect'))
|
||||
|
||||
|
||||
|
||||
@@ -43,8 +41,8 @@
|
||||
%span.tip click to edit
|
||||
|
||||
%ul.tools
|
||||
%li= link_to "add a new friend", "#add_request_pane_#{aspect.id}", :class => 'add_request_button'
|
||||
%li= link_to "show", aspect_path(aspect)
|
||||
%li= link_to t('.add_a_new_friend'), "#add_request_pane_#{aspect.id}", :class => 'add_request_button'
|
||||
%li= link_to t('.show'), aspect_path(aspect)
|
||||
%li!= remove_link(aspect)
|
||||
|
||||
%ul.dropzone{:id => aspect.id}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
|
||||
- content_for :page_title do
|
||||
= link_to "photos", albums_path(:aspect => @aspect)
|
||||
= link_to t('.photos'), albums_path(:aspect => @aspect)
|
||||
|
||||
- content_for :left_pane do
|
||||
= render "shared/aspect_friends"
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
= text_field_tag 'q'
|
||||
|
||||
%li= link_to current_user.real_name, current_user.person
|
||||
%li= link_to "edit profile", edit_user_path(current_user)
|
||||
%li= link_to "logout", destroy_user_session_path
|
||||
%li= link_to t('.edit_profile'), edit_user_path(current_user)
|
||||
%li= link_to t('.logout.'), destroy_user_session_path
|
||||
|
||||
= render "shared/aspect_nav"
|
||||
= render "shared/sub_header"
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
- elsif current_user.friends.include?(person)
|
||||
Already friends
|
||||
- elsif current_user.pending_requests.find_by_person_id(person.id)
|
||||
= link_to "pending request", aspects_manage_path
|
||||
= link_to =t('.pending_request'), aspects_manage_path
|
||||
- else
|
||||
= form_for Request.new do |f|
|
||||
= f.select(:aspect_id, @aspects_dropdown_array)
|
||||
= f.hidden_field :destination_url, :value => person.diaspora_handle
|
||||
= f.submit "add friend"
|
||||
= f.submit t('.add_friend')
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
|
||||
- title "New Person"
|
||||
- title=t('.new_person')
|
||||
|
||||
= form_for @person do |f|
|
||||
= f.error_messages
|
||||
@@ -29,4 +29,4 @@
|
||||
= f.submit
|
||||
|
||||
|
||||
%p= link_to "Back to List", people_path
|
||||
%p= link_to t('.back_to_list'), people_path
|
||||
|
||||
@@ -13,19 +13,19 @@
|
||||
%ul
|
||||
-unless @posts.first.nil?
|
||||
%li
|
||||
%i= "last seen: #{how_long_ago(@posts.first)}"
|
||||
%i= t(".last_seen",:how_long_ago => how_long_ago(@posts.first))
|
||||
- if @person != current_user.person && current_user.friends.include?(@person)
|
||||
%li
|
||||
%i= "friends since: #{how_long_ago(@person)}"
|
||||
%i= t(".friends_since",:how_long_ago => how_long_ago(@person))
|
||||
%li
|
||||
= form_tag move_friend_path
|
||||
= select :to, :to, @aspects_dropdown_array, :selected => @aspects_with_person.first.id
|
||||
= hidden_field_tag :from, :from, :value => @aspects_with_person.first.id
|
||||
= hidden_field_tag :friend_id, :friend_id, :value => @person.id
|
||||
= submit_tag "save"
|
||||
= submit_tag t('.save')
|
||||
|
||||
- if @person != current_user.person && current_user.friends.include?(@person)
|
||||
= link_to 'remove friend', @person, :confirm => 'Are you sure?', :method => :delete, :class => "button"
|
||||
= link_to t('.remove_friend'), @person, :confirm => t('.are_you_sure'), :method => :delete, :class => "button"
|
||||
|
||||
.span-20.last
|
||||
|
||||
@@ -36,4 +36,4 @@
|
||||
= render type_partial(post), :post => post unless post.class == Album
|
||||
= will_paginate @posts
|
||||
- else
|
||||
%h3 no posts to display!
|
||||
%h3=t('no posts to display!')
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var uploader = new qq.FileUploader({
|
||||
element: document.getElementById('file-upload'),
|
||||
params: {'album_id' : "#{@album.id}"},
|
||||
allowedExtensions: ['jpg', 'jpeg', 'png'],
|
||||
allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
action: "#{photos_path}"
|
||||
});
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
%span.from
|
||||
= link_to post.person.real_name, post.person
|
||||
%b
|
||||
posted a new photo to
|
||||
=t('.posted_a_new_photo_to')
|
||||
= link_to post.album.name, object_path(post.album)
|
||||
|
||||
%br
|
||||
@@ -21,5 +21,5 @@
|
||||
.info
|
||||
= link_to(how_long_ago(post), photo_path(post))
|
||||
\--
|
||||
= link_to "show comments (#{post.comments.count})", '#', :class => "show_post_comments"
|
||||
= link_to "#{t('.show_comments')} (#{post.comments.count})", '#', :class => "show_post_comments"
|
||||
= render "comments/comments", :post => post
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%h1.big_text
|
||||
.back
|
||||
= link_to "⇧ #{@album.name}", album_path(@album)
|
||||
= "Editing #{@photo.image}"
|
||||
= "#{t('.editing')} #{@photo.image}"
|
||||
|
||||
%div{:id => @photo.id}
|
||||
|
||||
@@ -22,5 +22,5 @@
|
||||
= link_to "⇧ #{@album.name}", album_path(@album)
|
||||
-if current_user.owns? @album
|
||||
.button.right
|
||||
= link_to 'Delete Photo', @photo, :confirm => 'Are you sure?', :method => :delete
|
||||
= link_to t('.delete_photo'), @photo, :confirm => t('.are_you_sure'), :method => :delete
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
|
||||
- title "New Photo"
|
||||
- title t('.new_photo')
|
||||
|
||||
= form_for( @photo, :html => {:multipart => true}) do |f|
|
||||
= f.error_messages
|
||||
%p
|
||||
= f.file_field :image
|
||||
= f.submit 'post it!', :class => 'button'
|
||||
= f.submit t('.post_it'), :class => 'button'
|
||||
|
||||
%p= link_to "Back to List", photos_path
|
||||
%p= link_to t('.back_to_list'), photos_path
|
||||
|
||||
@@ -25,15 +25,15 @@
|
||||
%h1
|
||||
= @photo.image
|
||||
|
||||
= link_to "<< prev", url_to_prev(@photo, @album)
|
||||
= link_to "<< #{t('.prev')}", url_to_prev(@photo, @album)
|
||||
|
|
||||
= link_to "full size", @photo.url
|
||||
= link_to "#{t('.full_size')}", @photo.url
|
||||
|
|
||||
= link_to "next >>", url_to_next(@photo, @album)
|
||||
= link_to "#{t('.next')} >>", url_to_next(@photo, @album)
|
||||
|
||||
.right
|
||||
-if current_user.owns? @album
|
||||
= link_to 'Edit Photo', edit_photo_path(@photo), :class => "button"
|
||||
= link_to t('.edit_photo'), edit_photo_path(@photo), :class => "button"
|
||||
|
||||
|
||||
%div{:id => @photo.id}
|
||||
@@ -48,9 +48,9 @@
|
||||
|
||||
-if current_user.owns? @album
|
||||
.right
|
||||
= link_to 'Delete Photo', @photo, :confirm => 'Are you sure?', :method => :delete, :class => 'button'
|
||||
= link_to t('.delete_photo'), @photo, :confirm => t('.are_you_sure'), :method => :delete, :class => 'button'
|
||||
|
||||
%h4{:class => "show_post_comments"}
|
||||
= "comments (#{@photo.comments.count})"
|
||||
= "#{t('.comments')} (#{@photo.comments.count})"
|
||||
= render "comments/comments", :post => @photo
|
||||
|
||||
|
||||
@@ -24,5 +24,5 @@
|
||||
= pr.label :last_name
|
||||
= pr.text_field :last_name
|
||||
|
||||
= f.submit "Sign up"
|
||||
= f.submit t('.sign_up')
|
||||
= render :partial => "devise/shared/links"
|
||||
|
||||
@@ -4,18 +4,18 @@
|
||||
|
||||
|
||||
%h1
|
||||
Add a new friend to
|
||||
=t('.add_a_new_friend_to')
|
||||
%i= aspect.name
|
||||
|
||||
= form_for Request.new do |f|
|
||||
= f.error_messages
|
||||
|
||||
Enter a Diaspora username:
|
||||
=t('.enter_a_diaspora_username')
|
||||
%br
|
||||
%i= "Your Diaspora username is: #{current_user.diaspora_handle}"
|
||||
%i= t '.your_diaspora_username_is', :diaspora_handle => current_user.diaspora_handle
|
||||
|
||||
%p
|
||||
= f.label :destination_url, "Friend's username"
|
||||
= f.label :destination_url, t(".friends_username")
|
||||
= f.text_field :destination_url
|
||||
= f.hidden_field :aspect_id, :value => aspect.id
|
||||
= f.submit
|
||||
|
||||
@@ -16,5 +16,5 @@
|
||||
= render "requests/new_request", :aspect => @aspect
|
||||
-else
|
||||
.clear
|
||||
= link_to "add friends", aspects_manage_path
|
||||
= link_to t('.add_friends'), aspects_manage_path
|
||||
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
|
||||
%ul{ :style => "position:absolute;right:0;bottom:0.01em;"}
|
||||
%li{:class => ("selected" if @aspect == :all)}
|
||||
= link_to "All Aspects", root_url
|
||||
= link_to t('.all_aspects'), root_url
|
||||
|
||||
%li{ :style => "margin-right:0;", :class => ("selected" if @aspect == :manage)}
|
||||
= link_to ( (@request_count == 0)? "Manage Aspects" : "Manage Aspects (#{@request_count})"), {:controller => :aspects, :action => :manage}, :class => "edit_aspect_button", :class => new_request(@request_count), :title => "Manage your Aspects"
|
||||
= link_to ( (@request_count == 0)? t('.manage') : "#{t('.manage')} (#{@request_count})"), {:controller => :aspects, :action => :manage}, :class => "edit_aspect_button", :class => new_request(@request_count), :title => t('.manage_your_aspects')
|
||||
|
||||
.yo{ :style => "display:none;"}
|
||||
#add_aspect_pane
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
= f.error_messages
|
||||
%p
|
||||
%label{:for => "status_message_message"} Message
|
||||
= f.text_area :message, :rows => 2
|
||||
= f.text_area :message, :rows => 2, :value => params[:prefill]
|
||||
|
||||
%ul.aspect_selector{ :style => "display:none;"}
|
||||
going to...
|
||||
@@ -19,4 +19,4 @@
|
||||
= check_box_tag("aspect_ids[]", aspect.id, @aspect == :all || current_aspect?(aspect) )
|
||||
= aspect.name
|
||||
|
||||
= f.submit "Share"
|
||||
= f.submit t('.share')
|
||||
|
||||
27
app/views/shared/_reshare.haml
Normal file
27
app/views/shared/_reshare.haml
Normal file
@@ -0,0 +1,27 @@
|
||||
-# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
-# licensed under the Affero General Public License version 3. See
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
|
||||
|
||||
:javascript
|
||||
$(".reshare_button").toggle(function(e){
|
||||
e.preventDefault();
|
||||
$(this).parent(".reshare_pane").children(".reshare_box").fadeIn(200);
|
||||
}, function(e) {
|
||||
e.preventDefault();
|
||||
$(this).parent(".reshare_pane").children(".reshare_box").fadeOut(200);
|
||||
});
|
||||
|
||||
.reshare_pane
|
||||
%span.reshare_button
|
||||
= link_to "Reshare", "#"
|
||||
|
||||
%ul.reshare_box
|
||||
- for aspect in current_user.aspects_with_post( post.id )
|
||||
|
||||
%li.currently_sharing= aspect.name
|
||||
|
||||
- for aspect in current_user.aspects
|
||||
- unless aspect.posts.include? post
|
||||
%li.aspect_to_share= link_to aspect, :controller => "aspects", :action => "show", :id => aspect.id, :prefill => post.message
|
||||
@@ -7,9 +7,9 @@
|
||||
- else
|
||||
%h1
|
||||
- if @aspect == :all
|
||||
= link_to "All Aspects", root_path
|
||||
= link_to t('.all_aspects'), root_path
|
||||
- elsif @aspect == :manage
|
||||
= "Manage Aspects"
|
||||
= link_to t('.manage_aspects'), root_path
|
||||
- else
|
||||
= link_to @aspect.name, @aspect
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
= form_for StatusMessage.new, :remote => true do |f|
|
||||
= f.error_messages
|
||||
%p
|
||||
= f.text_field :message, :value => "tell me something good"
|
||||
= f.submit 'oh yeah!', :class => 'button'
|
||||
= f.text_field :message, :value => t('.tell_me_something_good')
|
||||
= f.submit t('.oh_yeah'), :class => 'button'
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
.info
|
||||
%span.time= link_to(how_long_ago(post), object_path(post))
|
||||
\--
|
||||
= link_to "show comments (#{post.comments.count})", '#', :class => "show_post_comments"
|
||||
= link_to "#{t('.show_comments')} (#{post.comments.count})", '#', :class => "show_post_comments"
|
||||
|
||||
= render "comments/comments", :post => post
|
||||
= render "comments/comments", :post => post
|
||||
|
||||
- if current_user.owns?(post)
|
||||
.destroy_link
|
||||
= link_to 'Delete', status_message_path(post), :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "delete"
|
||||
= link_to t('.delete'), status_message_path(post), :confirm => t('.are_you_sure'), :method => :delete, :remote => true, :class => "delete"
|
||||
= render "shared/reshare", :post => post, :current_user => current_user
|
||||
|
||||
@@ -2,15 +2,13 @@
|
||||
-# licensed under the Affero General Public License version 3. See
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
|
||||
%h1
|
||||
= link_to @status_message.person.real_name, @status_message.person
|
||||
= @status_message.message
|
||||
|
||||
|
||||
%h4= "comments (#{@status_message.comments.count})"
|
||||
%h4= "#{t('.comments')} (#{@status_message.comments.count})"
|
||||
= render "comments/comments", :post => @status_message
|
||||
|
||||
%p
|
||||
- if current_user.owns? @status_message
|
||||
= link_to "Destroy", @status_message, :confirm => 'Are you sure?', :method => :delete
|
||||
= link_to t('.destroy'), @status_message, :confirm => t('are_you_sure?'), :method => :delete
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
|
||||
- content_for :publish do
|
||||
%h1
|
||||
Editing profile
|
||||
%h1="#{t('.editing_profile')}"
|
||||
|
||||
- content_for :left_pane do
|
||||
\.
|
||||
@@ -15,7 +14,7 @@
|
||||
|
||||
= f.fields_for :profile do |p|
|
||||
|
||||
%h3 Picture
|
||||
%h3="#{t('.picture')}"
|
||||
%div#image_picker
|
||||
= p.hidden_field :image_url, :value => (@profile.image_url if @profile.image_url), :id => 'image_url_field'
|
||||
|
||||
@@ -31,19 +30,19 @@
|
||||
= link_to image_tag(photo.url(:thumb_medium)), "#"
|
||||
|
||||
- else
|
||||
You don't have any photos! Go to the
|
||||
= link_to "albums", albums_path(:aspect => 'all')
|
||||
page to upload some.
|
||||
=t('.you_dont_have_any_photos')
|
||||
= link_to t('.albums'), albums_path(:aspect => 'all')
|
||||
=t('.page_to_upload_some')
|
||||
|
||||
=will_paginate @photos
|
||||
|
||||
%br
|
||||
|
||||
%h3 Info
|
||||
%h3="#{t('.info')}"
|
||||
|
||||
%p
|
||||
%b
|
||||
DIASPORA USERNAME:
|
||||
="#{t('.diaspora_username')}:"
|
||||
= @user.diaspora_handle
|
||||
|
||||
%p
|
||||
@@ -54,10 +53,10 @@
|
||||
= p.text_field :last_name, :value => @profile.last_name
|
||||
|
||||
#submit_block
|
||||
= link_to "Cancel", root_path
|
||||
= link_to t('.cancel'), root_path
|
||||
or
|
||||
= f.submit "Update Profile"
|
||||
= f.submit t('.update_profile')
|
||||
|
||||
#content_bottom
|
||||
.back
|
||||
= link_to "⇧ home", root_path
|
||||
= link_to "⇧ #{t('.home')}", root_path
|
||||
|
||||
@@ -12,7 +12,7 @@ default:
|
||||
socket_collection_name: 'websocket'
|
||||
pubsub_server: 'https://pubsubhubbub.appspot.com/'
|
||||
mongo_host: 'localhost'
|
||||
mongo_post: 27017
|
||||
mongo_port: 27017
|
||||
|
||||
development:
|
||||
|
||||
@@ -51,5 +51,6 @@ module Diaspora
|
||||
|
||||
# Configure sensitive parameters which will be filtered from the log file.
|
||||
config.filter_parameters += [:password]
|
||||
config.filter_parameters += [:xml]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -8,10 +8,10 @@ end
|
||||
|
||||
if File.exist? "#{Rails.root}/config/app_config.yml"
|
||||
all_envs = load_config_yaml "#{Rails.root}/config/app_config.yml"
|
||||
all_envs = load_config_yaml "#{Rails.root}/config/app_config_example.yml" unless all_envs
|
||||
all_envs = load_config_yaml "#{Rails.root}/config/app_config.yml.example" unless all_envs
|
||||
else
|
||||
puts "WARNING: No config/app_config.yml found! Look at config/app_config_example.yml for help."
|
||||
all_envs = load_config_yaml "#{Rails.root}/config/app_config_example.yml"
|
||||
puts "WARNING: No config/app_config.yml found! Look at config/app_config.yml.example for help."
|
||||
all_envs = load_config_yaml "#{Rails.root}/config/app_config.yml.example"
|
||||
end
|
||||
|
||||
if all_envs[Rails.env.to_s]
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
|
||||
|
||||
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
||||
I18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
||||
I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
|
||||
I18n.default_locale = :en
|
||||
143
config/locales/cy.yml
Normal file
143
config/locales/cy.yml
Normal file
@@ -0,0 +1,143 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
# Sample localization file for English. Add more files in this directory for other locales.
|
||||
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
||||
|
||||
cy:
|
||||
hello: "Helo byd"
|
||||
layouts:
|
||||
application:
|
||||
edit_profile: "golygu proffil"
|
||||
logout: "arwyddo allan"
|
||||
shared:
|
||||
aspect_nav:
|
||||
all_aspects: "Pob agwedd"
|
||||
manage: "Rheoli"
|
||||
manage_your_aspects: "Rheoli eich agweddau"
|
||||
sub_header:
|
||||
all_aspects: "Pob agwedd"
|
||||
manage_aspects: "Rheloi agweddau"
|
||||
publisher:
|
||||
share: "Rhannu"
|
||||
aspect_friends:
|
||||
add_friends: "ychwanegu ffrindiau"
|
||||
albums:
|
||||
album:
|
||||
you: "chi"
|
||||
new_album:
|
||||
create: "creu"
|
||||
add_a_new_album: "Ychwanegu albwm newydd"
|
||||
show:
|
||||
edit_album: "Golygu Albwm"
|
||||
albums: "albymau"
|
||||
updated: "diweddarwyd"
|
||||
by: "gan"
|
||||
edit:
|
||||
editing: "Wrthi'n golygu"
|
||||
updated: "diweddarwyd"
|
||||
are_you_sure: "Ydych chi'n sicr?"
|
||||
delete_album: "Dileu Albwm"
|
||||
cancel: "Cancel"
|
||||
index:
|
||||
home: "adref"
|
||||
new_album: "Albwm Newydd"
|
||||
create:
|
||||
success: "Chi wedi creu albwm a'i enwi'n %{name}."
|
||||
update:
|
||||
success: "Mae albwm %{name} wedi'i olygu yn llwyddiannus."
|
||||
failure: "Wedi methu golygu albwm %{name}."
|
||||
destroy:
|
||||
success: "Wedi dileu albwm %{name}."
|
||||
aspects:
|
||||
index:
|
||||
photos: "lluniau"
|
||||
show:
|
||||
photos: "lluniau"
|
||||
manage:
|
||||
add_a_new_aspect: "Ychwanegwch agwedd"
|
||||
add_a_new_friend: "Ychwanegwch ffrind newydd"
|
||||
show: "Dangos"
|
||||
update_aspects: "Diweddaru Agweddau"
|
||||
requests: "Ceisiadau"
|
||||
ignore_remove: "Anwybyddu/Tynnu"
|
||||
new_aspect:
|
||||
add_a_new_aspect: "Ychwanegwch agwedd newydd"
|
||||
create: "Creu"
|
||||
create:
|
||||
success:"Cliciwch ar y plus ar y chwith i ddweud wrth Diaspora pwy all weld eich agwedd newydd."
|
||||
users:
|
||||
edit:
|
||||
cancel: "Cancel"
|
||||
update_profile: "Diweddaru Proffil"
|
||||
home: "Adref"
|
||||
diaspora_username: "FFUGENW DIASPORA"
|
||||
info: "Gwybodaeth"
|
||||
picture: "Llun"
|
||||
editing_profile: "Golygu proffil"
|
||||
albums: "Albymau"
|
||||
you_dont_have_any_photos: "Does gennych chi ddim lluniau! Ewch i'r"
|
||||
page_to_upload_some: "dudalen i uwchlwytho rhai."
|
||||
comments:
|
||||
comment:
|
||||
ago: "yn ol"
|
||||
new_comment:
|
||||
comment: "Sylw"
|
||||
photos:
|
||||
show:
|
||||
prev: "blaenorol"
|
||||
full_size: "maint llawn"
|
||||
next: "neasf"
|
||||
edit_photo: "Golygu Llun"
|
||||
delete_photo: "Dileu Llun"
|
||||
are_you_sure: "Ydych chi'n sicr?"
|
||||
comments: "sylwadau"
|
||||
edit:
|
||||
editing: "Golygu"
|
||||
are_you_sure: "Ydych chi'n sicr?"
|
||||
delete_photo: "Dileu Llun"
|
||||
photo:
|
||||
show_comments: "dangos sylwadau"
|
||||
posted_a_new_photo_to: "postiwyd llun newydd i"
|
||||
new:
|
||||
new_photo: "Llun Newydd"
|
||||
back_to_list: "Nol i'r Rhestr"
|
||||
post_it: "postiwch e!"
|
||||
registrations:
|
||||
new:
|
||||
sign_up: "Cofrestrwch"
|
||||
status_messages:
|
||||
new_status_message:
|
||||
tell_me_something_good: "Dwi eisiau clywed rhwbeth da"
|
||||
oh_yeah: "oh yeah!"
|
||||
status_message:
|
||||
show_comments: "dangos sylwadau"
|
||||
delete: "Dileu"
|
||||
are_you_sure: "Ydych chi'n sicr?"
|
||||
show:
|
||||
status_message: "Neges Statws"
|
||||
comments: "sylwadau"
|
||||
are_you_sure: "Ydych chi'n sicr?"
|
||||
destroy: "Dinistrio"
|
||||
view_all: "Gweld Pob Un"
|
||||
message: "Neges"
|
||||
owner: "Perchennog"
|
||||
people:
|
||||
index:
|
||||
add_friend: "ychwanegu ffrind"
|
||||
real_name: "enw llawn"
|
||||
diaspora_handle: "bachyn diaspora"
|
||||
thats_you: "dyna chi!"
|
||||
friend_request_pending: "cais ffrind dan ystyriaeth"
|
||||
you_have_a_friend_request_from_this_person: "mae'r person yma eisiau bod yn ffrind i chi"
|
||||
new:
|
||||
new_person: "Person Newydd"
|
||||
back_to_list: "Nol i'r Rhestr"
|
||||
show:
|
||||
last_seen: "gwelwyd diwethaf: %{how_long_ago}"
|
||||
friends_since: "yn ffrindiau ers: %{how_long_ago}"
|
||||
save: "arbed"
|
||||
are_you_sure: "Ydych chi'n sicr?"
|
||||
remove_friend: "dileu ffrind"
|
||||
@@ -8,6 +8,21 @@
|
||||
|
||||
de:
|
||||
hello: "Hallo Welt"
|
||||
application:
|
||||
helper:
|
||||
unknown_person: "unbekannte Person"
|
||||
new_requests: "neue Anfrage"
|
||||
dashboards:
|
||||
helper:
|
||||
home: "home"
|
||||
error_messages:
|
||||
helper:
|
||||
invalid_fields: "Ungültige Felder"
|
||||
correct_the_following_errors_and_try_again: "Korrigiere die folgenden Fehler und probier es erneut."
|
||||
people:
|
||||
helper:
|
||||
results_for: " resultados para %{params}"
|
||||
people_on_pod_are_aware_of: " gente en pod estan al tanto de "
|
||||
layouts:
|
||||
application:
|
||||
edit_profile: "Profil bearbeiten"
|
||||
@@ -44,6 +59,16 @@ de:
|
||||
index:
|
||||
home: "Startseite"
|
||||
new_album: "Neues Album"
|
||||
create:
|
||||
success: "Du hast das Album %{name} erstellt."
|
||||
update:
|
||||
success: "Album %{name} erfolgreich geändert."
|
||||
failure: "%{name} wurde nicht geändert."
|
||||
destroy:
|
||||
success: "Album %{name} gelöscht."
|
||||
helper:
|
||||
friends_albums: "Alben von Freunden"
|
||||
your_albums: "Deine Alben"
|
||||
aspects:
|
||||
index:
|
||||
photos: "Fotos"
|
||||
@@ -57,7 +82,23 @@ de:
|
||||
requests: "Anfragen"
|
||||
ignore_remove: "Ignorieren/Entfernen"
|
||||
new_aspect:
|
||||
add_a_new_aspect: "Neuen Aspekt erstellen"
|
||||
create: "Erstellen"
|
||||
create:
|
||||
success: "Klicke auf das Plus auf der rechten Seite um Diaspora mitzuteilen wer deinen neuen Aspekt sehen kann."
|
||||
destroy:
|
||||
success: "%{name} wurde erfolgreich gelöscht."
|
||||
update:
|
||||
success: "Dein Aspekt, %{name}, wurde erfolgreich geändert."
|
||||
move_friends:
|
||||
failure: "Aspect editing failed for friend %{real_name}."
|
||||
success: "Aspekt erfolgreich geändert."
|
||||
move_friend:
|
||||
error: "didn't work %{inspect}"
|
||||
notice: "You are now showing your friend a different aspect of yourself."
|
||||
helper:
|
||||
remove: "remove"
|
||||
aspect_not_empty: "Aspekt ist nicht leer"
|
||||
users:
|
||||
edit:
|
||||
cancel: "Abbrechen"
|
||||
@@ -68,6 +109,8 @@ de:
|
||||
picture: "Bild"
|
||||
editing_profile: "Profil bearbeiten"
|
||||
albums: "Alben"
|
||||
you_dont_have_any_photos: "#TODO"
|
||||
page_to_upload_some: "#TODO"
|
||||
comments:
|
||||
comment:
|
||||
# this won't work in german at all. Needs more thorough I18n
|
||||
@@ -89,13 +132,25 @@ de:
|
||||
delete_photo: "Foto löschen"
|
||||
photo:
|
||||
show_comments: "Kommentare anzeigen"
|
||||
posted_a_new_photo_to: "posted a new photo to"
|
||||
new:
|
||||
new_photo: "Foto erstellen"
|
||||
back_to_list: "Zurück zur Liste"
|
||||
post_it: "Hochladen"
|
||||
create:
|
||||
runtime_error: "Photo upload failed. Are you sure that your seatbelt is fastened?"
|
||||
integrity_error: "Photo upload failed. Are you sure that was an image?"
|
||||
type_error: "Photo upload failed. Are you sure an image was added?"
|
||||
update:
|
||||
notice: "Foto erfolgreich aktualisiert."
|
||||
error: "Failed to edit photo."
|
||||
destroy:
|
||||
notice: "Foto gelöscht."
|
||||
registrations:
|
||||
new:
|
||||
sign_up: "Anmelden"
|
||||
create:
|
||||
success: "Du bist Diaspora beigetreten!"
|
||||
status_messages:
|
||||
new_status_message:
|
||||
tell_me_something_good: "Erzähl' mir was schönes!"
|
||||
@@ -112,5 +167,31 @@ de:
|
||||
view_all: "Alle anzeigen"
|
||||
message: "Nachricht"
|
||||
owner: "Besitzer"
|
||||
|
||||
|
||||
helper:
|
||||
no_message_to_display: "No message to display."
|
||||
people:
|
||||
index:
|
||||
add_friend: "Freund hinzufügen"
|
||||
real_name: "real name"
|
||||
diaspora_handle: "diaspora handle"
|
||||
thats_you: "das bist du!"
|
||||
friend_request_pending: "Freundschaftsanfrage ausstehend"
|
||||
you_have_a_friend_request_from_this_person: "du hast eine Freundschaftsanfrage von dieser Person"
|
||||
new:
|
||||
new_person: "Neue Person"
|
||||
back_to_list: "Zurück zur Liste"
|
||||
show:
|
||||
last_seen: "zuletzt gesehen: %{how_long_ago}"
|
||||
friends_since: "Freunde seit: %{how_long_ago}"
|
||||
save: "save"
|
||||
are_you_sure: "Bist du sicher?"
|
||||
remove_friend: "remove friend"
|
||||
destroy:
|
||||
success: "Ihr seid jetzt Freunde."
|
||||
error: "Bitte wähle einen Aspekt aus!"
|
||||
ignore: "Freundschaftsanfrage ignorieren."
|
||||
create:
|
||||
error: "No diaspora seed found with this email!"
|
||||
already_friends: "Du bist bereits mit %{destination_url} befreundet!"
|
||||
success: "Eine Freundschaftsanfrage wurde an %{destination_url} gesendet."
|
||||
horribly_wrong: "Etwas ging tierisch schief."
|
||||
|
||||
264
config/locales/defaults/es.yml
Normal file
264
config/locales/defaults/es.yml
Normal file
@@ -0,0 +1,264 @@
|
||||
# Spanish translations for Rails
|
||||
# by Francisco Fernando García Nieto (ffgarcianieto@gmail.com)
|
||||
|
||||
"es":
|
||||
# Action View
|
||||
number:
|
||||
# Used in number_with_delimiter()
|
||||
# These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
|
||||
format:
|
||||
# Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
|
||||
separator: ","
|
||||
# Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
|
||||
delimiter: "."
|
||||
# Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
|
||||
precision: 3
|
||||
# If set to true, precision will mean the number of significant digits instead
|
||||
# of the number of decimal digits (1234 with precision 2 becomes 1200, 1.23543 becomes 1.2)
|
||||
significant: false
|
||||
# If set, the zeros after the decimal separator will always be stripped (eg.: 1.200 will be 1.2)
|
||||
strip_insignificant_zeros: false
|
||||
|
||||
# Used in number_to_currency()
|
||||
currency:
|
||||
format:
|
||||
# Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
|
||||
format: "%n %u"
|
||||
unit: "€"
|
||||
# These three are to override number.format and are optional
|
||||
separator: ","
|
||||
delimiter: "."
|
||||
precision: 2
|
||||
significant: false
|
||||
strip_insignificant_zeros: false
|
||||
|
||||
# Used in number_to_percentage()
|
||||
percentage:
|
||||
format:
|
||||
# These three are to override number.format and are optional
|
||||
# separator:
|
||||
delimiter: ""
|
||||
# precision:
|
||||
|
||||
# Used in number_to_precision()
|
||||
precision:
|
||||
format:
|
||||
# These three are to override number.format and are optional
|
||||
# separator:
|
||||
delimiter: ""
|
||||
# precision:
|
||||
# significant: false
|
||||
# strip_insignificant_zeros: false
|
||||
|
||||
# Used in number_to_human_size()
|
||||
human:
|
||||
format:
|
||||
# These three are to override number.format and are optional
|
||||
# separator:
|
||||
delimiter: ""
|
||||
precision: 1
|
||||
significant: true
|
||||
strip_insignificant_zeros: true
|
||||
# Used in number_to_human_size()
|
||||
storage_units:
|
||||
format: "%n %u"
|
||||
units:
|
||||
byte:
|
||||
one: "Byte"
|
||||
other: "Bytes"
|
||||
kb: "KB"
|
||||
mb: "MB"
|
||||
gb: "GB"
|
||||
tb: "TB"
|
||||
# Used in number_to_human()
|
||||
decimal_units:
|
||||
format: "%n %u"
|
||||
# Decimal units output formatting
|
||||
# By default we will only quantify some of the exponents
|
||||
# but the commented ones might be defined or overridden
|
||||
# by the user.
|
||||
units:
|
||||
# femto: Quadrillionth
|
||||
# pico: Trillionth
|
||||
# nano: Billionth
|
||||
# micro: Millionth
|
||||
# mili: Thousandth
|
||||
# centi: Hundredth
|
||||
# deci: Tenth
|
||||
unit: ""
|
||||
# ten:
|
||||
# one: Ten
|
||||
# other: Tens
|
||||
# hundred: Hundred
|
||||
thousand: "Mil"
|
||||
million: "Millón"
|
||||
billion: "Mil millones"
|
||||
trillion: "Trillón"
|
||||
quadrillion: "Cuatrillón"
|
||||
|
||||
# Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
|
||||
datetime:
|
||||
distance_in_words:
|
||||
half_a_minute: "medio minuto"
|
||||
less_than_x_seconds:
|
||||
one: "menos de 1 segundo"
|
||||
other: "menos de %{count} segundos"
|
||||
x_seconds:
|
||||
one: "1 segundo"
|
||||
other: "%{count} segundos"
|
||||
less_than_x_minutes:
|
||||
one: "menos de 1 minuto"
|
||||
other: "menos de %{count} minutos"
|
||||
x_minutes:
|
||||
one: "1 minuto"
|
||||
other: "%{count} minutos"
|
||||
about_x_hours:
|
||||
one: "alrededor de 1 hora"
|
||||
other: "alrededor de %{count} horas"
|
||||
x_days:
|
||||
one: "1 día"
|
||||
other: "%{count} días"
|
||||
about_x_months:
|
||||
one: "alrededor de 1 mes"
|
||||
other: "alrededor de %{count} meses"
|
||||
x_months:
|
||||
one: "1 mes"
|
||||
other: "%{count} meses"
|
||||
about_x_years:
|
||||
one: "alrededor de 1 año"
|
||||
other: "alrededor de %{count} años"
|
||||
over_x_years:
|
||||
one: "más de 1 año"
|
||||
other: "más de %{count} años"
|
||||
almost_x_years:
|
||||
one: "casi 1 año"
|
||||
other: "casi %{count} años"
|
||||
prompts:
|
||||
year: "Año"
|
||||
month: "Mes"
|
||||
day: "Día"
|
||||
hour: "Hora"
|
||||
minute: "Minutos"
|
||||
second: "Segundos"
|
||||
|
||||
helpers:
|
||||
select:
|
||||
# Default value for :prompt => true in FormOptionsHelper
|
||||
prompt: "Por favor seleccione"
|
||||
|
||||
# Default translation keys for submit FormHelper
|
||||
submit:
|
||||
create: 'Guardar %{model}'
|
||||
update: 'Actualizar %{model}'
|
||||
submit: 'Guardar %{model}'
|
||||
|
||||
# Attributes names common to most models
|
||||
#attributes:
|
||||
#created_at: "Created at"
|
||||
#updated_at: "Updated at"
|
||||
|
||||
# Active Record models configuration
|
||||
activerecord:
|
||||
errors:
|
||||
messages:
|
||||
taken: "ya está en uso"
|
||||
record_invalid: "La validación falló: %{errors}"
|
||||
# Append your own errors here or at the model/attributes scope.
|
||||
|
||||
# You can define own errors for models or model attributes.
|
||||
# The values :model, :attribute and :value are always available for interpolation.
|
||||
#
|
||||
# For example,
|
||||
# models:
|
||||
# user:
|
||||
# blank: "This is a custom blank message for %{model}: %{attribute}"
|
||||
# attributes:
|
||||
# login:
|
||||
# blank: "This is a custom blank message for User login"
|
||||
# Will define custom blank validation message for User model and
|
||||
# custom blank validation message for login attribute of User model.
|
||||
#models:
|
||||
|
||||
# Translate model names. Used in Model.human_name().
|
||||
#models:
|
||||
# For example,
|
||||
# user: "Dude"
|
||||
# will translate User model name to "Dude"
|
||||
|
||||
# Translate model attribute names. Used in Model.human_attribute_name(attribute).
|
||||
#attributes:
|
||||
# For example,
|
||||
# user:
|
||||
# login: "Handle"
|
||||
# will translate User attribute "login" as "Handle"
|
||||
|
||||
# Active Model
|
||||
errors:
|
||||
# The default format to use in full error messages.
|
||||
format: "%{attribute} %{message}"
|
||||
|
||||
template:
|
||||
header:
|
||||
one: "No se pudo guardar este/a %{model} porque se encontró 1 error"
|
||||
other: "No se pudo guardar este/a %{model} porque se encontraron %{count} errores"
|
||||
# The variable :count is also available
|
||||
body: "Se encontraron problemas con los siguientes campos:"
|
||||
|
||||
# The values :model, :attribute and :value are always available for interpolation
|
||||
# The value :count is available when applicable. Can be used for pluralization.
|
||||
messages:
|
||||
inclusion: "no está incluido en la lista"
|
||||
exclusion: "está reservado"
|
||||
invalid: "no es válido"
|
||||
confirmation: "no coincide con la confirmación"
|
||||
accepted: "debe ser aceptado"
|
||||
empty: "no puede estar vacío"
|
||||
blank: "no puede estar en blanco"
|
||||
too_long: "es demasiado largo (%{count} caracteres máximo)"
|
||||
too_short: "es demasiado corto (%{count} caracteres mínimo)"
|
||||
wrong_length: "no tiene la longitud correcta (%{count} caracteres exactos)"
|
||||
not_a_number: "no es un número"
|
||||
greater_than: "debe ser mayor que %{count}"
|
||||
greater_than_or_equal_to: "debe ser mayor que o igual a %{count}"
|
||||
equal_to: "debe ser igual a %{count}"
|
||||
less_than: "debe ser menor que %{count}"
|
||||
less_than_or_equal_to: "debe ser menor que o igual a %{count}"
|
||||
odd: "debe ser impar"
|
||||
even: "debe ser par"
|
||||
|
||||
# Active Support
|
||||
date:
|
||||
formats:
|
||||
# Use the strftime parameters for formats.
|
||||
# When no format has been given, it uses default.
|
||||
# You can provide other formats here if you like!
|
||||
default: "%e/%m/%Y"
|
||||
short: "%e de %b"
|
||||
long: "%e de %B de %Y"
|
||||
|
||||
day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
|
||||
abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
|
||||
|
||||
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
||||
month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
|
||||
abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
|
||||
# Used in date_select and datime_select.
|
||||
order:
|
||||
- :day
|
||||
- :month
|
||||
- :year
|
||||
|
||||
time:
|
||||
formats:
|
||||
default: "%A, %e de %B de %Y %H:%M:%S %z"
|
||||
short: "%e de %b %H:%M"
|
||||
long: "%e de %B de %Y %H:%M"
|
||||
am: "am"
|
||||
pm: "pm"
|
||||
|
||||
# Used in array.to_sentence.
|
||||
support:
|
||||
array:
|
||||
words_connector: ", "
|
||||
two_words_connector: " y "
|
||||
last_word_connector: ", y "
|
||||
42
config/locales/devise.cy.yml
Normal file
42
config/locales/devise.cy.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
cy:
|
||||
errors:
|
||||
messages:
|
||||
not_found: "ni chanfuwyd"
|
||||
already_confirmed: "cadarnhawyd eisioes"
|
||||
not_locked: "heb ei gloi"
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'Mae angen i chi arwyddo i mewn neu ymuno cyn parhau.'
|
||||
unconfirmed: 'Rhaid i chi gadarnhau eich cyfrif cyn parhau.'
|
||||
locked: 'Mae eich cyfrif wedi'i gloi.'
|
||||
invalid: 'E-bost neu gyfrinair annilys.'
|
||||
invalid_token: 'Tocyn dilysu annilys.'
|
||||
timeout: 'Mae eich sesiwn wedi dod i ben, arwyddwch i mewn eto i barhau.'
|
||||
inactive: 'Nid yw eich cyfrif wedi'i actifadu.'
|
||||
sessions:
|
||||
signed_in: 'Arwyddwyd i fewn yn llwyddiannus.'
|
||||
signed_out: 'Arwyddwyd allan yn llwyddiannus.'
|
||||
passwords:
|
||||
send_instructions: 'Byddwch yn derbyn e-bost â chyfarwyddiadau ar sut i gadarnhau eich cyfrif mewn ychydig funudau.'
|
||||
updated: 'Newidiwyd eich cyfrinair yn llwyddiannus. Rydych chi wedi arwyddo i fewn.'
|
||||
confirmations:
|
||||
send_instructions: 'Byddwch yn derbyn e-bost â chyfarwyddiadau ar sut i gadarnhau eich cyfrif mewn ychydig funudau.'
|
||||
confirmed: 'Cadarnhawyd eich cyfrif yn llwyddiannus. Rydych chi wedi arwyddo i fewn.'
|
||||
registrations:
|
||||
signed_up: 'Rydych chi wedi arwyddo i fyny yn llwyddiannus. Anfonwyd cadarnhad at eich e-bost os yw wedi'i alluogi.'
|
||||
updated: 'Diweddarwyd eich cyfrif yn llwyddiannus.'
|
||||
destroyed: 'Hwyl fawr! Canslwyd eich cyfrif yn llwyddiannus. Rydym yn gobeithio gweld chi eto yn fuan.'
|
||||
unlocks:
|
||||
send_instructions: 'Byddwch yn derbyn e-bost gyda cyfarwyddiadau ar sut i agor eich cyfrif mewn ychydig funudau.'
|
||||
unlocked: 'Datglowyd eich cyfrif yn llwyddiannus. Rydych chi wedi arwyddo i fewn.'
|
||||
mailer:
|
||||
confirmation_instructions: 'Cyfarwyddiadau cadarnhad.'
|
||||
reset_password_instructions: 'Ailosod cyfarwyddiadau cyfrinair'
|
||||
unlock_instructions: 'Cyfarwyddiadau Datgloi'
|
||||
|
||||
41
config/locales/devise.ro.yml
Normal file
41
config/locales/devise.ro.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
ro:
|
||||
errors:
|
||||
messages:
|
||||
not_found: "inexistent"
|
||||
already_confirmed: "a fost deja confirmat"
|
||||
not_locked: "nu a fost blocat"
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'Pentru a continuna, înregistrați-vă.'
|
||||
unconfirmed: 'Pentru a continua, confirmați contul dvs.'
|
||||
locked: 'Contul dvs. este blocat.'
|
||||
invalid: 'Email sau parolă incorectă.'
|
||||
invalid_token: 'Cheie de autentificare invalidă.'
|
||||
timeout: 'Sesiunea dvs. a expirat, autentificați-vă din nou pentru a continua.'
|
||||
inactive: 'Contul dvs. încă nu a fost activat.'
|
||||
sessions:
|
||||
signed_in: 'Autentificare cu succes.'
|
||||
signed_out: 'Deconectare cu succes.'
|
||||
passwords:
|
||||
send_instructions: 'În scurt timp veți primi un email cu instrucțiuni pentru resetarea parolei.'
|
||||
updated: 'Parolă schimbată cu success. Sunteți acum autentificat(ă).'
|
||||
confirmations:
|
||||
send_instructions: 'În scurt timp veți primi un email cu instrucțiuni pentru confirmarea contului.'
|
||||
confirmed: 'Contul dvs. a fost confirmat cu succes. Sunteți acum autentificat(ă).'
|
||||
registrations:
|
||||
signed_up: 'Sunteți autentificat(ă). Dacă este cazul, un mesaj de confirmare a fost trimis pe email-ul dvs.'
|
||||
updated: 'Cont actualizat cu succes.'
|
||||
destroyed: 'Pa! Contul dvs. a fost dezactivat cu succes. Sperăm să vă revedem în curând.'
|
||||
unlocks:
|
||||
send_instructions: 'În scurt timp veți primi un email cu instrucțiuni pentru deblocarea contului.'
|
||||
unlocked: 'Cont deblocat cu succes. Sunteți acum autentificat(ă).'
|
||||
mailer:
|
||||
confirmation_instructions: 'Instrucțiuni pentru confirmarea contului.'
|
||||
reset_password_instructions: 'Instrucțiuni pentru resetarea parolei.'
|
||||
unlock_instructions: 'Instrucțiuni pentru deblocare contului.'
|
||||
41
config/locales/devise/devise.de.yml
Normal file
41
config/locales/devise/devise.de.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
de:
|
||||
errors:
|
||||
messages:
|
||||
not_found: "nicht gefunden"
|
||||
already_confirmed: "wurde bereits bestätigt"
|
||||
not_locked: "war nicht gesperrt"
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'Du musst dich anmelden oder registrieren um fortzufahren.'
|
||||
unconfirmed: 'Du musst dein Konto bestätigen um fortzufahren.'
|
||||
locked: 'Dein Konto ist gesperrt.'
|
||||
invalid: 'Ungültige E-Mail-Adresse oder Passwort.'
|
||||
invalid_token: 'Ungültiger Authentifizierungstoken.'
|
||||
timeout: 'Deine Sitzung ist abgelaufen, bitte melde dich erneut an um fortzufahren.'
|
||||
inactive: 'Dein Konto wurde noch nicht aktiviert.'
|
||||
sessions:
|
||||
signed_in: 'Erfolgreich angemeldet.'
|
||||
signed_out: 'Erfolgreich abgemeldet.'
|
||||
passwords:
|
||||
send_instructions: 'Du wirst in ein paar Minuten eine E-Mail erhalten, die beschreibt, wie du dein Passwort zurücksetzt.'
|
||||
updated: 'Dein Passwort wurde erfolgreich geändert. Du bist nun angemeldet.'
|
||||
confirmations:
|
||||
send_instructions: 'Du wirst in ein paar Minuten eine E-Mail erhalten, die beschreibt, wie du dein Konto bestätigst.'
|
||||
confirmed: 'Dein Konto wurde erfolgreich bestätigt. Du bist nun angemeldet.'
|
||||
registrations:
|
||||
signed_up: 'Du hast dich erfolgreich registriert. Sofern aktiviert, wurde dir eine Bestätigung per E-Mail gesendet.'
|
||||
updated: 'Dein Konto wurde aktualisiert.'
|
||||
destroyed: 'Tschüss! Dein Konto wurde erfolgreich gekündigt. Wir hoffen dich bald wiederzusehen.'
|
||||
unlocks:
|
||||
send_instructions: 'Du wirst in ein paar Minuten eine E-Mail erhalten, die beschreibt, wie du dein Konto entsperren kannst.'
|
||||
unlocked: 'Dein Konto wurde erfolgreich entsperrt. Du bist nun angemeldet.'
|
||||
mailer:
|
||||
confirmation_instructions: 'Instruktionen zur Bestätigung'
|
||||
reset_password_instructions: 'Instruktionen zum Zurücksetzen des Passworts'
|
||||
unlock_instructions: 'Instruktionen zum Entsperren'
|
||||
42
config/locales/devise/devise.es.yml
Normal file
42
config/locales/devise/devise.es.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
es:
|
||||
errors:
|
||||
messages:
|
||||
not_found: 'no encontrado'
|
||||
already_confirmed: 'ya ha sido confirmada'
|
||||
not_locked: 'no está bloqueada'
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'Necesitas acceder a tu cuenta o registrarte antes de continuar.'
|
||||
unconfirmed: 'Necesitas confirmar tu cuenta antes de continuar.'
|
||||
locked: 'Tu cuenta esta bloqueada.'
|
||||
invalid: 'Contraseña o Email incorrecto.'
|
||||
invalid_token: 'Token de autenticación incorrecto.'
|
||||
timeout: 'Tu sesión ha expirado, por favor accede de nuevo para continuar.'
|
||||
inactive: 'Tu cuenta no ha sido activada.'
|
||||
sessions:
|
||||
signed_in: 'Has ingresado correctamente.'
|
||||
signed_out: 'Has salido correctamente.'
|
||||
passwords:
|
||||
send_instructions: 'Recibirás un email con instrucciones para cambiar tu contraseña en poco minutos.'
|
||||
updated: 'Tu contraseña ha sido modificada. Ya has accedido a tu cuenta.'
|
||||
confirmations:
|
||||
send_instructions: 'Recibirás un email con instrucciones para confirmar tu cuenta en poco minutos.'
|
||||
confirmed: 'Tu cuenta ha sido confirmada. Ya has accedido a tu cuenta.'
|
||||
registrations:
|
||||
signed_up: 'Te has registrado correctamente. Si está disponible, te habremos enviado un email de confirmación.'
|
||||
updated: 'Has actualizado tu cuenta correctamente.'
|
||||
destroyed: '!Adiós! Tu cuenta ha sido cancelada. Esperamos verte pronto.'
|
||||
unlocks:
|
||||
send_instructions: 'Recibirás un email con instrucciones para desbloquear tu cuenta en pocos minutos.'
|
||||
unlocked: 'Tu cuenta ha sido desbloqueada. Ya has accedido a tu cuenta.'
|
||||
oauth_callbacks:
|
||||
success: 'Has sido autorizado satisfactoriamente de la cuenta %{kind}.'
|
||||
failure: 'No has sido autorizado en la cuenta %{kind} porque "%{reason}".'
|
||||
mailer:
|
||||
confirmation_instructions:
|
||||
subject: 'Instrucciones de confirmación'
|
||||
reset_password_instructions:
|
||||
subject: 'Instrucciones para cambiar tu contraseña'
|
||||
unlock_instructions:
|
||||
subject: 'Instrucciones para desbloquear tu cuenta'
|
||||
41
config/locales/devise/devise.fr.yml
Normal file
41
config/locales/devise/devise.fr.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
fr:
|
||||
errors:
|
||||
messages:
|
||||
not_found: "introuvable"
|
||||
already_confirmed: "a déjà été confirmé"
|
||||
not_locked: "n’a pas été verrouillé"
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'Vous devez vous connecter ou vous inscrire avant de continuer.'
|
||||
unconfirmed: 'Vous devez confirmer votre compte avant de continuer.'
|
||||
locked: 'Votre compte est verrouillé.'
|
||||
invalid: 'E-mail ou mot de passe invalide.'
|
||||
invalid_token: 'Jeton d’authentification invalide.'
|
||||
timeout: 'Votre session a expiré, veuillez vous connecter de nouveau afin de continuer.'
|
||||
inactive: 'Votre compte n’a pas encore été activé.'
|
||||
sessions:
|
||||
signed_in: 'Connecté avec succès.'
|
||||
signed_out: 'Déconnecté avec succès.'
|
||||
passwords:
|
||||
send_instructions: 'Vous allez recevoir dans quelques minutes un e-mail contenant des instructions vous expliquant comment réinitialiser votre mot de passe.'
|
||||
updated: 'Votre mot de passe a été modifié avec succès. Vous êtes à présent connecté.'
|
||||
confirmations:
|
||||
send_instructions: 'Vous allez recevoir dans quelques minutes un e-mail contenant des instructions vous expliquant comment confirmer votre compte.'
|
||||
confirmed: 'Votre compte a été confirmé avec succès. Vous êtes à présent connecté.'
|
||||
registrations:
|
||||
signed_up: 'Vous vous êtes inscrit avec succès. Si activée, une confirmation a été envoyée sur votre adresse e-mail.'
|
||||
updated: 'Vous avez mis à jour votre compte avec succès.'
|
||||
destroyed: 'Au revoir ! Votre compte a été résilié avec succès. Nous espérons vous revoir très bientôt.'
|
||||
unlocks:
|
||||
send_instructions: 'Vous allez recevoir dans quelques minutes un e-mail contenant des instructions vous expliquant comment déverrouiller votre compte.'
|
||||
unlocked: 'Votre compte a été déverrouillé avec succès. Vous êtes à présent connecté.'
|
||||
mailer:
|
||||
confirmation_instructions: 'Instructions de confirmation'
|
||||
reset_password_instructions: 'Réinitialiser les instructions du mot de passe'
|
||||
unlock_instructions: 'Instructions de déverrouillage'
|
||||
41
config/locales/devise/devise.it.yml
Normal file
41
config/locales/devise/devise.it.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
it:
|
||||
errors:
|
||||
messages:
|
||||
not_found: "non trovato"
|
||||
already_confirmed: "già confermato"
|
||||
not_locked: "non bloccato"
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'È necessario che tu acceda o ti registri prima di continuare.'
|
||||
unconfirmed: 'Devi confermare il tuo account prima di continuare.'
|
||||
locked: 'Il tuo account è bloccato.'
|
||||
invalid: 'Email o password invalida.'
|
||||
invalid_token: 'Invalido token di autenticazione.'
|
||||
timeout: 'La tua sessione è scaduta, per favore accedi nuovamente per continuare.'
|
||||
inactive: 'Il tuo account non è ancora stato attivato.'
|
||||
sessions:
|
||||
signed_in: 'Collegamento avvenuto con successo.'
|
||||
signed_out: 'Uscita avvenuta con successo.'
|
||||
passwords:
|
||||
send_instructions: 'Tra quale minuto riceverai una email con le istruzioni per ripristinare la password.'
|
||||
updated: 'La tua password è stata cambiata con successo. Ora sei collegato.'
|
||||
confirmations:
|
||||
send_instructions: 'Tra qualche minuti riceverai una email con le istruzioni per confermare il tuo account.'
|
||||
confirmed: 'Il tuo account è stato confermato con successo. Ora sei collegato.'
|
||||
registrations:
|
||||
signed_up: 'Ti sei registrato con successo. Se abilitato, ti verrà inviata una email di conferma.'
|
||||
updated: 'Hai aggiornato il tuo account.'
|
||||
destroyed: 'Addio! Il tuo account è stato cancellato. Speriamo di rivederti presto.'
|
||||
unlocks:
|
||||
send_instructions: 'Tra qualche minuti riceverai una email con le istruzioni per sbloccare il tuo account.'
|
||||
unlocked: 'Il tuo account è stato sbloccato. Ora sei collegato.'
|
||||
mailer:
|
||||
confirmation_instructions: 'Istruzioni per la conferma'
|
||||
reset_password_instructions: 'Istruzioni per il reset della password'
|
||||
unlock_instructions: 'Istruzioni per lo sblocco'
|
||||
41
config/locales/devise/devise.pl.yml
Normal file
41
config/locales/devise/devise.pl.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
pl:
|
||||
errors:
|
||||
messages:
|
||||
not_found: "nie znaleziono"
|
||||
already_confirmed: "potwierdzono wcześniej"
|
||||
not_locked: "nie był zablokowany"
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'By kontynuować musisz się zalogować lub zarejestrować.'
|
||||
unconfirmed: 'Musisz aktywować swoje konto.'
|
||||
locked: 'Twoje konto jest zablokowane.'
|
||||
invalid: 'Nieprawidłowy adres email lub hasło.'
|
||||
invalid_token: 'Nieprawidłowy kod identyfikacyjny.'
|
||||
timeout: 'Twoja sesja wygasła, zaloguj się ponownie by kontynuować.'
|
||||
inactive: 'Twoje konto nie zostało jeszcze aktywowane.'
|
||||
sessions:
|
||||
signed_in: 'Zalogowano pomyślnie.'
|
||||
signed_out: 'Wylogowano.'
|
||||
passwords:
|
||||
send_instructions: 'W ciągu kilku minut otrzymasz maila zawierającego instrukcjie dotyczące zresetowania hasła.'
|
||||
updated: 'Twoje hasło zostało zmienione, zostałeś zalogowany.'
|
||||
confirmations:
|
||||
send_instructions: 'W ciągu kilku minut otrzymasz maila zawierającego instrukcje dotyczące aktywacji konta.'
|
||||
confirmed: 'Twoje konto zostało aktywowane, zostałeś zalogowany.'
|
||||
registrations:
|
||||
signed_up: 'Zostałeś zarejestrowany. Jeśli aktywowano odpowiednią opcję, wyślemy do Ciebie email potwierdzający rejestrację.'
|
||||
updated: 'Pomyślnie zaktualizowano informacje o Twoim koncie.'
|
||||
destroyed: 'Żegnaj! Twoje konto zostało usunięte.'
|
||||
unlocks:
|
||||
send_instructions: 'W ciągu kilku minut otrzymasz email z instrukcjami odblokowania konta.'
|
||||
unlocked: 'Twoje konto zostało odblokowane, jesteś zalogowany.'
|
||||
mailer:
|
||||
confirmation_instructions: 'Instrukcje aktywacji'
|
||||
reset_password_instructions: 'Instrukcje zmiany hasła'
|
||||
unlock_instructions: 'Instrukcje odblokowania'
|
||||
41
config/locales/devise/devise.ru.yml
Normal file
41
config/locales/devise/devise.ru.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
ru:
|
||||
errors:
|
||||
messages:
|
||||
not_found: "не найден(о)"
|
||||
already_confirmed: "уже подтвержден(о)"
|
||||
not_locked: "не заблокирован(о)"
|
||||
|
||||
devise:
|
||||
failure:
|
||||
unauthenticated: 'Вам нужно войти либо зарегистрироваться, чтобы продолжить.'
|
||||
unconfirmed: 'Вам нужно подтвердить вашу учётную запись, чтобы продолжить.'
|
||||
locked: 'Ваша учётная запись заблокирована.'
|
||||
invalid: 'Неверный e-mail или пароль.'
|
||||
invalid_token: 'Неверный ключ аутентификации.'
|
||||
timeout: 'Срок вашего сеанса истёк, пожалуйста, войдите в систему снова.'
|
||||
inactive: 'Ваша учётная запись ещё не активирована.'
|
||||
sessions:
|
||||
signed_in: 'Вход в систему выполнен успешно.'
|
||||
signed_out: 'Выход из системы выполнен успешно.'
|
||||
passwords:
|
||||
send_instructions: 'Вы получите e-mail с указаниями по сбросу пароля в течение нескольких минут.'
|
||||
updated: 'Ваш пароль был изменён. Вы вошли в систему.'
|
||||
confirmations:
|
||||
send_instructions: 'Вы получите e-mail с указаниями по подтверждению учётной записи в течение нескольких минут.'
|
||||
confirmed: 'Ваша учётная запись была подтверждена. Вы вошли в систему.'
|
||||
registrations:
|
||||
signed_up: 'Регистрация выполнена успешно. В зависимости от настроек, вам может прийти e-mail с подтверждением.'
|
||||
updated: 'Обновление вашей учётной записи выполнено успешно.'
|
||||
destroyed: 'До свидания! Ваша учётная запись была удалена. Надеемся, что вскоре вас увидим снова.'
|
||||
unlocks:
|
||||
send_instructions: 'Вы получите e-mail с указаниями по разблокированию учётной записи в течение нескольких минут.'
|
||||
unlocked: 'Ваша учётная запись была разблокирована. Вы вошли в систему.'
|
||||
mailer:
|
||||
confirmation_instructions: 'Подтверждение учётной записи'
|
||||
reset_password_instructions: 'Сброс пароля'
|
||||
unlock_instructions: 'Разблокирование учётной записи'
|
||||
@@ -8,6 +8,21 @@
|
||||
|
||||
en:
|
||||
hello: "Hello world"
|
||||
application:
|
||||
helper:
|
||||
unknown_person: "unknown person"
|
||||
new_requests: "new requests"
|
||||
dashboards:
|
||||
helper:
|
||||
home: "home"
|
||||
error_messages:
|
||||
helper:
|
||||
invalid_fields: "Invalid Fields"
|
||||
correct_the_following_errors_and_try_again: "Correct the following errors and try again."
|
||||
people:
|
||||
helper:
|
||||
results_for: " results for %{params}"
|
||||
people_on_pod_are_aware_of: " people on pod are aware of"
|
||||
layouts:
|
||||
application:
|
||||
edit_profile: "edit profile"
|
||||
@@ -51,6 +66,9 @@ en:
|
||||
failure: "Failed to edit album %{name}."
|
||||
destroy:
|
||||
success: "Album %{name} deleted."
|
||||
helper:
|
||||
friends_albums: "Friends Albums"
|
||||
your_albums: "Your Albums"
|
||||
aspects:
|
||||
index:
|
||||
photos: "photos"
|
||||
@@ -67,7 +85,20 @@ en:
|
||||
add_a_new_aspect: "Add a new aspect"
|
||||
create: "Create"
|
||||
create:
|
||||
success:"Click on the plus on the left side to tell Diaspora who can see your new aspect."
|
||||
success: "Click on the plus on the left side to tell Diaspora who can see your new aspect."
|
||||
destroy:
|
||||
success: "%{name} was successfully removed."
|
||||
update:
|
||||
success: "Your aspect, %{name}, has been successfully edited."
|
||||
move_friends:
|
||||
failure: "Aspect editing failed for friend %{real_name}."
|
||||
success: "Aspects edited successfully."
|
||||
move_friend:
|
||||
failure: "didn't work %{inspect}"
|
||||
success: "You are now showing your friend a different aspect of yourself."
|
||||
helper:
|
||||
remove: "remove"
|
||||
aspect_not_empty: "Aspect not empty"
|
||||
users:
|
||||
edit:
|
||||
cancel: "Cancel"
|
||||
@@ -105,9 +136,20 @@ en:
|
||||
new_photo: "New Photo"
|
||||
back_to_list: "Back to List"
|
||||
post_it: "post it!"
|
||||
create:
|
||||
runtime_error: "Photo upload failed. Are you sure that your seatbelt is fastened?"
|
||||
integrity_error: "Photo upload failed. Are you sure that was an image?"
|
||||
type_error: "Photo upload failed. Are you sure an image was added?"
|
||||
update:
|
||||
notice: "Photo successfully updated."
|
||||
error: "Failed to edit photo."
|
||||
destroy:
|
||||
notice: "Photo deleted."
|
||||
registrations:
|
||||
new:
|
||||
sign_up: "Sign up"
|
||||
create:
|
||||
success: "You've joined Diaspora!"
|
||||
status_messages:
|
||||
new_status_message:
|
||||
tell_me_something_good: "tell me something good"
|
||||
@@ -124,7 +166,12 @@ en:
|
||||
view_all: "View All"
|
||||
message: "Message"
|
||||
owner: "Owner"
|
||||
helper:
|
||||
no_message_to_display: "No message to display."
|
||||
people:
|
||||
person:
|
||||
add_friend: "add friend"
|
||||
pending_request: "pending request"
|
||||
index:
|
||||
add_friend: "add friend"
|
||||
real_name: "real name"
|
||||
@@ -140,4 +187,19 @@ en:
|
||||
friends_since: "friends since: %{how_long_ago}"
|
||||
save: "save"
|
||||
are_you_sure: "Are you sure?"
|
||||
remove_friend: "remove friend"
|
||||
remove_friend: "remove friend"
|
||||
requests:
|
||||
new_request:
|
||||
add_a_new_friend_to: "Add a new friend to"
|
||||
enter_a_diaspora_username: "Enter a Diaspora username:"
|
||||
your_diaspora_username_is: "Your Diaspora username is: %{diaspora_handle}"
|
||||
friends_username: "Friend's username"
|
||||
destroy:
|
||||
success: "You are now friends."
|
||||
error: "Please select an aspect!"
|
||||
ignore: "Ignored friend request."
|
||||
create:
|
||||
error: "No diaspora seed found with this email!"
|
||||
already_friends: "You are already friends with %{destination_url}!"
|
||||
success: "A friend request was sent to %{destination_url}."
|
||||
horribly_wrong: "Something went horribly wrong."
|
||||
|
||||
@@ -7,4 +7,196 @@
|
||||
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
||||
|
||||
es:
|
||||
hello: "Hello world"
|
||||
hello: "Hola Mundo"
|
||||
application:
|
||||
helper:
|
||||
unknown_person: "persona desconocida"
|
||||
new_requests: "nuevas peticiones"
|
||||
dashboards:
|
||||
helper:
|
||||
home: "home"
|
||||
error_messages:
|
||||
helper:
|
||||
invalid_fields: "Campos Invalidos"
|
||||
correct_the_following_errors_and_try_again: "Corrija los siguentes errores y trate de nuevo."
|
||||
people:
|
||||
helper:
|
||||
results_for: " resultados para %{params}"
|
||||
people_on_pod_are_aware_of: " gente en pod estan al tanto de "
|
||||
layouts:
|
||||
application:
|
||||
edit_profile: "editar perfil"
|
||||
logout: "desloguear"
|
||||
shared:
|
||||
aspect_nav:
|
||||
all_aspects: "Todos los Aspectos"
|
||||
manage: "Manejar"
|
||||
manage_your_aspects: "Maneja tus Aspectos"
|
||||
sub_header:
|
||||
all_aspects: "Todos los Aspectos"
|
||||
manage_aspects: "Manejar Aspectos"
|
||||
publisher:
|
||||
share: "Compartir"
|
||||
aspect_friends:
|
||||
add_friends: "Añade amigos"
|
||||
albums:
|
||||
album:
|
||||
you: "usted"
|
||||
new_album:
|
||||
create: "Crear"
|
||||
add_a_new_album: "Añade un nuevo álbum"
|
||||
show:
|
||||
edit_album: "Editar Álbum"
|
||||
albums: "álbumes"
|
||||
updated: "actualizar"
|
||||
by: "por"
|
||||
edit:
|
||||
editing: "Editando"
|
||||
updated: "actualizado"
|
||||
are_you_sure: "Esta seguro?"
|
||||
delete_album: "Eliminar Álbum"
|
||||
cancel: "Cancelar"
|
||||
index:
|
||||
home: "home"
|
||||
new_album: "Nuevo Álbum"
|
||||
create:
|
||||
success: "Creo el álbum llamado %{name}."
|
||||
update:
|
||||
success: "Álbum %{name} fue editado exitosamente."
|
||||
failure: "Fallo el editar el álbum %{name}."
|
||||
destroy:
|
||||
success: "Álbum %{name} fue eliminado."
|
||||
helper:
|
||||
friends_albums: "Álbumes de amigos"
|
||||
your_albums: "Tus Álbumes"
|
||||
aspects:
|
||||
index:
|
||||
photos: "fotos"
|
||||
show:
|
||||
photos: "fotos"
|
||||
manage:
|
||||
add_a_new_aspect: "Añadir nuevo aspecto"
|
||||
add_a_new_friend: "Añadir nuevo amigo"
|
||||
show: "Mostrar"
|
||||
update_aspects: "Actualizar Aspectos"
|
||||
requests: "Requests"
|
||||
ignore_remove: "Ignorar/Remover"
|
||||
new_aspect:
|
||||
add_a_new_aspect: "Añadir nuevo aspecto"
|
||||
create: "Crear"
|
||||
create:
|
||||
success:"Pulsa en el signo de mas a la izquierda para escojer quien puede ver su nuevo aspecto."
|
||||
destroy:
|
||||
success: "%{name} fue removido exitosamente."
|
||||
update:
|
||||
success: "Su aspecto, %{name}, fue editado exitosamente."
|
||||
move_friends:
|
||||
failure: "Fallo el editar aspecto para el amigo %{real_name}."
|
||||
success: "Los aspectos fueron editados exitosamente."
|
||||
move_friend:
|
||||
error: "no funciono %{inspect}"
|
||||
notice: "Ahora estas mostrando a tu amigo un aspecto diferente de ti."
|
||||
helper:
|
||||
remove: "remover"
|
||||
aspect_not_empty: "Aspecto no esta vacio"
|
||||
users:
|
||||
edit:
|
||||
cancel: "Cancelar"
|
||||
update_profile: "Actualizar Perfil"
|
||||
home: "Home"
|
||||
diaspora_username: "USUARIO DE DIASPORA"
|
||||
info: "Info"
|
||||
picture: "Picture"
|
||||
editing_profile: "Editando perfil"
|
||||
albums: "Álbums"
|
||||
you_dont_have_any_photos: "No tienes ninguna foto! ve a la pagina"
|
||||
page_to_upload_some: "para subir algunas"
|
||||
comments:
|
||||
comment:
|
||||
ago: "atras"
|
||||
new_comment:
|
||||
comment: "Commentario"
|
||||
photos:
|
||||
show:
|
||||
prev: "prev"
|
||||
full_size: "tamaño actual"
|
||||
next: "prox"
|
||||
edit_photo: "Editar Foto"
|
||||
delete_photo: "Eliminar Foto"
|
||||
are_you_sure: "Esta seguro?"
|
||||
comments: "comentarios"
|
||||
edit:
|
||||
editing: "Editando"
|
||||
are_you_sure: "Esta seguro?"
|
||||
delete_photo: "Eliminar Foto"
|
||||
photo:
|
||||
show_comments: "mostrar comentarios"
|
||||
posted_a_new_photo_to: "a puesto una nueva foto en"
|
||||
new:
|
||||
new_photo: "Nueva Foto"
|
||||
back_to_list: "Devuelta a la lista"
|
||||
post_it: "post it!"
|
||||
create:
|
||||
runtime_error: "Photo upload failed. Are you sure that your seatbelt is fastened?"
|
||||
integrity_error: "Photo upload failed. Are you sure that was an image?"
|
||||
type_error: "Photo upload failed. Are you sure an image was added?"
|
||||
update:
|
||||
notice: "Photo successfully updated."
|
||||
error: "Failed to edit photo."
|
||||
destroy:
|
||||
notice: "Photo deleted."
|
||||
registrations:
|
||||
new:
|
||||
sign_up: "Registrate"
|
||||
create:
|
||||
success: "Esta registrado en Diaspora!"
|
||||
status_messages:
|
||||
new_status_message:
|
||||
tell_me_something_good: "dime algo bueno"
|
||||
oh_yeah: "oh yeah!"
|
||||
status_message:
|
||||
show_comments: "mostrar comentarios"
|
||||
delete: "Eliminar"
|
||||
are_you_sure: "Esta seguro?"
|
||||
show:
|
||||
status_message: "Mensaje de status"
|
||||
comments: "comentarios"
|
||||
are_you_sure: "Esta seguro?"
|
||||
destroy: "Destruir"
|
||||
view_all: "Ver Todos"
|
||||
message: "Mensaje"
|
||||
owner: "Dueño"
|
||||
helper:
|
||||
no_message_to_display: "No hay mensajes que mostrar."
|
||||
people:
|
||||
person:
|
||||
add_friend: "añadir amigo"
|
||||
pending_request: "petición pendiente"
|
||||
index:
|
||||
add_friend: "añadir amigo"
|
||||
real_name: "nombre real"
|
||||
diaspora_handle: "usuario en diaspora"
|
||||
thats_you: "ese eres tu!"
|
||||
friend_request_pending: "friend request pending"
|
||||
you_have_a_friend_request_from_this_person: "you have a friend request from this person"
|
||||
show:
|
||||
last_seen: "ultima vez visto: %{how_long_ago}"
|
||||
friends_since: "amigos desde: %{how_long_ago}"
|
||||
save: "guardar"
|
||||
are_you_sure: "Esta seguro?"
|
||||
remove_friend: "remover amigo"
|
||||
requests:
|
||||
new_request:
|
||||
add_a_new_friend_to: "Añade un nuevo amigo a "
|
||||
enter_a_diaspora_username: "Escribe el usuario de Diaspora:"
|
||||
your_diaspora_username_is: "Tu usuario de Diaspora es: %{diaspora_handle}"
|
||||
friends_username: "Usuario de amigo"
|
||||
destroy:
|
||||
success: "Ahora son amigos."
|
||||
error: "Seleccione un aspecto!"
|
||||
ignore: "Ignorar peticion de amistad"
|
||||
create:
|
||||
error: "No diaspora seed found with this email!"
|
||||
already_friends: "Ya eres amigo de %{destination_url}!"
|
||||
success: "Una peticion de amistad se envio a %{destination_url}."
|
||||
horribly_wrong: "Algo horriblemente mal sucedio"
|
||||
|
||||
@@ -2,28 +2,42 @@
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
|
||||
# Localization file for French. Add more files in this directory for other locales.
|
||||
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
||||
|
||||
fr:
|
||||
hello: "Bonjour tout le monde"
|
||||
application:
|
||||
helper:
|
||||
unknown_person: "unknown person"
|
||||
new_requests: "new requests"
|
||||
dashboards:
|
||||
helper:
|
||||
home: "home"
|
||||
error_messages:
|
||||
helper:
|
||||
invalid_fields: "Invalid Fields"
|
||||
correct_the_following_errors_and_try_again: "Correct the following errors and try again."
|
||||
people:
|
||||
helper:
|
||||
results_for: " resultados para %{params}"
|
||||
people_on_pod_are_aware_of: " gente en pod estan al tanto de "
|
||||
layouts:
|
||||
application:
|
||||
edit_profile: "éditer le profil"
|
||||
logout: "déconnexion"
|
||||
edit_profile: "Éditez votre profil"
|
||||
logout: "Déconnexion"
|
||||
shared:
|
||||
aspect_nav:
|
||||
all_aspects: "Tous les aspects"
|
||||
manage: "Gérer"
|
||||
manage_your_aspects: "Gérer vos aspects"
|
||||
all_aspects: "Tous les Aspects"
|
||||
manage: "Gérez"
|
||||
manage_your_aspects: "Gérez vos Aspects"
|
||||
sub_header:
|
||||
all_aspects: "Tous les aspects"
|
||||
manage_aspects: "Gérer les aspects"
|
||||
all_aspects: "Tous les Aspects"
|
||||
manage_aspects: "Gérez vos Aspects"
|
||||
publisher:
|
||||
share: "Partager"
|
||||
aspect_friends:
|
||||
add_friends: "ajouter des amis"
|
||||
add_friends: "Ajouter des amis"
|
||||
albums:
|
||||
album:
|
||||
you: "vous"
|
||||
@@ -38,12 +52,15 @@ fr:
|
||||
edit:
|
||||
editing: "Édition"
|
||||
updated: "mis à jour"
|
||||
are_you_sure: "Êtes-vous sûr ?"
|
||||
delete_album: "Supprimer l’album"
|
||||
are_you_sure: "Êtes-vous sûr?"
|
||||
delete_album: "Supprimer l'album"
|
||||
cancel: "Annuler"
|
||||
index:
|
||||
home: "accueil"
|
||||
new_album: "Nouvel album"
|
||||
helper:
|
||||
friends_albums: "Friends Albums"
|
||||
your_albums: "Your Albums"
|
||||
create:
|
||||
success: "Tu as créé un album nommé %{name}."
|
||||
update:
|
||||
@@ -58,9 +75,9 @@ fr:
|
||||
photos: "photos"
|
||||
manage:
|
||||
add_a_new_aspect: "Ajouter un nouvel aspect"
|
||||
add_a_new_friend: "Ajouter un nouvel ami"
|
||||
show: "Afficher"
|
||||
update_aspects: "Metre à jour les aspects"
|
||||
add_a_new_friend: "Ajouter un nouvel amis"
|
||||
show: "Voir"
|
||||
update_aspects: "Mettre à jour les aspects"
|
||||
requests: "Requêtes"
|
||||
ignore_remove: "Ignorer/Supprimer"
|
||||
new_aspect:
|
||||
@@ -140,4 +157,4 @@ fr:
|
||||
friends_since: "amis depuis : %{how_long_ago}"
|
||||
save: "sauvegarder"
|
||||
are_you_sure: "Êtes-vous sûr ?"
|
||||
remove_friend: "supprimer un ami"
|
||||
remove_friend: "supprimer un ami"
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
||||
|
||||
it:
|
||||
hello: "Ciao mondo!"
|
||||
hello: "Ciao Mondo"
|
||||
|
||||
139
config/locales/ro.yml
Normal file
139
config/locales/ro.yml
Normal file
@@ -0,0 +1,139 @@
|
||||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
ro:
|
||||
hello: "Bună, lume!"
|
||||
layouts:
|
||||
application:
|
||||
edit_profile: "editare profil"
|
||||
logout: "deconectare"
|
||||
shared:
|
||||
aspect_nav:
|
||||
all_aspects: "Toate Aspectele"
|
||||
manage: "Administrare"
|
||||
manage_your_aspects: "Administrare Aspecte"
|
||||
sub_header:
|
||||
all_aspects: "Toate Aspectele"
|
||||
manage_aspects: "Administrare Aspecte"
|
||||
publisher:
|
||||
share: "Distribuie"
|
||||
aspect_friends:
|
||||
add_friends: "adăugare prieteni"
|
||||
albums:
|
||||
album:
|
||||
you: "tu"
|
||||
new_album:
|
||||
create: "crează"
|
||||
add_a_new_album: "Album nou"
|
||||
show:
|
||||
edit_album: "Editare Album"
|
||||
albums: "albume"
|
||||
updated: "actualizat"
|
||||
by: "de"
|
||||
edit:
|
||||
editing: "Editare"
|
||||
updated: "actualizat"
|
||||
are_you_sure: "Sunteți sigur(ă)?"
|
||||
delete_album: "Șterge Album"
|
||||
cancel: "Renuță"
|
||||
index:
|
||||
home: "acasă"
|
||||
new_album: "Album Nou"
|
||||
create:
|
||||
success: "Ați creat un album numit %{name}."
|
||||
update:
|
||||
success: "Albumul %{name} a fost modificat cu succes."
|
||||
failure: "Eroare la editarea albumului %{name}."
|
||||
destroy:
|
||||
success: "Albumul %{name} a fost șters."
|
||||
aspects:
|
||||
index:
|
||||
photos: "poze"
|
||||
show:
|
||||
photos: "poze"
|
||||
manage:
|
||||
add_a_new_aspect: "Adaugă aspect"
|
||||
add_a_new_friend: "Adadugă prieten"
|
||||
show: "Arată"
|
||||
update_aspects: "Actualizează Aspecte"
|
||||
requests: "Cereri"
|
||||
ignore_remove: "Ignoră/Șterge"
|
||||
new_aspect:
|
||||
add_a_new_aspect: "Adaugă aspect"
|
||||
create: "Crează"
|
||||
create:
|
||||
success:"Click pe semnul plus în partea stângă pentru a indica cine poate accesa noul aspect."
|
||||
users:
|
||||
edit:
|
||||
cancel: "Renunță"
|
||||
update_profile: "Actualizează Profil"
|
||||
home: "Home"
|
||||
diaspora_username: "DIASPORA USERNAME"
|
||||
info: "Info"
|
||||
picture: "Poză"
|
||||
editing_profile: "Editare profil"
|
||||
albums: "Albume"
|
||||
you_dont_have_any_photos: "Nu ai nici o fotografie! Mergi la"
|
||||
page_to_upload_some: "pentru a încărca câteva."
|
||||
comments:
|
||||
comment:
|
||||
ago: "în urmă"
|
||||
new_comment:
|
||||
comment: "Comentariu"
|
||||
photos:
|
||||
show:
|
||||
prev: "precedent"
|
||||
full_size: "mărime deplină"
|
||||
next: "următor"
|
||||
edit_photo: "Modifică Poză"
|
||||
delete_photo: "Șterge Poză"
|
||||
are_you_sure: "Sunteți sigur(ă)?"
|
||||
comments: "comments"
|
||||
edit:
|
||||
editing: "Modificare"
|
||||
are_you_sure: "Sunteți sigur(ă)?"
|
||||
delete_photo: "Șterge poză"
|
||||
photo:
|
||||
show_comments: "arată comentarii"
|
||||
posted_a_new_photo_to: "a postat o nouă poză în"
|
||||
new:
|
||||
new_photo: "Poză nouă"
|
||||
back_to_list: "Înapoi la Listă"
|
||||
post_it: "postează!"
|
||||
registrations:
|
||||
new:
|
||||
sign_up: "Înregistrare"
|
||||
status_messages:
|
||||
new_status_message:
|
||||
tell_me_something_good: "spune-mi ceva bun"
|
||||
oh_yeah: "o, da!"
|
||||
status_message:
|
||||
show_comments: "arată comentarii"
|
||||
delete: "Șterge"
|
||||
are_you_sure: "Sunteți sigur(ă)?"
|
||||
show:
|
||||
status_message: "Mesaj Stare"
|
||||
comments: "comentarii"
|
||||
are_you_sure: "Sunteți sigur(ă)?"
|
||||
destroy: "Distruge"
|
||||
view_all: "Vezi Toate"
|
||||
message: "Mesaj"
|
||||
owner: "Proprietar"
|
||||
people:
|
||||
index:
|
||||
add_friend: "adaugă prieten"
|
||||
real_name: "nume real"
|
||||
diaspora_handle: "diaspora id"
|
||||
thats_you: "acesta ești tu!"
|
||||
friend_request_pending: "cerere de prietenie nerezolvată"
|
||||
you_have_a_friend_request_from_this_person: "aveți o cerere de prietenie din partea acestei persoane"
|
||||
new:
|
||||
new_person: "Persoană Nouă"
|
||||
back_to_list: "Înapoi la Listă"
|
||||
show:
|
||||
last_seen: "văzut: %{how_long_ago}"
|
||||
friends_since: "prieteni: %{how_long_ago}"
|
||||
save: "salvează"
|
||||
are_you_sure: "Sunteți sigur(ă)?"
|
||||
remove_friend: "șterge prieten"
|
||||
@@ -7,7 +7,7 @@
|
||||
Diaspora::Application.routes.draw do
|
||||
resources :people, :only => [:index, :show, :destroy]
|
||||
resources :users, :except => [:create, :new, :show]
|
||||
resources :status_messages, :only => [:create, :destroy, :show]
|
||||
resources :status_messages
|
||||
resources :comments, :except => [:index]
|
||||
resources :requests, :except => [:edit, :update]
|
||||
resources :photos, :except => [:index]
|
||||
|
||||
@@ -42,7 +42,7 @@ def create
|
||||
end
|
||||
|
||||
def set_app_config username
|
||||
current_config = YAML.load(File.read(Rails.root.join('config', 'app_config_example.yml')))
|
||||
current_config = YAML.load(File.read(Rails.root.join('config', 'app_config.yml.example')))
|
||||
current_config[Rails.env.to_s] ||= {}
|
||||
current_config[Rails.env.to_s]['pod_url'] = "#{username}.joindiaspora.com"
|
||||
current_config['default']['pod_url'] = "#{username}.joindiaspora.com"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
require 'config/environment'
|
||||
|
||||
def set_app_config username
|
||||
current_config = YAML.load(File.read(Rails.root.join('config', 'app_config_example.yml')))
|
||||
current_config = YAML.load(File.read(Rails.root.join('config', 'app_config.yml.example')))
|
||||
current_config[Rails.env.to_s] ||= {}
|
||||
current_config[Rails.env.to_s]['pod_url'] = "#{username}.joindiaspora.com"
|
||||
current_config['default']['pod_url'] = "#{username}.joindiaspora.com"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
require 'config/environment'
|
||||
|
||||
def set_app_config username
|
||||
current_config = YAML.load(File.read(Rails.root.join('config', 'app_config_example.yml')))
|
||||
current_config = YAML.load(File.read(Rails.root.join('config', 'app_config.yml.example')))
|
||||
current_config[Rails.env.to_s] ||= {}
|
||||
current_config[Rails.env.to_s]['pod_url'] = "#{username}.joindiaspora.com"
|
||||
current_config['default']['pod_url'] = "#{username}.joindiaspora.com"
|
||||
|
||||
@@ -8,6 +8,9 @@ module Diaspora
|
||||
module UserModules
|
||||
module Friending
|
||||
def send_friend_request_to(desired_friend, aspect)
|
||||
# should have different exception types for these?
|
||||
raise "You have already sent a friend request to that person!" if self.pending_requests.detect{
|
||||
|x| x.destination_url == desired_friend.receive_url }
|
||||
raise "You are already friends with that person!" if self.friends.detect{
|
||||
|x| x.receive_url == desired_friend.receive_url}
|
||||
request = Request.instantiate(
|
||||
|
||||
@@ -58,19 +58,13 @@ namespace :db do
|
||||
task :fix_diaspora_handle do
|
||||
puts "fixing the people in this seed"
|
||||
require 'config/environment'
|
||||
|
||||
people = Person.all( '$where' => "function(){
|
||||
return this.diaspora_handle.charAt(this.diaspora_handle.length-1) == '@'
|
||||
}")
|
||||
|
||||
puts "Found #{people.count} people with broken diaspora_handle fields"
|
||||
people.each do |person|
|
||||
Person.where(:url => 'example.org').all.each{|person|
|
||||
if person.owner
|
||||
puts "Resetting diaspora handle for #{person.owner.username}"
|
||||
person.url = APP_CONFIG[:pod_url]
|
||||
person.diaspora_handle = person.owner.diaspora_handle
|
||||
person.save
|
||||
person.save
|
||||
end
|
||||
end
|
||||
}
|
||||
puts "everything should be peachy"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -41,6 +41,12 @@ $(document).ready(function(){
|
||||
}
|
||||
);
|
||||
|
||||
$("#publisher textarea").keydown( function(e) {
|
||||
if (e.shiftKey && e.keyCode == 13) {
|
||||
$("#publisher form").submit();
|
||||
}
|
||||
});
|
||||
|
||||
});//end document ready
|
||||
|
||||
|
||||
|
||||
@@ -171,6 +171,41 @@ li.message {
|
||||
li.message .content div.info .time a {
|
||||
color: #666666; }
|
||||
|
||||
.reshare_pane {
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
display: inline;
|
||||
position: relative; }
|
||||
.reshare_pane ul.reshare_box {
|
||||
width: 150px;
|
||||
display: none;
|
||||
z-index: 10;
|
||||
position: absolute;
|
||||
margin-top: 5px;
|
||||
padding: 0;
|
||||
background-color: #fafafa;
|
||||
list-style: none;
|
||||
border: 5px solid #666666;
|
||||
-webkit-box-shadow: 0 0 5px #666666;
|
||||
-moz-box-shadow: 0 0 5px #666666;
|
||||
text-shadow: 0 2px white;
|
||||
color: black; }
|
||||
.reshare_pane ul.reshare_box > li {
|
||||
font-weight: bold;
|
||||
padding: 8px;
|
||||
padding-right: 15px;
|
||||
border-top: 1px solid white;
|
||||
border-bottom: 1px solid #cccccc; }
|
||||
.reshare_pane ul.reshare_box > li:first-child {
|
||||
border-top: none; }
|
||||
.reshare_pane ul.reshare_box > li:last-child {
|
||||
border-bottom: none; }
|
||||
.reshare_pane ul.reshare_box > li a {
|
||||
display: block;
|
||||
height: 100%; }
|
||||
.reshare_pane ul.reshare_box > li a:hover {
|
||||
background-color: #eeeeee; }
|
||||
|
||||
form {
|
||||
position: relative;
|
||||
font-size: 120%;
|
||||
@@ -270,6 +305,9 @@ ul.comment_set {
|
||||
.destroy_link a, .request_button a {
|
||||
color: #999999;
|
||||
font-weight: normal; }
|
||||
.destroy_link a:hover, .request_button a:hover {
|
||||
text-decoration: underline;
|
||||
background: none; }
|
||||
|
||||
.destroy_link {
|
||||
display: none;
|
||||
|
||||
@@ -225,6 +225,59 @@ li.message
|
||||
a
|
||||
:color #666
|
||||
|
||||
.reshare_pane
|
||||
:margin
|
||||
:left 5px
|
||||
:right 5px
|
||||
:display inline
|
||||
:position relative
|
||||
|
||||
ul.reshare_box
|
||||
:width 150px
|
||||
:display none
|
||||
:z-index 10
|
||||
:position absolute
|
||||
:margin
|
||||
:top 5px
|
||||
:padding 0
|
||||
|
||||
:background
|
||||
:color #fafafa
|
||||
|
||||
:list
|
||||
:style none
|
||||
|
||||
:border 5px solid #666
|
||||
:-webkit-box-shadow 0 0 5px #666
|
||||
:-moz-box-shadow 0 0 5px #666
|
||||
|
||||
:text-shadow 0 2px #fff
|
||||
:color #000
|
||||
|
||||
> li
|
||||
:font
|
||||
:weight bold
|
||||
|
||||
:padding 8px
|
||||
:right 15px
|
||||
:border
|
||||
:top 1px solid #fff
|
||||
:bottom 1px solid #ccc
|
||||
|
||||
&:first-child
|
||||
:border
|
||||
:top none
|
||||
&:last-child
|
||||
:border
|
||||
:bottom none
|
||||
a
|
||||
:display block
|
||||
:height 100%
|
||||
|
||||
&:hover
|
||||
:background
|
||||
:color #eee
|
||||
|
||||
|
||||
form
|
||||
:position relative
|
||||
@@ -360,6 +413,10 @@ ul.comment_set
|
||||
:color #999
|
||||
:font
|
||||
:weight normal
|
||||
&:hover
|
||||
:text
|
||||
:decoration underline
|
||||
:background none
|
||||
|
||||
.destroy_link
|
||||
:display none
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
require File.dirname(__FILE__) + '/../spec_helper'
|
||||
|
||||
class SocketsController
|
||||
SocketsController.class_eval <<-EOT
|
||||
def url_options
|
||||
{:host => ""}
|
||||
end
|
||||
end
|
||||
EOT
|
||||
|
||||
describe SocketsController do
|
||||
render_views
|
||||
|
||||
@@ -24,7 +24,7 @@ describe Person do
|
||||
|
||||
context 'remote people' do
|
||||
it 'stores the diaspora_handle in the database' do
|
||||
@person.diaspora_handle.include?(@user.terse_url).should be false
|
||||
@person.diaspora_handle.include?(APP_CONFIG[:terse_pod_url]).should be false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -64,6 +64,16 @@ describe User do
|
||||
aspect1.posts.count.should be 1
|
||||
end
|
||||
end
|
||||
|
||||
describe '#update_post' do
|
||||
let!(:album) { user.post(:album, :name => "Profile Photos", :to => aspect.id) }
|
||||
|
||||
it 'should update fields' do
|
||||
update_hash = { :name => "Other Photos" }
|
||||
user.update_post( album, update_hash )
|
||||
album.name.should == "Other Photos"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'dispatching' do
|
||||
|
||||
@@ -7,54 +7,41 @@
|
||||
require File.dirname(__FILE__) + '/../spec_helper'
|
||||
|
||||
describe User do
|
||||
before do
|
||||
@user = Factory.create(:user)
|
||||
@aspect = @user.aspect(:name => 'heroes')
|
||||
end
|
||||
let(:user) { Factory(:user) }
|
||||
let(:aspect) { user.aspect(:name => 'heroes') }
|
||||
|
||||
describe '#diaspora_handle' do
|
||||
it 'uses the pod config url to set the diaspora_handle' do
|
||||
@user.diaspora_handle.should == @user.username + "@example.org"
|
||||
user.diaspora_handle.should == user.username + "@example.org"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
describe 'profiles' do
|
||||
context 'profiles' do
|
||||
it 'should be able to update their profile and send it to their friends' do
|
||||
Factory.create(:person)
|
||||
updated_profile = { :profile => {
|
||||
:first_name => 'bob',
|
||||
:last_name => 'billytown',
|
||||
:image_url => "http://clown.com"} }
|
||||
|
||||
updated_profile = {:profile => {:first_name => 'bob', :last_name => 'billytown', :image_url => "http://clown.com"}}
|
||||
|
||||
@user.update_profile(updated_profile).should == true
|
||||
@user.profile.image_url.should == "http://clown.com"
|
||||
user.update_profile(updated_profile).should be true
|
||||
user.profile.image_url.should == "http://clown.com"
|
||||
end
|
||||
end
|
||||
|
||||
describe 'aspects' do
|
||||
it 'should delete an empty aspect' do
|
||||
@user.aspects.include?(@aspect).should == true
|
||||
@user.drop_aspect(@aspect)
|
||||
@user.reload
|
||||
context 'aspects' do
|
||||
let(:user2) { Factory(:user) }
|
||||
let(:aspect2) { user2.aspect(:name => 'stuff') }
|
||||
|
||||
@user.aspects.include?(@aspect).should == false
|
||||
it 'should delete an empty aspect' do
|
||||
user.drop_aspect(aspect)
|
||||
user.aspects.include?(aspect).should == false
|
||||
end
|
||||
|
||||
it 'should not delete an aspect with friends' do
|
||||
user2 = Factory.create(:user)
|
||||
aspect2 = user2.aspect(:name => 'stuff')
|
||||
user2.reload
|
||||
aspect2.reload
|
||||
|
||||
friend_users(@user, Aspect.find_by_id(@aspect.id), user2, Aspect.find_by_id(aspect2.id))
|
||||
@aspect.reload
|
||||
|
||||
@user.aspects.include?(@aspect).should == true
|
||||
|
||||
proc{@user.drop_aspect(@aspect)}.should raise_error /Aspect not empty/
|
||||
|
||||
@user.reload
|
||||
@user.aspects.include?(@aspect).should == true
|
||||
friend_users(user, Aspect.find_by_id(aspect.id), user2, Aspect.find_by_id(aspect2.id))
|
||||
aspect.reload
|
||||
proc{user.drop_aspect(aspect)}.should raise_error /Aspect not empty/
|
||||
user.aspects.include?(aspect).should == true
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user