jslint.
[ckeditor.git] / skins / ckeditor / samples / uilanguages.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
4 For licensing, see LICENSE.md or http://ckeditor.com/license
5 -->
6 <html>
7 <head>
8 <meta charset="utf-8">
9 <title>User Interface Globalization &mdash; CKEditor Sample</title>
10 <script src="../ckeditor.js"></script>
11 <script src="assets/uilanguages/languages.js"></script>
12 <link rel="stylesheet" href="sample.css">
13 </head>
14 <body>
15 <h1 class="samples">
16 <a href="index.html">CKEditor Samples</a> &raquo; User Interface Languages
17 </h1>
18 <div class="description">
19 <p>
20 This sample shows how to automatically replace <code>&lt;textarea&gt;</code> elements
21 with a CKEditor instance with an option to change the language of its user interface.
22 </p>
23 <p>
24 It pulls the language list from CKEditor <code>_languages.js</code> file that contains the list of supported languages and creates
25 a drop-down list that lets the user change the UI language.
26 </p>
27 <p>
28 By default, CKEditor automatically localizes the editor to the language of the user.
29 The UI language can be controlled with two configuration options:
30 <code><a class="samples" href="http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-language">language</a></code> and
31 <code><a class="samples" href="http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-defaultLanguage">
32 defaultLanguage</a></code>. The <code>defaultLanguage</code> setting specifies the
33 default CKEditor language to be used when a localization suitable for user's settings is not available.
34 </p>
35 <p>
36 To specify the user interface language that will be used no matter what language is
37 specified in user's browser or operating system, set the <code>language</code> property:
38 </p>
39 <pre class="samples">
40 CKEDITOR.replace( '<em>textarea_id</em>', {
41 // Load the German interface.
42 <strong>language: 'de'</strong>
43 });</pre>
44 <p>
45 Note that <code><em>textarea_id</em></code> in the code above is the <code>id</code> attribute of
46 the <code>&lt;textarea&gt;</code> element to be replaced.
47 </p>
48 </div>
49 <form action="sample_posteddata.php" method="post">
50 <p>
51 Available languages (<span id="count"> </span> languages!):<br>
52 <script>
53
54 document.write( '<select disabled="disabled" id="languages" onchange="createEditor( this.value );">' );
55
56 // Get the language list from the _languages.js file.
57 for ( var i = 0 ; i < window.CKEDITOR_LANGS.length ; i++ ) {
58 document.write(
59 '<option value="' + window.CKEDITOR_LANGS[i].code + '">' +
60 window.CKEDITOR_LANGS[i].name +
61 '</option>' );
62 }
63
64 document.write( '</select>' );
65
66 </script>
67 <br>
68 <span style="color: #888888">
69 (You may see strange characters if your system does not support the selected language)
70 </span>
71 </p>
72 <p>
73 <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>
74 <script>
75
76 // Set the number of languages.
77 document.getElementById( 'count' ).innerHTML = window.CKEDITOR_LANGS.length;
78
79 var editor;
80
81 function createEditor( languageCode ) {
82 if ( editor )
83 editor.destroy();
84
85 // Replace the <textarea id="editor"> with an CKEditor
86 // instance, using default configurations.
87 editor = CKEDITOR.replace( 'editor1', {
88 language: languageCode,
89
90 on: {
91 instanceReady: function() {
92 // Wait for the editor to be ready to set
93 // the language combo.
94 var languages = document.getElementById( 'languages' );
95 languages.value = this.langCode;
96 languages.disabled = false;
97 }
98 }
99 });
100 }
101
102 // At page startup, load the default language:
103 createEditor( '' );
104
105 </script>
106 </p>
107 </form>
108 <div id="footer">
109 <hr>
110 <p>
111 CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a>
112 </p>
113 <p id="copy">
114 Copyright &copy; 2003-2014, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico
115 Knabben. All rights reserved.
116 </p>
117 </div>
118 </body>
119 </html>