wysiwyg-rails 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +26 -1
  3. data/app/assets/javascripts/froala_editor.min.js +5 -5
  4. data/app/assets/javascripts/froala_editor_ie8.min.js +5 -0
  5. data/app/assets/javascripts/langs/ar.js +88 -0
  6. data/app/assets/javascripts/langs/cs.js +88 -0
  7. data/app/assets/javascripts/langs/da.js +88 -0
  8. data/app/assets/javascripts/langs/de.js +88 -0
  9. data/app/assets/javascripts/langs/en_ca.js +88 -0
  10. data/app/assets/javascripts/langs/en_gb.js +88 -0
  11. data/app/assets/javascripts/langs/en_us.js +88 -0
  12. data/app/assets/javascripts/langs/es.js +88 -0
  13. data/app/assets/javascripts/langs/fa.js +88 -0
  14. data/app/assets/javascripts/langs/fi.js +88 -0
  15. data/app/assets/javascripts/langs/fr.js +88 -0
  16. data/app/assets/javascripts/langs/hu.js +88 -0
  17. data/app/assets/javascripts/langs/id.js +88 -0
  18. data/app/assets/javascripts/langs/it.js +88 -0
  19. data/app/assets/javascripts/langs/ja.js +88 -0
  20. data/app/assets/javascripts/langs/ko.js +88 -0
  21. data/app/assets/javascripts/langs/nb.js +88 -0
  22. data/app/assets/javascripts/langs/nl.js +88 -0
  23. data/app/assets/javascripts/langs/pl.js +88 -0
  24. data/app/assets/javascripts/langs/pt_br.js +88 -0
  25. data/app/assets/javascripts/langs/pt_pt.js +88 -0
  26. data/app/assets/javascripts/langs/ro.js +88 -0
  27. data/app/assets/javascripts/langs/ru.js +88 -0
  28. data/app/assets/javascripts/langs/sv.js +88 -0
  29. data/app/assets/javascripts/langs/th.js +88 -0
  30. data/app/assets/javascripts/langs/tr.js +88 -0
  31. data/app/assets/javascripts/langs/zh_cn.js +88 -0
  32. data/app/assets/javascripts/langs/zh_tw.js +88 -0
  33. data/app/assets/javascripts/libs/beautify/beautify-css.js +384 -0
  34. data/app/assets/javascripts/libs/beautify/beautify-html.js +840 -0
  35. data/app/assets/javascripts/libs/beautify/beautify.js +1737 -0
  36. data/app/assets/javascripts/plugins/block_styles.min.js +5 -0
  37. data/app/assets/javascripts/plugins/colors.min.js +5 -0
  38. data/app/assets/javascripts/plugins/fonts/font_family.min.js +5 -0
  39. data/app/assets/javascripts/plugins/fonts/font_size.min.js +5 -0
  40. data/app/assets/javascripts/plugins/fonts/fonts.min.js +5 -0
  41. data/app/assets/javascripts/plugins/media_manager.min.js +5 -0
  42. data/app/assets/javascripts/plugins/tables.min.js +5 -0
  43. data/app/assets/javascripts/plugins/video.min.js +5 -0
  44. data/app/assets/stylesheets/froala_editor.min.css +2 -2
  45. data/app/assets/stylesheets/themes/dark.min.css +4 -0
  46. data/lib/wysiwyg-rails/version.rb +1 -1
  47. metadata +46 -5
@@ -0,0 +1,88 @@
1
+ /*!
2
+ * froala_editor v1.1.6 (http://editor.froala.com)
3
+ * Copyright 2014-2014 Froala
4
+ */
5
+
6
+ /**
7
+ * Swedish
8
+ */
9
+
10
+ $.Editable.LANGS['sv'] = {
11
+ translation: {
12
+ "Bold": "Fetstil",
13
+ "Italic": "Kursiv stil",
14
+ "Underline": "Understruken",
15
+ "Strikethrough": "Genomstruken",
16
+ "Font Size": "Storlek",
17
+ "Color": "F\u00e4rg",
18
+ "Background Color": "Bakgrundsf\u00e4rg",
19
+ "Text Color": "Textf\u00e4rg",
20
+ "Format Block": "Format",
21
+ "Normal": "Normal",
22
+ "Paragraph": "Br\u00f6dtext",
23
+ "Code": "Kod",
24
+ "Quote": "Blockcitat",
25
+ "Heading 1": "Rubrik 1",
26
+ "Heading 2": "Rubrik 2",
27
+ "Heading 3": "Rubrik 3",
28
+ "Heading 4": "Rubrik 4",
29
+ "Heading 5": "Rubrik 5",
30
+ "Heading 6": "Rubrik 6",
31
+ "Alignment": "Justering",
32
+ "Align Left": "V\u00e4nsterst\u00e4ll",
33
+ "Align Center": "Centrera",
34
+ "Align Right": "H\u00f6gerst\u00e4ll",
35
+ "Justify": "Justera",
36
+ "Numbered List": "Nummerlista",
37
+ "Bulleted List": "Punktlista",
38
+ "Indent Less": "Minska indrag",
39
+ "Indent More": "\u00d6ka indrag",
40
+ "Select All": "Markera allt",
41
+ "Insert Link": "Infoga l\u00e4nk",
42
+ "Insert Image": "Infoga bild",
43
+ "Insert Video": "Infoga video",
44
+ "Undo": "\u00c5ngra",
45
+ "Redo": "G\u00f6r om",
46
+ "Show HTML": "Visa HTML",
47
+ "Float Left": "V\u00e4nster",
48
+ "Float None": "Ingen",
49
+ "Float Right": "H\u00f6ger",
50
+ "Replace Image": "Ers\u00e4tt bild",
51
+ "Remove Image": "Ta bort bild",
52
+ "Title": "Titel",
53
+ "Insert image": "Infoga bild",
54
+ "Drop image": "Sl\u00e4ppa bild",
55
+ "or click": "eller klicka",
56
+ "Enter URL": "Ange URL",
57
+ "Please wait!": "V\u00e4nta!",
58
+ "Are you sure? Image will be deleted.": "\u00c4r du s\u00e4ker? Bild kommer att raderas.",
59
+ "UNLINK": "Ta bort l\u00e4nk",
60
+ "Open in new tab": "\u00d6ppna i ny flik",
61
+ "Type something": "Ange n\u00e5got",
62
+ "Cancel": "Avbryt",
63
+ "OK": "Ok",
64
+ "Manage images": "Hantera bilder",
65
+ "Delete": "Radera",
66
+ "Font Family": "Teckensnitt",
67
+ "Insert Horizontal Line": "Infoga horisontell linje",
68
+ "Table": "Tabell",
69
+ "Insert table": "Infoga tabell",
70
+ "Cell": "Cell",
71
+ "Row": "Rad",
72
+ "Column": "Kolumn",
73
+ "Delete table": "Radera tabell",
74
+ "Insert cell before": "Infoga cell innan",
75
+ "Insert cell after": "Infoga cell efter",
76
+ "Delete cell": "Radera cell",
77
+ "Merge cells": "Sammanfoga celler",
78
+ "Horizontal split": "Horisontell split",
79
+ "Vertical split": "Vertikal split",
80
+ "Insert row above": "Infoga rad f\u00f6re",
81
+ "Insert row below": "Infoga rad efter",
82
+ "Delete row": "Radera rad",
83
+ "Insert column before": "Infoga kollumn f\u00f6re",
84
+ "Insert column after": "Infoga kolumn efter",
85
+ "Delete column": "Radera kolumn"
86
+ },
87
+ direction: "ltr"
88
+ };
@@ -0,0 +1,88 @@
1
+ /*!
2
+ * froala_editor v1.1.6 (http://editor.froala.com)
3
+ * Copyright 2014-2014 Froala
4
+ */
5
+
6
+ /**
7
+ * Thai
8
+ */
9
+
10
+ $.Editable.LANGS['th'] = {
11
+ translation: {
12
+ "Bold": "\u0e15\u0e31\u0e27\u0e2b\u0e19\u0e32",
13
+ "Italic": "\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e35\u0e22\u0e07",
14
+ "Underline": "\u0e02\u0e35\u0e14\u0e40\u0e2a\u0e49\u0e19\u0e43\u0e15\u0e49",
15
+ "Strikethrough": "\u0e02\u0e35\u0e14\u0e17\u0e31\u0e1a",
16
+ "Font Size": "\u0e02\u0e19\u0e32\u0e14\u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e01\u0e29\u0e23",
17
+ "Color": "\u0e2a\u0e35",
18
+ "Background Color": "\u0e2a\u0e35\u0e1e\u0e37\u0e49\u0e19\u0e2b\u0e25\u0e31\u0e07",
19
+ "Text Color": "\u0e2a\u0e35\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
20
+ "Format Block": "\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a",
21
+ "Normal": "\u0e1b\u0e01\u0e15\u0e34",
22
+ "Paragraph": "\u0e22\u0e48\u0e2d\u0e2b\u0e19\u0e49\u0e32",
23
+ "Code": "\u0e42\u0e04\u0e49\u0e14",
24
+ "Quote": "\u0e01\u0e32\u0e23\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07",
25
+ "Heading 1": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 1",
26
+ "Heading 2": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 2",
27
+ "Heading 3": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 3",
28
+ "Heading 4": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 4",
29
+ "Heading 5": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 5",
30
+ "Heading 6": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 6",
31
+ "Alignment": "\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e41\u0e19\u0e27",
32
+ "Align Left": "\u0e08\u0e31\u0e14\u0e0a\u0e34\u0e14\u0e0b\u0e49\u0e32\u0e22",
33
+ "Align Center": "\u0e08\u0e31\u0e14\u0e01\u0e36\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07",
34
+ "Align Right": "\u0e08\u0e31\u0e14\u0e0a\u0e34\u0e14\u0e02\u0e27\u0e32",
35
+ "Justify": "\u0e40\u0e15\u0e47\u0e21\u0e41\u0e19\u0e27",
36
+ "Numbered List": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e25\u0e02",
37
+ "Bulleted List": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d\u0e22\u0e48\u0e2d\u0e22",
38
+ "Indent Less": "\u0e25\u0e14\u0e01\u0e32\u0e23\u0e40\u0e22\u0e37\u0e49\u0e2d\u0e07",
39
+ "Indent More": "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e22\u0e37\u0e49\u0e2d\u0e07",
40
+ "Select All": "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14",
41
+ "Insert Link": "\u0e41\u0e17\u0e23\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c",
42
+ "Insert Image": "\u0e41\u0e17\u0e23\u0e01\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e",
43
+ "Insert Video": "\u0e41\u0e17\u0e23\u0e01\u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d",
44
+ "Undo": "\u0e40\u0e25\u0e34\u0e01\u0e17\u0e33",
45
+ "Redo": "\u0e17\u0e4d\u0e32\u0e0b\u0e49\u0e33",
46
+ "Show HTML": "\u0e41\u0e2a\u0e14\u0e07 HTML",
47
+ "Float Left": "\u0e0b\u0e49\u0e32\u0e22",
48
+ "Float None": "\u0e44\u0e21\u0e48\u0e21\u0e35",
49
+ "Float Right": "\u0e02\u0e27\u0e32",
50
+ "Replace Image": "\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e20\u0e32\u0e1e",
51
+ "Remove Image": "\u0e25\u0e1a\u0e20\u0e32\u0e1e",
52
+ "Title": "\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07",
53
+ "Insert image": "\u0e41\u0e17\u0e23\u0e01\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e",
54
+ "Drop image": "\u0e27\u0e32\u0e07\u0e20\u0e32\u0e1e",
55
+ "or click": "\u0e2b\u0e23\u0e37\u0e2d\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48",
56
+ "Enter URL": "\u0e1b\u0e49\u0e2d\u0e19 URL",
57
+ "Please wait!": "\u0e01\u0e23\u0e38\u0e13\u0e32\u0e23\u0e2d\u0e2a\u0e31\u0e01\u0e04\u0e23\u0e39\u0e48!",
58
+ "Are you sure? Image will be deleted.": "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 \u0e20\u0e32\u0e1e\u0e08\u0e30\u0e16\u0e39\u0e01\u0e25\u0e1a",
59
+ "UNLINK": "\u0e40\u0e2d\u0e32\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e2d\u0e2d\u0e01",
60
+ "Open in new tab": "\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e19\u0e41\u0e17\u0e47\u0e1a\u0e43\u0e2b\u0e21\u0e48",
61
+ "Type something": "\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e1a\u0e32\u0e07\u0e2a\u0e34\u0e48\u0e07\u0e1a\u0e32\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07",
62
+ "Cancel": "\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01",
63
+ "OK": "\u0e15\u0e01\u0e25\u0e07",
64
+ "Manage images": "\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e20\u0e32\u0e1e",
65
+ "Delete": "\u0e25\u0e1a",
66
+ "Font Family": "\u0e15\u0e23\u0e30\u0e01\u0e39\u0e25\u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e01\u0e29\u0e23",
67
+ "Insert Horizontal Line": "\u0e41\u0e17\u0e23\u0e01\u0e40\u0e2a\u0e49\u0e19\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19",
68
+ "Table": "\u0e15\u0e32\u0e23\u0e32\u0e07",
69
+ "Insert table": "\u0e41\u0e17\u0e23\u0e01\u0e15\u0e32\u0e23\u0e32\u0e07",
70
+ "Cell": "\u0e40\u0e0b\u0e25\u0e25\u0e4c",
71
+ "Row": "\u0e41\u0e16\u0e27",
72
+ "Column": "\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c",
73
+ "Delete table": "\u0e25\u0e1a\u0e15\u0e32\u0e23\u0e32\u0e07",
74
+ "Insert cell before": "\u0e43\u0e2a\u0e48\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e01\u0e48\u0e2d\u0e19",
75
+ "Insert cell after": "\u0e43\u0e2a\u0e48\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01",
76
+ "Delete cell": "\u0e25\u0e1a\u0e40\u0e0b\u0e25\u0e25\u0e4c",
77
+ "Merge cells": "\u0e1c\u0e2a\u0e32\u0e19\u0e40\u0e0b\u0e25\u0e25\u0e4c",
78
+ "Horizontal split": "\u0e41\u0e22\u0e01\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19",
79
+ "Vertical split": "\u0e41\u0e22\u0e01\u0e43\u0e19\u0e41\u0e19\u0e27\u0e15\u0e31\u0e49\u0e07",
80
+ "Insert row above": "\u0e41\u0e17\u0e23\u0e01\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19",
81
+ "Insert row below": "\u0e41\u0e17\u0e23\u0e01\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07",
82
+ "Delete row": "\u0e25\u0e1a\u0e41\u0e16\u0e27",
83
+ "Insert column before": "\u0e41\u0e17\u0e23\u0e01\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e02\u0e49\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32",
84
+ "Insert column after": "\u0e41\u0e17\u0e23\u0e01\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e02\u0e49\u0e32\u0e07\u0e2b\u0e25\u0e31\u0e07",
85
+ "Delete column": "\u0e25\u0e1a\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c"
86
+ },
87
+ direction: "ltr"
88
+ };
@@ -0,0 +1,88 @@
1
+ /*!
2
+ * froala_editor v1.1.6 (http://editor.froala.com)
3
+ * Copyright 2014-2014 Froala
4
+ */
5
+
6
+ /**
7
+ * Turkish
8
+ */
9
+
10
+ $.Editable.LANGS['tr'] = {
11
+ translation: {
12
+ "Bold": "Kal\u0131n",
13
+ "Italic": "\u0130talik",
14
+ "Underline": "Alt\u0131 \u00e7izili",
15
+ "Strikethrough": "\u00dcst\u00fc \u00e7izili",
16
+ "Font Size": "Yaz\u0131tipi B\u00fcy\u00fckl\u00fc\u011f\u00fc",
17
+ "Color": "Rengi",
18
+ "Background Color": "Arkaplan rengi",
19
+ "Text Color": "Yaz\u0131 rengi",
20
+ "Format Block": "Bi\u00e7imler",
21
+ "Normal": "Normal",
22
+ "Paragraph": "Paragraf",
23
+ "Code": "Kod",
24
+ "Quote": "Al\u0131nt\u0131",
25
+ "Heading 1": "Ba\u015fl\u0131k 1",
26
+ "Heading 2": "Ba\u015fl\u0131k 2",
27
+ "Heading 3": "Ba\u015fl\u0131k 3",
28
+ "Heading 4": "Ba\u015fl\u0131k 4",
29
+ "Heading 5": "Ba\u015fl\u0131k 5",
30
+ "Heading 6": "Ba\u015fl\u0131k 6",
31
+ "Alignment": "Hizalama",
32
+ "Align Left": "Sola hizala",
33
+ "Align Center": "Ortala",
34
+ "Align Right": "Sa\u011fa hizala",
35
+ "Justify": "\u0130ki yana yasla",
36
+ "Numbered List": "S\u0131ral\u0131 liste",
37
+ "Bulleted List": "S\u0131ras\u0131z liste",
38
+ "Indent Less": "Girintiyi azalt",
39
+ "Indent More": "Girintiyi art\u0131r",
40
+ "Select All": "T\u00fcm\u00fcn\u00fc se\u00e7",
41
+ "Insert Link": "Ba\u011flant\u0131 ekle",
42
+ "Insert Image": "Resim ekle",
43
+ "Insert Video": "Video ekle",
44
+ "Undo": "Geri Al",
45
+ "Redo": "Yinele",
46
+ "Show HTML": "G\u00f6ster HTML",
47
+ "Float Left": "Sol",
48
+ "Float None": "Hi\u00e7biri",
49
+ "Float Right": "Sa\u011f",
50
+ "Replace Image": "Resim de\u011fi\u015ftirmek",
51
+ "Remove Image": "Resim kald\u0131r",
52
+ "Title": "Ba\u015fl\u0131k",
53
+ "Insert image": "Resim ekle",
54
+ "Drop image": "B\u0131rak resim",
55
+ "or click": "ya da t\u0131klay\u0131n",
56
+ "Enter URL": "URL'yi girin",
57
+ "Please wait!": "L\u00fctfen bekleyin!",
58
+ "Are you sure? Image will be deleted.": "Emin misin? Resim silinecektir.",
59
+ "UNLINK": "Ba\u011flant\u0131y\u0131 kald\u0131r",
60
+ "Open in new tab": "Yeni sekmede a\u00e7",
61
+ "Type something": "Bir \u015fey yaz\u0131n",
62
+ "Cancel": "\u0130ptal",
63
+ "OK": "Tamam",
64
+ "Manage images": "G\u00f6r\u00fcnt\u00fcleri y\u00f6netin",
65
+ "Delete": "Silmek",
66
+ "Font Family": "Yaz\u0131tipi Ailesi",
67
+ "Insert Horizontal Line": "Yatay \u00e7izgi ekleme",
68
+ "Table": "Tablo",
69
+ "Insert table": "Tablo ekle",
70
+ "Cell": "H\u00fccre",
71
+ "Row": "Sat\u0131r",
72
+ "Column": "S\u00fctun",
73
+ "Delete table": "Tabloyu sil",
74
+ "Insert cell before": "\u00d6nce h\u00fccre ekler",
75
+ "Insert cell after": "Sonra h\u00fccre ekler",
76
+ "Delete cell": "H\u00fccreyi silmek",
77
+ "Merge cells": "H\u00fccreleri birle\u015ftir",
78
+ "Horizontal split": "Yatay b\u00f6l\u00fcnm\u00fc\u015f",
79
+ "Vertical split": "Dikey b\u00f6l\u00fcnm\u00fc\u015f",
80
+ "Insert row above": "\u00d6ncesine yeni sat\u0131r ekle",
81
+ "Insert row below": "Sonras\u0131na yeni sat\u0131r ekle",
82
+ "Delete row": "Sat\u0131r\u0131 sil",
83
+ "Insert column before": "\u00d6ncesine yeni s\u00fctun ekle",
84
+ "Insert column after": "Sonras\u0131na yeni s\u00fctun ekle",
85
+ "Delete column": "S\u00fctunu sil"
86
+ },
87
+ direction: "ltr"
88
+ };
@@ -0,0 +1,88 @@
1
+ /*!
2
+ * froala_editor v1.1.6 (http://editor.froala.com)
3
+ * Copyright 2014-2014 Froala
4
+ */
5
+
6
+ /**
7
+ * Simplified Chinese spoken in China.
8
+ */
9
+
10
+ $.Editable.LANGS['zh_cn'] = {
11
+ translation: {
12
+ "Bold": "\u7c97\u4f53",
13
+ "Italic": "\u659c\u4f53",
14
+ "Underline": "\u4e0b\u5212\u7ebf",
15
+ "Strikethrough": "\u5220\u9664\u7ebf",
16
+ "Font Size": "\u5b57\u53f7",
17
+ "Color": "\u989c\u8272",
18
+ "Background Color": "\u80cc\u666f\u8272",
19
+ "Text Color": "\u6587\u5b57\u989c\u8272",
20
+ "Format Block": "\u683c\u5f0f",
21
+ "Normal": "\u6b63\u5e38",
22
+ "Paragraph": "\u6bb5\u843d",
23
+ "Code": "\u4ee3\u7801",
24
+ "Quote": "\u5f15\u7528",
25
+ "Heading 1": "\u6807\u98981",
26
+ "Heading 2": "\u6807\u98982",
27
+ "Heading 3": "\u6807\u98983",
28
+ "Heading 4": "\u6807\u98984",
29
+ "Heading 5": "\u6807\u98985",
30
+ "Heading 6": "\u6807\u98986",
31
+ "Alignment": "\u5bf9\u9f50\u65b9\u5f0f",
32
+ "Align Left": "\u5de6\u5bf9\u9f50",
33
+ "Align Center": "\u5c45\u4e2d",
34
+ "Align Right": "\u53f3\u5bf9\u9f50",
35
+ "Justify": "\u4e24\u7aef\u5bf9\u9f50",
36
+ "Numbered List": "\u7f16\u53f7\u5217\u8868",
37
+ "Bulleted List": "\u9879\u76ee\u7b26\u53f7",
38
+ "Indent Less": "\u51cf\u5c11\u7f29\u8fdb",
39
+ "Indent More": "\u589e\u52a0\u7f29\u8fdb",
40
+ "Select All": "\u5168\u9009",
41
+ "Insert Link": "\u63d2\u5165\u94fe\u63a5",
42
+ "Insert Image": "\u63d2\u5165\u56fe\u7247",
43
+ "Insert Video": "\u63d2\u5165\u89c6\u9891",
44
+ "Undo": "\u64a4\u6d88",
45
+ "Redo": "\u91cd\u590d",
46
+ "Show HTML": "\u663e\u793a\u7684HTML",
47
+ "Float Left": "\u5de6\u5bf9\u9f50",
48
+ "Float None": "\u65e0",
49
+ "Float Right": "\u53f3\u5bf9\u9f50",
50
+ "Replace Image": "\u66f4\u6362\u56fe\u50cf",
51
+ "Remove Image": "\u5220\u9664\u56fe\u50cf",
52
+ "Title": "\u6807\u9898",
53
+ "Insert image": "\u63d2\u5165\u56fe\u7247",
54
+ "Drop image": "\u56fe\u50cf\u62d6\u653e",
55
+ "or click": "\u6216\u70b9\u51fb",
56
+ "Enter URL": "\u8f93\u5165\u7f51\u5740",
57
+ "Please wait!": "\u8bf7\u7a0d\u7b49\uff01",
58
+ "Are you sure? Image will be deleted.": "\u4f60\u786e\u5b9a\u5417\uff1f\u56fe\u50cf\u5c06\u88ab\u5220\u9664\u3002",
59
+ "UNLINK": "\u5220\u9664\u94fe\u63a5",
60
+ "Open in new tab": "\u5f00\u542f\u5728\u65b0\u6807\u7b7e\u9875",
61
+ "Type something": "\u8f93\u5165\u4e00\u4e9b\u5185\u5bb9",
62
+ "Cancel": "\u53d6\u6d88",
63
+ "OK": "\u786e\u5b9a",
64
+ "Manage images": "\u7ba1\u7406\u56fe\u50cf",
65
+ "Delete": "\u5220\u9664",
66
+ "Font Family": "\u5b57\u4f53",
67
+ "Insert Horizontal Line": "\u63d2\u5165\u6c34\u5e73\u7ebf",
68
+ "Table": "\u8868\u683c",
69
+ "Insert table": "\u63d2\u5165\u8868\u683c",
70
+ "Cell": "\u5355\u5143\u683c",
71
+ "Row": "\u884c",
72
+ "Column": "\u5217",
73
+ "Delete table": "\u5220\u9664\u8868\u683c",
74
+ "Insert cell before": "\u524d\u63d2\u5165\u5355\u5143\u683c",
75
+ "Insert cell after": "\u540e\u63d2\u5165\u7535\u6c60",
76
+ "Delete cell": "\u5220\u9664\u5355\u5143\u683c",
77
+ "Merge cells": "\u5408\u5e76\u5355\u5143\u683c",
78
+ "Horizontal split": "\u6c34\u5e73\u5206\u5272",
79
+ "Vertical split": "\u5782\u76f4\u5206\u5272",
80
+ "Insert row above": "\u5728\u4e0a\u65b9\u63d2\u5165",
81
+ "Insert row below": "\u5728\u4e0b\u65b9\u63d2\u5165",
82
+ "Delete row": "\u5220\u9664\u884c",
83
+ "Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
84
+ "Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
85
+ "Delete column": "\u5220\u9664\u5217"
86
+ },
87
+ direction: "ltr"
88
+ };
@@ -0,0 +1,88 @@
1
+ /*!
2
+ * froala_editor v1.1.6 (http://editor.froala.com)
3
+ * Copyright 2014-2014 Froala
4
+ */
5
+
6
+ /**
7
+ * Traditional Chinese spoken in Taiwan.
8
+ */
9
+
10
+ $.Editable.LANGS['zh_tw'] = {
11
+ translation: {
12
+ "Bold": "\u7c97\u9ad4",
13
+ "Italic": "\u659c\u9ad4",
14
+ "Underline": "\u5e95\u7dda",
15
+ "Strikethrough": "\u522a\u9664\u7dda",
16
+ "Font Size": "\u5b57\u578b\u5927\u5c0f",
17
+ "Color": "\u984f\u8272",
18
+ "Background Color": "\u80cc\u666f\u984f\u8272",
19
+ "Text Color": "\u6587\u5b57\u984f\u8272",
20
+ "Format Block": "\u683c\u5f0f",
21
+ "Normal": "\u6b63\u5e38",
22
+ "Paragraph": "\u6bb5\u843d",
23
+ "Code": "\u7a0b\u5f0f\u78bc",
24
+ "Quote": "\u5f15\u7528",
25
+ "Heading 1": "\u6a19\u984c 1",
26
+ "Heading 2": "\u6a19\u984c 2",
27
+ "Heading 3": "\u6a19\u984c 3",
28
+ "Heading 4": "\u6a19\u984c 4",
29
+ "Heading 5": "\u6a19\u984c 5",
30
+ "Heading 6": "\u6a19\u984c 6",
31
+ "Alignment": "\u5c0d\u9f4a",
32
+ "Align Left": "\u7f6e\u5de6\u5c0d\u9f4a",
33
+ "Align Center": "\u7f6e\u4e2d\u5c0d\u9f4a",
34
+ "Align Right": "\u7f6e\u53f3\u5c0d\u9f4a",
35
+ "Justify": "\u5de6\u53f3\u5c0d\u9f4a",
36
+ "Numbered List": "\u6578\u5b57\u6e05\u55ae",
37
+ "Bulleted List": "\u9805\u76ee\u6e05\u55ae",
38
+ "Indent Less": "\u6e1b\u5c11\u7e2e\u6392",
39
+ "Indent More": "\u589e\u52a0\u7e2e\u6392",
40
+ "Select All": "\u5168\u9078",
41
+ "Insert Link": "\u63d2\u5165\u9023\u7d50",
42
+ "Insert Image": "\u63d2\u5165\u5716\u7247",
43
+ "Insert Video": "\u63d2\u5165\u5f71\u97f3",
44
+ "Undo": "\u5fa9\u539f",
45
+ "Redo": "\u53d6\u6d88\u5fa9\u539f",
46
+ "Show HTML": "\u663e\u793a\u7684\u0048\u0054\u004d\u004c",
47
+ "Float Left": "\u5de6\u908a",
48
+ "Float None": "\u7121",
49
+ "Float Right": "\u53f3\u908a",
50
+ "Replace Image": "\u66f4\u6362\u56fe\u50cf",
51
+ "Remove Image": "\u5220\u9664\u56fe\u50cf",
52
+ "Title": "\u6a19\u984c",
53
+ "Insert image": "\u63d2\u5165\u5716\u7247",
54
+ "Drop image": "\u56fe\u50cf\u62d6\u653e",
55
+ "or click": "\u6216\u70b9\u51fb",
56
+ "Enter URL": "\u8f93\u5165\u7f51\u5740",
57
+ "Please wait!": "\u8bf7\u7a0d\u7b49\uff01",
58
+ "Are you sure? Image will be deleted.": "\u4f60\u786e\u5b9a\u5417\uff1f\u56fe\u50cf\u5c06\u88ab\u5220\u9664\u3002",
59
+ "UNLINK": "\u79fb\u9664\u9023\u7d50",
60
+ "Open in new tab": "\u5f00\u542f\u5728\u65b0\u6807\u7b7e\u9875",
61
+ "Type something": "\u8f93\u5165\u4e00\u4e9b\u5185\u5bb9",
62
+ "Cancel": "\u53d6\u6d88",
63
+ "OK": "\u78ba\u5b9a",
64
+ "Manage images": "\u7ba1\u7406\u5716\u50cf",
65
+ "Delete": "\u522a\u9664",
66
+ "Font Family": "\u5b57\u9ad4",
67
+ "Insert Horizontal Line": "\u63d2\u5165\u6c34\u5e73\u7dda",
68
+ "Table": "\u8868\u683c",
69
+ "Insert table": "\u63d2\u5165\u8868\u683c",
70
+ "Cell": "\u5355\u5143\u683c",
71
+ "Row": "\u884c",
72
+ "Column": "\u5217",
73
+ "Delete table": "\u5220\u9664\u8868\u683c",
74
+ "Insert cell before": "\u524d\u63d2\u5165\u55ae\u5143\u683c",
75
+ "Insert cell after": "\u5f8c\u63d2\u5165\u96fb\u6c60",
76
+ "Delete cell": "\u522a\u9664\u55ae\u5143\u683c",
77
+ "Merge cells": "\u5408\u4f75\u55ae\u5143\u683c",
78
+ "Horizontal split": "\u6c34\u5e73\u5206\u5272",
79
+ "Vertical split": "\u5782\u76f4\u5206\u5272",
80
+ "Insert row above": "\u5728\u4e0a\u65b9\u63d2\u5165",
81
+ "Insert row below": "\u5728\u4e0b\u65b9\u63d2\u5165",
82
+ "Delete row": "\u5220\u9664\u884c",
83
+ "Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
84
+ "Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
85
+ "Delete column": "\u5220\u9664\u5217"
86
+ },
87
+ direction: "ltr"
88
+ };
@@ -0,0 +1,384 @@
1
+ /*jshint curly:true, eqeqeq:true, laxbreak:true, noempty:false */
2
+ /*
3
+
4
+ The MIT License (MIT)
5
+
6
+ Copyright (c) 2007-2013 Einar Lielmanis and contributors.
7
+
8
+ Permission is hereby granted, free of charge, to any person
9
+ obtaining a copy of this software and associated documentation files
10
+ (the "Software"), to deal in the Software without restriction,
11
+ including without limitation the rights to use, copy, modify, merge,
12
+ publish, distribute, sublicense, and/or sell copies of the Software,
13
+ and to permit persons to whom the Software is furnished to do so,
14
+ subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
23
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+
29
+ CSS Beautifier
30
+ ---------------
31
+
32
+ Written by Harutyun Amirjanyan, (amirjanyan@gmail.com)
33
+
34
+ Based on code initially developed by: Einar Lielmanis, <einar@jsbeautifier.org>
35
+ http://jsbeautifier.org/
36
+
37
+ Usage:
38
+ css_beautify(source_text);
39
+ css_beautify(source_text, options);
40
+
41
+ The options are (default in brackets):
42
+ indent_size (4) — indentation size,
43
+ indent_char (space) — character to indent with,
44
+ selector_separator_newline (true) - separate selectors with newline or
45
+ not (e.g. "a,\nbr" or "a, br")
46
+ end_with_newline (false) - end with a newline
47
+
48
+ e.g
49
+
50
+ css_beautify(css_source_text, {
51
+ 'indent_size': 1,
52
+ 'indent_char': '\t',
53
+ 'selector_separator': ' ',
54
+ 'end_with_newline': false,
55
+ });
56
+ */
57
+
58
+ // http://www.w3.org/TR/CSS21/syndata.html#tokenization
59
+ // http://www.w3.org/TR/css3-syntax/
60
+
61
+ (function () {
62
+ function css_beautify(source_text, options) {
63
+ options = options || {};
64
+ var indentSize = options.indent_size || 4;
65
+ var indentCharacter = options.indent_char || ' ';
66
+ var selectorSeparatorNewline = (options.selector_separator_newline === undefined) ? true : options.selector_separator_newline;
67
+ var endWithNewline = (options.end_with_newline === undefined) ? false : options.end_with_newline;
68
+
69
+ // compatibility
70
+ if (typeof indentSize === "string") {
71
+ indentSize = parseInt(indentSize, 10);
72
+ }
73
+
74
+
75
+ // tokenizer
76
+ var whiteRe = /^\s+$/;
77
+ var wordRe = /[\w$\-_]/;
78
+
79
+ var pos = -1,
80
+ ch;
81
+
82
+ function next() {
83
+ ch = source_text.charAt(++pos);
84
+ return ch;
85
+ }
86
+
87
+ function peek() {
88
+ return source_text.charAt(pos + 1);
89
+ }
90
+
91
+ function eatString(endChar) {
92
+ var start = pos;
93
+ while (next()) {
94
+ if (ch === "\\") {
95
+ next();
96
+ next();
97
+ } else if (ch === endChar) {
98
+ break;
99
+ } else if (ch === "\n") {
100
+ break;
101
+ }
102
+ }
103
+ return source_text.substring(start, pos + 1);
104
+ }
105
+
106
+ function eatWhitespace() {
107
+ var start = pos;
108
+ while (whiteRe.test(peek())) {
109
+ pos++;
110
+ }
111
+ return pos !== start;
112
+ }
113
+
114
+ function skipWhitespace() {
115
+ var start = pos;
116
+ do {} while (whiteRe.test(next()));
117
+ return pos !== start + 1;
118
+ }
119
+
120
+ function eatComment(singleLine) {
121
+ var start = pos;
122
+ next();
123
+ while (next()) {
124
+ if (ch === "*" && peek() === "/") {
125
+ pos++;
126
+ break;
127
+ } else if (singleLine && ch === "\n") {
128
+ break;
129
+ }
130
+ }
131
+
132
+ return source_text.substring(start, pos + 1);
133
+ }
134
+
135
+
136
+ function lookBack(str) {
137
+ return source_text.substring(pos - str.length, pos).toLowerCase() ===
138
+ str;
139
+ }
140
+
141
+ function isCommentOnLine() {
142
+ var endOfLine = source_text.indexOf('\n', pos);
143
+ if (endOfLine === -1) {
144
+ return false;
145
+ }
146
+ var restOfLine = source_text.substring(pos, endOfLine);
147
+ return restOfLine.indexOf('//') !== -1;
148
+ }
149
+
150
+ // printer
151
+ var indentString = source_text.match(/^[\r\n]*[\t ]*/)[0];
152
+ var singleIndent = new Array(indentSize + 1).join(indentCharacter);
153
+ var indentLevel = 0;
154
+ var nestedLevel = 0;
155
+
156
+ function indent() {
157
+ indentLevel++;
158
+ indentString += singleIndent;
159
+ }
160
+
161
+ function outdent() {
162
+ indentLevel--;
163
+ indentString = indentString.slice(0, -indentSize);
164
+ }
165
+
166
+ var print = {};
167
+ print["{"] = function (ch) {
168
+ print.singleSpace();
169
+ output.push(ch);
170
+ print.newLine();
171
+ };
172
+ print["}"] = function (ch) {
173
+ print.newLine();
174
+ output.push(ch);
175
+ print.newLine();
176
+ };
177
+
178
+ print._lastCharWhitespace = function () {
179
+ return whiteRe.test(output[output.length - 1]);
180
+ };
181
+
182
+ print.newLine = function (keepWhitespace) {
183
+ if (!keepWhitespace) {
184
+ while (print._lastCharWhitespace()) {
185
+ output.pop();
186
+ }
187
+ }
188
+
189
+ if (output.length) {
190
+ output.push('\n');
191
+ }
192
+ if (indentString) {
193
+ output.push(indentString);
194
+ }
195
+ };
196
+ print.singleSpace = function () {
197
+ if (output.length && !print._lastCharWhitespace()) {
198
+ output.push(' ');
199
+ }
200
+ };
201
+ var output = [];
202
+ if (indentString) {
203
+ output.push(indentString);
204
+ }
205
+ /*_____________________--------------------_____________________*/
206
+
207
+ var insideRule = false;
208
+ var enteringConditionalGroup = false;
209
+
210
+ while (true) {
211
+ var isAfterSpace = skipWhitespace();
212
+
213
+ if (!ch) {
214
+ break;
215
+ } else if (ch === '/' && peek() === '*') { /* css comment */
216
+ print.newLine();
217
+ output.push(eatComment(), "\n", indentString);
218
+ var header = lookBack("");
219
+ if (header) {
220
+ print.newLine();
221
+ }
222
+ } else if (ch === '/' && peek() === '/') { // single line comment
223
+ output.push(eatComment(true), indentString);
224
+ } else if (ch === '@') {
225
+ // strip trailing space, if present, for hash property checks
226
+ var atRule = eatString(" ").replace(/ $/, '');
227
+
228
+ // pass along the space we found as a separate item
229
+ output.push(atRule, ch);
230
+
231
+ // might be a nesting at-rule
232
+ if (atRule in css_beautify.NESTED_AT_RULE) {
233
+ nestedLevel += 1;
234
+ if (atRule in css_beautify.CONDITIONAL_GROUP_RULE) {
235
+ enteringConditionalGroup = true;
236
+ }
237
+ }
238
+ } else if (ch === '{') {
239
+ eatWhitespace();
240
+ if (peek() === '}') {
241
+ next();
242
+ output.push(" {}");
243
+ } else {
244
+ indent();
245
+ print["{"](ch);
246
+ // when entering conditional groups, only rulesets are allowed
247
+ if (enteringConditionalGroup) {
248
+ enteringConditionalGroup = false;
249
+ insideRule = (indentLevel > nestedLevel);
250
+ } else {
251
+ // otherwise, declarations are also allowed
252
+ insideRule = (indentLevel >= nestedLevel);
253
+ }
254
+ }
255
+ } else if (ch === '}') {
256
+ outdent();
257
+ print["}"](ch);
258
+ insideRule = false;
259
+ if (nestedLevel) {
260
+ nestedLevel--;
261
+ }
262
+ } else if (ch === ":") {
263
+ eatWhitespace();
264
+ if (insideRule || enteringConditionalGroup) {
265
+ // 'property: value' delimiter
266
+ // which could be in a conditional group query
267
+ output.push(ch, " ");
268
+ } else {
269
+ if (peek() === ":") {
270
+ // pseudo-element
271
+ next();
272
+ output.push("::");
273
+ } else {
274
+ // pseudo-class
275
+ output.push(ch);
276
+ }
277
+ }
278
+ } else if (ch === '"' || ch === '\'') {
279
+ output.push(eatString(ch));
280
+ } else if (ch === ';') {
281
+ if (isCommentOnLine()) {
282
+ var beforeComment = eatString('/');
283
+ var comment = eatComment(true);
284
+ output.push(beforeComment, comment.substring(1, comment.length - 1), '\n', indentString);
285
+ } else {
286
+ output.push(ch, '\n', indentString);
287
+ }
288
+ } else if (ch === '(') { // may be a url
289
+ if (lookBack("url")) {
290
+ output.push(ch);
291
+ eatWhitespace();
292
+ if (next()) {
293
+ if (ch !== ')' && ch !== '"' && ch !== '\'') {
294
+ output.push(eatString(')'));
295
+ } else {
296
+ pos--;
297
+ }
298
+ }
299
+ } else {
300
+ if (isAfterSpace) {
301
+ print.singleSpace();
302
+ }
303
+ output.push(ch);
304
+ eatWhitespace();
305
+ }
306
+ } else if (ch === ')') {
307
+ output.push(ch);
308
+ } else if (ch === ',') {
309
+ eatWhitespace();
310
+ output.push(ch);
311
+ if (!insideRule && selectorSeparatorNewline) {
312
+ print.newLine();
313
+ } else {
314
+ print.singleSpace();
315
+ }
316
+ } else if (ch === ']') {
317
+ output.push(ch);
318
+ } else if (ch === '[') {
319
+ if (isAfterSpace) {
320
+ print.singleSpace();
321
+ }
322
+ output.push(ch);
323
+ } else if (ch === '=') { // no whitespace before or after
324
+ eatWhitespace();
325
+ output.push(ch);
326
+ } else {
327
+ if (isAfterSpace) {
328
+ print.singleSpace();
329
+ }
330
+
331
+ output.push(ch);
332
+ }
333
+ }
334
+
335
+
336
+ var sweetCode = output.join('').replace(/[\n ]+$/, '');
337
+
338
+ // establish end_with_newline
339
+ var should = endWithNewline;
340
+ var actually = /\n$/.test(sweetCode);
341
+ if (should && !actually) {
342
+ sweetCode += "\n";
343
+ } else if (!should && actually) {
344
+ sweetCode = sweetCode.slice(0, -1);
345
+ }
346
+
347
+ return sweetCode;
348
+ }
349
+
350
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule
351
+ css_beautify.NESTED_AT_RULE = {
352
+ "@page": true,
353
+ "@font-face": true,
354
+ "@keyframes": true,
355
+ // also in CONDITIONAL_GROUP_RULE below
356
+ "@media": true,
357
+ "@supports": true,
358
+ "@document": true
359
+ };
360
+ css_beautify.CONDITIONAL_GROUP_RULE = {
361
+ "@media": true,
362
+ "@supports": true,
363
+ "@document": true
364
+ };
365
+
366
+ /*global define */
367
+ if (typeof define === "function" && define.amd) {
368
+ // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- )
369
+ define([], function () {
370
+ return { css_beautify: css_beautify };
371
+ });
372
+ } else if (typeof exports !== "undefined") {
373
+ // Add support for CommonJS. Just put this file somewhere on your require.paths
374
+ // and you will be able to `var html_beautify = require("beautify").html_beautify`.
375
+ exports.css_beautify = css_beautify;
376
+ } else if (typeof window !== "undefined") {
377
+ // If we're running a web page and don't have either of the above, add our one global
378
+ window.css_beautify = css_beautify;
379
+ } else if (typeof global !== "undefined") {
380
+ // If we don't even have window, try global.
381
+ global.css_beautify = css_beautify;
382
+ }
383
+
384
+ }());