DuytsDoc now used generic locale

This commit is contained in:
Willem Cazander 2022-10-31 00:32:01 +01:00
parent efc56a04c9
commit bd01bddbcf
17 changed files with 126 additions and 126 deletions

View file

@ -12,7 +12,6 @@ import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnDuytsFlüstern注;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnExport注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿªḕ響ᴼᶠ;
@ -29,19 +28,26 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ObjectScopeLimitΔ邪ᙾ;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.Runnableբ;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.BabelLocalizer邪ᙾ;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocConstructor注;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocMethod注;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocType注;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDoc注;
import ᴶᐩᐩ.ᔿᐤᑊᐣ.ᒢᔿᕽ.CounterGuageᴶᴹˣ;
import ᴶᐩᐩ.ᔿᐤᑊᐣ.ᣔᒃᣔᒼᓑᔆ.BãßBȍőnAbacusInstanceMBeanʸᴰ;
/**
* Runtime for static bass noise .
*/
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@DuytsDocType注(babel = {
@DuytsDoc注(locale= "en", purpose = "Runtime for static bass noise ௸.."),
@DuytsDoc注(locale= "zh", code = "低音", purpose = "來自天堂的靜態低音噪音的運行時間"),
@DuytsDoc注(locale= "hi", code = "बास", purpose = "स्वर्ग से स्थिर बास शोर के लिए रनटाइम")
})
public interface Bãß {
/**
* Sarcophagus aggregates Y-Dimensions.
*/
@BãßBȍőnDuytsFlüstern注(purpose = "Framework startup.")
@DuytsDocType注(babel = {
@DuytsDoc注(locale= "en", code = "lijkenkistʸᴰ", purpose = "Sarcophagus aggregates Y-Dimensions"),
@DuytsDoc注(locale= "zh", purpose = "石棺聚合多個維度"),
@DuytsDoc注(locale= "hi", code = "पत्थरꣻकीꣻबनीꣻहुईꣻकब्रʸᴰ", purpose = "सरकोफैगस कई आयामों को एकत्रित करता है")
})
@BãßBȍőnExport注(group = "love.distributedrebirth.bassboon")
static enum 石棺ʸᴰ implements BãßBȍőnAbacusInstanceMBeanʸᴰ<石棺ʸᴰ> {
أَكْبَرײꣻײالله;
@ -69,41 +75,51 @@ public interface Bãß {
Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.Г̄Ѫӏ = () -> boonCntInit.increment();
};
/**
* Sarcophagus is closed for humans.
*/
@DuytsDocConstructor注(babel = {
@DuytsDoc注(locale= "en", purpose = "Sarcophagus is closed for humans"),
@DuytsDoc注(locale= "zh", purpose = "石棺對人類關閉"),
@DuytsDoc注(locale= "hi", purpose = "सरकोफैगस इंसानों के लिए बंद है")
})
private 石棺ʸᴰ() {
Bãß.характеристики.熱蘭遮城.יזזןיזךױױזזױ = Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.CHAR_ATARI > Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;
}
/**
* ...........Init
*/
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", code = "boonInit", purpose = "RÅ...........Init"),
@DuytsDoc注(locale= "zh", code = "恩惠初始化", purpose = "拉布恩飛行"),
@DuytsDoc注(locale= "hi", code = "बूनꣻस्टार्ट", purpose = "रा बून फ्लाइंग")
})
public <T extends BãßBȍőnʸᴰ<T>> void 𓂀ױןייזדזיודזיןןזזזןױ𓉢(BãßBȍőnʸᴰ<T> derKnochen) {
//boonCntInit.increment();
Г̄Ѫӏ.ड़न();
挖ᵀᵒ(derKnochen).init(derKnochen);
}
/**
* Grave Lock
*/
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", code = "lockGrave", purpose = "Closes the coffin so no new ghosts can enter"),
@DuytsDoc注(locale= "zh", code = "墳墓鎖", purpose = "關上棺材,讓新的鬼魂無法進入"),
@DuytsDoc注(locale= "hi", code = "कब्रꣻकाꣻताला", purpose = "ताबूत को बंद कर देता है ताकि कोई नया भूत प्रवेश न कर सके")
})
public <T extends BãßBȍőnʸᴰ<T>> void 墳ᴸᵒᶜᵏ(BãßBȍőnʸᴰ<T> derKnochen) {
boonCntLock.increment();
挖ᵀᵒ(derKnochen).lock(derKnochen);
}
/**
* Spider Embryo Add
*/
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", code = "spiderEmbryoAdd", purpose = "Injection of external spider sperm to mix the dead bones"),
@DuytsDoc注(locale= "zh", code = "蜘蛛胚胎添加", purpose = "注射外部蜘蛛精混合死骨"),
@DuytsDoc注(locale= "hi", code = "मकड़ीꣻभ्रूणꣻजोड़ें", purpose = "मृत हड्डियों को मिलाने के लिए बाहरी मकड़ी के शुक्राणु का इंजेक्शन")
})
public void 蜘蛛胚ᴬᵈᵈ(BãßBȍőnSpiderSperm spinneSperma) {
bassCntSpiderEmbryos.increment();
സ്പഡർബ.add(spinneSperma);
}
/**
* Coffin Of
*/
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", code = "coffinOf", purpose = "Gets the coffin from the grave"),
@DuytsDoc注(locale= "zh", code = "棺材", purpose = "從墳墓中取出棺材"),
@DuytsDoc注(locale= "hi", code = "काꣻताबूत", purpose = "कब्र से ताबूत मिलता है")
})
protected <T extends BãßBȍőnʸᴰ<T>> BãßBȍőnCoffin 棺ᴼᶠ(BãßBȍőnʸᴰ<T> derKnochen) {
bassCntCoffinToGrave.increment();
return 挖ᵀᵒ(derKnochen);

View file

@ -1,6 +1,5 @@
package ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Locale;
import java.util.Optional;
@ -13,39 +12,36 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsD
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDoc注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@DuytsDocType注(
ascii = @DuytsDoc注(purpose = "Base package interface from which a local language extends."),
mandarin = @DuytsDoc注(code = "通天塔龸定位器", purpose = "本地語言擴展的基礎包接口"),
hindi = @DuytsDoc注(code = "कोलाहलꣻलोकलाइज़र", purpose = "बेस पैकेज इंटरफ़ेस जिससे एक स्थानीय भाषा का विस्तार होता है")
)
@DuytsDocType注(babel = {
@DuytsDoc注(locale= "en", purpose = "Base package interface from which a local language extends."),
@DuytsDoc注(locale= "zh", code = "通天塔龸定位器", purpose = "本地語言擴展的基礎包接口"),
@DuytsDoc注(locale= "hi", code = "कोलाहलꣻलोकलाइज़र", purpose = "बेस पैकेज इंटरफ़ेस जिससे एक स्थानीय भाषा का विस्तार होता है")
})
public interface BabelLocalizer {
// childface = JVM: only allow direct child members of this to use this interface
// packface = JVM: only allow this package and subpackage are allowed to use this interface
@DuytsDocMethod注(
ascii = @DuytsDoc注(purpose = "Retrieves the locale information"),
mandarin = @DuytsDoc注(code = "至龸通天塔龸定位器龸界面", purpose = "检索语言环境信息"),
hindi = @DuytsDoc注(code = "बेबेलꣻलोकलाइज़रꣻकेꣻलिएꣻएपीआई", purpose = "स्थानीय जानकारी प्राप्त करता है"),
exceptions = {
@DuytsDocThrows注(id = "missing_annotation",
ascii = "Missing required annotation @BabelLocalizer注 on interface: ",
hindi = "आवश्यक एनोटेशन गुम है @BabelLocalizer注 इंटरफ़ेस पर",
mandarin = "缺少必需的註釋 @BabelLocalizer注 在界面上 ")
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", purpose = "Retrieves the locale information"),
@DuytsDoc注(locale= "zh", code = "至龸通天塔龸定位器龸界面", purpose = "检索语言环境信息"),
@DuytsDoc注(locale= "hi", code = "बेबेलꣻलोकलाइज़रꣻकेꣻलिएꣻएपीआई", purpose = "स्थानीय जानकारी प्राप्त करता है")
}, exceptions = {
@DuytsDocThrows注(id = "missing_annotation", babel = {
@DuytsDoc注(locale= "en", code = "Missing required annotation @BabelLocalizer注 on interface: "),
@DuytsDoc注(locale= "zh", code = "缺少必需的註釋 @BabelLocalizer注 在界面上 "),
@DuytsDoc注(locale= "hi", code = "आवश्यक एनोटेशन गुम है @BabelLocalizer注 इंटरफ़ेस पर")
})
})
default BabelLocalizerᴬᵖᶦ toBabelLocalizerᴬᵖᶦ() {
Optional<Class<?>> loc = DefaultBȍőnLoader.findInterfaceByAnnotation(getClass(), BabelLocalizer注.class);
if (loc.isEmpty()) {
// NOTE no translated exceptions here because it requires this annotation.
throw new RuntimeException(toBabelExceptionMessage("missing_annotation", "ascii", this));
}
BabelLocalizer注 anno = loc.get().getAnnotation(BabelLocalizer注.class);
return BabelLocalizerᴬᵖᶦ.Ꝑŕᱜṫèƈ.instanceᴺᵉʷ(anno.name(), new Locale(anno.locale()), anno.target(), anno.metaName());
return BabelLocalizerᴬᵖᶦ.Ꝑŕᱜṫèƈ.instanceᴺᵉʷ(anno.name(), new Locale(anno.locale()), anno.target());
}
// @DuytsDocMethod注(
// ascii = @DuytsDoc注(purpose = "Retrieves the locale information"),
// mandarin = @DuytsDoc注(code = "至龸通天塔龸定位器龸界面", purpose = "检索语言环境信息"),
// hindi = @DuytsDoc注(code = "बेबेलꣻलोकलाइज़रꣻकेꣻलिएꣻएपीआई", purpose = "स्थानीय जानकारी प्राप्त करता है"),
// exceptions = {
// @DuytsDocThrows注(id = "missing_annotation",
// ascii = "Missing required annotation @BabelLocalizer注 on interface: %s",
@ -58,10 +54,10 @@ public interface BabelLocalizer {
public static String toBabelExceptionMessage(String exceptionId, BabelLocalizer loc, Object...msgArgs) {
BabelLocalizerᴬᵖᶦ api = loc.toBabelLocalizerᴬᵖᶦ();
return toBabelExceptionMessage(api.getMetaName(), exceptionId, msgArgs);
return toBabelExceptionMessage(exceptionId, api.getLocale().getLanguage(), msgArgs);
}
public static String toBabelExceptionMessage(String exceptionId, String metaName, Object...msgArgs) {
public static String toBabelExceptionMessage(String exceptionId, String localeId, Object...msgArgs) {
StackWalker walker = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE);
StackWalker.StackFrame frame = walker.walk(stream1 -> stream1.skip(1).findFirst().orElse(null));
if (frame == null) {
@ -80,17 +76,14 @@ public interface BabelLocalizer {
}
for (DuytsDocThrows注 error:anno.exceptions()) {
if (error.id().equals(exceptionId)) {
String msg = null;
try {
Method annoValue = error.getClass().getMethod(metaName);
msg = (String)annoValue.invoke(error);
} catch (SecurityException | IllegalArgumentException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
throw new RuntimeException(e);
}
String errorMsg = String.format(msg, msgArgs);
for (DuytsDoc注 duyts:error.babel()) {
if (duyts.locale().equals(localeId)) {
String errorMsg = String.format(duyts.code(), msgArgs);
throw new RuntimeException(errorMsg);
}
}
}
}
throw new RuntimeException("Missing exception id: "+exceptionId+" in @DuytsDocMethod注 on: "+callerMethod);
}
}

View file

@ -14,11 +14,9 @@ public interface BabelLocalizerᴬᵖᶦ {
String getTarget();
String getMetaName();
enum Ꝑŕᱜṫèƈ implements ObjectScopeLimitΔ.ƉěḭȵᶒModifier.Ꝑŕᱜṫèƈ {
;
protected static BabelLocalizerᴬᵖᶦ instanceᴺᵉʷ(String name, Locale locale, String target, String metaName) {
protected static BabelLocalizerᴬᵖᶦ instanceᴺᵉʷ(String name, Locale locale, String target) {
return new BabelLocalizerᴬᵖᶦ() {
@Override
public String getName() {
@ -32,10 +30,6 @@ public interface BabelLocalizerᴬᵖᶦ {
public String getTarget() {
return target;
}
@Override
public String getMetaName() {
return metaName;
}
};
}
}

View file

@ -17,6 +17,4 @@ public @interface BabelLocalizer注 {
String locale();
String target();
String metaName();
}

View file

@ -5,6 +5,6 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.BabelLocalizer注;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BabelLocalizer注(name = "Ascii", locale = "en", target = "Normalized boring company language", metaName = "ascii")
@BabelLocalizer注(name = "Ascii", locale = "en", target = "Normalized boring company language")
public interface BabelAscii extends BabelLocalizer {
}

View file

@ -10,6 +10,6 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsD
@BabelMethodNameEnforcer注(ranges = {
@BabelMethodNameRange注(start = 0x13000, stop = 0x1342F, name = "Egyptian Hieroglyphs")
})
@BabelLocalizer注(name = "𓂀", locale = "en", target = "Orange Catholic Church pastors", metaName = "hiero")
@BabelLocalizer注(name = "𓂀", locale = "en", target = "Orange Catholic Church pastors")
public interface BabelHiero extends BabelLocalizer {
}

View file

@ -17,7 +17,7 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsD
@BabelMethodNameRange注(start = 'ן', stop = 'ן', name = "Hebrew octal #7"),
@BabelMethodNameRange注(start = 'ך', stop = 'ך', name = "Hebrew octal #8")
})
@BabelLocalizer注(name = "ヒナリー", locale = "ie", target = "Hardcore language for real hinarī coders", metaName = "hinari")
@BabelLocalizer注(name = "ヒナリー", locale = "ie", target = "Hardcore language for real hinarī coders")
public interface BabelHinarī extends BabelLocalizer {
// Patre nor, qui es in li cieles,
// mey tui nómine esser sanctificat,

View file

@ -9,17 +9,17 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsD
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDoc注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@DuytsDocType注(
ascii = @DuytsDoc注(purpose = "Hindi class type identifier"),
mandarin = @DuytsDoc注(code = "通天塔龸印地語", purpose = "印地語類類型標識符"),
hindi = @DuytsDoc注(code = "कोलाहलꣻहिन्दी", purpose = "हिंदी वर्ग प्रकार पहचानकर्ता")
)
@DuytsDocType注(babel = {
@DuytsDoc注(locale= "en", purpose = "Hindi class type identifier"),
@DuytsDoc注(locale= "zh", code = "通天塔龸印地語", purpose = "印地語類類型標識符"),
@DuytsDoc注(locale= "hi", code = "कोलाहलꣻहिन्दी", purpose = "हिंदी वर्ग प्रकार पहचानकर्ता")
})
@BabelMethodNameEnforcer注(ranges = {
@BabelMethodNameRange注(start = 0x0900, stop = 0x097F, name = "Devanagari"),
@BabelMethodNameRange注(start = 0xA8E0, stop = 0xA8FF, name = "Devanagari Extended"),
@BabelMethodNameRange注(start = 0x11B00, stop = 0x11B09, name = "Devanagari Extended-A"),
@BabelMethodNameRange注(start = 0x1CD0, stop = 0x1CFA, name = "Vedic Extensions")
})
@BabelLocalizer注(name = "हिन्दी", locale = "hi", target = "Seaking God with 1230 million eyes", metaName = "hindi")
@BabelLocalizer注(name = "हिन्दी", locale = "hi", target = "Seaking God with 1230 million eyes")
public interface BabelHindi extends BabelLocalizer {
}

View file

@ -5,6 +5,6 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.BabelLocalizer注;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BabelLocalizer注(name = "普通話", locale = "zh", target = "Dragon's nest has 2234 million bass noise ears", metaName = "mandarin")
@BabelLocalizer注(name = "普通話", locale = "zh", target = "Dragon's nest has 2234 million bass noise ears")
public interface BabelMandarin extends BabelLocalizer {
}

View file

@ -5,6 +5,6 @@ import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.BabelLocalizer注;
import ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BabelLocalizer注(name = "русский", locale = "ru", target = "Bãß rocket boot process", metaName = "russian")
@BabelLocalizer注(name = "русский", locale = "ru", target = "Bãß rocket boot process")
public interface BabelRussian extends BabelLocalizer {
}

View file

@ -0,0 +1,18 @@
package ᴶᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.CONSTRUCTOR})
public @interface DuytsDocConstructor注 {
// workflow for translators, set to true to flag this content should
// propagated to the other languages of the translatable doc item.
String awaitsPropagation() default "";
DuytsDoc注[] babel();
}

View file

@ -14,15 +14,5 @@ public @interface DuytsDocField注 {
// propagated to the other languages of the translatable doc item.
String awaitsPropagation() default "";
DuytsDoc注 ascii();
DuytsDoc注 mandarin();
DuytsDoc注 hindi();
DuytsDoc注 hiero() default @DuytsDoc注(purpose = "");
DuytsDoc注 hinarī() default @DuytsDoc注(purpose = "");
DuytsDoc注 russian() default @DuytsDoc注(purpose = "");
DuytsDoc注[] babel();
}

View file

@ -6,25 +6,33 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@DuytsDocType注(babel = {
@DuytsDoc注(locale= "en", purpose = "Adds Duytschen documentation to a method"),
@DuytsDoc注(locale= "zh", code = "荷蘭文法", purpose = "將荷蘭文文檔添加到方法中"),
@DuytsDoc注(locale= "hi", code = "डचडॉकविधि", purpose = "एक विधि में डच दस्तावेज़ जोड़ता है")
})
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface DuytsDocMethod注 {
// workflow for translators, set to true to flag this content should
// propagated to the other languages of the translatable doc item.
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", purpose = "Translater workflow helper to mark propagation of text translations"),
@DuytsDoc注(locale= "zh", purpose = "用於標記文本翻譯傳播的翻譯工作流助手"),
@DuytsDoc注(locale= "hi", purpose = "पाठ अनुवादों के प्रसार को चिह्नित करने के लिए अनुवादक कार्यप्रवाह सहायक")
})
String awaitsPropagation() default "";
DuytsDoc注 ascii();
DuytsDoc注 mandarin();
DuytsDoc注 hindi();
DuytsDoc注 hiero() default @DuytsDoc注(purpose = "");
DuytsDoc注 hinarī() default @DuytsDoc注(purpose = "");
DuytsDoc注 russian() default @DuytsDoc注(purpose = "");
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", purpose = "All the translated language information of the annatated method"),
@DuytsDoc注(locale= "zh", purpose = "註釋方法的所有翻譯語言信息"),
@DuytsDoc注(locale= "hi", purpose = "एनाटेड विधि की सभी अनूदित भाषा की जानकारी")
})
DuytsDoc注[] babel();
@DuytsDocMethod注(babel = {
@DuytsDoc注(locale= "en", purpose = "All the translated exceptions a method may throw"),
@DuytsDoc注(locale= "zh", purpose = "一個方法可能拋出的所有翻譯異常"),
@DuytsDoc注(locale= "hi", purpose = "सभी अनुवादित अपवाद एक विधि फेंक सकते हैं")
})
DuytsDocThrows注[] exceptions() default {};
}

View file

@ -12,15 +12,5 @@ public @interface DuytsDocThrows注 {
String id();
String ascii();
String mandarin();
String hindi();
String hiero() default "";
String hinarī() default "";
String russian() default "";
DuytsDoc注[] babel();
}

View file

@ -12,17 +12,8 @@ public @interface DuytsDocType注 {
// workflow for translators, set to true to flag this content should
// propagated to the other languages of the translatable doc item.
//@DuytsDocMethod注
String awaitsPropagation() default "";
DuytsDoc注 ascii();
DuytsDoc注 mandarin();
DuytsDoc注 hindi();
DuytsDoc注 hiero() default @DuytsDoc注(purpose = "");
DuytsDoc注 hinarī() default @DuytsDoc注(purpose = "");
DuytsDoc注 russian() default @DuytsDoc注(purpose = "");
DuytsDoc注[] babel();
}

View file

@ -10,9 +10,11 @@ import java.lang.annotation.Target;
@Target({ElementType.ANNOTATION_TYPE})
public @interface DuytsDoc注 {
String locale();
String code() default "";
String purpose();
String purpose() default "";
String note() default "";
}