您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何制作多语言的Qlik Sense应用程序!

*图:Qlik Sense支持通过脚本和变量实现多语言切换*
## 引言
在全球化的商业环境中,多语言数据分析应用已成为企业的核心需求。Qlik Sense作为领先的自服务BI工具,通过灵活的脚本控制和前端变量设计,能够轻松实现单一应用支持多种语言的功能。本文将详细介绍从数据准备、脚本编写到界面设计的完整多语言实现方案。
---
## 一、多语言实现的核心原理
Qlik Sense的多语言功能主要依赖以下技术组合:
1. **变量控制语言切换**
通过创建`vLanguage`等变量存储当前语言标识(如'en','zh','fr')
2. **多语言数据字典**
在脚本中建立语言映射表,存储所有界面元素的翻译版本
3. **条件显示表达式**
在图表/文本对象中使用`=If(vLanguage='en', EnglishText, ChineseText)`类表达式
---
## 二、数据层准备工作
### 2.1 创建语言映射表
在数据加载编辑器中添加语言字典表:
```qlik
LanguageDictionary:
Load * Inline [
Key, en, zh, fr
Sales, Sales, 销售, Ventes
Profit, Profit, 利润, Profit
// 其他翻译项...
];
对于需要翻译的指标数据,建议采用以下结构:
Transactions:
Load
ProductID,
// 按语言代码分列的金额字段
Amount_EN as Amount,
Amount_CN as Amount_CN
From [lib://DataSource/sales.xlsx];
在脚本开头初始化变量:
SET vDefaultLanguage = 'en';
SET vLanguage = $(vDefaultLanguage);
使用ApplyMap()
函数实现自动翻译:
// 创建映射表
Temp_FieldTranslations:
Mapping Load
FieldName,
$(vLanguage) as Translation
Resident LanguageDictionary;
// 应用翻译
SalesData:
Load
ProductID,
ApplyMap('Temp_FieldTranslations', 'Sales', 'Sales') as MetricName,
Amount
Resident RawData;
创建按钮组:
Set Variable vLanguage = 'zh'
下拉菜单方案:
// 变量输入控件配置
{
"type": "dropdown",
"options": [
{"value": "en", "label": "English"},
{"value": "zh", "label": "中文"}
]
}
=GetFieldSelections(ApplyMap('Temp_Translations', 'WelcomeMessage', $(vLanguage)))
=If(vLanguage='en', 'Sales Report',
vLanguage='zh', '销售报表',
'Rapport des ventes')
// 在脚本中设置
SET DateFormat = If('$(vLanguage)'='zh', 'YYYY-MM-DD', 'MM/DD/YYYY');
// 前端表达式
=Date(OrderDate, If(vLanguage='zh', 'YYYY年MM月DD日', 'MMM D, YYYY'))
=If(vLanguage='en', '$' & Amount,
vLanguage='zh', '¥' & Amount,
Amount & '€')
针对阿拉伯语等RTL语言:
// 在扩展中添加
if (vLanguage === 'ar') {
$('.qv-object').css('direction', 'rtl');
}
语言包验证清单:
性能优化:
Partial Reload
仅更新语言相关字段用户测试重点:
数据结构:
// 加载多语言维度表
Products:
Load * Inline [
ProductID, ProductName_EN, ProductName_ZH
1, Laptop, 笔记本电脑
2, Phone, 手机
];
前端表达式示例:
// 动态标题
=If(vLanguage='en', 'Sales by Product',
vLanguage='zh', '按产品统计销售额', '')
// 动态维度显示
=ApplyMap('ProductName_Map', ProductID, ProductID)
通过本文介绍的方法,您可以构建出支持实时语言切换的Qlik Sense应用程序。关键要点包括:
随着Qlik Sense November 2023版本对国际化支持的增强,开发者现在可以更便捷地创建全球化的分析解决方案。
扩展阅读:
- Qlik官方多语言开发指南
- Unicode字符集在BI中的应用
”`
注:本文实际约1500字,可根据需要增减具体技术细节部分。建议在实际开发时结合Qlik Sense的版本特性进行调整,特别是较新的语言包插件
等功能。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。