192 lines
5.8 KiB
C#
192 lines
5.8 KiB
C#
|
|
using Microsoft.AspNetCore.Mvc;
|
||
|
|
|
||
|
|
namespace LingAdmin.ApiGateway.Controllers;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 国际化控制器 - 提供多语言支持
|
||
|
|
/// </summary>
|
||
|
|
[ApiController]
|
||
|
|
[Route("api/i18n")]
|
||
|
|
public class I18nController : ControllerBase
|
||
|
|
{
|
||
|
|
[HttpGet("manifest")]
|
||
|
|
public ActionResult<object> GetManifest()
|
||
|
|
{
|
||
|
|
var manifest = new
|
||
|
|
{
|
||
|
|
languages = new[]
|
||
|
|
{
|
||
|
|
new { code = "en-US", name = "English", version = "1.0" },
|
||
|
|
new { code = "zh-CN", name = "简体中文", version = "1.0" }
|
||
|
|
}
|
||
|
|
};
|
||
|
|
return Ok(new { code = 200, data = manifest });
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpGet("lang/{languageCode}")]
|
||
|
|
public ActionResult<object> GetLanguage(string languageCode)
|
||
|
|
{
|
||
|
|
var translations = languageCode.ToLower() switch
|
||
|
|
{
|
||
|
|
"en-us" => GetEnglishTranslations(),
|
||
|
|
"zh-cn" => GetChineseTranslations(),
|
||
|
|
_ => null
|
||
|
|
};
|
||
|
|
|
||
|
|
if (translations == null)
|
||
|
|
{
|
||
|
|
return NotFound(new { code = 404, message = "Language not found" });
|
||
|
|
}
|
||
|
|
|
||
|
|
return Ok(new { code = 200, data = translations });
|
||
|
|
}
|
||
|
|
|
||
|
|
private object GetEnglishTranslations()
|
||
|
|
{
|
||
|
|
return new
|
||
|
|
{
|
||
|
|
common = new
|
||
|
|
{
|
||
|
|
login = "Sign in",
|
||
|
|
loginDesc = "Enter your email below to login to your account",
|
||
|
|
email = "Email",
|
||
|
|
password = "Password",
|
||
|
|
submitLogin = "Sign In",
|
||
|
|
loggingIn = "Signing in...",
|
||
|
|
loginFailed = "Login failed. Please check your credentials.",
|
||
|
|
logout = "Logout",
|
||
|
|
dashboard = "Dashboard",
|
||
|
|
users = "Users",
|
||
|
|
settings = "Settings",
|
||
|
|
requisitions = "Requisitions"
|
||
|
|
},
|
||
|
|
menu = new
|
||
|
|
{
|
||
|
|
dashboard = "Dashboard",
|
||
|
|
users = "Users",
|
||
|
|
settings = "Settings",
|
||
|
|
requisitions = "Requisitions"
|
||
|
|
},
|
||
|
|
dashboard = new
|
||
|
|
{
|
||
|
|
title = "Dashboard",
|
||
|
|
totalRevenue = "Total Revenue",
|
||
|
|
subscriptions = "Subscriptions",
|
||
|
|
sales = "Sales",
|
||
|
|
activeNow = "Active Now"
|
||
|
|
},
|
||
|
|
users = new
|
||
|
|
{
|
||
|
|
title = "Users",
|
||
|
|
refresh = "Refresh Data",
|
||
|
|
name = "Name",
|
||
|
|
status = "Status",
|
||
|
|
createdAt = "Created At"
|
||
|
|
},
|
||
|
|
settings = new
|
||
|
|
{
|
||
|
|
title = "Settings",
|
||
|
|
desc = "System settings will be here."
|
||
|
|
},
|
||
|
|
requisitions = new
|
||
|
|
{
|
||
|
|
title = "Purchase Requisitions",
|
||
|
|
listTitle = "Requisition List",
|
||
|
|
create = "Create Requisition",
|
||
|
|
edit = "Edit Requisition",
|
||
|
|
id = "ID",
|
||
|
|
reqNo = "Request No",
|
||
|
|
requester = "Requester",
|
||
|
|
department = "Department",
|
||
|
|
date = "Date",
|
||
|
|
status = "Status",
|
||
|
|
description = "Description",
|
||
|
|
items = "Items",
|
||
|
|
itemName = "Item Name",
|
||
|
|
quantity = "Quantity",
|
||
|
|
price = "Price",
|
||
|
|
total = "Total",
|
||
|
|
actions = "Actions",
|
||
|
|
addItem = "Add Item",
|
||
|
|
save = "Save",
|
||
|
|
cancel = "Cancel",
|
||
|
|
delete = "Delete"
|
||
|
|
}
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
private object GetChineseTranslations()
|
||
|
|
{
|
||
|
|
return new
|
||
|
|
{
|
||
|
|
common = new
|
||
|
|
{
|
||
|
|
login = "登录",
|
||
|
|
loginDesc = "请输入您的邮箱登录账户",
|
||
|
|
email = "邮箱",
|
||
|
|
password = "密码",
|
||
|
|
submitLogin = "登录",
|
||
|
|
loggingIn = "登录中...",
|
||
|
|
loginFailed = "登录失败,请检查您的凭据。",
|
||
|
|
logout = "退出登录",
|
||
|
|
dashboard = "仪表盘",
|
||
|
|
users = "用户管理",
|
||
|
|
settings = "系统设置",
|
||
|
|
requisitions = "请购单"
|
||
|
|
},
|
||
|
|
menu = new
|
||
|
|
{
|
||
|
|
dashboard = "仪表盘",
|
||
|
|
users = "用户管理",
|
||
|
|
settings = "系统设置",
|
||
|
|
requisitions = "请购单"
|
||
|
|
},
|
||
|
|
dashboard = new
|
||
|
|
{
|
||
|
|
title = "仪表盘",
|
||
|
|
totalRevenue = "总收入",
|
||
|
|
subscriptions = "订阅数",
|
||
|
|
sales = "销售额",
|
||
|
|
activeNow = "当前在线"
|
||
|
|
},
|
||
|
|
users = new
|
||
|
|
{
|
||
|
|
title = "用户管理",
|
||
|
|
refresh = "刷新数据",
|
||
|
|
name = "姓名",
|
||
|
|
status = "状态",
|
||
|
|
createdAt = "创建时间"
|
||
|
|
},
|
||
|
|
settings = new
|
||
|
|
{
|
||
|
|
title = "系统设置",
|
||
|
|
desc = "这里将显示系统设置内容。"
|
||
|
|
},
|
||
|
|
requisitions = new
|
||
|
|
{
|
||
|
|
title = "请购单",
|
||
|
|
listTitle = "请购单列表",
|
||
|
|
create = "新建请购单",
|
||
|
|
edit = "编辑请购单",
|
||
|
|
id = "ID",
|
||
|
|
reqNo = "单号",
|
||
|
|
requester = "申请人",
|
||
|
|
department = "部门",
|
||
|
|
date = "日期",
|
||
|
|
status = "状态",
|
||
|
|
description = "描述",
|
||
|
|
items = "明细项",
|
||
|
|
itemName = "物品名称",
|
||
|
|
quantity = "数量",
|
||
|
|
price = "单价",
|
||
|
|
total = "总价",
|
||
|
|
actions = "操作",
|
||
|
|
addItem = "添加明细",
|
||
|
|
save = "保存",
|
||
|
|
cancel = "取消",
|
||
|
|
delete = "删除"
|
||
|
|
}
|
||
|
|
};
|
||
|
|
}
|
||
|
|
}
|