multi-language-date 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/multi_language_date.rb +54 -0
  2. metadata +50 -0
@@ -0,0 +1,54 @@
1
+ require 'date'
2
+ class MultiLanguageDate
3
+ def self.change(language = "english" , date = Date.today, format = "B" )
4
+ begin
5
+ date = Date.parse(date.to_s)
6
+ rescue
7
+ puts "Invalid Date"
8
+ end
9
+ translator = Translator.new(language, date, format)
10
+ puts translator.change
11
+ end
12
+ end
13
+
14
+ class MultiLanguageDate::Translator
15
+ def initialize(language, date, format)
16
+ @language = language.downcase
17
+ @date = date
18
+ @format = format
19
+ end
20
+
21
+ def change
22
+ case @language
23
+
24
+ when "dutch"
25
+ months = Array.new
26
+ months= @format == "b" ? ["", "jan","feb","maart","apr","mei","juni","juli","aug","sept","okt","nov","dec"] : ["", "Januari","februari","maart","april","mei","juni","juli","augustus","september","october","november","december"]
27
+ return @date.strftime('%d') + " " + months[@date.strftime('%m').to_i] + " " + @date.strftime('%Y')
28
+
29
+ when "french"
30
+ months = @format == "b" ? ["", "jan","f\303\251v","mar","avr","mai","juin","juil","ao\303\273t","sept","oct","nov","d\303\251c"] : ["", "janvier","f\303\251vrier","mars","avril","mai","juin","juillet","ao\303\273t","septembre","octobre","novembre","d\303\251cembre"]
31
+ return @date.strftime('%d') + " " + months[@date.strftime('%m').to_i] + " " + @date.strftime('%Y')
32
+
33
+ when "spanish"
34
+ months = @format == "b" ? ["", "enero","feb","marzo","abr","mayo","jun","jul","agosto","sept","oct","nov","dic"] : ["", "enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]
35
+ return @date.strftime('%d') + " " + months[@date.strftime('%m').to_i] + " " + @date.strftime('%Y')
36
+
37
+ when "german"
38
+ months = @format == "b" ? ["", "j\303\244n","feb","m\303\244rz","apr","mai","juni","juli","aug","sept","okt","nov","dez"] : ["", "januar","februar","m\303\244rz","april","mai","juni","juli","august","september","oktober","november","dezember"]
39
+ return @date.strftime('%d') + " " + months[@date.strftime('%m').to_i] + " " + @date.strftime('%Y')
40
+
41
+ when "danish"
42
+ months = @format == "b" ? ["", "jan","febr","marts","april","maj","juni","juli","aug","sept","okt","nov","dec"] : ["", "januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"]
43
+ return @date.strftime('%d') + " " + months[@date.strftime('%m').to_i] + " " + @date.strftime('%Y')
44
+
45
+ when "italian"
46
+ months = @format == "b" ? ["", "genn","febbr","mar","apr","magg","giugno","luglio","ag","sett","ott","nov","dic"] : ["", "gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]
47
+ return @date.strftime('%d') + " " + months[@date.strftime('%m').to_i] + " " + @date.strftime('%Y')
48
+
49
+ else
50
+ months = @format == "b" ? ["", "jan","feb","mar","apr","may","jun","july","aug","sept","oct","nov","dec"] : ["", "january","february","march","april","may","jun","jul","august","september","october","november","december"]
51
+ return @date.strftime('%d') + " " + months[@date.strftime('%m').to_i] + " " + @date.strftime('%Y')
52
+ end
53
+ end
54
+ end
metadata ADDED
@@ -0,0 +1,50 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: multi-language-date
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Akeel Qureshi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-05-05 00:00:00.000000000Z
13
+ dependencies: []
14
+ description: The first parameter will be language of your choice , second parameter
15
+ will be your date and the last one will be the format , we have 2 predefied formats
16
+ either 'b' or 'B', Pass lowercase 'b' or 'B' to format your date as per your requirement
17
+ for example 'MultiLanguageDate.change('dutch', '25/02/2012', 'B')' and the output
18
+ will be '25 februari 2012' default language will be english and default format will
19
+ take the current date
20
+ email: akeel.q@cisinlabs.com
21
+ executables: []
22
+ extensions: []
23
+ extra_rdoc_files: []
24
+ files:
25
+ - lib/multi_language_date.rb
26
+ homepage: http://rubygems.org/gems/multi-language-date
27
+ licenses: []
28
+ post_install_message:
29
+ rdoc_options: []
30
+ require_paths:
31
+ - lib
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ required_rubygems_version: !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ requirements: []
45
+ rubyforge_project:
46
+ rubygems_version: 1.8.18
47
+ signing_key:
48
+ specification_version: 3
49
+ summary: Change date in different languages
50
+ test_files: []