Skip to content

Commit 1812c2b

Browse files
committed
Added translations to codemirror-search
1 parent f5f1c1b commit 1812c2b

File tree

4 files changed

+118
-86
lines changed

4 files changed

+118
-86
lines changed

client/i18n.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ i18n
4040
// .use(LanguageDetector)// to detect the language from currentBrowser
4141
.use(Backend) // to fetch the data from server
4242
.init({
43-
lng: 'en-US',
43+
lng: 'es-419',
4444
fallbackLng, // if user computer language is not on the list of available languages, than we will be using the fallback language specified earlier
4545
debug: false,
4646
backend: options,

client/utils/codemirror-search.js

Lines changed: 89 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
// Ctrl-G (or whatever is bound to findNext) press. You prevent a
1010
// replace by making sure the match is no longer selected when hitting
1111
// Ctrl-G.
12+
import i18n from '../i18n';
1213

1314
export default function(CodeMirror) {
1415
"use strict";
@@ -85,7 +86,7 @@ export default function(CodeMirror) {
8586
else if (e.keyCode !== 13 && searchField.value.length > 1) { // not enter and more than 1 character to search
8687
startSearch(cm, getSearchState(cm), searchField.value);
8788
} else if (searchField.value.length <= 1) {
88-
cm.display.wrapper.querySelector('.CodeMirror-search-results').innerText = 'No results';
89+
cm.display.wrapper.querySelector('.CodeMirror-search-results').innerText = i18n.t('CodemirrorFindAndReplace.NoResults');
8990
}
9091
});
9192

@@ -329,6 +330,7 @@ export default function(CodeMirror) {
329330
return findNext(cm, rev);
330331
}
331332
var q = cm.getSelection() || state.lastQuery;
333+
var queryDialog = getQueryDialog();
332334
if (persistent && cm.openDialog) {
333335
var hiding = null;
334336
var searchNext = function(query, event) {
@@ -382,7 +384,7 @@ export default function(CodeMirror) {
382384
if (!cursor.find(rev)) {
383385
cursor = getSearchCursor(cm, state.query, rev ? CodeMirror.Pos(cm.lastLine()) : CodeMirror.Pos(cm.firstLine(), 0));
384386
if (!cursor.find(rev)) {
385-
cm.display.wrapper.querySelector('.CodeMirror-search-results').innerText = 'No results';
387+
cm.display.wrapper.querySelector('.CodeMirror-search-results').innerText = i18n.t('CodemirrorFindAndReplace.NoResults');
386388
return;
387389
}
388390
}
@@ -418,100 +420,102 @@ export default function(CodeMirror) {
418420
});
419421
}
420422

421-
var queryDialog = `
422-
<div class="CodeMirror-find-popup-container">
423-
<div class="Toggle-replace-btn-div">
424-
<button
425-
title="Replace"
426-
aria-label="Replace"
427-
role="button"
428-
class="CodeMirror-search-modifier-button CodeMirror-replace-toggle-button"
429-
>
430-
<span aria-hidden="true" class="button">▶</span>
431-
</button>
432-
</div>
433-
<div class="CodeMirror-find-input-fields">
434-
<div class="CodeMirror-find-div">
435-
<div class="CodeMirror-find-input">
436-
<input id="Find-input-field" type="text" class="search-input CodeMirror-search-field" placeholder="Find in files" />
437-
</div>
438-
<div class="CodeMirror-find-controls">
439-
<div class="CodeMirror-search-modifiers button-wrap">
440-
<button
441-
title="Regular expression"
442-
aria-label="Regular expression"
443-
role="checkbox"
444-
class="CodeMirror-search-modifier-button CodeMirror-regexp-button"
445-
>
446-
<span aria-hidden="true" class="button">.*</span>
447-
</button>
448-
<button
449-
title="Case sensitive"
450-
aria-label="Case sensitive"
451-
role="checkbox"
452-
class="CodeMirror-search-modifier-button CodeMirror-case-button"
453-
>
454-
<span aria-hidden="true" class="button">Aa</span>
455-
</button>
456-
<button
457-
title="Whole words"
458-
aria-label="Whole words"
459-
role="checkbox"
460-
class="CodeMirror-search-modifier-button CodeMirror-word-button"
461-
>
462-
<span aria-hidden="true" class="button">" "</span>
463-
</button>
423+
var getQueryDialog = function() {
424+
return (`
425+
<div class="CodeMirror-find-popup-container">
426+
<div class="Toggle-replace-btn-div">
427+
<button
428+
title="${i18n.t('CodemirrorFindAndReplace.Replace')}"
429+
aria-label="${i18n.t('CodemirrorFindAndReplace.Replace')}"
430+
role="button"
431+
class="CodeMirror-search-modifier-button CodeMirror-replace-toggle-button"
432+
>
433+
<span aria-hidden="true" class="button">▶</span>
434+
</button>
435+
</div>
436+
<div class="CodeMirror-find-input-fields">
437+
<div class="CodeMirror-find-div">
438+
<div class="CodeMirror-find-input">
439+
<input id="Find-input-field" type="text" class="search-input CodeMirror-search-field" placeholder="${i18n.t('CodemirrorFindAndReplace.FindPlaceholder')}" />
440+
</div>
441+
<div class="CodeMirror-find-controls">
442+
<div class="CodeMirror-search-modifiers button-wrap">
443+
<button
444+
title="${i18n.t('CodemirrorFindAndReplace.Regex')}"
445+
aria-label="${i18n.t('CodemirrorFindAndReplace.Regex')}"
446+
role="checkbox"
447+
class="CodeMirror-search-modifier-button CodeMirror-regexp-button"
448+
>
449+
<span aria-hidden="true" class="button">.*</span>
450+
</button>
451+
<button
452+
title="${i18n.t('CodemirrorFindAndReplace.CaseSensitive')}"
453+
aria-label="${i18n.t('CodemirrorFindAndReplace.CaseSensitive')}"
454+
role="checkbox"
455+
class="CodeMirror-search-modifier-button CodeMirror-case-button"
456+
>
457+
<span aria-hidden="true" class="button">Aa</span>
458+
</button>
459+
<button
460+
title="${i18n.t('CodemirrorFindAndReplace.WholeWords')}"
461+
aria-label="${i18n.t('CodemirrorFindAndReplace.WholeWords')}"
462+
role="checkbox"
463+
class="CodeMirror-search-modifier-button CodeMirror-word-button"
464+
>
465+
<span aria-hidden="true" class="button">" "</span>
466+
</button>
467+
</div>
468+
<div class="CodeMirror-search-nav">
469+
<p class="CodeMirror-search-results">${i18n.t('CodemirrorFindAndReplace.NoResults')}</p>
470+
<button
471+
title="${i18n.t('CodemirrorFindAndReplace.Previous')}"
472+
aria-label="${i18n.t('CodemirrorFindAndReplace.Previous')}"
473+
class="CodeMirror-search-button icon up-arrow prev"
474+
>
475+
</button>
476+
<button
477+
title="${i18n.t('CodemirrorFindAndReplace.Next')}"
478+
aria-label="${i18n.t('CodemirrorFindAndReplace.Next')}"
479+
class="CodeMirror-search-button icon down-arrow next"
480+
>
481+
</button>
482+
</div>
483+
<div class="CodeMirror-close-button-container">
484+
<button
485+
title="${i18n.t('CodemirrorFindAndReplace.Close')}"
486+
aria-label="${i18n.t('CodemirrorFindAndReplace.Close')}"
487+
class="CodeMirror-close-button close icon">
488+
</button>
489+
</div>
464490
</div>
465-
<div class="CodeMirror-search-nav">
466-
<p class="CodeMirror-search-results">No results</p>
491+
</div>
492+
<div style="height: 0px; overflow: hidden;" class="CodeMirror-replace-div">
493+
<input id="Replace-input-field" type="text" placeholder="${i18n.t('CodemirrorFindAndReplace.ReplacePlaceholder')}" class="search-input CodeMirror-search-field"/>
494+
<div class="CodeMirror-replace-controls">
467495
<button
468-
title="Previous"
469-
aria-label="Previous"
470-
class="CodeMirror-search-button icon up-arrow prev"
496+
title="${i18n.t('CodemirrorFindAndReplace.Replace')}"
497+
aria-label="${i18n.t('CodemirrorFindAndReplace.Replace')}"
498+
role="button"
499+
id="Btn-replace"
500+
class="CodeMirror-search-modifier-button CodeMirror-replace-button"
471501
>
502+
${i18n.t('CodemirrorFindAndReplace.Replace')}
472503
</button>
473504
<button
474-
title="Next"
475-
aria-label="Next"
476-
class="CodeMirror-search-button icon down-arrow next"
505+
title="${i18n.t('CodemirrorFindAndReplace.ReplaceAll')}"
506+
aria-label="${i18n.t('CodemirrorFindAndReplace.ReplaceAll')}"
507+
role="button"
508+
id="Btn-replace-all"
509+
class="CodeMirror-search-modifier-button CodeMirror-replace-button"
477510
>
478-
</button>
479-
</div>
480-
<div class="CodeMirror-close-button-container">
481-
<button
482-
title="Close"
483-
aria-label="Close"
484-
class="CodeMirror-close-button close icon">
511+
${i18n.t('CodemirrorFindAndReplace.ReplaceAll')}
485512
</button>
486513
</div>
487514
</div>
488515
</div>
489-
<div style="height: 0px; overflow: hidden;" class="CodeMirror-replace-div">
490-
<input id="Replace-input-field" type="text" placeholder="Text to replace" class="search-input CodeMirror-search-field"/>
491-
<div class="CodeMirror-replace-controls">
492-
<button
493-
title="Replace"
494-
aria-label="Replace"
495-
role="button"
496-
id="Btn-replace"
497-
class="CodeMirror-search-modifier-button CodeMirror-replace-button"
498-
>
499-
Replace
500-
</button>
501-
<button
502-
title="Replace All"
503-
aria-label="Replace All"
504-
role="button"
505-
id="Btn-replace-all"
506-
class="CodeMirror-search-modifier-button CodeMirror-replace-button"
507-
>
508-
Replace All
509-
</button>
510-
</div>
511-
</div>
512516
</div>
513-
</div>
514-
`;
517+
`);
518+
}
515519

516520
CodeMirror.commands.findPersistent = function(cm) {doFindAndReplace(cm, false, true, false, true, false);};
517521
CodeMirror.commands.findPersistentNext = function(cm) {doFindAndReplace(cm, false, true, false, true, false);};

translations/locales/en-US/translations.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,20 @@
4949
"LogOut": "Log Out"
5050
}
5151
},
52+
"CodemirrorFindAndReplace": {
53+
"Find": "Find",
54+
"FindPlaceholder": "Find in files",
55+
"Replace": "Replace",
56+
"ReplaceAll": "Replace All",
57+
"ReplacePlaceholder": "Text to replace",
58+
"Regex": "Regular expression",
59+
"CaseSensitive": "Case sensitive",
60+
"WholeWords": "Whole words",
61+
"Previous": "Previous",
62+
"Next": "Next",
63+
"NoResults": "No results",
64+
"Close": "Close"
65+
},
5266
"LoginForm": {
5367
"UsernameOrEmail": "Email or Username",
5468
"UsernameOrEmailARIA": "Email or Username",

translations/locales/es-419/translations.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,20 @@
4949
"LogOut": "Cerrar sesión"
5050
}
5151
},
52+
"CodemirrorFindAndReplace": {
53+
"Find": "Buscar",
54+
"FindPlaceholder": "Buscar en archivos",
55+
"Replace": "Reemplazar",
56+
"ReplaceAll": "Reemplaza todo",
57+
"ReplacePlaceholder": "Texto para reemplazar",
58+
"Regex": "Expresión regular",
59+
"CaseSensitive": "Distingue mayúsculas y minúsculas",
60+
"WholeWords": "Toda palabra",
61+
"Previous": "Previo",
62+
"Next": "Próximo",
63+
"NoResults": "No hay resultados",
64+
"Close": "Cerca"
65+
},
5266
"LoginForm": {
5367
"UsernameOrEmail": "Correo o Identificación",
5468
"UsernameOrEmailARIA": "Introduce Correo o Identificación",

0 commit comments

Comments
 (0)