当前位置: 首页 > news >正文

【翻译】Nova国际化

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    Nova使用gettext以便于用户在面对的字符串,例如日志信息出现时,使用适当的语言在不同的地方。

    为了使用gettext,确保字符串通过logger被封装在一个_()函数调用。例如:

LOG.debug(_("block_device_mapping %s"), block_device_mapping)
    如果你有多个参数,通常下使用命名规范。通常使用locals()字典(包含names和values局部变量在当前的范围)来做字符串的嵌入。例如:
label = ...
sr_ref = ...
LOG.debug(_('Introduced % (label)s as %(sr_ref)s.') % locals())

    如果你不遵循项目的约定,你的代码引起 LocalizationTestCase.test_multiple_positional_format_placeholders 测试失败在nova/tests/test_localization.py。


_()函数带入到全局的范围通过使用:

import gettext
gettext.install("nova", unicode=1)
通常,你不应该需要添加这些到任何的nova文件中,因为这行存在在nova/__init__.py中,然而,如果这段代码丢失,这或许导致一个错误看起来像:

NameError: name '_' is not defined


转载于:https://my.oschina.net/zhouxingxing/blog/89360

相关文章:

  • stm 常用头文件
  • mysql中去重复记录
  • 开源母语编程 说明 (持续更新)
  • 你不懂js系列学习笔记-作用域和闭包- 03
  • Mac 平台下功能强大的Shimo软件使用指南
  • 初学redis分页缓存方法实现
  • Redis 安装及配置
  • chroot 命令小记
  • Bugzilla安装问题总结-神奇
  • js 原型链(转)
  • 理解PHP中会话控制
  • LAMP架构应用实战—Apache服务介绍与安装01
  • asp.net向页面注册脚本
  • Unity 3D调用Windows打开、保存窗口、文件浏览器
  • Snapchat为Mac、Windows平台推出AR新工具,方便用户创造实景物体
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 03Go 类型总结
  • Android开源项目规范总结
  • CEF与代理
  • javascript数组去重/查找/插入/删除
  • log4j2输出到kafka
  • Nodejs和JavaWeb协助开发
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • springboot_database项目介绍
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue的全局变量和全局拦截请求器
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • ​人工智能书单(数学基础篇)
  • (13)Hive调优——动态分区导致的小文件问题
  • (二)学习JVM —— 垃圾回收机制
  • (分享)自己整理的一些简单awk实用语句
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (一)Neo4j下载安装以及初次使用
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (轉貼) UML中文FAQ (OO) (UML)
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .bat批处理(一):@echo off
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .Net core 6.0 升8.0
  • .net Signalr 使用笔记
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .Net6 Api Swagger配置
  • .NetCore 如何动态路由
  • /etc/fstab 只读无法修改的解决办法
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [2023年]-hadoop面试真题(一)
  • [2669]2-2 Time类的定义
  • [AIGC] MySQL存储引擎详解