You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

i18next-fs-backend无法从OneDrive加载翻译文件的问题求助

i18next-fs-backend无法从OneDrive加载翻译文件的问题求助

我现在遇到一个头疼的问题——想用i18next的FsBackend从OneDrive目录加载翻译文件,但Playwright/i18next总是跑到C盘根目录去找文件,完全忽略了OneDrive的路径。有没有大佬能帮我看看哪里错了?

先贴一下我的核心代码:

const localePath = path.resolve('./locales');
// 这里console.log出来的路径是对的:C:\Users\myuserpath\OneDrive - MyStuff\QA-Automation\locales

i18next
    .use(FsBackend)
    .init({
        lng: 'en',
        ns:['signin.page', 'chat.page','session.page', 'landing.page', 'userprofile.page'],   
        FsBackend:{ 
           FsBackendOptions: {loadPath: path.join(localePath, '/{{lng}}/{{ns}}.page.json'),},
        }
    })

预期与实际结果

  • 预期:翻译文件应该从这个路径加载:C:\Users\myuserpath\OneDrive - MyStuff\QA-Automation\locales\en\NAMESPACEFILE.page.json
  • 实际:直接报错找不到文件,错误信息显示它在找:C:\locales\en\NAMESPACEFILE.page.json

我已经尝试过的方法

  1. 通过环境变量获取OneDrive路径
const myOneDrive = process.env.OneDriveCommercial;
const longerpath = path.join(myOneDrive, '/QA-Automation/locales/{{lng}}/{{ns}}.page.json');
i18next
    .use(FsBackend)
    .init({
     // 其他配置省略
        FsBackend:{ FsBackendOptions: {loadPath: longerpath},},
    })
  1. 硬编码完整路径
const fullpath = 'C:\Users\myuserpath\OneDrive - MyStuff\QA-Automation\locales'
    FsBackend:{ FsBackendOptions: {loadPath: fullpath},},
  1. 在init里直接硬编码完整带模板的路径
FsBackendOptions: {loadPath: 'C:/Users/myuserpath/OneDrive - MyStuff/QA-Automation/locales/{{lng}}/{{ns}}.page.json',},
  1. ...以及无能狂怒
const dev_reaction = '$#!(#&*$@$!!!'

但不管试哪种方法,结果全一样——它完全无视OneDrive的路径,一个劲往C盘根目录的locales文件夹找文件,我快愁死了😭


备注:内容来源于stack exchange,提问作者Christian Gibbs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 10:14:32