mirror of
https://github.com/YuzuZensai/Crowdin-Localization-Tools.git
synced 2026-01-06 04:33:03 +00:00
✨ feat: current string id
This commit is contained in:
@@ -34,6 +34,7 @@ const CONFIG = {
|
|||||||
|
|
||||||
// Crowdin editor
|
// Crowdin editor
|
||||||
textboxSelector: '.editor-panel__editor-container textarea',
|
textboxSelector: '.editor-panel__editor-container textarea',
|
||||||
|
stringNumberSelector: '#file_options > li:nth-child(4) > a:nth-child(1)',
|
||||||
editorSourceContainer: '.editor-current-translation-source',
|
editorSourceContainer: '.editor-current-translation-source',
|
||||||
sourceStringContainer: '#source_phrase_container',
|
sourceStringContainer: '#source_phrase_container',
|
||||||
|
|
||||||
@@ -268,6 +269,21 @@ function TranslatorTool() {
|
|||||||
searchContainer.style.marginBottom = '16px';
|
searchContainer.style.marginBottom = '16px';
|
||||||
searchContainer.style.flexShrink = '0';
|
searchContainer.style.flexShrink = '0';
|
||||||
|
|
||||||
|
// Current string label
|
||||||
|
var currentStringLabel = document.createElement('div');
|
||||||
|
currentStringLabel.style.fontSize = '12px';
|
||||||
|
currentStringLabel.style.color = '#666';
|
||||||
|
currentStringLabel.style.marginBottom = '4px';
|
||||||
|
currentStringLabel.style.padding = '4px';
|
||||||
|
currentStringLabel.style.backgroundColor = '#f8f9fa';
|
||||||
|
currentStringLabel.style.borderRadius = '4px';
|
||||||
|
currentStringLabel.style.whiteSpace = 'nowrap';
|
||||||
|
currentStringLabel.style.overflow = 'hidden';
|
||||||
|
currentStringLabel.style.textOverflow = 'ellipsis';
|
||||||
|
currentStringLabel.textContent = 'Current string: ';
|
||||||
|
currentStringLabel.id = 'current-string-label';
|
||||||
|
searchContainer.appendChild(currentStringLabel);
|
||||||
|
|
||||||
// Search input
|
// Search input
|
||||||
searchInput = document.createElement('input');
|
searchInput = document.createElement('input');
|
||||||
searchInput.type = 'text';
|
searchInput.type = 'text';
|
||||||
@@ -663,9 +679,17 @@ function TranslatorTool() {
|
|||||||
if (content && content.fullText) {
|
if (content && content.fullText) {
|
||||||
if (content.fullText !== lastSearchedText) {
|
if (content.fullText !== lastSearchedText) {
|
||||||
lastSearchedText = content.fullText;
|
lastSearchedText = content.fullText;
|
||||||
|
|
||||||
|
const currentStringLabel = document.getElementById('current-string-label');
|
||||||
|
if (currentStringLabel) {
|
||||||
|
const stringIdText = content.stringId ? ` [ID: ${content.stringId}]` : '';
|
||||||
|
currentStringLabel.textContent = 'Current string' + stringIdText + ': ' + content.fullText.substring(0, 100) + (content.fullText.length > 100 ? '...' : '');
|
||||||
|
}
|
||||||
|
|
||||||
log('debug', 'Editor content changed', {
|
log('debug', 'Editor content changed', {
|
||||||
text: content.fullText,
|
text: content.fullText,
|
||||||
terms: content.terms,
|
terms: content.terms,
|
||||||
|
stringId: content.stringId,
|
||||||
length: content.fullText.length
|
length: content.fullText.length
|
||||||
});
|
});
|
||||||
findMatches(lastSearchedText);
|
findMatches(lastSearchedText);
|
||||||
@@ -685,10 +709,20 @@ function TranslatorTool() {
|
|||||||
|
|
||||||
const result = {
|
const result = {
|
||||||
fullText: '',
|
fullText: '',
|
||||||
terms: []
|
terms: [],
|
||||||
|
stringId: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const contextLink = document.querySelector('a[href*="view_in_context"]');
|
||||||
|
if (contextLink) {
|
||||||
|
const href = contextLink.getAttribute('href');
|
||||||
|
const match = href.match(/#(\d+)/);
|
||||||
|
if (match && match[1]) {
|
||||||
|
result.stringId = match[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const singularContainer = sourceContainer.querySelector('.singular');
|
const singularContainer = sourceContainer.querySelector('.singular');
|
||||||
if (singularContainer) {
|
if (singularContainer) {
|
||||||
let nodes = singularContainer.childNodes;
|
let nodes = singularContainer.childNodes;
|
||||||
|
|||||||
Reference in New Issue
Block a user