@@ -55,6 +55,11 @@ static void modelDbInit() { | |||||
// Get search fields for model | // Get search fields for model | ||||
std::string tagStr; | std::string tagStr; | ||||
for (int tagId : model->tagIds) { | for (int tagId : model->tagIds) { | ||||
// If non-English, add translation of tag before English tags | |||||
if (settings::language != "en") { | |||||
tagStr += string::translate("tag." + tag::getTag(tagId), settings::language); | |||||
tagStr += " "; | |||||
} | |||||
// Add all aliases of a tag | // Add all aliases of a tag | ||||
for (const std::string& tagAlias : tag::tagAliases[tagId]) { | for (const std::string& tagAlias : tag::tagAliases[tagId]) { | ||||
tagStr += tagAlias; | tagStr += tagAlias; | ||||
@@ -68,7 +73,7 @@ static void modelDbInit() { | |||||
model->description, | model->description, | ||||
tagStr, | tagStr, | ||||
}; | }; | ||||
// DEBUG("%s; %s; %s; %s; %s; %s", fields[0].c_str(), fields[1].c_str(), fields[2].c_str(), fields[3].c_str(), fields[4].c_str()); | |||||
// DEBUG("%s; %s; %s; %s; %s", fields[0].c_str(), fields[1].c_str(), fields[2].c_str(), fields[3].c_str(), fields[4].c_str()); | |||||
modelDb.addEntry(model, fields); | modelDb.addEntry(model, fields); | ||||
} | } | ||||
} | } | ||||
@@ -310,7 +315,8 @@ struct ModelBox : widget::OpaqueWidget { | |||||
text += string::translate("Browser.tooltipTags"); | text += string::translate("Browser.tooltipTags"); | ||||
std::vector<std::string> tags; | std::vector<std::string> tags; | ||||
for (int tagId : model->tagIds) { | for (int tagId : model->tagIds) { | ||||
tags.push_back(tag::getTag(tagId)); | |||||
std::string tag = string::translate("tag." + tag::getTag(tagId)); | |||||
tags.push_back(tag); | |||||
} | } | ||||
text += string::join(tags, ", "); | text += string::join(tags, ", "); | ||||
ui::Tooltip* tooltip = new ui::Tooltip; | ui::Tooltip* tooltip = new ui::Tooltip; | ||||
@@ -988,7 +994,8 @@ inline void TagButton::onAction(const ActionEvent& e) { | |||||
for (int tagId = 0; tagId < (int) tag::tagAliases.size(); tagId++) { | for (int tagId = 0; tagId < (int) tag::tagAliases.size(); tagId++) { | ||||
TagItem* tagItem = new TagItem; | TagItem* tagItem = new TagItem; | ||||
tagItem->text = tag::getTag(tagId); | |||||
std::string tag = string::translate("tag." + tag::getTag(tagId)); | |||||
tagItem->text = tag; | |||||
tagItem->tagId = tagId; | tagItem->tagId = tagId; | ||||
tagItem->browser = browser; | tagItem->browser = browser; | ||||
tagItem->disabled = !browser->hasVisibleModel(browser->brand, {tagId}, browser->favorite); | tagItem->disabled = !browser->hasVisibleModel(browser->brand, {tagId}, browser->favorite); | ||||
@@ -1004,7 +1011,8 @@ inline void TagButton::step() { | |||||
for (int tagId : browser->tagIds) { | for (int tagId : browser->tagIds) { | ||||
if (!firstTag) | if (!firstTag) | ||||
text += ", "; | text += ", "; | ||||
text += tag::getTag(tagId); | |||||
std::string tag = string::translate("tag." + tag::getTag(tagId)); | |||||
text += tag; | |||||
firstTag = false; | firstTag = false; | ||||
} | } | ||||
} | } | ||||
@@ -135,7 +135,8 @@ void Model::appendContextMenu(ui::Menu* menu, bool inBrowser) { | |||||
if (!tagIds.empty()) { | if (!tagIds.empty()) { | ||||
menu->addChild(createMenuLabel(string::translate("Model.tags"))); | menu->addChild(createMenuLabel(string::translate("Model.tags"))); | ||||
for (int tagId : tagIds) { | for (int tagId : tagIds) { | ||||
menu->addChild(createMenuLabel("• " + tag::getTag(tagId))); | |||||
std::string tag = string::translate("tag." + tag::getTag(tagId)); | |||||
menu->addChild(createMenuLabel("• " + tag)); | |||||
} | } | ||||
} | } | ||||
@@ -19,7 +19,63 @@ | |||||
"key.ctrl": "Ctrl", | "key.ctrl": "Ctrl", | ||||
"key.shift": "Shift", | "key.shift": "Shift", | ||||
"key.alt": "Alt", | "key.alt": "Alt", | ||||
"MenuBar.infoLabel": "%.1f fps %.1f%% avg %.1f%% max", | |||||
"tag.Arpeggiator": "Arpeggiator", | |||||
"tag.Attenuator": "Attenuator", | |||||
"tag.Blank": "Blank", | |||||
"tag.Chorus": "Chorus", | |||||
"tag.Clock generator": "Clock generator", | |||||
"tag.Clock modulator": "Clock modulator", | |||||
"tag.Compressor": "Compressor", | |||||
"tag.Controller": "Controller", | |||||
"tag.Delay": "Delay", | |||||
"tag.Digital": "Digital", | |||||
"tag.Distortion": "Distortion", | |||||
"tag.Drum": "Drum", | |||||
"tag.Dual": "Dual", | |||||
"tag.Dynamics": "Dynamics", | |||||
"tag.Effect": "Effect", | |||||
"tag.Envelope follower": "Envelope follower", | |||||
"tag.Envelope generator": "Envelope generator", | |||||
"tag.Equalizer": "Equalizer", | |||||
"tag.Expander": "Expander", | |||||
"tag.External": "External", | |||||
"tag.Filter": "Filter", | |||||
"tag.Flanger": "Flanger", | |||||
"tag.Function generator": "Function generator", | |||||
"tag.Granular": "Granular", | |||||
"tag.Hardware clone": "Hardware clone", | |||||
"tag.Limiter": "Limiter", | |||||
"tag.Logic": "Logic", | |||||
"tag.Low-frequency oscillator": "Low-frequency oscillator", | |||||
"tag.Low-pass gate": "Low-pass gate", | |||||
"tag.MIDI": "MIDI", | |||||
"tag.Mixer": "Mixer", | |||||
"tag.Multiple": "Multiple", | |||||
"tag.Noise": "Noise", | |||||
"tag.Oscillator": "Oscillator", | |||||
"tag.Panning": "Panning", | |||||
"tag.Phaser": "Phaser", | |||||
"tag.Physical modeling": "Physical modeling", | |||||
"tag.Polyphonic": "Polyphonic", | |||||
"tag.Quad": "Quad", | |||||
"tag.Quantizer": "Quantizer", | |||||
"tag.Random": "Random", | |||||
"tag.Recording": "Recording", | |||||
"tag.Reverb": "Reverb", | |||||
"tag.Ring modulator": "Ring modulator", | |||||
"tag.Sample and hold": "Sample and hold", | |||||
"tag.Sampler": "Sampler", | |||||
"tag.Sequencer": "Sequencer", | |||||
"tag.Slew limiter": "Slew limiter", | |||||
"tag.Speech": "Speech", | |||||
"tag.Switch": "Switch", | |||||
"tag.Synth voice": "Synth voice", | |||||
"tag.Tuner": "Tuner", | |||||
"tag.Utility": "Utility", | |||||
"tag.Visual": "Visual", | |||||
"tag.Vocoder": "Vocoder", | |||||
"tag.Voltage-controlled amplifier": "Voltage-controlled amplifier", | |||||
"tag.Waveshaper": "Waveshaper", | |||||
"MenuBar.file": "File", | "MenuBar.file": "File", | ||||
"MenuBar.file.new": "New", | "MenuBar.file.new": "New", | ||||
"MenuBar.file.open": "Open", | "MenuBar.file.open": "Open", | ||||
@@ -111,6 +167,7 @@ | |||||
"MenuBar.help.changelog": "Changelog", | "MenuBar.help.changelog": "Changelog", | ||||
"MenuBar.help.update": "Update %s", | "MenuBar.help.update": "Update %s", | ||||
"MenuBar.help.checkUpdate": "Check for %s update", | "MenuBar.help.checkUpdate": "Check for %s update", | ||||
"MenuBar.infoLabel": "%.1f fps %.1f%% avg %.1f%% max", | |||||
"ModuleWidget.history.pastePreset": "paste module preset", | "ModuleWidget.history.pastePreset": "paste module preset", | ||||
"ModuleWidget.history.loadPreset": "load module preset", | "ModuleWidget.history.loadPreset": "load module preset", | ||||
"ModuleWidget.savePresetFailed": "Could not save preset to file %s", | "ModuleWidget.savePresetFailed": "Could not save preset to file %s", | ||||