载入中...
搜索中...
未找到
LocalizationDocument.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
6
7#include <functional>
8#include <map>
9#include <string>
10#include <vector>
11
12namespace eve::audio {
13class Source;
14}
15namespace eve::dialogue {
16class DialogueVoice;
17}
18
23
26 std::string text;
27 std::string voiceAsset;
28 std::string voiceStatus;
29 double voiceDuration = 0.0;
30};
31
34 std::string key;
35 std::string context;
36 std::string sourceText;
37 std::map<std::string, LocalizationVariant> variants;
38};
39
42 std::string locale;
43 int total = 0;
44 int translated = 0;
45 int voiced = 0;
46 int approved = 0;
47};
48
51 EditorStatus status = EditorStatus::Applied;
52 std::vector<LocalizationLocaleCoverage> locales;
53 std::vector<EditorDiagnostic> diagnostics;
54};
55
58public:
60 Result<void> addRow(std::string key, std::string sourceText, std::string context = {});
62 Result<void> removeRow(const std::string& key);
64 Result<void> setVariant(const std::string& key, std::string locale,
67 std::vector<LocalizationRow> rows() const;
69 LocalizationAnalysis analyze(const std::vector<std::string>& requiredLocales,
70 bool requireVoice = false) const;
72 EditorValue snapshotValue() const;
74 Result<void> loadSnapshot(const EditorValue& snapshot);
76 Revision revision() const { return revision_; }
77
78private:
79 std::map<std::string, LocalizationRow> rows_;
80 Revision revision_ = 0;
81};
82
85public:
86 using SourceResolver = std::function<audio::Source*(const std::string& asset)>;
88 Result<void> play(const LocalizationDocument& document, const std::string& key,
89 const std::string& locale, dialogue::DialogueVoice* voice,
90 const SourceResolver& sources) const;
91};
92
93} // namespace eve::localization_editing
std::string variant
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
int rows
std::uint32_t key
const VegetationPresetContext & context
A structured explanation of a failed, degraded, or noteworthy result.
Definition Diagnostic.h:94
Move-only operation result carrying either a value or Status.
Definition Result.h:155
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
A playable audio source (static buffer or streaming decoder). Not thread-safe for playback control ex...
Definition Source.h:30
Localized voice assets, duration-based advance, and amplitude lip sync.
Deterministic owning value tree shared by authoring hosts.
UI-neutral localization table with deterministic persistence and QA.
Revision revision() const
Return the current edit revision.
Optional bridge registering and playing localized voice through DialogueVoice.
Result< void > play(const LocalizationDocument &document, const std::string &key, const std::string &locale, dialogue::DialogueVoice *voice, const SourceResolver &sources) const
Resolve, register and start a locale voice clip without changing the document.
std::function< audio::Source *(const std::string &asset)> SourceResolver
eve::Severity DiagnosticSeverity
std::uint64_t Revision
eve::Diagnostic Diagnostic
StrongId< RuleIdTag > RuleId
Definition EditingIds.h:60
eve::StatusCode Status
StatusCode
Stable outcome category for an operation.
Definition Status.h:27
Severity
Stable severity of a diagnostic, independent of its display text.
Definition Diagnostic.h:20
Completeness analysis result with key/locale-scoped diagnostics.
std::vector< LocalizationLocaleCoverage > locales
Aggregate production coverage for one locale.
One stable localization key and all locale variants.
std::map< std::string, LocalizationVariant > variants
One locale's editable translation and voice-production metadata.