Skip to content

多语言相关属性

UILangCode

说明:
String型字符串;可读写;读取/设置文档控件显示语言。

语法:

javascript
// 设置
Obj.UILangCode = "enu";  // "enu", "cht", 或 "chs"

// 读取
var langCode = Obj.UILangCode;

语言代码对照表:

代码语言说明
enu英文English
cht中文繁体繁體中文
chs中文简体简体中文

使用示例:

javascript
// 设置为英文界面
Obj.UILangCode = "enu";

// 设置为中文繁体界面
Obj.UILangCode = "cht";

// 设置为中文简体界面
Obj.UILangCode = "chs";

// 读取当前语言设置
var currentLang = Obj.UILangCode;
console.log("当前界面语言:", currentLang);

注意: 此属性仅多语言版本才有效。

综合使用示例

语言设置配置

javascript
// 配置界面语言
function configureLanguage() {
    try {
        // 设置界面语言为中文简体
        Obj.UILangCode = "chs";
        
        console.log("界面语言配置完成");
        console.log("当前语言:", Obj.UILangCode);
        
    } catch (error) {
        console.error("语言配置失败:", error.message);
    }
}

动态语言切换

javascript
// 动态切换界面语言
function switchLanguage(language) {
    var langMap = {
        'english': 'enu',
        'chinese_traditional': 'cht',
        'chinese_simplified': 'chs',
        'en': 'enu',
        'zh-TW': 'cht',
        'zh-CN': 'chs'
    };
    
    var langCode = langMap[language.toLowerCase()];
    if (langCode) {
        Obj.UILangCode = langCode;
        console.log("界面语言已切换为:", language);
        return true;
    } else {
        console.log("不支持的语言:", language);
        return false;
    }
}

// 使用示例
switchLanguage('english');
switchLanguage('chinese_simplified');
switchLanguage('chinese_traditional');

语言检测和设置

javascript
// 检测并设置界面语言
function detectAndSetLanguage() {
    // 获取浏览器语言
    var browserLang = navigator.language || navigator.userLanguage;
    console.log("浏览器语言:", browserLang);
    
    // 根据浏览器语言设置控件语言
    if (browserLang.startsWith('zh-CN')) {
        Obj.UILangCode = "chs";
        console.log("已设置为中文简体");
    } else if (browserLang.startsWith('zh-TW') || browserLang.startsWith('zh-HK')) {
        Obj.UILangCode = "cht";
        console.log("已设置为中文繁体");
    } else {
        Obj.UILangCode = "enu";
        console.log("已设置为英文");
    }
    
    return Obj.UILangCode;
}

语言状态检查

javascript
// 检查语言设置状态
function checkLanguageStatus() {
    var currentLang = Obj.UILangCode;
    
    console.log("语言状态检查:");
    console.log("当前语言代码:", currentLang);
    
    var langNames = {
        'enu': 'English',
        'cht': '繁體中文',
        'chs': '简体中文'
    };
    
    console.log("当前语言名称:", langNames[currentLang] || "未知");
    
    return {
        code: currentLang,
        name: langNames[currentLang] || "未知"
    };
}

语言选择器

javascript
// 语言选择器
function createLanguageSelector() {
    var languages = [
        { code: 'enu', name: 'English', display: 'English' },
        { code: 'chs', name: '简体中文', display: '简体中文' },
        { code: 'cht', name: '繁體中文', display: '繁體中文' }
    ];
    
    console.log("可用语言选项:");
    languages.forEach(function(lang) {
        console.log(lang.code + ": " + lang.display);
    });
    
    return languages;
}

// 根据用户选择设置语言
function setLanguageByUser(selectedCode) {
    var validCodes = ['enu', 'cht', 'chs'];
    
    if (validCodes.indexOf(selectedCode) !== -1) {
        Obj.UILangCode = selectedCode;
        console.log("用户选择语言:", selectedCode);
        return true;
    } else {
        console.log("无效的语言代码:", selectedCode);
        return false;
    }
}

属性分类总结

分类属性功能类型说明
界面语言UILangCode设置界面显示语言Stringenu/cht/chs

语言支持详细说明

语言代码语言名称适用地区说明
enuEnglish国际通用英文界面,适合国际化应用
cht繁體中文台湾、香港、澳门繁体中文界面
chs简体中文中国大陆简体中文界面

使用流程

1. 语言初始化阶段

javascript
// 初始化界面语言
function initializeLanguage() {
    // 设置默认语言(中文简体)
    Obj.UILangCode = "chs";
    
    console.log("界面语言初始化完成");
    console.log("默认语言: 中文简体");
}

2. 语言检测阶段

javascript
// 检测用户语言偏好
function detectUserLanguage() {
    // 从浏览器获取语言信息
    var browserLang = navigator.language || navigator.userLanguage;
    
    // 根据浏览器语言设置控件语言
    if (browserLang.startsWith('zh-CN')) {
        return "chs";
    } else if (browserLang.startsWith('zh-TW') || browserLang.startsWith('zh-HK')) {
        return "cht";
    } else {
        return "enu";
    }
}

3. 语言应用阶段

javascript
// 应用语言设置
function applyLanguage(langCode) {
    Obj.UILangCode = langCode;
    
    console.log("语言设置已应用:", langCode);
    
    // 可以在这里添加其他语言相关的处理
    // 例如:更新页面文本、调整布局等
}

注意事项

  1. 版本要求:此属性仅多语言版本才有效
  2. 语言代码:必须使用正确的语言代码(enu/cht/chs)
  3. 即时生效:语言设置会立即生效,无需重启控件
  4. 界面影响:语言设置会影响控件的所有界面元素
  5. 兼容性:确保使用的语言代码与控件版本兼容
  6. 用户偏好:建议根据用户浏览器语言自动设置
  7. 错误处理:实现完善的语言设置错误处理机制

错误处理

javascript
// 语言设置错误处理
function handleLanguageError() {
    try {
        // 检查当前语言设置
        var currentLang = Obj.UILangCode;
        
        if (!currentLang) {
            console.log("语言设置为空,设置默认语言");
            Obj.UILangCode = "chs";
            return true;
        }
        
        // 验证语言代码是否有效
        var validCodes = ['enu', 'cht', 'chs'];
        if (validCodes.indexOf(currentLang) === -1) {
            console.log("无效的语言代码,重置为默认语言");
            Obj.UILangCode = "chs";
            return true;
        }
        
        console.log("语言设置正常:", currentLang);
        return true;
        
    } catch (error) {
        console.error("语言设置错误处理失败:", error.message);
        
        // 尝试设置默认语言
        try {
            Obj.UILangCode = "chs";
            console.log("已设置默认语言: 中文简体");
            return true;
        } catch (defaultError) {
            console.error("设置默认语言失败:", defaultError.message);
            return false;
        }
    }
}

最佳实践

  1. 自动检测:根据用户浏览器语言自动设置界面语言
  2. 用户选择:提供语言选择功能,让用户手动切换
  3. 默认设置:设置合理的默认语言(建议中文简体)
  4. 错误处理:实现完善的语言设置错误处理机制
  5. 用户提示:为用户提供清晰的语言切换提示
  6. 兼容性测试:在不同语言环境下测试控件功能

国际化建议

  1. 语言检测:实现智能的语言检测机制
  2. 用户偏好:记住用户的语言选择偏好
  3. 界面适配:确保不同语言下的界面显示正常
  4. 文本处理:处理不同语言的文本长度差异
  5. 字体支持:确保不同语言的字体系列支持
  6. 本地化:考虑不同地区的本地化需求