chore: Add missing translations

This commit is contained in:
Robin Shen 2025-11-17 17:30:27 +08:00
parent c6a74dc008
commit d54de0ec27
21 changed files with 338 additions and 184 deletions

View File

@ -374,26 +374,11 @@
<artifactId>commons-csv</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
<version>9.2</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk7</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>

View File

@ -100,7 +100,6 @@ import io.onedev.server.search.entity.issue.IssueQueryParseOption;
import io.onedev.server.search.entity.pack.PackQuery;
import io.onedev.server.search.entity.pullrequest.PullRequestQuery;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.service.BuildParamService;
import io.onedev.server.service.BuildService;
import io.onedev.server.service.IssueChangeService;
import io.onedev.server.service.IssueCommentService;
@ -132,99 +131,83 @@ import io.onedev.server.web.UrlService;
@Singleton
public class McpHelperResource {
private final ObjectMapper objectMapper;
@Inject
private ObjectMapper objectMapper;
private final SettingService settingService;
@Inject
private SettingService settingService;
private final UserService userService;
@Inject
private UserService userService;
private final IssueService issueService;
@Inject
private IssueService issueService;
private final ProjectService projectService;
@Inject
private ProjectService projectService;
private final LinkSpecService linkSpecService;
@Inject
private LinkSpecService linkSpecService;
private final IssueLinkService issueLinkService;
@Inject
private IssueLinkService issueLinkService;
private final IssueCommentService issueCommentService;
@Inject
private IssueCommentService issueCommentService;
private final IterationService iterationService;
@Inject
private IterationService iterationService;
private final IssueChangeService issueChangeService;
@Inject
private IssueChangeService issueChangeService;
private final IssueWorkService issueWorkService;
@Inject
private IssueWorkService issueWorkService;
private final SubscriptionService subscriptionService;
@Inject
private SubscriptionService subscriptionService;
private final PullRequestService pullRequestService;
@Inject
private PullRequestService pullRequestService;
private final PullRequestChangeService pullRequestChangeService;
@Inject
private PullRequestChangeService pullRequestChangeService;
private final PullRequestAssignmentService pullRequestAssignmentService;
@Inject
private PullRequestAssignmentService pullRequestAssignmentService;
private final PullRequestReviewService pullRequestReviewService;
@Inject
private PullRequestReviewService pullRequestReviewService;
private final PullRequestLabelService pullRequestLabelService;
@Inject
private PullRequestLabelService pullRequestLabelService;
private final PullRequestCommentService pullRequestCommentService;
@Inject
private PullRequestCommentService pullRequestCommentService;
private final BuildService buildService;
@Inject
private BuildService buildService;
@Inject
private PackService packService;
private final JobService jobService;
private final GitService gitService;
private final LabelSpecService labelSpecService;
private final UrlService urlService;
private final Validator validator;
private final ServerConfig serverConfig;
@Inject
private JobService jobService;
@Inject
public McpHelperResource(ObjectMapper objectMapper, SettingService settingService,
UserService userService, IssueService issueService, ProjectService projectService,
LinkSpecService linkSpecService, IssueCommentService issueCommentService,
IterationService iterationService, SubscriptionService subscriptionService,
IssueChangeService issueChangeService, IssueLinkService issueLinkService,
IssueWorkService issueWorkService, PullRequestService pullRequestService,
PullRequestChangeService pullRequestChangeService, GitService gitService,
LabelSpecService labelSpecService, PullRequestReviewService pullRequestReviewService,
PullRequestAssignmentService pullRequestAssignmentService,
PullRequestLabelService pullRequestLabelService, UrlService urlService,
PullRequestCommentService pullRequestCommentService, BuildService buildService,
BuildParamService buildParamService, JobService jobService, Validator validator,
ServerConfig serverConfig) {
this.objectMapper = objectMapper;
this.settingService = settingService;
this.issueService = issueService;
this.userService = userService;
this.projectService = projectService;
this.linkSpecService = linkSpecService;
this.issueCommentService = issueCommentService;
this.iterationService = iterationService;
this.subscriptionService = subscriptionService;
this.issueChangeService = issueChangeService;
this.issueLinkService = issueLinkService;
this.issueWorkService = issueWorkService;
this.pullRequestService = pullRequestService;
this.pullRequestChangeService = pullRequestChangeService;
this.pullRequestAssignmentService = pullRequestAssignmentService;
this.pullRequestReviewService = pullRequestReviewService;
this.gitService = gitService;
this.labelSpecService = labelSpecService;
this.pullRequestLabelService = pullRequestLabelService;
this.urlService = urlService;
this.pullRequestCommentService = pullRequestCommentService;
this.buildService = buildService;
this.jobService = jobService;
this.validator = validator;
this.serverConfig = serverConfig;
}
private GitService gitService;
@Inject
private LabelSpecService labelSpecService;
@Inject
private UrlService urlService;
@Inject
private Validator validator;
@Inject
private ServerConfig serverConfig;
private String getToolParamName(String fieldName) {
return fieldName.replace(" ", "_");

View File

@ -35,9 +35,10 @@ import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.ChatModel;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
import dev.langchain4j.data.message.SystemMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.model.openai.OpenAiChatModel;
import java.time.Duration;
import io.onedev.commons.bootstrap.Bootstrap;
import io.onedev.commons.utils.StringUtils;
@ -230,7 +231,13 @@ public class Translate extends CommandHandler {
}
});
var client = OpenAIOkHttpClient.fromEnv();
var model = OpenAiChatModel.builder()
.apiKey(apiKey)
.baseUrl(baseUrl)
.modelName("gpt-4o")
.temperature(0.0)
.timeout(Duration.ofSeconds(30))
.build();
var javaDir = new File(projectDir, "server-core/src/main/java");
@ -279,12 +286,10 @@ public class Translate extends CommandHandler {
}
}
logger.info("Translating {} lines...", untranslated.size());
var createParams = ChatCompletionCreateParams.builder()
.model(ChatModel.GPT_4O)
.temperature(0.0)
.addSystemMessage(systemPrompt)
.addUserMessage(userPromptPrefix + "\n\n\n\n" + Joiner.on("\n\n").join(untranslated));
for (var line: Splitter.on('\n').split(client.chat().completions().create(createParams.build()).choices().get(0).message().content().get())) {
var systemMsg = new SystemMessage(systemPrompt);
var userMsg = new UserMessage(userPromptPrefix + "\n\n\n\n" + Joiner.on("\n\n").join(untranslated));
var response = model.chat(systemMsg, userMsg).aiMessage().text();
for (var line: Splitter.on('\n').split(response)) {
var matcher = VALID_TRANSLATION_PATTERN.matcher(line);
if (matcher.matches()) {
var index = Integer.parseInt(matcher.group(1));

View File

@ -186,6 +186,8 @@ public class AgentQueryBehavior extends ANTLRAssistBehavior {
}
}
}
if (getSettingService().getAISetting().getLiteModelSetting() == null)
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>"));
return hints;
}

View File

@ -257,7 +257,7 @@ public class BuildQueryBehavior extends ANTLRAssistBehavior {
}
}
if (getSettingService().getAISetting().getLiteModelSetting() == null)
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to use natural language query"));
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language"));
return hints;
}

View File

@ -159,6 +159,8 @@ public class CommitQueryBehavior extends ANTLRAssistBehavior {
}
}
}
if (getSettingService().getAISetting().getLiteModelSetting() == null)
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>"));
return hints;
}

View File

@ -337,20 +337,6 @@ public class IssueQueryBehavior extends ANTLRAssistBehavior {
return _T("value should be quoted");
}
}.suggest(terminalExpect);
} else if (spec.getRuleName().equals("Ai")) {
return new FenceAware(codeAssist.getGrammar(), '`', '`') {
@Override
protected List<InputSuggestion> match(String matchWith) {
return null;
}
@Override
protected String getFencingDescription() {
return _T("enclose with ` to query with AI");
}
}.suggest(terminalExpect);
} else if (spec.getRuleName().equals("Fuzzy")) {
return new FenceAware(codeAssist.getGrammar(), '~', '~') {
@ -431,7 +417,7 @@ public class IssueQueryBehavior extends ANTLRAssistBehavior {
}
}
if (getSettingService().getAISetting().getLiteModelSetting() == null)
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to use natural language query</a>"));
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>"));
return hints;
}

View File

@ -226,6 +226,8 @@ public class PackQueryBehavior extends ANTLRAssistBehavior {
}
}
}
if (getSettingService().getAISetting().getLiteModelSetting() == null)
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>"));
return hints;
}

View File

@ -225,6 +225,8 @@ public class ProjectQueryBehavior extends ANTLRAssistBehavior {
}
}
}
if (getSettingService().getAISetting().getLiteModelSetting() == null)
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>"));
return hints;
}

View File

@ -262,7 +262,7 @@ public class PullRequestQueryBehavior extends ANTLRAssistBehavior {
}
}
if (getSettingService().getAISetting().getLiteModelSetting() == null)
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to use natural language query</a>"));
hints.add(_T("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>"));
return hints;
}

View File

@ -1,9 +1,11 @@
package io.onedev.server.web.component.symboltooltip;
import static io.onedev.server.web.translation.Translation._T;
import static org.apache.wicket.ajax.attributes.CallbackParameter.explicit;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
@ -32,6 +34,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.annotation.JsonIgnoreType;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import dev.langchain4j.data.message.SystemMessage;
@ -312,8 +315,15 @@ public abstract class SymbolTooltipPanel extends Panel {
callback = getCallbackFunction(explicit("action"));
else
callback = "undefined";
String script = String.format("onedev.server.symboltooltip.doneQuery('%s', %s);",
content.getMarkupId(), callback);
var translations = Map.of("inferring-the-most-likely", _T("Inferring the most likely..."));
String script;
try {
script = String.format("onedev.server.symboltooltip.doneQuery('%s', %s, %s);",
content.getMarkupId(), callback, objectMapper.writeValueAsString(translations));
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
target.appendJavaScript(script);
} else {
var liteModel = settingService.getAISetting().getLiteModel();

View File

@ -76,7 +76,7 @@ onedev.server.symboltooltip = {
}, 500);
};
},
doneQuery: function(contentId, callback) {
doneQuery: function(contentId, callback, translations) {
var $content = $("#" + contentId);
var $container = $content.parent();
var $tooltip = $("#" + $container.attr("id") + "-symbol-tooltip");
@ -84,7 +84,7 @@ onedev.server.symboltooltip = {
var $definitions = $content.children(".definitions");
if (callback) {
var icon = onedev.server.isDarkMode()? "sparkle.gif": "sparkle-dark.gif";
var $indicator = $('<div class="definition-inferring-indicator mb-2 ajax-loading-indicator"><img src="/~img/' + icon + '"/> <wicket:t>Inferring the most likely...</wicket:t></div>');
var $indicator = $(`<div class="definition-inferring-indicator mb-2 ajax-loading-indicator"><img src="/~img/${icon}"/> ${translations["inferring-the-most-likely"]}</div>`);
$indicator.insertBefore($definitions);
callback("infer");
} else {

View File

@ -2,15 +2,16 @@
<div class="card">
<div class="card-body">
<div class="alert alert-notice alert-light">
<wicket:t>
This model will be used to perform lite tasks including:
<ul class="mb-0">
<li>Query issues, builds, and pull requests with natural language</li>
<li>Mark the most likely symbol definition in symbol navigation</li>
</ul>
It should be fast and cost-effective. Some suggested models:
<code>Google/gemini-2.5-flash</code>,
<code>OpenAI/gpt-4.1-mini</code>,
<code>Qwen/Qwen-2.5-72B-instruct</code>
Fast and cost-effective models are recommended, such as
<code>Google/gemini-2.5-flash</code> and
<code>OpenAI/gpt-4.1-mini</code>
</wicket:t>
</div>
<form wicket:id="form" class="leave-confirm">
<div wicket:id="editor" class="mb-4"></div>

View File

@ -38,12 +38,18 @@ public class Translation_de extends TranslationResourceBundle {
"3. Für CI/CD-Jobs ist es praktischer, eine benutzerdefinierte settings.xml zu verwenden, beispielsweise über den folgenden Code in einem Befehls-Schritt:");
m.put("6-digits passcode", "6-stelliger Passcode");
m.put("7 days", "7 Tage");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Richten Sie KI ein</a>, um die wahrscheinlichsten zu markieren");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">Benutzer</a>, um das Passwort zurückzusetzen");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">Benutzer</a>, um die E-Mail zu verifizieren");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub-flavored Markdown</a> wird akzeptiert, mit <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">Mermaid- und KaTeX-Unterstützung</a>.");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Richten Sie KI ein</a>, um mit natürlicher Sprache abzufragen");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Richten Sie KI ein</a>, um mit natürlicher Sprache abzufragen</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>Ereignisobjekt</a>, das die Benachrichtigung auslöst");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -120,6 +126,10 @@ public class Translation_de extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "Ein {0}, der als Körper der Benutzer-Einladungs-E-Mail verwendet wird");
m.put("A {0} used as body of various issue notification emails", "Ein {0}, der als Körper verschiedener Problem-Benachrichtigungs-E-Mails verwendet wird");
m.put("A {0} used as body of various pull request notification emails", "Ein {0}, der als Körper verschiedener Pull-Request-Benachrichtigungs-E-Mails verwendet wird");
m.put("AI Model Setting", "KI-Modell-Einstellung");
m.put("AI Setting", "KI-Einstellung");
m.put("AI Settings", "KI-Einstellungen");
m.put("API Key", "API-Schlüssel");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"API-URL Ihrer JIRA-Cloud-Instanz, beispielsweise <tt>https://your-domain.atlassian.net/rest/api/3</tt>");
m.put("Able to merge without conflicts", "Kann ohne Konflikte zusammengeführt werden");
@ -237,6 +247,7 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "Aggregiert von '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "Aggregiert von '<span wicket:id=\"spentTimeAggregationLink\"></span>':");
m.put("Aggregation Link", "Aggregations-Link");
m.put("Ai", "KI");
m.put("Alert", "Alarm");
m.put("Alert Setting", "Alarm-Einstellung");
m.put("Alert Settings", "Alarm-Einstellungen");
@ -252,6 +263,7 @@ public class Translation_de extends TranslationResourceBundle {
m.put("All files", "Alle Dateien");
m.put("All groups", "Alle Gruppen");
m.put("All issues", "Alle Issues");
m.put("All occurrences", "Alle Vorkommen");
m.put("All platforms in OCI layout", "Alle Plattformen im OCI-Layout");
m.put("All platforms in image", "Alle Plattformen im Image");
m.put("All possible classes", "Alle möglichen Klassen");
@ -392,6 +404,9 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Base", "Basis");
m.put("Base Gpg Key", "Basis-GPG-Schlüssel");
m.put("Base Query", "Basisabfrage");
m.put("Base URL", "Basis-URL");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"Basis-URL des <b class='text-info'>OpenAI-kompatiblen</b> API-Endpunkts. Leer lassen, um den offiziellen OpenAI-Endpunkt zu verwenden");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Base64-codiertes PEM-Format, beginnend mit -----BEGIN CERTIFICATE----- und endend mit -----END CERTIFICATE-----");
m.put("Basic Info", "Grundlegende Informationen");
@ -1144,11 +1159,11 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Enable All Queried Users", "Aktivieren Sie alle abgefragten Benutzer");
m.put("Enable Anonymous Access", "Aktivieren Sie anonymen Zugriff");
m.put("Enable Auto Backup", "Aktivieren Sie die automatische Sicherung");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "CI/CD aktivieren durch <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable Html Report Publish", "HTML-Berichtveröffentlichung aktivieren");
m.put("Enable Selected Users", "Aktivieren Sie ausgewählte Benutzer");
m.put("Enable Site Publish", "Site-Veröffentlichung aktivieren");
m.put("Enable TTY Mode", "Aktivieren Sie den TTY-Modus");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Aktivieren Sie Build-Unterstützung durch <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable if visibility of this field depends on other fields", "Aktivieren Sie dies, wenn die Sichtbarkeit dieses Feldes von anderen Feldern abhängt");
m.put("Enable if visibility of this param depends on other params", "Aktivieren Sie dies, wenn die Sichtbarkeit dieses Parameters von anderen Parametern abhängt");
m.put("Enable this if the access token has same permissions as the owner", "Aktivieren Sie dies, wenn das Zugriffstoken dieselben Berechtigungen wie der Besitzer hat");
@ -1863,6 +1878,10 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"Links können verwendet werden, um verschiedene Probleme zu verknüpfen. Beispielsweise kann ein Problem mit Unterproblemen oder verwandten Problemen verknüpft werden");
m.put("List", "Liste");
m.put("Lite AI Model", "Lite-KI-Modell");
m.put("Lite AI model settings have been saved", "Lite-KI-Modelleinstellungen wurden gespeichert");
m.put("Lite Model", "Lite-Modell");
m.put("Lite Model Setting", "Lite-Modell-Einstellung");
m.put("Literal", "Literal");
m.put("Literal default value", "Standardwert für Literal");
m.put("Literal value", "Literalwert");
@ -2043,6 +2062,7 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "Benannte Pull-Request-Abfragen-Bean");
m.put("Named Pull Request Query", "Benannte Pull-Request-Abfrage");
m.put("Named Query", "Benannte Abfrage");
m.put("Natural language query via AI", "Abfrage in natürlicher Sprache über KI");
m.put("Network Options", "Netzwerkoptionen");
m.put("Never", "Niemals");
m.put("Never expire", "Niemals ablaufen");
@ -2695,6 +2715,7 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Poll Interval", "Abfrageintervall");
m.put("Populate Tag Mappings", "Tag-Zuordnungen ausfüllen");
m.put("Port", "Port");
m.put("Possible definitions", "Mögliche Definitionen");
m.put("Post", "Posten");
m.put("Post Build Action", "Post-Build-Aktion");
m.put("Post Build Action Bean", "Post-Build-Aktions-Bean");
@ -3749,6 +3770,8 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Suffix Pattern", "Suffix-Muster");
m.put("Suggest changes", "Änderungen vorschlagen");
m.put("Suggested change", "Vorgeschlagene Änderung");
m.put("Suggesting description...", "Beschreibung wird vorgeschlagen...");
m.put("Suggesting title...", "Titel wird vorgeschlagen...");
m.put("Suggestion is outdated either due to code change or pull request close", "Vorschlag ist veraltet, entweder aufgrund von Codeänderungen oder Schließung der Pull-Anfrage");
m.put("Suggestions", "Vorschläge");
m.put("Summary", "Zusammenfassung");
@ -3915,6 +3938,8 @@ public class Translation_de extends TranslationResourceBundle {
"Dies könnte passieren, wenn das Projekt auf ein falsches Git-Repository verweist oder der Commit durch Garbage Collection entfernt wurde.");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"Dies könnte passieren, wenn das Projekt auf ein falsches Git-Repository verweist oder diese Commits durch Garbage Collection entfernt wurden.");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"Dieses Modell wird verwendet, um leichte Aufgaben auszuführen, einschließlich: <ul class=\"mb-0\"> <li>Abfragen von Problemen, Builds und Pull-Anfragen mit natürlicher Sprache</li> <li>Markieren der wahrscheinlichsten Symboldefinition in der Symbolnavigation</li> </ul> Schnelle und kostengünstige Modelle werden empfohlen, wie <code>Google/gemini-2.5-flash</code> und <code>OpenAI/gpt-4.1-mini</code>");
m.put("This name has already been used by another board", "Dieser Name wurde bereits von einem anderen Board verwendet");
m.put("This name has already been used by another group", "Dieser Name wurde bereits von einer anderen Gruppe verwendet");
m.put("This name has already been used by another issue board in the project", "Dieser Name wurde bereits von einem anderen Issue-Board im Projekt verwendet");
@ -4247,7 +4272,6 @@ public class Translation_de extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "Verifizierungs-E-Mail gesendet, bitte überprüfen");
m.put("Verify", "Verifizieren");
m.put("View", "Ansehen");
m.put("View Source", "Quelle anzeigen");
m.put("View source", "Quelle anzeigen");
m.put("View statistics", "Statistiken anzeigen");
m.put("Viewer", "Betrachter");
@ -4378,8 +4402,8 @@ public class Translation_de extends TranslationResourceBundle {
"Sie können dies auch erreichen, indem Sie einen Schritt zum Erstellen eines Docker-Images zu Ihrem CI/CD-Job hinzufügen und die integrierte Registry-Anmeldung mit einem Zugriffstoken-Secret konfigurieren, das Schreibberechtigungen für Pakete hat");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "Sie haben nicht verifizierte <a wicket:id=\"hasUnverifiedLink\">E-Mail-Adressen</a>");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "Sie können auch eine Datei/Bild in das Eingabefeld ziehen oder ein Bild aus der Zwischenablage einfügen");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Sie können das Projekt initialisieren, indem Sie <a wicket:id=\"addFiles\" class=\"link-primary\">Dateien hinzufügen</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">Build-Spezifikationen einrichten</a> oder <a wicket:id=\"pushInstructions\" class=\"link-primary\">ein vorhandenes Repository pushen</a>");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Sie können das Projekt initialisieren, indem Sie <a wicket:id=\"addFiles\" class=\"link-primary\">Dateien hinzufügen</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">CI/CD einrichten</a> oder ein <a wicket:id=\"pushInstructions\" class=\"link-primary\">bestehendes Repository pushen</a>");
m.put("You selected to delete branch \"{0}\"", "Sie haben ausgewählt, den Zweig \"{0}\" zu löschen");
m.put("You will be notified of any activities", "Sie werden über alle Aktivitäten benachrichtigt");
m.put("You've been logged out", "Sie wurden abgemeldet");
@ -4485,6 +4509,7 @@ public class Translation_de extends TranslationResourceBundle {
m.put("found {0} users", "{0} Benutzer gefunden");
m.put("has any value of", "hat einen beliebigen Wert von");
m.put("head", "Kopf");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "im aktuellen Commit");
m.put("ineffective", "unwirksam");
m.put("inherited", "geerbt");
@ -4635,10 +4660,7 @@ public class Translation_de extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "{javax.validation.constraints.NotEmpty.message}");
m.put("{javax.validation.constraints.NotNull.message}", "{javax.validation.constraints.NotNull.message}");
m.put("{javax.validation.constraints.Size.message}", "{javax.validation.constraints.Size.message}");
m.put("AI Model", "AI-Modell");
m.put("AI Model Provider", "AI-Modell-Anbieter");
m.put("Model", "Modell");
m.put("Open AI", "Open AI");
m.put("Inferring the most likely...", "Ermitteln der wahrscheinlichsten...");
}
@Override

View File

@ -38,12 +38,18 @@ public class Translation_es extends TranslationResourceBundle {
"3. Para trabajos de CI/CD, es más conveniente usar un settings.xml personalizado, por ejemplo, mediante el siguiente código en un paso de comando:");
m.put("6-digits passcode", "Código de acceso de 6 dígitos");
m.put("7 days", "7 días");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Configurar IA</a> para marcar lo más probable");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">usuario</a> para restablecer la contraseña");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">usuario</a> para verificar el correo electrónico");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">Markdown con estilo GitHub</a> es aceptado, con <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">soporte para mermaid y katex</a>.");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configurar IA</a> para consultar con lenguaje natural");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configurar IA</a> para consultar con lenguaje natural</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>objeto de evento</a> que desencadena la notificación");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -120,6 +126,10 @@ public class Translation_es extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "Un {0} usado como cuerpo del correo de invitación de usuario");
m.put("A {0} used as body of various issue notification emails", "Un {0} usado como cuerpo de varios correos de notificación de problemas");
m.put("A {0} used as body of various pull request notification emails", "Un {0} usado como cuerpo de varios correos de notificación de solicitudes de extracción");
m.put("AI Model Setting", "Configuración del Modelo de IA");
m.put("AI Setting", "Configuración de IA");
m.put("AI Settings", "Configuraciones de IA");
m.put("API Key", "Clave API");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"URL de la API de su instancia de JIRA en la nube, por ejemplo, <tt>https://your-domain.atlassian.net/rest/api/3</tt>");
m.put("Able to merge without conflicts", "Capaz de fusionar sin conflictos");
@ -237,6 +247,7 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "Agregado desde '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "Agregado desde '<span wicket:id=\"spentTimeAggregationLink\"></span>':");
m.put("Aggregation Link", "Enlace de agregación");
m.put("Ai", "IA");
m.put("Alert", "Alerta");
m.put("Alert Setting", "Configuración de alerta");
m.put("Alert Settings", "Configuraciones de alerta");
@ -252,6 +263,7 @@ public class Translation_es extends TranslationResourceBundle {
m.put("All files", "Todos los archivos");
m.put("All groups", "Todos los grupos");
m.put("All issues", "Todos los problemas");
m.put("All occurrences", "Todas las ocurrencias");
m.put("All platforms in OCI layout", "Todas las plataformas en el diseño OCI");
m.put("All platforms in image", "Todas las plataformas en la imagen");
m.put("All possible classes", "Todas las clases posibles");
@ -392,6 +404,9 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Base", "Base");
m.put("Base Gpg Key", "Clave Gpg base");
m.put("Base Query", "Consulta base");
m.put("Base URL", "URL Base");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"URL Base del <b class='text-info'>punto final de API compatible con OpenAI</b>. Dejar vacío para usar el punto final oficial de OpenAI");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Formato PEM codificado en Base64, comenzando con -----BEGIN CERTIFICATE----- y terminando con -----END CERTIFICATE-----");
m.put("Basic Info", "Información básica");
@ -1144,11 +1159,11 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Enable All Queried Users", "Habilitar Todos los Usuarios Consultados");
m.put("Enable Anonymous Access", "Habilitar Acceso Anónimo");
m.put("Enable Auto Backup", "Habilitar Copia de Seguridad Automática");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Habilitar CI/CD mediante <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable Html Report Publish", "Habilitar la publicación del informe Html");
m.put("Enable Selected Users", "Habilitar Usuarios Seleccionados");
m.put("Enable Site Publish", "Habilitar la publicación del sitio");
m.put("Enable TTY Mode", "Habilitar Modo TTY");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Habilitar soporte de compilación mediante <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable if visibility of this field depends on other fields", "Habilitar si la visibilidad de este campo depende de otros campos");
m.put("Enable if visibility of this param depends on other params", "Habilitar si la visibilidad de este parámetro depende de otros parámetros");
m.put("Enable this if the access token has same permissions as the owner", "Habilitar esto si el token de acceso tiene los mismos permisos que el propietario");
@ -1863,6 +1878,10 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"Los enlaces pueden usarse para asociar diferentes problemas. Por ejemplo, un problema puede estar vinculado a subproblemas o problemas relacionados");
m.put("List", "Lista");
m.put("Lite AI Model", "Modelo de IA Lite");
m.put("Lite AI model settings have been saved", "Se han guardado las configuraciones del modelo de IA Lite");
m.put("Lite Model", "Modelo Lite");
m.put("Lite Model Setting", "Configuración del Modelo Lite");
m.put("Literal", "Literal");
m.put("Literal default value", "Valor predeterminado literal");
m.put("Literal value", "Valor literal");
@ -2043,6 +2062,7 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "Consultas de solicitudes de extracción nombradas Bean");
m.put("Named Pull Request Query", "Consulta de solicitud de extracción nombrada");
m.put("Named Query", "Consulta nombrada");
m.put("Natural language query via AI", "Consulta en lenguaje natural a través de IA");
m.put("Network Options", "Opciones de red");
m.put("Never", "Nunca");
m.put("Never expire", "Nunca expira");
@ -2695,6 +2715,7 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Poll Interval", "Intervalo de sondeo");
m.put("Populate Tag Mappings", "Rellenar mapeos de etiquetas");
m.put("Port", "Puerto");
m.put("Possible definitions", "Definiciones posibles");
m.put("Post", "Publicar");
m.put("Post Build Action", "Acción posterior a la compilación");
m.put("Post Build Action Bean", "Bean de acción posterior a la compilación");
@ -3749,6 +3770,8 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Suffix Pattern", "Patrón de Sufijo");
m.put("Suggest changes", "Sugerir cambios");
m.put("Suggested change", "Cambio sugerido");
m.put("Suggesting description...", "Sugiriendo descripción...");
m.put("Suggesting title...", "Sugiriendo título...");
m.put("Suggestion is outdated either due to code change or pull request close", "La sugerencia está desactualizada debido a un cambio de código o cierre de solicitud de extracción");
m.put("Suggestions", "Sugerencias");
m.put("Summary", "Resumen");
@ -3915,6 +3938,8 @@ public class Translation_es extends TranslationResourceBundle {
"Esto podría suceder cuando el proyecto apunta a un repositorio git incorrecto o el commit ha sido recolectado como basura.");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"Esto podría suceder cuando el proyecto apunta a un repositorio git incorrecto o estos commits han sido recolectados como basura.");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"Este modelo se utilizará para realizar tareas ligeras, incluyendo: <ul class=\"mb-0\"> <li>Consultar problemas, compilaciones y solicitudes de extracción con lenguaje natural</li> <li>Marcar la definición de símbolo más probable en la navegación de símbolos</li> </ul> Se recomiendan modelos rápidos y rentables, como <code>Google/gemini-2.5-flash</code> y <code>OpenAI/gpt-4.1-mini</code>");
m.put("This name has already been used by another board", "Este nombre ya ha sido utilizado por otro tablero");
m.put("This name has already been used by another group", "Este nombre ya ha sido utilizado por otro grupo");
m.put("This name has already been used by another issue board in the project", "Este nombre ya ha sido utilizado por otro tablero de problemas en el proyecto");
@ -4247,7 +4272,6 @@ public class Translation_es extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "Correo de verificación enviado, por favor revísalo");
m.put("Verify", "Verificar");
m.put("View", "Ver");
m.put("View Source", "Ver Fuente");
m.put("View source", "Ver fuente");
m.put("View statistics", "Ver estadísticas");
m.put("Viewer", "Visualizador");
@ -4378,8 +4402,8 @@ public class Translation_es extends TranslationResourceBundle {
"También puedes lograr esto agregando un paso de construcción de imagen Docker a tu trabajo CI/CD y configurando el inicio de sesión del registro integrado con un secreto de token de acceso que tenga permisos de escritura de paquetes");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "Tienes <a wicket:id=\"hasUnverifiedLink\">direcciones de correo electrónico</a> no verificadas");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "También puedes soltar un archivo/imagen en el cuadro de entrada, o pegar una imagen desde el portapapeles");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Puedes inicializar el proyecto <a wicket:id=\"addFiles\" class=\"link-primary\">agregando archivos</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurando la especificación de construcción</a>, o <a wicket:id=\"pushInstructions\" class=\"link-primary\">empujando un repositorio existente</a>");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Puedes inicializar el proyecto <a wicket:id=\"addFiles\" class=\"link-primary\">agregando archivos</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurando CI/CD</a>, o <a wicket:id=\"pushInstructions\" class=\"link-primary\">empujando un repositorio existente</a>");
m.put("You selected to delete branch \"{0}\"", "Seleccionaste eliminar la rama \"{0}\"");
m.put("You will be notified of any activities", "Serás notificado de cualquier actividad");
m.put("You've been logged out", "Has cerrado sesión");
@ -4485,6 +4509,7 @@ public class Translation_es extends TranslationResourceBundle {
m.put("found {0} users", "encontrados {0} usuarios");
m.put("has any value of", "tiene algún valor de");
m.put("head", "cabecera");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "en el commit actual");
m.put("ineffective", "ineficaz");
m.put("inherited", "heredado");
@ -4635,10 +4660,7 @@ public class Translation_es extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "{javax.validation.constraints.NotEmpty.message}");
m.put("{javax.validation.constraints.NotNull.message}", "{javax.validation.constraints.NotNull.message}");
m.put("{javax.validation.constraints.Size.message}", "{javax.validation.constraints.Size.message}");
m.put("AI Model", "Modelo de IA");
m.put("AI Model Provider", "Proveedor de Modelo de IA");
m.put("Model", "Modelo");
m.put("Open AI", "Open AI");
m.put("Inferring the most likely...", "Inferir lo más probable...");
}
@Override

View File

@ -38,12 +38,18 @@ public class Translation_fr extends TranslationResourceBundle {
"3. Pour les tâches CI/CD, il est plus pratique d'utiliser un fichier settings.xml personnalisé, par exemple via le code ci-dessous dans une étape de commande :");
m.put("6-digits passcode", "Code d'accès à 6 chiffres");
m.put("7 days", "7 jours");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Configurer l'IA</a> pour marquer le plus probable");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">utilisateur</a> pour réinitialiser le mot de passe");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">utilisateur</a> pour vérifier l'email");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">Markdown au format GitHub</a> est accepté, avec <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">support mermaid et katex</a>.");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configurer l'IA</a> pour interroger en langage naturel");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configurer l'IA</a> pour interroger en langage naturel</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>objet événement</a> déclenchant la notification");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -120,6 +126,10 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "Un {0} utilisé comme corps de l'email d'invitation utilisateur");
m.put("A {0} used as body of various issue notification emails", "Un {0} utilisé comme corps des divers emails de notification de problème");
m.put("A {0} used as body of various pull request notification emails", "Un {0} utilisé comme corps des divers emails de notification de demande de tirage");
m.put("AI Model Setting", "Paramètre du modèle d'IA");
m.put("AI Setting", "Paramètre de l'IA");
m.put("AI Settings", "Paramètres de l'IA");
m.put("API Key", "Clé API");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"URL API de votre instance JIRA cloud, par exemple, <tt>https://your-domain.atlassian.net/rest/api/3</tt>");
m.put("Able to merge without conflicts", "Capable de fusionner sans conflits");
@ -237,6 +247,7 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "Agrégé depuis '<span wicket:id=\"estimatedTimeAggregationLink\"></span>' :");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "Agrégé depuis '<span wicket:id=\"spentTimeAggregationLink\"></span>' :");
m.put("Aggregation Link", "Lien d'agrégation");
m.put("Ai", "IA");
m.put("Alert", "Alerte");
m.put("Alert Setting", "Paramètre d'alerte");
m.put("Alert Settings", "Paramètres d'alerte");
@ -252,6 +263,7 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("All files", "Tous les fichiers");
m.put("All groups", "Tous les groupes");
m.put("All issues", "Tous les problèmes");
m.put("All occurrences", "Toutes les occurrences");
m.put("All platforms in OCI layout", "Toutes les plateformes dans la disposition OCI");
m.put("All platforms in image", "Toutes les plateformes dans l'image");
m.put("All possible classes", "Toutes les classes possibles");
@ -392,6 +404,9 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Base", "Base");
m.put("Base Gpg Key", "Clé Gpg de base");
m.put("Base Query", "Requête de base");
m.put("Base URL", "URL de base");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"URL de base du point de terminaison API <b class='text-info'>compatible OpenAI</b>. Laissez vide pour utiliser le point de terminaison officiel d'OpenAI");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Format PEM encodé en Base64, commençant par -----BEGIN CERTIFICATE----- et se terminant par -----END CERTIFICATE-----");
m.put("Basic Info", "Informations de base");
@ -1144,11 +1159,11 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Enable All Queried Users", "Activer tous les utilisateurs interrogés");
m.put("Enable Anonymous Access", "Activer l'accès anonyme");
m.put("Enable Auto Backup", "Activer la sauvegarde automatique");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Activer CI/CD par <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable Html Report Publish", "Activer la publication du rapport Html");
m.put("Enable Selected Users", "Activer les utilisateurs sélectionnés");
m.put("Enable Site Publish", "Activer la publication du site");
m.put("Enable TTY Mode", "Activer le mode TTY");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Activer la prise en charge de la construction par <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable if visibility of this field depends on other fields", "Activer si la visibilité de ce champ dépend d'autres champs");
m.put("Enable if visibility of this param depends on other params", "Activer si la visibilité de ce paramètre dépend d'autres paramètres");
m.put("Enable this if the access token has same permissions as the owner", "Activer ceci si le jeton d'accès a les mêmes permissions que le propriétaire");
@ -1863,6 +1878,10 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"Les liens peuvent être utilisés pour associer différents problèmes. Par exemple, un problème peut être lié à des sous-problèmes ou à des problèmes connexes");
m.put("List", "Liste");
m.put("Lite AI Model", "Modèle d'IA léger");
m.put("Lite AI model settings have been saved", "Les paramètres du modèle d'IA léger ont été enregistrés");
m.put("Lite Model", "Modèle léger");
m.put("Lite Model Setting", "Paramètre du modèle léger");
m.put("Literal", "Littéral");
m.put("Literal default value", "Valeur par défaut littérale");
m.put("Literal value", "Valeur littérale");
@ -2043,6 +2062,7 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "Bean de requêtes de pull request nommé");
m.put("Named Pull Request Query", "Requête de pull request nommé");
m.put("Named Query", "Requête nommée");
m.put("Natural language query via AI", "Requête en langage naturel via l'IA");
m.put("Network Options", "Options réseau");
m.put("Never", "Jamais");
m.put("Never expire", "Ne jamais expirer");
@ -2695,6 +2715,7 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Poll Interval", "Intervalle de sondage");
m.put("Populate Tag Mappings", "Remplir les mappages de tags");
m.put("Port", "Port");
m.put("Possible definitions", "Définitions possibles");
m.put("Post", "Publier");
m.put("Post Build Action", "Action post-build");
m.put("Post Build Action Bean", "Bean d'action post-build");
@ -3749,6 +3770,8 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Suffix Pattern", "Modèle de suffixe");
m.put("Suggest changes", "Suggérer des modifications");
m.put("Suggested change", "Modification suggérée");
m.put("Suggesting description...", "Suggestion de description...");
m.put("Suggesting title...", "Suggestion de titre...");
m.put("Suggestion is outdated either due to code change or pull request close", "La suggestion est obsolète en raison d'un changement de code ou de la fermeture de la demande de tirage");
m.put("Suggestions", "Suggestions");
m.put("Summary", "Résumé");
@ -3915,6 +3938,8 @@ public class Translation_fr extends TranslationResourceBundle {
"Cela peut arriver lorsque le projet pointe vers un mauvais dépôt git ou que le commit est collecté comme déchet.");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"Cela peut arriver lorsque le projet pointe vers un mauvais dépôt git ou que ces commits sont collectés comme déchets.");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"Ce modèle sera utilisé pour effectuer des tâches légères, y compris : <ul class=\"mb-0\"> <li>Interroger les problèmes, les builds et les pull requests avec un langage naturel</li> <li>Marquer la définition de symbole la plus probable dans la navigation des symboles</li> </ul> Des modèles rapides et rentables sont recommandés, tels que <code>Google/gemini-2.5-flash</code> et <code>OpenAI/gpt-4.1-mini</code>");
m.put("This name has already been used by another board", "Ce nom a déjà été utilisé par un autre tableau");
m.put("This name has already been used by another group", "Ce nom a déjà été utilisé par un autre groupe");
m.put("This name has already been used by another issue board in the project", "Ce nom a déjà été utilisé par un autre tableau de problèmes dans le projet");
@ -4247,7 +4272,6 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "Email de vérification envoyé, veuillez le vérifier");
m.put("Verify", "Vérifier");
m.put("View", "Voir");
m.put("View Source", "Voir la source");
m.put("View source", "Voir la source");
m.put("View statistics", "Voir les statistiques");
m.put("Viewer", "Spectateur");
@ -4378,8 +4402,8 @@ public class Translation_fr extends TranslationResourceBundle {
"Vous pouvez également atteindre cet objectif en ajoutant une étape de création d'image Docker à votre tâche CI/CD et en configurant la connexion au registre intégré avec un jeton d'accès ayant des permissions d'écriture sur les packages");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "Vous avez des <a wicket:id=\"hasUnverifiedLink\">adresses email non vérifiées</a>");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "Vous pouvez également déposer un fichier/une image dans la boîte de saisie ou coller une image depuis le presse-papiers");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Vous pouvez initialiser le projet en <a wicket:id=\"addFiles\" class=\"link-primary\">ajoutant des fichiers</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurant les spécifications de construction</a>, ou <a wicket:id=\"pushInstructions\" class=\"link-primary\">poussant un dépôt existant</a>");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Vous pouvez initialiser le projet en <a wicket:id=\"addFiles\" class=\"link-primary\">ajoutant des fichiers</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurant CI/CD</a>, ou <a wicket:id=\"pushInstructions\" class=\"link-primary\">poussant un dépôt existant</a>");
m.put("You selected to delete branch \"{0}\"", "Vous avez sélectionné de supprimer la branche \"{0}\"");
m.put("You will be notified of any activities", "Vous serez informé de toute activité");
m.put("You've been logged out", "Vous avez été déconnecté");
@ -4485,6 +4509,7 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("found {0} users", "trouvé {0} utilisateurs");
m.put("has any value of", "a une valeur quelconque de");
m.put("head", "tête");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "dans le commit actuel");
m.put("ineffective", "inefficace");
m.put("inherited", "hérité");
@ -4635,10 +4660,7 @@ public class Translation_fr extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "{javax.validation.constraints.NotEmpty.message}");
m.put("{javax.validation.constraints.NotNull.message}", "{javax.validation.constraints.NotNull.message}");
m.put("{javax.validation.constraints.Size.message}", "{javax.validation.constraints.Size.message}");
m.put("AI Model", "Modèle d'IA");
m.put("AI Model Provider", "Fournisseur de modèle d'IA");
m.put("Model", "Modèle");
m.put("Open AI", "Open AI");
m.put("Inferring the most likely...", "Inférence de la plus probable...");
}
@Override

View File

@ -38,12 +38,18 @@ public class Translation_it extends TranslationResourceBundle {
"3. Per il lavoro CI/CD, è più conveniente utilizzare un file settings.xml personalizzato, ad esempio tramite il seguente codice in uno step di comando:");
m.put("6-digits passcode", "Passcode a 6 cifre");
m.put("7 days", "7 giorni");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Configura AI</a> per contrassegnare il più probabile");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">utente</a> per reimpostare la password");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">utente</a> per verificare l'email");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">Markdown stile GitHub</a> è accettato, con <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">supporto mermaid e katex</a>.");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configura AI</a> per interrogare con linguaggio naturale");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configura AI</a> per interrogare con linguaggio naturale</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>oggetto evento</a> che ha attivato la notifica");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -120,6 +126,10 @@ public class Translation_it extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "Un {0} utilizzato come corpo dell'email di invito utente");
m.put("A {0} used as body of various issue notification emails", "Un {0} utilizzato come corpo delle varie email di notifica delle issue");
m.put("A {0} used as body of various pull request notification emails", "Un {0} utilizzato come corpo delle varie email di notifica delle pull request");
m.put("AI Model Setting", "Impostazione Modello AI");
m.put("AI Setting", "Impostazione AI");
m.put("AI Settings", "Impostazioni AI");
m.put("API Key", "Chiave API");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"URL API della tua istanza cloud JIRA, ad esempio, <tt>https://your-domain.atlassian.net/rest/api/3</tt>");
m.put("Able to merge without conflicts", "In grado di unire senza conflitti");
@ -237,6 +247,7 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "Aggregato da '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "Aggregato da '<span wicket:id=\"spentTimeAggregationLink\"></span>':");
m.put("Aggregation Link", "Collegamento di aggregazione");
m.put("Ai", "Ai");
m.put("Alert", "Avviso");
m.put("Alert Setting", "Impostazione avviso");
m.put("Alert Settings", "Impostazioni avviso");
@ -252,6 +263,7 @@ public class Translation_it extends TranslationResourceBundle {
m.put("All files", "Tutti i file");
m.put("All groups", "Tutti i gruppi");
m.put("All issues", "Tutti i problemi");
m.put("All occurrences", "Tutte le occorrenze");
m.put("All platforms in OCI layout", "Tutte le piattaforme nel layout OCI");
m.put("All platforms in image", "Tutte le piattaforme nell'immagine");
m.put("All possible classes", "Tutte le classi possibili");
@ -392,6 +404,9 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Base", "Base");
m.put("Base Gpg Key", "Chiave Gpg di base");
m.put("Base Query", "Query di base");
m.put("Base URL", "URL di base");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"URL di base del <b class='text-info'>endpoint API compatibile con OpenAI</b>. Lascia vuoto per utilizzare l'endpoint ufficiale di OpenAI");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Formato PEM codificato in Base64, che inizia con -----BEGIN CERTIFICATE----- e termina con -----END CERTIFICATE-----");
m.put("Basic Info", "Informazioni di base");
@ -1144,11 +1159,11 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Enable All Queried Users", "Abilita Tutti gli Utenti Interrogati");
m.put("Enable Anonymous Access", "Abilita Accesso Anonimo");
m.put("Enable Auto Backup", "Abilita Backup Automatico");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Abilita CI/CD tramite <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable Html Report Publish", "Abilita Pubblicazione Report Html");
m.put("Enable Selected Users", "Abilita Utenti Selezionati");
m.put("Enable Site Publish", "Abilita Pubblicazione Sito");
m.put("Enable TTY Mode", "Abilita Modalità TTY");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Abilita supporto build tramite <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable if visibility of this field depends on other fields", "Abilita se la visibilità di questo campo dipende da altri campi");
m.put("Enable if visibility of this param depends on other params", "Abilita se la visibilità di questo parametro dipende da altri parametri");
m.put("Enable this if the access token has same permissions as the owner", "Abilita questa opzione se il token di accesso ha gli stessi permessi del proprietario");
@ -1863,6 +1878,10 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"I collegamenti possono essere utilizzati per associare diversi problemi. Ad esempio, un problema può essere collegato a sotto-problemi o problemi correlati");
m.put("List", "Lista");
m.put("Lite AI Model", "Modello AI Lite");
m.put("Lite AI model settings have been saved", "Le impostazioni del modello AI Lite sono state salvate");
m.put("Lite Model", "Modello Lite");
m.put("Lite Model Setting", "Impostazione Modello Lite");
m.put("Literal", "Letterale");
m.put("Literal default value", "Valore predefinito letterale");
m.put("Literal value", "Valore letterale");
@ -2043,6 +2062,7 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "Bean di query pull request nominati");
m.put("Named Pull Request Query", "Query pull request nominata");
m.put("Named Query", "Query nominata");
m.put("Natural language query via AI", "Interrogazione in linguaggio naturale tramite AI");
m.put("Network Options", "Opzioni di rete");
m.put("Never", "Mai");
m.put("Never expire", "Non scadere mai");
@ -2695,6 +2715,7 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Poll Interval", "Intervallo di polling");
m.put("Populate Tag Mappings", "Popola le mappature dei tag");
m.put("Port", "Porta");
m.put("Possible definitions", "Definizioni possibili");
m.put("Post", "Posta");
m.put("Post Build Action", "Azione post-build");
m.put("Post Build Action Bean", "Bean di azione post-build");
@ -3749,6 +3770,8 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Suffix Pattern", "Pattern Suffisso");
m.put("Suggest changes", "Suggerisci modifiche");
m.put("Suggested change", "Modifica suggerita");
m.put("Suggesting description...", "Suggerimento descrizione...");
m.put("Suggesting title...", "Suggerimento titolo...");
m.put("Suggestion is outdated either due to code change or pull request close", "Il suggerimento è obsoleto a causa di modifiche al codice o chiusura della pull request");
m.put("Suggestions", "Suggerimenti");
m.put("Summary", "Sommario");
@ -3915,6 +3938,8 @@ public class Translation_it extends TranslationResourceBundle {
"Questo potrebbe accadere quando il progetto punta a un repository git errato o il commit è stato raccolto come spazzatura.");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"Questo potrebbe accadere quando il progetto punta a un repository git errato o questi commit sono stati raccolti come spazzatura.");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"Questo modello verrà utilizzato per eseguire attività leggere, tra cui: <ul class=\"mb-0\"> <li>Interrogare problemi, build e pull request con linguaggio naturale</li> <li>Contrassegnare la definizione di simbolo più probabile nella navigazione dei simboli</li> </ul> Si raccomandano modelli veloci ed economici, come <code>Google/gemini-2.5-flash</code> e <code>OpenAI/gpt-4.1-mini</code>");
m.put("This name has already been used by another board", "Questo nome è già stato utilizzato da un'altra bacheca");
m.put("This name has already been used by another group", "Questo nome è già stato utilizzato da un altro gruppo");
m.put("This name has already been used by another issue board in the project", "Questo nome è già stato utilizzato da un'altra bacheca di problemi nel progetto");
@ -4247,7 +4272,6 @@ public class Translation_it extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "Email di verifica inviata, per favore controlla");
m.put("Verify", "Verifica");
m.put("View", "Visualizza");
m.put("View Source", "Visualizza sorgente");
m.put("View source", "Visualizza sorgente");
m.put("View statistics", "Visualizza statistiche");
m.put("Viewer", "Visualizzatore");
@ -4378,8 +4402,8 @@ public class Translation_it extends TranslationResourceBundle {
"Puoi anche ottenere questo aggiungendo uno step di creazione dell'immagine Docker al tuo lavoro CI/CD e configurando il login al registro integrato con un token di accesso segreto che ha permessi di scrittura sui pacchetti");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "Hai indirizzi email <a wicket:id=\"hasUnverifiedLink\">non verificati</a>");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "Puoi anche trascinare file/immagini nella casella di input o incollare immagini dalla clipboard");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Puoi inizializzare il progetto <a wicket:id=\"addFiles\" class=\"link-primary\">aggiungendo file</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurando le specifiche di build</a>, o <a wicket:id=\"pushInstructions\" class=\"link-primary\">spingendo un repository esistente</a>");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Puoi inizializzare il progetto <a wicket:id=\"addFiles\" class=\"link-primary\">aggiungendo file</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurando CI/CD</a>, o <a wicket:id=\"pushInstructions\" class=\"link-primary\">spingendo un repository esistente</a>");
m.put("You selected to delete branch \"{0}\"", "Hai selezionato di eliminare il branch \"{0}\"");
m.put("You will be notified of any activities", "Sarai notificato di qualsiasi attività");
m.put("You've been logged out", "Sei stato disconnesso");
@ -4485,6 +4509,7 @@ public class Translation_it extends TranslationResourceBundle {
m.put("found {0} users", "trovati {0} utenti");
m.put("has any value of", "ha qualsiasi valore di");
m.put("head", "testa");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "nel commit corrente");
m.put("ineffective", "inefficace");
m.put("inherited", "ereditato");
@ -4635,10 +4660,7 @@ public class Translation_it extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "{javax.validation.constraints.NotEmpty.message}");
m.put("{javax.validation.constraints.NotNull.message}", "{javax.validation.constraints.NotNull.message}");
m.put("{javax.validation.constraints.Size.message}", "{javax.validation.constraints.Size.message}");
m.put("AI Model", "Modello AI");
m.put("AI Model Provider", "Fornitore di Modelli AI");
m.put("Model", "Modello");
m.put("Open AI", "Open AI");
m.put("Inferring the most likely...", "Inferendo il più probabile...");
}
@Override

View File

@ -38,12 +38,18 @@ public class Translation_ja extends TranslationResourceBundle {
"3. CI/CD ジョブでは、カスタム settings.xml を使用する方が便利です。例えば、以下のコードをコマンドステップで使用してください:");
m.put("6-digits passcode", "6桁のパスコード");
m.put("7 days", "7日間");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">AIを設定</a>して最も可能性の高いものをマーク");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">ユーザー</a>のパスワードをリセットするため");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">ユーザー</a>のメールを確認するため");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub フレーバードマークダウン</a>が使用可能で、<a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid と katex のサポート</a>があります。");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>AIを設定</a>して自然言語でクエリ");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>AIを設定</a>して自然言語でクエリ</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>通知をトリガーするイベントオブジェクト</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -120,6 +126,10 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "ユーザー招待メールの本文として使用される {0}");
m.put("A {0} used as body of various issue notification emails", "さまざまな問題通知メールの本文として使用される {0}");
m.put("A {0} used as body of various pull request notification emails", "さまざまなプルリクエスト通知メールの本文として使用される {0}");
m.put("AI Model Setting", "AIモデル設定");
m.put("AI Setting", "AI設定");
m.put("AI Settings", "AI設定");
m.put("API Key", "APIキー");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"例えば、<tt>https://your-domain.atlassian.net/rest/api/3</tt> のような JIRA クラウドインスタンスの API URL");
m.put("Able to merge without conflicts", "競合なしでマージ可能");
@ -237,6 +247,7 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "'<span wicket:id=\"estimatedTimeAggregationLink\"></span>'から集計:");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "'<span wicket:id=\"spentTimeAggregationLink\"></span>'から集計:");
m.put("Aggregation Link", "集計リンク");
m.put("Ai", "AI");
m.put("Alert", "アラート");
m.put("Alert Setting", "アラート設定");
m.put("Alert Settings", "アラート設定");
@ -252,6 +263,7 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("All files", "すべてのファイル");
m.put("All groups", "すべてのグループ");
m.put("All issues", "すべての課題");
m.put("All occurrences", "すべての出現");
m.put("All platforms in OCI layout", "OCIレイアウトのすべてのプラットフォーム");
m.put("All platforms in image", "イメージ内のすべてのプラットフォーム");
m.put("All possible classes", "すべての可能なクラス");
@ -392,6 +404,9 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Base", "ベース");
m.put("Base Gpg Key", "ベースGpgキー");
m.put("Base Query", "ベースクエリ");
m.put("Base URL", "ベースURL");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"<b class='text-info'>OpenAI互換</b>APIエンドポイントのベースURL。OpenAI公式エンドポイントを使用するには空のままにしてください");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Base64でエンコードされたPEM形式、-----BEGIN CERTIFICATE-----で始まり、-----END CERTIFICATE-----で終わる");
m.put("Basic Info", "基本情報");
@ -1144,11 +1159,11 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Enable All Queried Users", "すべてのクエリされたユーザーを有効にする");
m.put("Enable Anonymous Access", "匿名アクセスを有効にする");
m.put("Enable Auto Backup", "自動バックアップを有効にする");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "<a wicket:id=\"addFile\" class=\"link-primary\"></a>によるCI/CDの有効化");
m.put("Enable Html Report Publish", "HTMLレポート公開を有効化");
m.put("Enable Selected Users", "選択されたユーザーを有効にする");
m.put("Enable Site Publish", "サイト公開を有効化");
m.put("Enable TTY Mode", "TTYモードを有効にする");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "<a wicket:id=\"addFile\" class=\"link-primary\"></a>によるビルドサポートを有効にする");
m.put("Enable if visibility of this field depends on other fields", "このフィールドの表示が他のフィールドに依存する場合に有効にする");
m.put("Enable if visibility of this param depends on other params", "このパラメータの表示が他のパラメータに依存する場合に有効にする");
m.put("Enable this if the access token has same permissions as the owner", "アクセス トークンが所有者と同じ権限を持つ場合にこれを有効にする");
@ -1863,6 +1878,10 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"リンクを使用して異なる課題を関連付けることができます。例えば、課題をサブ課題や関連課題にリンクすることができます");
m.put("List", "リスト");
m.put("Lite AI Model", "ライトAIモデル");
m.put("Lite AI model settings have been saved", "ライトAIモデル設定が保存されました");
m.put("Lite Model", "ライトモデル");
m.put("Lite Model Setting", "ライトモデル設定");
m.put("Literal", "リテラル");
m.put("Literal default value", "リテラルのデフォルト値");
m.put("Literal value", "リテラル値");
@ -2043,6 +2062,7 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "名前付きプルリクエストクエリBean");
m.put("Named Pull Request Query", "名前付きプルリクエストクエリ");
m.put("Named Query", "名前付きクエリ");
m.put("Natural language query via AI", "AIによる自然言語クエリ");
m.put("Network Options", "ネットワークオプション");
m.put("Never", "決して");
m.put("Never expire", "期限切れなし");
@ -2695,6 +2715,7 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Poll Interval", "ポーリング間隔");
m.put("Populate Tag Mappings", "タグマッピングを入力");
m.put("Port", "ポート");
m.put("Possible definitions", "可能な定義");
m.put("Post", "投稿");
m.put("Post Build Action", "ビルド後のアクション");
m.put("Post Build Action Bean", "ビルド後のアクションBean");
@ -3749,6 +3770,8 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Suffix Pattern", "接尾辞パターン");
m.put("Suggest changes", "変更を提案");
m.put("Suggested change", "提案された変更");
m.put("Suggesting description...", "説明を提案中...");
m.put("Suggesting title...", "タイトルを提案中...");
m.put("Suggestion is outdated either due to code change or pull request close", "提案がコード変更またはプルリクエストのクローズにより古くなっています");
m.put("Suggestions", "提案");
m.put("Summary", "概要");
@ -3915,6 +3938,8 @@ public class Translation_ja extends TranslationResourceBundle {
"これはプロジェクトが誤ったGitリポジトリを指している場合や、コミットがガベージコレクションされた場合に発生する可能性があります");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"これはプロジェクトが誤ったGitリポジトリを指している場合や、これらのコミットがガベージコレクションされた場合に発生する可能性があります");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"このモデルは、以下を含む軽量タスクを実行するために使用されます:<ul class=\"mb-0\"> <li>自然言語での問題、ビルド、プルリクエストのクエリ</li> <li>シンボルナビゲーションで最も可能性の高いシンボル定義をマーク</li> </ul> 高速でコスト効果の高いモデルが推奨されます。例えば、<code>Google/gemini-2.5-flash</code>や<code>OpenAI/gpt-4.1-mini</code>などです。");
m.put("This name has already been used by another board", "この名前は別のボードで既に使用されています");
m.put("This name has already been used by another group", "この名前は別のグループで既に使用されています");
m.put("This name has already been used by another issue board in the project", "この名前はプロジェクト内の別の課題ボードで既に使用されています");
@ -4247,7 +4272,6 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "確認メールが送信されました。確認してください");
m.put("Verify", "確認する");
m.put("View", "表示");
m.put("View Source", "ソースを表示");
m.put("View source", "ソースを表示");
m.put("View statistics", "統計を表示");
m.put("Viewer", "ビューアー");
@ -4378,8 +4402,8 @@ public class Translation_ja extends TranslationResourceBundle {
"CI/CDジョブにビルドDockerイメージステップを追加し、パッケージ書き込み権限を持つアクセストークンシークレットで組み込みレジストリログインを設定することでこれを達成できます");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "未確認の<a wicket:id=\"hasUnverifiedLink\">メールアドレス</a>があります");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "入力ボックスにファイル/画像をドロップするか、クリップボードから画像を貼り付けることもできます");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"プロジェクトを初期化するには、<a wicket:id=\"addFiles\" class=\"link-primary\">ファイルを追加</a>、<a wicket:id=\"setupBuildSpec\" class=\"link-primary\">ビルド仕様を設定</a>、または<a wicket:id=\"pushInstructions\" class=\"link-primary\">既存のリポジトリをプッシュ</a>してください");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"プロジェクトを初期化するには、<a wicket:id=\"addFiles\" class=\"link-primary\">ファイルを追加</a>、<a wicket:id=\"setupBuildSpec\" class=\"link-primary\">CI/CDを設定</a>、または<a wicket:id=\"pushInstructions\" class=\"link-primary\">既存のリポジトリをプッシュ</a>してください");
m.put("You selected to delete branch \"{0}\"", "ブランチ「{0}」を削除することを選択しました");
m.put("You will be notified of any activities", "すべての活動について通知されます");
m.put("You've been logged out", "ログアウトされました");
@ -4485,6 +4509,7 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("found {0} users", "{0} ユーザーが見つかりました");
m.put("has any value of", "任意の値を持っています");
m.put("head", "ヘッド");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "現在のコミット内");
m.put("ineffective", "無効");
m.put("inherited", "継承済み");
@ -4635,10 +4660,7 @@ public class Translation_ja extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "{javax.validation.constraints.NotEmpty.message}");
m.put("{javax.validation.constraints.NotNull.message}", "{javax.validation.constraints.NotNull.message}");
m.put("{javax.validation.constraints.Size.message}", "{javax.validation.constraints.Size.message}");
m.put("AI Model", "AIモデル");
m.put("AI Model Provider", "AIモデルプロバイダー");
m.put("Model", "モデル");
m.put("Open AI", "Open AI");
m.put("Inferring the most likely...", "最も可能性の高いものを推測しています...");
}
@Override

View File

@ -38,12 +38,18 @@ public class Translation_ko extends TranslationResourceBundle {
"3. CI/CD 작업에서는 사용자 정의 settings.xml을 사용하는 것이 더 편리합니다. 예를 들어 명령 단계에서 아래 코드를 통해 가능합니다:");
m.put("6-digits passcode", "6자리 인증 코드");
m.put("7 days", "7일");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">AI 설정</a>을 통해 가장 가능성이 높은 것을 표시합니다");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">사용자</a>의 비밀번호를 재설정합니다");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">사용자</a>의 이메일을 확인합니다");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub 스타일 마크다운</a>이 허용되며, <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid 및 katex 지원</a>이 포함됩니다.");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>AI 설정</a>을 통해 자연어로 질의합니다");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>AI 설정</a>을 통해 자연어로 질의합니다</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>이벤트 객체</a>가 알림을 트리거합니다");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -120,6 +126,10 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "사용자 초대 이메일 본문으로 사용된 {0}");
m.put("A {0} used as body of various issue notification emails", "다양한 문제 알림 이메일 본문으로 사용된 {0}");
m.put("A {0} used as body of various pull request notification emails", "다양한 풀 리퀘스트 알림 이메일 본문으로 사용된 {0}");
m.put("AI Model Setting", "AI 모델 설정");
m.put("AI Setting", "AI 설정");
m.put("AI Settings", "AI 설정");
m.put("API Key", "API 키");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"예를 들어, <tt>https://your-domain.atlassian.net/rest/api/3</tt>와 같은 JIRA 클라우드 인스턴스의 API URL");
m.put("Able to merge without conflicts", "충돌 없이 병합 가능");
@ -237,6 +247,7 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "'<span wicket:id=\"estimatedTimeAggregationLink\"></span>'에서 집계됨:");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "'<span wicket:id=\"spentTimeAggregationLink\"></span>'에서 집계됨:");
m.put("Aggregation Link", "집계 링크");
m.put("Ai", "AI");
m.put("Alert", "알림");
m.put("Alert Setting", "알림 설정");
m.put("Alert Settings", "알림 설정들");
@ -252,6 +263,7 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("All files", "모든 파일");
m.put("All groups", "모든 그룹");
m.put("All issues", "모든 이슈");
m.put("All occurrences", "모든 발생");
m.put("All platforms in OCI layout", "OCI 레이아웃의 모든 플랫폼");
m.put("All platforms in image", "이미지의 모든 플랫폼");
m.put("All possible classes", "모든 가능한 클래스");
@ -392,6 +404,9 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Base", "기본");
m.put("Base Gpg Key", "기본 Gpg 키");
m.put("Base Query", "기본 쿼리");
m.put("Base URL", "기본 URL");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"<b class='text-info'>OpenAI 호환</b> API 엔드포인트의 기본 URL. OpenAI 공식 엔드포인트를 사용하려면 비워 두세요");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Base64로 인코딩된 PEM 형식, -----BEGIN CERTIFICATE-----로 시작하고 -----END CERTIFICATE-----로 끝남");
m.put("Basic Info", "기본 정보");
@ -1144,11 +1159,11 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Enable All Queried Users", "모든 조회된 사용자를 활성화합니다");
m.put("Enable Anonymous Access", "익명 액세스를 활성화합니다");
m.put("Enable Auto Backup", "자동 백업을 활성화합니다");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "<a wicket:id=\"addFile\" class=\"link-primary\"></a>를 통해 CI/CD 활성화");
m.put("Enable Html Report Publish", "HTML 보고서 게시 활성화");
m.put("Enable Selected Users", "선택된 사용자를 활성화합니다");
m.put("Enable Site Publish", "사이트 게시 활성화");
m.put("Enable TTY Mode", "TTY 모드를 활성화합니다");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "<a wicket:id=\"addFile\" class=\"link-primary\"></a>를 통해 빌드 지원을 활성화합니다");
m.put("Enable if visibility of this field depends on other fields", "이 필드의 가시성이 다른 필드에 따라 달라지는 경우 활성화합니다");
m.put("Enable if visibility of this param depends on other params", "이 매개변수의 가시성이 다른 매개변수에 따라 달라지는 경우 활성화합니다");
m.put("Enable this if the access token has same permissions as the owner", "액세스 토큰이 소유자와 동일한 권한을 가진 경우 이를 활성화합니다");
@ -1863,6 +1878,10 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"링크는 서로 다른 이슈를 연결하는 데 사용할 수 있습니다. 예를 들어, 하나의 이슈를 하위 이슈 또는 관련 이슈에 연결할 수 있습니다");
m.put("List", "목록");
m.put("Lite AI Model", "라이트 AI 모델");
m.put("Lite AI model settings have been saved", "라이트 AI 모델 설정이 저장되었습니다");
m.put("Lite Model", "라이트 모델");
m.put("Lite Model Setting", "라이트 모델 설정");
m.put("Literal", "리터럴");
m.put("Literal default value", "리터럴 기본값");
m.put("Literal value", "리터럴 값");
@ -2043,6 +2062,7 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "Named Pull Request Queries Bean");
m.put("Named Pull Request Query", "Named Pull Request Query");
m.put("Named Query", "Named Query");
m.put("Natural language query via AI", "AI를 통한 자연어 질의");
m.put("Network Options", "네트워크 옵션");
m.put("Never", "절대 없음");
m.put("Never expire", "만료되지 않음");
@ -2695,6 +2715,7 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Poll Interval", "폴링 간격");
m.put("Populate Tag Mappings", "태그 매핑 채우기");
m.put("Port", "포트");
m.put("Possible definitions", "가능한 정의");
m.put("Post", "게시");
m.put("Post Build Action", "빌드 후 작업");
m.put("Post Build Action Bean", "빌드 후 작업 빈");
@ -3749,6 +3770,8 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Suffix Pattern", "접미사 패턴");
m.put("Suggest changes", "변경 사항 제안");
m.put("Suggested change", "제안된 변경 사항");
m.put("Suggesting description...", "설명 제안 중...");
m.put("Suggesting title...", "제목 제안 중...");
m.put("Suggestion is outdated either due to code change or pull request close", "제안이 코드 변경 또는 풀 리퀘스트 종료로 인해 오래됨");
m.put("Suggestions", "제안들");
m.put("Summary", "요약");
@ -3915,6 +3938,8 @@ public class Translation_ko extends TranslationResourceBundle {
"이 문제는 프로젝트가 잘못된 Git 저장소를 가리키거나 커밋이 가비지 수집된 경우 발생할 수 있습니다.");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"이 문제는 프로젝트가 잘못된 Git 저장소를 가리키거나 이러한 커밋이 가비지 수집된 경우 발생할 수 있습니다.");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"이 모델은 다음을 포함한 간단한 작업을 수행하는 데 사용됩니다: <ul class=\"mb-0\"> <li>자연어로 이슈, 빌드 및 풀 리퀘스트 쿼리</li> <li>심볼 탐색에서 가장 가능성이 높은 심볼 정의 표시</li> </ul> 빠르고 비용 효율적인 모델이 권장됩니다, 예를 들어 <code>Google/gemini-2.5-flash</code> 및 <code>OpenAI/gpt-4.1-mini</code>");
m.put("This name has already been used by another board", "이 이름은 이미 다른 보드에서 사용되었습니다");
m.put("This name has already been used by another group", "이 이름은 이미 다른 그룹에서 사용되었습니다");
m.put("This name has already been used by another issue board in the project", "이 이름은 프로젝트의 다른 이슈 보드에서 이미 사용되었습니다");
@ -4247,7 +4272,6 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "확인 이메일이 발송되었습니다. 확인해 주세요");
m.put("Verify", "확인");
m.put("View", "보기");
m.put("View Source", "소스 보기");
m.put("View source", "소스 보기");
m.put("View statistics", "통계 보기");
m.put("Viewer", "뷰어");
@ -4378,8 +4402,8 @@ public class Translation_ko extends TranslationResourceBundle {
"CI/CD 작업에 빌드 도커 이미지 단계를 추가하고 패키지 쓰기 권한이 있는 액세스 토큰 비밀로 내장 레지스트리 로그인을 구성하여 이를 달성할 수 있습니다");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "확인되지 않은 <a wicket:id=\"hasUnverifiedLink\">이메일 주소</a>가 있습니다");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "파일/이미지를 입력 상자에 드롭하거나 클립보드에서 이미지를 붙여넣을 수도 있습니다");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"프로젝트를 <a wicket:id=\"addFiles\" class=\"link-primary\">파일 추가</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">빌드 사양 설정</a>, 또는 <a wicket:id=\"pushInstructions\" class=\"link-primary\">기존 저장소 푸시</a>로 초기화할 수 있습니다");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"<a wicket:id=\"addFiles\" class=\"link-primary\">파일 추가</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">CI/CD 설정</a>, 또는 <a wicket:id=\"pushInstructions\" class=\"link-primary\">기존 저장소 푸시</a>를 통해 프젝트를 초기화할 수 있습니다");
m.put("You selected to delete branch \"{0}\"", "브랜치 \"{0}\" 삭제를 선택했습니다");
m.put("You will be notified of any activities", "활동에 대한 알림을 받게 됩니다");
m.put("You've been logged out", "로그아웃되었습니다");
@ -4485,6 +4509,7 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("found {0} users", "{0}명의 사용자를 찾았습니다");
m.put("has any value of", "값이 존재합니다");
m.put("head", "헤드");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "현재 커밋에서");
m.put("ineffective", "비효율적");
m.put("inherited", "상속됨");
@ -4635,10 +4660,7 @@ public class Translation_ko extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "{javax.validation.constraints.NotEmpty.message}");
m.put("{javax.validation.constraints.NotNull.message}", "{javax.validation.constraints.NotNull.message}");
m.put("{javax.validation.constraints.Size.message}", "{javax.validation.constraints.Size.message}");
m.put("AI Model", "AI 모델");
m.put("AI Model Provider", "AI 모델 제공자");
m.put("Model", "모델");
m.put("Open AI", "오픈 AI");
m.put("Inferring the most likely...", "가장 가능성이 높은 것을 추론 중...");
}
@Override

View File

@ -38,12 +38,18 @@ public class Translation_pt extends TranslationResourceBundle {
"3. Para trabalho de CI/CD, é mais conveniente usar um settings.xml personalizado, por exemplo, via o código abaixo em um passo de comando:");
m.put("6-digits passcode", "Código de acesso de 6 dígitos");
m.put("7 days", "7 dias");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Configurar IA</a> para marcar o mais provável");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">usuário</a> para redefinir a senha");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">usuário</a> para verificar o e-mail");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">Markdown com estilo GitHub</a> é aceito, com <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">suporte a mermaid e katex</a>.");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configurar IA</a> para consultar com linguagem natural");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>Configurar IA</a> para consultar com linguagem natural</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>objeto de evento</a> que dispara a notificação");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -120,6 +126,10 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "Um {0} usado como corpo do e-mail de convite de usuário");
m.put("A {0} used as body of various issue notification emails", "Um {0} usado como corpo de vários e-mails de notificação de problema");
m.put("A {0} used as body of various pull request notification emails", "Um {0} usado como corpo de vários e-mails de notificação de pull request");
m.put("AI Model Setting", "Configuração do Modelo de IA");
m.put("AI Setting", "Configuração de IA");
m.put("AI Settings", "Configurações de IA");
m.put("API Key", "Chave de API");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"URL da API da sua instância JIRA cloud, por exemplo, <tt>https://your-domain.atlassian.net/rest/api/3</tt>");
m.put("Able to merge without conflicts", "Capaz de mesclar sem conflitos");
@ -237,6 +247,7 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "Agregado de '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "Agregado de '<span wicket:id=\"spentTimeAggregationLink\"></span>':");
m.put("Aggregation Link", "Link de Agregação");
m.put("Ai", "IA");
m.put("Alert", "Alerta");
m.put("Alert Setting", "Configuração de Alerta");
m.put("Alert Settings", "Configurações de Alerta");
@ -252,6 +263,7 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("All files", "Todos os arquivos");
m.put("All groups", "Todos os grupos");
m.put("All issues", "Todos os problemas");
m.put("All occurrences", "Todas as ocorrências");
m.put("All platforms in OCI layout", "Todas as plataformas no layout OCI");
m.put("All platforms in image", "Todas as plataformas na imagem");
m.put("All possible classes", "Todas as classes possíveis");
@ -392,6 +404,9 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Base", "Base");
m.put("Base Gpg Key", "Chave Gpg Base");
m.put("Base Query", "Consulta Base");
m.put("Base URL", "URL Base");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"URL Base do endpoint da API <b class='text-info'>compatível com OpenAI</b>. Deixe vazio para usar o endpoint oficial do OpenAI");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Formato PEM codificado em Base64, começando com -----BEGIN CERTIFICATE----- e terminando com -----END CERTIFICATE-----");
m.put("Basic Info", "Informações Básicas");
@ -1144,11 +1159,11 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Enable All Queried Users", "Habilitar Todos os Usuários Consultados");
m.put("Enable Anonymous Access", "Habilitar Acesso Anônimo");
m.put("Enable Auto Backup", "Habilitar Backup Automático");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Habilitar CI/CD por <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable Html Report Publish", "Habilitar Publicação de Relatório Html");
m.put("Enable Selected Users", "Habilitar Usuários Selecionados");
m.put("Enable Site Publish", "Habilitar Publicação de Site");
m.put("Enable TTY Mode", "Habilitar Modo TTY");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "Habilitar suporte de build por <a wicket:id=\"addFile\" class=\"link-primary\"></a>");
m.put("Enable if visibility of this field depends on other fields", "Habilitar se a visibilidade deste campo depende de outros campos");
m.put("Enable if visibility of this param depends on other params", "Habilitar se a visibilidade deste parâmetro depende de outros parâmetros");
m.put("Enable this if the access token has same permissions as the owner", "Habilitar isto se o token de acesso tiver as mesmas permissões que o proprietário");
@ -1863,6 +1878,10 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"Links podem ser usados para associar diferentes problemas. Por exemplo, um problema pode ser vinculado a subproblemas ou problemas relacionados");
m.put("List", "Lista");
m.put("Lite AI Model", "Modelo de IA Lite");
m.put("Lite AI model settings have been saved", "As configurações do modelo de IA Lite foram salvas");
m.put("Lite Model", "Modelo Lite");
m.put("Lite Model Setting", "Configuração do Modelo Lite");
m.put("Literal", "Literal");
m.put("Literal default value", "Valor padrão literal");
m.put("Literal value", "Valor literal");
@ -2043,6 +2062,7 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "Bean de Consultas de Pull Request Nomeado");
m.put("Named Pull Request Query", "Consulta de Pull Request Nomeado");
m.put("Named Query", "Consulta Nomeada");
m.put("Natural language query via AI", "Consulta em linguagem natural via IA");
m.put("Network Options", "Opções de Rede");
m.put("Never", "Nunca");
m.put("Never expire", "Nunca expirar");
@ -2695,6 +2715,7 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Poll Interval", "Intervalo de Polling");
m.put("Populate Tag Mappings", "Preencher Mapeamentos de Tags");
m.put("Port", "Porta");
m.put("Possible definitions", "Definições possíveis");
m.put("Post", "Postar");
m.put("Post Build Action", "Ação Pós-Build");
m.put("Post Build Action Bean", "Bean de Ação Pós-Build");
@ -3749,6 +3770,8 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Suffix Pattern", "Padrão de Sufixo");
m.put("Suggest changes", "Sugerir alterações");
m.put("Suggested change", "Alteração sugerida");
m.put("Suggesting description...", "Sugerindo descrição...");
m.put("Suggesting title...", "Sugerindo título...");
m.put("Suggestion is outdated either due to code change or pull request close", "A sugestão está desatualizada devido a alteração de código ou fechamento do pull request");
m.put("Suggestions", "Sugestões");
m.put("Summary", "Resumo");
@ -3915,6 +3938,8 @@ public class Translation_pt extends TranslationResourceBundle {
"Isso pode acontecer quando o projeto aponta para um repositório Git errado ou o commit foi coletado como lixo.");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"Isso pode acontecer quando o projeto aponta para um repositório Git errado ou esses commits foram coletados como lixo.");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"Este modelo será usado para realizar tarefas leves, incluindo: <ul class=\"mb-0\"> <li>Consultar problemas, builds e pull requests com linguagem natural</li> <li>Marcar a definição de símbolo mais provável na navegação de símbolos</li> </ul> Modelos rápidos e econômicos são recomendados, como <code>Google/gemini-2.5-flash</code> e <code>OpenAI/gpt-4.1-mini</code>");
m.put("This name has already been used by another board", "Este nome já foi usado por outro quadro");
m.put("This name has already been used by another group", "Este nome já foi usado por outro grupo");
m.put("This name has already been used by another issue board in the project", "Este nome já foi usado por outro quadro de problemas no projeto");
@ -4247,7 +4272,6 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "Email de verificação enviado, por favor verifique");
m.put("Verify", "Verificar");
m.put("View", "Visualizar");
m.put("View Source", "Visualizar Fonte");
m.put("View source", "Visualizar fonte");
m.put("View statistics", "Visualizar estatísticas");
m.put("Viewer", "Visualizador");
@ -4378,8 +4402,8 @@ public class Translation_pt extends TranslationResourceBundle {
"Você também pode alcançar isso adicionando um passo de construção de imagem Docker ao seu trabalho CI/CD e configurando o login do registro embutido com um segredo de token de acesso que tenha permissões de escrita de pacote");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "Você tem <a wicket:id=\"hasUnverifiedLink\">endereços de email não verificados</a>");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "Você também pode soltar arquivo/imagem na caixa de entrada ou colar imagem da área de transferência");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Você pode inicializar o projeto <a wicket:id=\"addFiles\" class=\"link-primary\">adicionando arquivos</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurando o build spec</a>, ou <a wicket:id=\"pushInstructions\" class=\"link-primary\">enviando um repositório existente</a>");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"Você pode inicializar o projeto <a wicket:id=\"addFiles\" class=\"link-primary\">adicionando arquivos</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">configurando CI/CD</a>, ou <a wicket:id=\"pushInstructions\" class=\"link-primary\">enviando um repositório existente</a>");
m.put("You selected to delete branch \"{0}\"", "Você selecionou excluir o branch \"{0}\"");
m.put("You will be notified of any activities", "Você será notificado de quaisquer atividades");
m.put("You've been logged out", "Você foi desconectado");
@ -4485,6 +4509,7 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("found {0} users", "encontrados {0} usuários");
m.put("has any value of", "tem qualquer valor de");
m.put("head", "cabeçalho");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "no commit atual");
m.put("ineffective", "ineficaz");
m.put("inherited", "herdado");
@ -4635,10 +4660,7 @@ public class Translation_pt extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "{javax.validation.constraints.NotEmpty.message}");
m.put("{javax.validation.constraints.NotNull.message}", "{javax.validation.constraints.NotNull.message}");
m.put("{javax.validation.constraints.Size.message}", "{javax.validation.constraints.Size.message}");
m.put("AI Model", "Modelo de IA");
m.put("AI Model Provider", "Provedor de Modelo de IA");
m.put("Model", "Modelo");
m.put("Open AI", "Open AI");
m.put("Inferring the most likely...", "Inferindo o mais provável...");
}
@Override

View File

@ -56,12 +56,18 @@ public class Translation_zh extends TranslationResourceBundle {
"3. 对于 CI/CD 任务,使用自定义 settings.xml 更方便,例如在命令步骤中使用以下代码");
m.put("6-digits passcode", "6 位数代码");
m.put("7 days", "7 天");
m.put("<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">Set up AI</a> to mark the most likely",
"<a href=\"/~administration/settings/lite-ai-model\" target=\"_blank\">设置 AI</a> 来标记最可能的");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to reset password for",
"重置密码的 <a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">用户</a>");
m.put("<a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">user</a> to verify email for",
"验证邮箱的 <a href=\"https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/User.java\">用户</a>");
m.put("<a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub flavored markdown</a> is accepted, with <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid and katex support</a>.",
"可使用 <a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">GitHub 风格的 markdown</a>,并支持 <a href=\"https://docs.onedev.io/appendix/markdown-syntax\" target=\"_blank\">mermaid 和 katex</a>。");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>设置 AI</a> 以使用自然语言查询");
m.put("<a href='/~administration/settings/lite-ai-model' target='_blank'>Set up AI</a> to query with natural language</a>",
"<a href='/~administration/settings/lite-ai-model' target='_blank'>设置 AI</a> 以使用自然语言查询</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>event object</a> triggering the notification",
"触发通知的 <a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/event/Event.java' target='_blank'>事件对象</a>");
m.put("<a href='https://code.onedev.io/onedev/server/~files/main/server-core/src/main/java/io/onedev/server/model/Alert.java'>alert</a> to display",
@ -138,6 +144,10 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("A {0} used as body of user invitation email", "用作用户邀请邮件正文的 {0}");
m.put("A {0} used as body of various issue notification emails", "用作各种工单通知邮件正文的 {0}");
m.put("A {0} used as body of various pull request notification emails", "用作各种合并请求通知邮件正文的 {0}");
m.put("AI Model Setting", "AI 模型设置");
m.put("AI Setting", "AI 设置");
m.put("AI Settings", "AI 设置");
m.put("API Key", "API 密钥");
m.put("API url of your JIRA cloud instance, for instance, <tt>https://your-domain.atlassian.net/rest/api/3</tt>",
"你的JIRA云实例的API地址例如<tt>https://your-domain.atlassian.net/rest/api/3</tt>");
m.put("Able to merge without conflicts", "没有冲突,可以合并");
@ -255,6 +265,7 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Aggregated from '<span wicket:id=\"estimatedTimeAggregationLink\"></span>':", "聚合自 '<span wicket:id=\"estimatedTimeAggregationLink\"></span>'");
m.put("Aggregated from '<span wicket:id=\"spentTimeAggregationLink\"></span>':", "聚合自 '<span wicket:id=\"spentTimeAggregationLink\"></span>'");
m.put("Aggregation Link", "聚合链接");
m.put("Ai", "AI");
m.put("Alert", "警报");
m.put("Alert Setting", "警报设置");
m.put("Alert Settings", "告警设置");
@ -270,6 +281,7 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("All files", "所有文件");
m.put("All groups", "所有分组");
m.put("All issues", "所有工单");
m.put("All occurrences", "所有出现");
m.put("All platforms in OCI layout", "所有 OCI 布局的平台");
m.put("All platforms in image", "所有镜像中的平台");
m.put("All possible classes", "所有可能的类");
@ -410,6 +422,9 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Base", "基准");
m.put("Base Gpg Key", "基础GPG密钥");
m.put("Base Query", "基础查询");
m.put("Base URL", "基本 URL");
m.put("Base URL of <b class='text-info'>OpenAI compatible</b> API endpoint. Leave empty to use OpenAI official endpoint",
"<b class='text-info'>OpenAI 兼容</b> API 端点的基本 URL。留空以使用 OpenAI 官方端点");
m.put("Base64 encoded PEM format, starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----",
"Base64 编码的 PEM 格式,以 -----BEGIN CERTIFICATE----- 开头,以 -----END CERTIFICATE----- 结尾");
m.put("Basic Info", "基本信息");
@ -1162,11 +1177,11 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Enable All Queried Users", "启用所有查询的用户");
m.put("Enable Anonymous Access", "启用匿名访问");
m.put("Enable Auto Backup", "启用自动备份");
m.put("Enable CI/CD by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "通过 <a wicket:id=\"addFile\" class=\"link-primary\"></a> 启用 CI/CD");
m.put("Enable Html Report Publish", "启用 Html 报告发布");
m.put("Enable Selected Users", "启用选定的用户");
m.put("Enable Site Publish", "启用站点发布");
m.put("Enable TTY Mode", "启用 TTY 模式");
m.put("Enable build support by <a wicket:id=\"addFile\" class=\"link-primary\"></a>", "通过 <a wicket:id=\"addFile\" class=\"link-primary\"></a> 启用构建支持");
m.put("Enable if visibility of this field depends on other fields", "如果字段的可见性取决于其他字段,则启用");
m.put("Enable if visibility of this param depends on other params", "如果参数的可见性取决于其他参数,则启用");
m.put("Enable this if the access token has same permissions as the owner", "如果访问令牌具有与所有者相同的权限,则启用");
@ -1881,6 +1896,10 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Links can be used to associate different issues. For instance, an issue can be linked to sub issues or related issues",
"链接可用于关联不同的工单。例如,工单可以关联子工单或相关工单");
m.put("List", "列表");
m.put("Lite AI Model", "轻量 AI 模型");
m.put("Lite AI model settings have been saved", "轻量 AI 模型设置已保存");
m.put("Lite Model", "轻量模型");
m.put("Lite Model Setting", "轻量模型设置");
m.put("Literal", "字面量");
m.put("Literal default value", "字面量默认值");
m.put("Literal value", "字面量值");
@ -2061,6 +2080,7 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Named Pull Request Queries Bean", "命名合并请求查询Bean");
m.put("Named Pull Request Query", "命名合并请求查询");
m.put("Named Query", "命名查询");
m.put("Natural language query via AI", "通过 AI 的自然语言查询");
m.put("Network Options", "网络选项");
m.put("Never", "从不");
m.put("Never expire", "永不过期");
@ -2713,6 +2733,7 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Poll Interval", "轮询间隔");
m.put("Populate Tag Mappings", "填充标签映射");
m.put("Port", "端口");
m.put("Possible definitions", "可能的定义");
m.put("Post", "发布");
m.put("Post Build Action", "构建后操作");
m.put("Post Build Action Bean", "构建后操作 Bean");
@ -3767,6 +3788,8 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Suffix Pattern", "后缀模式");
m.put("Suggest changes", "建议更改");
m.put("Suggested change", "建议更改");
m.put("Suggesting description...", "建议描述...");
m.put("Suggesting title...", "建议标题...");
m.put("Suggestion is outdated either due to code change or pull request close", "建议由于代码更改或合并请求关闭而过时");
m.put("Suggestions", "建议");
m.put("Summary", "摘要");
@ -3933,6 +3956,8 @@ public class Translation_zh extends TranslationResourceBundle {
"这可能发生在项目指向错误的 git 仓库,或者这些提交被垃圾回收。");
m.put("This might happen when project points to a wrong git repository, or these commits are garbage collected.",
"这可能发生在项目指向错误的 git 仓库,或者这些提交被垃圾回收。");
m.put("This model will be used to perform lite tasks including: <ul class=\"mb-0\"> <li>Query issues, builds, and pull requests with natural language</li> <li>Mark the most likely symbol definition in symbol navigation</li> </ul> Fast and cost-effective models are recommended, such as <code>Google/gemini-2.5-flash</code> and <code>OpenAI/gpt-4.1-mini</code>",
"此模型将用于执行轻量任务,包括:<ul class=\"mb-0\"> <li>使用自然语言查询工单、构建和拉取请求</li> <li>在符号导航中标记最可能的符号定义</li> </ul> 推荐使用快速且具成本效益的模型,例如 <code>Google/gemini-2.5-flash</code> 和 <code>OpenAI/gpt-4.1-mini</code>");
m.put("This name has already been used by another board", "此名称已被另一个看板使用");
m.put("This name has already been used by another group", "此名称已被另一个组使用");
m.put("This name has already been used by another issue board in the project", "此名称已被项目中的另一个工单看板使用");
@ -4265,7 +4290,6 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("Verification email sent, please check it", "验证电子邮件已发送,请检查");
m.put("Verify", "验证");
m.put("View", "查看");
m.put("View Source", "查看源码");
m.put("View source", "查看源代码");
m.put("View statistics", "查看统计信息");
m.put("Viewer", "查看者");
@ -4396,8 +4420,8 @@ public class Translation_zh extends TranslationResourceBundle {
"您还可以通过添加一个构建 docker 镜像步骤到您的 CI/CD 任务,并配置内置注册表登录,使用具有包写权限的访问令牌密钥来实现");
m.put("You have unverified <a wicket:id=\"hasUnverifiedLink\">email addresses</a>", "您有未验证的 <a wicket:id=\"hasUnverifiedLink\">电子邮件地址</a>");
m.put("You may also drop file/image to the input box, or paste image from clipboard", "您也可以将文件/图像拖到输入框中,或从剪贴板粘贴图像");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up build spec</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"您可以通过 <a wicket:id=\"addFiles\" class=\"link-primary\">添加文件</a><a wicket:id=\"setupBuildSpec\" class=\"link-primary\">定义构建规范</a> 或 <a wicket:id=\"pushInstructions\" class=\"link-primary\">推送现有库</a> 来初始化项目");
m.put("You may initialize the project by <a wicket:id=\"addFiles\" class=\"link-primary\">adding files</a>, <a wicket:id=\"setupBuildSpec\" class=\"link-primary\">setting up CI/CD</a>, or <a wicket:id=\"pushInstructions\" class=\"link-primary\">pushing an existing repository</a>",
"您可以通过 <a wicket:id=\"addFiles\" class=\"link-primary\">添加文件</a><a wicket:id=\"setupBuildSpec\" class=\"link-primary\">设置 CI/CD</a>或 <a wicket:id=\"pushInstructions\" class=\"link-primary\">推送现有的代码库</a> 来初始化项目");
m.put("You selected to delete branch \"{0}\"", "您选择删除分支 \"{0}\"");
m.put("You will be notified of any activities", "您将收到任何活动的通知");
m.put("You've been logged out", "您已登出");
@ -4503,6 +4527,7 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("found {0} users", "找到 {0} 个用户");
m.put("has any value of", "具有下列任何值");
m.put("head", "头部");
m.put("https://api.openai.com/v1", "https://api.openai.com/v1");
m.put("in current commit", "在当前提交中");
m.put("ineffective", "无效");
m.put("inherited", "继承");
@ -4653,10 +4678,7 @@ public class Translation_zh extends TranslationResourceBundle {
m.put("{javax.validation.constraints.NotEmpty.message}", "不能为空");
m.put("{javax.validation.constraints.NotNull.message}", "不能为空");
m.put("{javax.validation.constraints.Size.message}", "至少需要指定一个值");
m.put("AI Model", "AI 模型");
m.put("AI Model Provider", "AI 模型提供方");
m.put("Model", "模型");
m.put("Open AI", "Open AI");
m.put("Inferring the most likely...", "推断最有可能的...");
}
@Override