1+ /* THIS SCRIPT IS PART OF THE MULTI-LINGUAL INPUT TOOLS BROWSER EXTENSION
2+ JAVASCRIPT FOR GERMAN INPUT TOOLS
3+ --------------------------------------------------------------
4+ Chrome: https://chrome.google.com/webstore/detail/multi-lingual-input-tools/dkbgodmmblfcnfledmedmepimmpebnjo?hl=en
5+ Microsoft Edge: https://microsoftedge.microsoft.com/addons/detail/multilingual-input-tools/aoehggnalolhonphifnooepocfjpghfl
6+ --------------------------------------------------------------
7+ Path: popup/language/german.js
8+ --------------------------------------------------------------
9+ */
10+
11+ /* Defining Variables */
12+ // Elements on page
13+ var uppercaseCheckbox = document . getElementById ( 'german-uppercase' ) ;
14+ var uppercase = document . getElementById ( 'german-uppercase' ) . checked ;
15+ var accent_a_doubledot = document . getElementById ( 'german-accent-a-doubledot' ) ;
16+ var accent_o_doubledot = document . getElementById ( 'german-accent-o-doubledot' ) ;
17+ var accent_u_doubledot = document . getElementById ( 'german-accent-u-doubledot' ) ;
18+ var beta = document . getElementById ( 'german-beta' ) ;
19+
20+ // All Accented Non-English Keyboard Letters (From German)
21+ accentedLetters = {
22+ a_doubledot : "ä" ,
23+ A_DOUBLEDOT : "Ä" ,
24+ o_doubledot : "ö" ,
25+ O_DOUBLEDOT : "Ö" ,
26+ u_doubledot : "ü" ,
27+ U_DOUBLEDOT : "Ü" ,
28+ beta : "ß" ,
29+ BETA : "ẞ"
30+ }
31+
32+ /* Extension Core Function (German) */
33+ // Change Text of Buttons
34+ function changeButtonTextCase ( ) {
35+ uppercase = uppercaseCheckbox . checked ;
36+ if ( ! uppercase ) {
37+ accent_a_doubledot . textContent = accentedLetters . a_doubledot ;
38+ accent_o_doubledot . textContent = accentedLetters . o_doubledot ;
39+ accent_u_doubledot . textContent = accentedLetters . u_doubledot ;
40+ beta . textContent = accentedLetters . beta ;
41+ } else if ( uppercase ) {
42+ accent_a_doubledot . textContent = accentedLetters . A_DOUBLEDOT ;
43+ accent_o_doubledot . textContent = accentedLetters . O_DOUBLEDOT ;
44+ accent_u_doubledot . textContent = accentedLetters . U_DOUBLEDOT ;
45+ beta . textContent = accentedLetters . BETA ;
46+ }
47+ }
48+
49+ // On Click Listeners
50+ accent_a_doubledot . onclick = function ( ) {
51+ if ( ! uppercase ) {
52+ navigator . clipboard . writeText ( accentedLetters . a_doubledot ) . then ( function ( ) {
53+ accent_a_doubledot . textContent = "Copied" ;
54+ setTimeout ( function ( ) {
55+ accent_a_doubledot . textContent = accentedLetters . a_doubledot ;
56+ } , 1000 ) ;
57+ } ) ;
58+ } else if ( uppercase ) {
59+ navigator . clipboard . writeText ( accentedLetters . A_DOUBLEDOT ) . then ( function ( ) {
60+ accent_a_doubledot . textContent = "Copied" ;
61+ setTimeout ( function ( ) {
62+ accent_a_doubledot . textContent = accentedLetters . A_DOUBLEDOT ;
63+ } , 1000 ) ;
64+ } ) ;
65+ }
66+ }
67+ accent_o_doubledot . onclick = function ( ) {
68+ if ( ! uppercase ) {
69+ navigator . clipboard . writeText ( accentedLetters . o_doubledot ) . then ( function ( ) {
70+ accent_o_doubledot . textContent = "Copied" ;
71+ setTimeout ( function ( ) {
72+ accent_o_doubledot . textContent = accentedLetters . o_doubledot ;
73+ } , 1000 ) ;
74+ } ) ;
75+ } else if ( uppercase ) {
76+ navigator . clipboard . writeText ( accentedLetters . O_DOUBLEDOT ) . then ( function ( ) {
77+ accent_o_doubledot . textContent = "Copied" ;
78+ setTimeout ( function ( ) {
79+ accent_o_doubledot . textContent = accentedLetters . O_DOUBLEDOT ;
80+ } , 1000 ) ;
81+ } ) ;
82+ }
83+ }
84+ accent_u_doubledot . onclick = function ( ) {
85+ if ( ! uppercase ) {
86+ navigator . clipboard . writeText ( accentedLetters . u_doubledot ) . then ( function ( ) {
87+ accent_u_doubledot . textContent = "Copied" ;
88+ setTimeout ( function ( ) {
89+ accent_u_doubledot . textContent = accentedLetters . u_doubledot ;
90+ } , 1000 ) ;
91+ } ) ;
92+ } else if ( uppercase ) {
93+ navigator . clipboard . writeText ( accentedLetters . U_DOUBLEDOT ) . then ( function ( ) {
94+ accent_u_doubledot . textContent = "Copied" ;
95+ setTimeout ( function ( ) {
96+ accent_u_doubledot . textContent = accentedLetters . U_DOUBLEDOT ;
97+ } , 1000 ) ;
98+ } ) ;
99+ }
100+ }
101+ beta . onclick = function ( ) {
102+ if ( ! uppercase ) {
103+ navigator . clipboard . writeText ( accentedLetters . beta ) . then ( function ( ) {
104+ beta . textContent = "Copied" ;
105+ setTimeout ( function ( ) {
106+ beta . textContent = accentedLetters . beta ;
107+ } , 1000 ) ;
108+ } ) ;
109+ } else if ( uppercase ) {
110+ navigator . clipboard . writeText ( accentedLetters . BETA ) . then ( function ( ) {
111+ beta . textContent = "Copied" ;
112+ setTimeout ( function ( ) {
113+ beta . textContent = accentedLetters . BETA ;
114+ } , 1000 ) ;
115+ } ) ;
116+ }
117+ }
118+
119+ // On Change Listener for when the user wants lowercase or uppercase letters
120+ uppercaseCheckbox . onchange = function ( ) {
121+ changeButtonTextCase ( ) ;
122+ }
123+
124+ // Using Shift to toggle lowercase and uppercase
125+ document . addEventListener ( "keydown" , function ( event ) {
126+ if ( event . key == "Shift" ) {
127+ if ( ! uppercase ) {
128+ uppercaseCheckbox . checked = true ;
129+ } else if ( uppercase ) {
130+ uppercaseCheckbox . checked = false ;
131+ }
132+ changeButtonTextCase ( ) ;
133+ }
134+ } ) ;
0 commit comments