首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从可观察的服务设置LOCALE_ID

从可观察的服务设置LOCALE_ID
EN

Stack Overflow用户
提问于 2017-06-25 16:42:42
回答 2查看 2.3K关注 0票数 3

我有一个提供全局应用语言的服务,如下所示:

代码语言:javascript
运行
AI代码解释
复制
export class LanguageService {
  private currentLanguage$ = new ReplaySubject < string > ();

  getCurrentLanguage(): Observable < string > {
    return this.currentLanguage$.asObservable();
  }
}

我使用这项服务在整个应用程序中提供动态的语言切换。所有组件都遵循上述函数提供的语言('en‘、'fr’等)我希望CurrencyPipe也能这么做。

据我所知,我可以通过LOCALE_ID提供这一点,但我在文档中找不到关于如何做到这一点的示例或指导,尤其是关于如何使用可观察对象提供它的示例或指导。

EN

回答 2

Stack Overflow用户

发布于 2017-06-25 20:09:55

根据Angular的解决方案是使用i18n创建多个构建。当然,由于某些原因,这可能是不可能的。

我几乎得到了与日期管道相同的问题,唯一的区别是我使用的是局部变量。

首先,我尝试在我的appModule中提供以下内容:

代码语言:javascript
运行
AI代码解释
复制
{
  provide: LOCALE_ID, deps: [WindowRef], useFactory(windowRef: WindowRef) {
    return windowRef.ln;
  }
}

服务:

代码语言:javascript
运行
AI代码解释
复制
@Injectable()
export class WindowRef {
  get nativeWindow(): any {
    return _window();
  }

  public ln = 'en';


  constructor() {
    try {
      if (!isNullOrUndefined(this.nativeWindow.navigator.language) && this.nativeWindow.navigator.language !== '') {
        this.ln = this.nativeWindow.navigator.language;
      }
    }finally {}
  }
}

但在使用AOT时,这对我不起作用。我的解决方案是创建自己的日期管道,它扩展了角度日期管道。

这就是结果:

代码语言:javascript
运行
AI代码解释
复制
@Pipe({name: 'datepipe', pure: true})
export class MyDatePipe extends DatePipe implements PipeTransform {
  constructor(private win: WindowRef) {
    super(win.ln);
  }

  transform(value: any, pattern?: string): string | null {
    return super.transform(value, pattern);
  }
}

您可以执行几乎相同的操作,但需要扩展currencyPipe。

票数 0
EN

Stack Overflow用户

发布于 2017-06-25 18:38:19

只需将此声明添加到提供程序的列表中。

代码语言:javascript
运行
AI代码解释
复制
{
  provide: LOCALE_ID,
  deps: [LanguageService],   
  useFactory: (languageService) => languageService.getLanguage() 
}

另外,您可能需要从您的getLanguage方法返回一个Promise,因为它们不支持Observable (据我所知)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44748461

复制
相关文章
【已结束】有奖讨论:程序员,怎么应对你的三十岁?
本文讨论程序员在30岁时面临的挑战和困境,以及如何通过技术和思维方式的提升来应对这些挑战。作者认为,程序员在30岁时可以尝试转型为技术管理或产品管理,以充分发挥自己的优势。同时,作者也鼓励程序员保持持续学习和自我提升的态度,以应对未来技术的更新迭代。
腾讯云开发者社区
2017/05/08
4.9K0
【已结束】有奖讨论:程序员,怎么应对你的三十岁?
【程序人生】糟糕的程序员你会做?
一个好程序员不好做,那么一个糟糕的程序应该不难吧! 秘籍一:让你看不懂我写的是什么 都说让人看不懂的代码,才是牛逼代码。一类是算法高深,一般人实在是看不懂。另一类就是让你看不懂。 变量来个天马行空,让你猜吐血。 注释来个不搭边,叫你丫看。 文档有木有,代码就是文档,文档就是代码。 秘籍二:从来不测试 公司小,一个人要顶好几个人使。我有时间测试吗?你丫的不提交版本你就别想干了。bug是程序肯顶有bug,其实告诉你我丫跟就没测试,能糊弄就糊弄。我给出的理由: 时间你给我时间了么? 我的代码没问题流程是对的,
程序员互动联盟
2018/03/13
5970
【程序人生】糟糕的程序员你会做?
有奖征集|你做程序员几年了
从愚昧之山,到绝望之谷,再到开悟之坡度。自信程度与知识技能水平的不同阶段,有不同的境界。
疯狂的技术宅
2019/03/27
4770
有奖征集|你做程序员几年了
【每日精选时刻】自学小程序只要两小时?AI一键生成小说图片;了解DDL和DML;OLAP数据库选型指南
大家吼,我是你们的朋友煎饼狗子——喜欢在社区发掘有趣的作品和作者。【每日精选时刻】是我为大家精心打造的栏目,在这里,你可以看到煎饼为你携回的来自社区各领域的新鲜出彩作品。点此一键订阅【每日精选时刻】专栏,吃瓜新鲜作品不迷路! *当然,你也可以在本篇文章,评论区自荐/推荐他人优秀作品(标题+链接+推荐理由),增加文章入选的概率哟~
社区好文捕手-煎饼狗子
2024/03/29
1550
苏杰:如果可以重来,你还会做工作狂么?
小编说:本文作者苏杰,良仓孵化器创始合伙人,《人人都是产品经理》作者。 本文为苏杰老师为《重来3:跳出疯狂的忙碌》一书做的推荐序。《重来3》是一本由吴晓波、苏杰、范冰共同力荐,倡导“冷静”的管理指南。这本书可以刷新你的固有认知,带你重新认识工作与商业本质。 ▼扫码获取本书详情▼ 下面我们进入正文。 如果可以重来,你还会做工作狂么? 问问人们在必须完成工作的时候会去哪儿?你极少能听到这个答案:办公室。 不知《重来3:跳出疯狂的忙碌》里的这句话戳到你没有? 和《重来》系列的前两本一样,第三本依然是两位作
博文视点Broadview
2023/05/19
2070
苏杰:如果可以重来,你还会做工作狂么?
表格问答完结篇:落地应用
不知道大家还记不记得,上一篇文章中的X-SQL和HydraNet都是来自微软的模型。微软作为一个老牌科技公司近年不仅在云计算领域迎头赶上,在AI方面也有很多优秀的技术创新和应用。依托于强大的Excel,他们在表格问答方面也有很好的落地土壤。
朴素人工智能
2020/04/21
2.1K0
表格问答完结篇:落地应用
【有奖测评】我的产品你来反馈,有奖!
智能存储是对象存储 COS 全新推出的一站式数据存储 + 处理云上智能解决方案,联合数据万象 CI、明瞳智控 ISS,提供图片处理、音视频处理、内容安全审核、文档服务、AI识别等能力,致力让用户放心将数据上云、高效使用云上数据、享受业务数据价值,打造企业数字化转型、智能升级的底座,助力各行各业的数字化、智能化发展。 (扫码参与智能存储活动,“码”上把豪礼带回家) 1 活动简介 “有奖测评,产品由你做主”,腾讯云存储产品体验官活动开始啦! 腾讯云数据万象提供一站式的专业数据处理解决方案,为云上数据赋能,助
云存储
2022/02/21
8291
PowerQuery 猴子大仙来踢馆啦!有奖知识问答
这正是猴子大仙的猴子书,可惜,此书并未上市。(时间未知,佐罗会跟踪报道)我们知道国内的读者很缺乏资料,他竟然趁此来踢馆啦~~
BI佐罗
2019/09/23
7940
PowerQuery 猴子大仙来踢馆啦!有奖知识问答
你真的会做 2 Sum 吗?
我在之前的刷题视频里说过,大家刷题一定要吃透一类题,为什么有的人题目做着越来越少,有的人总觉得刷不完的题,就是因为没有分类吃透。
五分钟学算法
2020/08/21
3830
你真的会做 2 Sum 吗?
腾云先锋【技术出题官,等你来挑战】有奖问答活动
成功参与,就有机会可以获得:丰富的实物礼包、大额的腾讯云代金券、腾云先锋(TDP)反馈交流群的丰厚积分
TDP 官方运营
2021/09/27
1.8K4
腾云先锋【技术出题官,等你来挑战】有奖问答活动
人人都会做 DNS 泛解析,可 hosts 泛解析你会做吗?
于是乎就在网上找了下资料,发现可以通过 Dnsmasq 来解决这个问题,原理其实就是本机的 DNS 指向 Dnsmasq 服务器,然后 Dnsmasq 通过类似通配符 (*) 的方式进行匹配,凡是匹配到 *.baidu.com 的都解析到 6.6.6.6。 利用 Dnsmasq 实现 hosts 泛解析
iMike
2019/11/07
15.8K1
面试官会做些什么
虽然没有了金九银十,但是公司的测试HC还是有完全锁死,断断续续的也在帮着面试一些人。同时星球上也有很多人在关注面试的问题,本文就以自己的经验,从面试官的角度,聊聊面试过程中的那些事。
CKL的思考
2023/02/01
2950
Android人脸识别,你也会做
Android人脸识别APP事例,大家可以参考一下。注意这不是一下特别完整的项目,只有安卓端程序,缺少后台的程序。但大家也可以学习下吧。举一反三
程序源代码
2019/05/14
1.3K0
有奖征文|程序员的指尖浪漫?
首届腾讯云数据库TDSQL征文大赛开启啦!只要您对腾讯云数据库TDSQL有兴趣、有研究、有想法,皆可参加。无论您是数据库资深开发者,还是小白爱好者,亦或是工作原因接触到TDSQL的用户,腾讯云数据库诚挚邀请您参与进来,分享和TDSQL邂逅的若干趣事。我们已为各位备好了精美大礼,只等您的指尖浪漫。 大赛简介 腾讯云数据库TDSQL是腾讯自研的企业级分布式数据库,在金融、政务、运营商、电商、游戏等数十个行业中落地应用,具备金融级高可用、强一致、高性能、高可靠等特性。目前,腾讯云数据库TDSQL 已助力
腾讯云数据库 TencentDB
2022/04/13
6000
有奖征文|程序员的指尖浪漫?
跨端这道难题,你真的会做吗?
不可否认的是,大多数技术革新都是冲着“降本提效”这个目标去的。所以从互联网诞生的第一天起,「跨端」这个命题就被摆在了我们的面前。我们想要“一套代码,多处运行”,还想要“多处运行,多处顺滑”。 于是跨端方案频出,H5、Hybrid、React Native、小程序 &MiniApp、Weex、Lynx、Picasso、Chameleon……还有最为火爆的 Flutter。 而在今天,端的种类更加的多,不仅是 PC、手机,还有智能手表、智慧大屏又或者是其他的 IoT 设备。在 Flutter、鸿蒙 OS、小程序
深度学习与Python
2023/04/01
2590
跨端这道难题,你真的会做吗?
如果再次面临危机,IT领导者会做哪些不同的事情?
在我们启动新的一年之际,新冠肺炎大流行使包括我在内的许多企业领导者反思,如果我们面临另一场难以想象的全球危机,下次我们会怎么做。
用户8128510
2021/01/28
3440
作为程序猿的你,编程的同时会做些什么事
从小到大,音乐是陪伴人生旅程一路过来的,想必不论是谁都是如此,学生时代做作业都是边做作业,边听音乐过来的。。。 而如今大家进入了IT这一行,从事编程行业,coding是一件很枯燥的事情,往往不厌其烦,所以我们编程的同时会做些其他的事来到达异曲同工之妙: 1、听歌,音乐是自始至终都离不开的,不论是上班途中还是下班途中,上班的时候基本耳朵离不开音乐的,哪怕不是干IT这行的也是,边码边听音乐,不仅增加效率,而且开拓思维,脑洞大开,当然你碰到有些恶心的领导认为你带着耳机就是不干活那也没办法! 2、手游,这个其实
风间影月
2018/04/04
5350
作为程序猿的你,编程的同时会做些什么事
哥们,你真以为你会做这道JVM面试题?
我这里捞出一道code题要各位大佬来把玩把玩,如果你一眼就看出了端倪,那么恭喜你,你可以下山了:
秃头哥编程
2019/06/24
3920
Android程序员问答题
最近三个月内,不断地进行移动应用开发在线测试题,也积累了不一样的知识。这也将对android studio有很好的掌握,对将来面试也很有好处。那么我就分享给大家。分享是一种幸福,这是一种质的飞越。
达达前端
2022/04/28
6880
为什么会做《敏捷测试从零开始》
回想从当年创业开始做全栈测试(技术领域的端到端)到后面的测试运维架构师(业务+技术领域的端到端),对于自己来说中间经历的知识栈跨越是相当痛苦的,如果说全栈好歹在当年学习性能的基础上做了延伸而已,测试运维所要突破的管理和流程、文化上的栈真是一脸懵逼。
TestOps
2022/04/07
2810
为什么会做《敏捷测试从零开始》

相似问题

【有奖问答】程序员通勤路上会做什么?(已完结)

291K

【有奖问答】当程序员之前,你是什么专业的?(已完结)

18604

【有奖问答】程序员如何过春节?(已完结)

43858

【有奖问答】程序员的快乐是什么?(已完结)

39677

【有奖问答】你为什么选择成为一名程序员?(已完结)

432.5K
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档