国际化(i18n:代表“国际化”为“i”后跟18个字母,其次是“n”)是规划和实施产品和服务的过程,以便它们可以轻松地适应特定的当地语言和文化,这一过程称为本地化。国际化过程有时被称为翻译或本地化启用。
LLET在Flutter中的考虑,我们正在以语言英语显示数字。当用户将语言更改为印地语或任何其他印度语言时,该数字应按照语言显示...
我正在将VUE3与Vue-i18n一起使用,将页面翻译成几种语言。 llet说我有以下设置:
如何在 Django 中使用 i18n_patterns 为 API 响应配置动态语言切换?
我正在开发一个 Django 项目,需要为我的 REST API 实现多语言支持。我希望 API 根据 URL 前缀(例如 /en/、/ml/)返回所选语言的响应 u...
如何使用VBA从64位Windows Vista调用ActivateKeyboardLayout
在 XP 下运行 VBA 我能够调用 ActivateKeyboardLayout 将我的输入语言从英语切换到另一种语言。然而,这在 Vista64 下不再起作用。 任何建议或工作...
我想翻译用 C++ 编写的 GTK+ 应用程序。我不知道从哪里开始,我听说过 gettext(),但我不知道,我应该如何使用它。
有没有办法在 React 组件之外使用 next-intl ? 现在,我通过调用钩子 useTranslations 来获取 t,然后将其实例传递给我的函数: 函数 formatFoo(t, foo) { 如果....
所以......我有一个STL向量,我需要使用用户提供的字符串来搜索/过滤。 (只是提到这一点,以防在这个特定的用例中有一个特定的/更好的方法来做到这一点) 目前(这...
Django 允许覆盖模型的 verbose_name 和 verbose_name_plural,这允许我们为非英语语言指定模型名称的正确复数形式(例如 Kandydaci 作为复数...
我看到 Rubocop 出现 linting 错误,但我不太确定如何修复: 示例取自 Rubocop for Rails/i18nLocaleTexts # 坏的 用户类 < ApplicationRecord validates :email, presen...
我想创建一条自定义消息,每当用户尝试使用已使用的电子邮件地址进行注册时,都会向他们显示该消息。我希望文本内容为“提供的电子邮件地址...
Angular i18n:如何使用 URL 路由/切换按钮更改语言?
我正在构建一个简单的应用程序来使用 Angular 11 学习国际化。我遵循的教程是:https://lokalise.com/blog/angular-i18n/ 我按照教程尝试创建一个应用程序...
使用 Rails 6 I18n 翻译来实现自定义/特定于用户的命名模式
我想做的是利用 I18n 本地化结构来处理特定于组织的命名模式,独立于用户的实际本地化。像这样的东西: 默认命名架构 笑...
我正在开发一个网上商店,但奇怪的是我的 useLocalePath 适用于某些链接,但适用于其他链接。 组件内部的使用示例: 常量 </desc> <question vote="0"> <p>我正在开发一个网上商店,但奇怪的是我的 useLocalePath 对某些链接有效,但对其他链接无效。</p> <p>组件内部的使用示例:</p> <pre><code><script setup> const localePath = useLocalePath() </script> <NuxtLink :to="localePath(`/laptops/${slugify(productBrand)}/${slugify(productModel)}/${productId}`)" :title="productName" class="flex flex-col md:flex-row"> content </NuxtLink> </code></pre> <p>当我访问该网站时,这可以完美地翻译为荷兰语、德语和英语。</p> <p>但是当我将鼠标悬停在其他部分(即菜单中的某些内容)上时,它不会添加 NL 或 DE 的语言前缀。</p> <pre><code><NuxtLink :to="localePath('/search')" title=""> <img src="/temp/header.png" width="1481" height="612" alt="" class="w-full" /> </NuxtLink> </code></pre> <p>代码完全一样。并且pages目录中的页面(文件名search.vue)有一个defineI18nRoute:</p> <pre><code>defineI18nRoute({ paths: { en: '/search', nl: '/zoeken', de: '/suche', } }) </code></pre> <p>例如:我使用的是英文版。我将鼠标悬停在产品上并获取此 URL:</p> <p>http://localhost:3000/en/product/brand/abcd-7540/52261</p> <p>当我使用荷兰语时,我得到这个 URL:</p> <p>http://localhost:3000/nl/product/brand/abcd-7540/52261</p> <p>所以这部分工作正常!但是当我将鼠标悬停在荷兰语菜单项上时,我得到了这个:</p> <p>http://localhost:3000/menu-item-2</p> <p>缺少语言前缀。</p> <p>当我使用英语时将鼠标悬停在它上面时,我得到了这个,希望是正确的:</p> <p>http://localhost:3000/en/menu-item-2</p> <p>我可以<strong>以任何语言</strong>手动输入 URL,并且页面加载得非常好。</p> <p>我已经为此苦苦挣扎了好几天。有谁知道可能是什么问题?下面你可以找到我的版本和 i18n 文件:</p> <pre><code>"dependencies": { "@nuxtjs/device": "3.2.4", "@nuxtjs/i18n": "9.1.0", "nuxt-tiptap-editor": "^2.0.0", "nuxt": "^3.14.1592", "nuxt-storage": "^1.2.2", "vue": "latest", "vue-router": "latest" }, </code></pre> <p>nuxt.config.ts</p> <pre><code>modules: [ '@nuxtjs/i18n', '@nuxtjs/tailwindcss', '@nuxtjs/device', "nuxt-tiptap-editor" ], i18n: { legacy: false, globalInjection: true, strategy: 'prefix', defaultLocale: 'en', locales: [ { code: "en", iso: "en_EN", name: 'English' }, { code: "nl", iso: "nl_NL", name: 'Nederlands' }, { code: "de", iso: "de_DE", name: 'Deutsch' }, ], vueI18n: './i18n.config.ts' </code></pre> <p>最后是我的 i18n.config.ts 文件:</p> <pre><code>import en from "./locales/en.json" import nl from "./locales/nl.json" import de from "./locales/de.json" export default defineI18nConfig(() => ({ legacy: false, globalInjection: true, strategy: 'prefix', defaultLocale: 'en', numberFormats: { en: { currency: { style: 'currency', currency: 'EUR' }, decimal: { style: 'decimal', minimumFractionDigits: 2, maximumFractionDigits: 2 } }, nl: { currency: { style: 'currency', currency: 'EUR' }, decimal: { style: 'decimal', minimumFractionDigits: 2, maximumFractionDigits: 2 } }, de: { currency: { style: 'currency', currency: 'EUR' }, decimal: { style: 'decimal', minimumFractionDigits: 2, maximumFractionDigits: 2 } }, }, datetimeFormats: { en: { short: { year: 'numeric', month: 'numeric', day: 'numeric' }, long: { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric' } }, nl: { short: { day: 'numeric', month: 'numeric', year: 'numeric', }, long: { day: 'numeric', month: 'short', year: 'numeric', hour: 'numeric', minute: 'numeric' } }, de: { short: { day: 'numeric', month: 'numeric', year: 'numeric', }, long: { day: 'numeric', month: 'short', year: 'numeric', hour: 'numeric', minute: 'numeric' } }, }, locales: [ { code: "en", iso: "en_EN", name: 'English' }, { code: "nl", iso: "nl_NL", name: 'Nederlands' }, { code: "de", iso: "de_DE", name: 'Deutsch' }, ], messages: { en: en, nl: nl, de: de, }, })) </code></pre> <p>我尝试在网站的不同部分添加 NuxtLink。有时有效,有时无效。</p> <p>我打开了 Nuxt 检查器,所有路线都在“路线”选项卡上可见。每种语言在列表中都有可见的正确路线。</p> <p>我又做了一个测试:</p> <pre><code><NuxtLink :to="localePath('/contact')">Contact</NuxtLink><br /> <NuxtLink :to="localePath('/customer-service')">Customer service</NuxtLink><br /> <NuxtLink :to="localePath('/privacy-policy')">Privacy policy</NuxtLink><br /> </code></pre> <p>所有这些页面都存在。他们在英语中工作得很好,但在荷兰语中只有联系人有效。其他人缺少前缀。在德语中没有前缀。</p> </question> <answer tick="false" vote="0"> <p>我从我这边测试了这个,这是我的步骤 nuxt.config.ts 设置(<em>我没有使用 vueI18n</em>)</p> <pre><code> i18n: { strategy: 'prefix', locales: [ { code: 'en', iso: 'en_EN', name: 'English', }, { code: 'nl', iso: 'nl_NL', name: 'Nederlands', }, { code: 'de', iso: 'de_DE', name: 'Deutsch', }, ], defaultLocale: 'en', langDir: 'locales/', }, </code></pre> <p>首页代码</p> <pre><code><template> <div class="min-h-screen"> <header class="border-b mb-8"> <nav class="container flex justify-between items-center p-4"> <NuxtLink to="/">LOGO</NuxtLink> <ul class="flex space-x-4"> <li v-for="lang in availableLocales" :key="lang.code"> <NuxtLink :to="switchLocalePath(lang.code)"> {{ lang.name }} </NuxtLink> </li> </ul> </nav> </header> <main> <div class="container"> <p>this is the main content</p> <NuxtLink :to="localePath('/contact')">Contact</NuxtLink><br /> <NuxtLink :to="localePath('/customer-service')" >Customer service</NuxtLink > </div> </main> </div> </template> <script lang="ts" setup> const { locale, locales } = useI18n() const switchLocalePath = useSwitchLocalePath() const localePath = useLocalePath() const availableLocales = computed(() => { return locales.value.filter((i: any) => i.code !== locale.value) }) </script> <style></style> </code></pre> <p>这段代码在悬停和切换语言时都可以正常工作。</p> </answer> </body></html>
如何通过按模块或按页面分离翻译文件来在 Angular v11 项目中实现国际化
我想知道如何通过按模块或按页面分离翻译文件来在 Angular v11 项目中实现国际化。 我正在学习 i18n 国际化,以及
Nuxt i18n:无法解析导入“locales/en.json”(该文件是否存在?)
说明: 我在 Nuxt 3 项目中设置 @nuxtjs/i18n 模块时遇到问题。当我运行该应用程序时,出现以下错误: 无法解析导入“../i18n/locales...
i18n 的单个或多个 Translation.json 文件?
我正在 Aurelia 开展一个项目并使用 aurelia-i18n 插件。 到目前为止,它看起来很棒,翻译正在工作,并且当我更改区域设置时会立即更新界面语言。 问题:是...
在 i18n SSR Angular 19 应用程序中设置 LOCALE_ID 的最佳方法是什么?
在 i18n SSR Angular 19 应用程序中设置 LOCALE_ID 的最佳方法是什么? 我可以通过设置此 DI 令牌在服务器 (app.server.config.ts) 上设置它: { 提供:LOCALE_ID, 使用工厂:...