标签: localization

区域设置的顺序

Locales 的使用顺序到底是什么?我有 3 个属性文件:

Dolphins.properties

name=The Dolphin
age=0
Run Code Online (Sandbox Code Playgroud)

Dolphins_en.properties

name=Dolly
age=4
Run Code Online (Sandbox Code Playgroud)

Dolphins_fr.properties

name=Dolly
Run Code Online (Sandbox Code Playgroud)

我的代码是:

5: Locale fr = new Locale("fr");

6: Locale.setDefault(new Locale("en", "US"));

7: Resource Bundle b = ResourceBundle.getBundle("Dolphins", fr);

8: b.getString("name");

9: b.getString("age");
Run Code Online (Sandbox Code Playgroud)

代码将默认的 Locale 设置为 Dolphins_en 那么为什么它使用 Dolphins.properties 呢?我错过了什么或误解了什么?

提前致谢。

java locale localization resourcebundle internationalization

1
推荐指数
1
解决办法
113
查看次数

单元测试时 GetString(IStringLocalizer, String, Object[]) 返回 null

GetString(IStringLocalizer, String, Object[])我有一个测试类,它在某个时候使用扩展方法本地化字符串

除了测试之外,以下内容将有效

public class ClassToTest
{
    private readonly IStringLocalizer<SharedResource> _localizer;
    
    public AnalyticsLogic(IStringLocalizer<SharedResource> localizer)
    {
        _localizer = localizer;
    }
    
    public async Task<string> SomeMethod()
    {
        return _localizer.GetString("key", DateTime.Today));  // "My Date: 31.10.2018" - will return null when testing
    }       

    public async Task<string> SomeMethod2()
    {
        return _localizer.GetString("key");  // "My Date: {0:d}"
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我建立测试的方式:

public class ClassToTestTest
{
    private readonly ClassToTest _testee;
    private readonly Mock<IStringLocalizer<SharedResource>> _localizerMock = new Mock<IStringLocalizer<SharedResource>>();

    public ClassToTestTest()
    {
        _testee = new ClassToTest(_localizerMock.Object);

        _localizerMock.Setup(lm => lm["key"]).Returns(new LocalizedString("key", …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing localization moq .net-core-2.1

1
推荐指数
1
解决办法
2521
查看次数

为什么我已从 xcode 项目中删除了 Bundle.Main.localizations 中的本地化内容?

我认为这是一个简单的修复。

当我print(Bundle.main.localizations)

我得到:

["de", "ar", "en", "es", "it", "Base", "fr", "pt-PT"]

但是,我最近删除了阿拉伯字符串文件并从项目中删除了本地化:

在此输入图像描述

如何删除作为本地化之一的阿拉伯语?从用户的角度来看,我不确定这种情况的后果,并且不希望 iTunesConnect/AppStore 发生任何奇怪的事情,例如以某种方式宣传有可用的阿拉伯语本地化,而实际上没有。

xcode localization ios

1
推荐指数
1
解决办法
628
查看次数

为什么我的嵌套复数 ICU 消息在 React-intl FormattedMessage 中不起作用?

我正在使用react-intl 及其<FormattedMessage />标签。

我想要一个结构化消息,它将根据提供的值选择正确的复数变体,以允许翻译人员使用其语言规则,即,如果他们有“一个”、“两个”、“许多”的不同变体,我不想通过switch仅使用英语规则“零”、“一”和“其他”的语句将其硬编码在应用程序业务逻辑内部。

<FormattedMessage id="myMessage" values={{applesCount: 4, orangesCount: 0, pearsCount: 1}} />I have some apples and some pears应该从以下来源 产生。

由于某些原因,它返回I have some apples, some pears, and some oranges

{applesCount, plural, 
    zero {{pearsCount, plural, 
        zero {{orangesCount, plural, 
            zero {I have no fruit}
            other {I have some oranges}
        }}
        other {{orangesCount, plural, 
            zero {I have some pears}
            other {I have some pears and some oranges}
        }}
    }}
    other {{pearsCount, plural, 
        zero {{orangesCount, plural, 
            zero …
Run Code Online (Sandbox Code Playgroud)

translation localization icu reactjs react-intl

1
推荐指数
1
解决办法
1777
查看次数

XAML 无法访问本地化资源

我在子项目的本地化资源方面遇到问题。

\n

主项目(称为 Z)使用子项目(称为 ProjectsModule),子项目有自己的资源。子项目有两个资源文件:

\n
Strings.resx\nStrings.pl-PL.resx\n
Run Code Online (Sandbox Code Playgroud)\n

应用程序正在调试模式下运行,并以波兰语作为当前 UI 区域性。

\n

我遇到以下异常:

\n
System.Windows.Markup.XamlParseException: \'Operacja podawania warto\xc5\x9bci elementu \n\xe2\x80\x9eSystem.Windows.Markup.StaticExtension\xe2\x80\x9d wywo\xc5\x82a\xc5\x82a wyj\xc4\x85tek., numer wiersza 24, pozycja 52.\'\nArgumentException: Obiektu StaticExtension \n\xe2\x80\x9eProjectsModule.Resources.Strings.Projects_Config_Projects\xe2\x80\x9d nie mo\xc5\xbcna rozpozna\xc4\x87 jako wyliczenia, pola \nstatycznego ani w\xc5\x82a\xc5\x9bciwo\xc5\x9bci statycznej.\n
Run Code Online (Sandbox Code Playgroud)\n

翻译过来,它说:

\n
"ProjectsModule.Resources.Strings.Projects_Config_Projects" cannot be recognized as enum, static field\nor static property.\n
Run Code Online (Sandbox Code Playgroud)\n

当加载窗口的 XAML 时,就会发生这种情况。所以我做了一个测试并修改了窗口的构造函数:

\n
Strings.resx\nStrings.pl-PL.resx\n
Run Code Online (Sandbox Code Playgroud)\n

奇怪的是我得到以下输出:

\n
Katalogi projekt\xc3\xb3w\n\'Z.exe\' (CLR v4.0.30319: Z.exe): Loaded     \'C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Xaml.resources\\v4.0_4.0.0.0_pl_b77a5c561934e089\\System.Xaml.resources.dll\'. Module was built without symbols.\nException thrown: \'System.ArgumentException\' in System.Xaml.dll\nException thrown: \'System.Xaml.XamlObjectWriterException\' …
Run Code Online (Sandbox Code Playgroud)

c# wpf resources localization

1
推荐指数
1
解决办法
496
查看次数

Flutter:基于 intl 在 RTL 应用程序中强制小部件的 LTR 方向

我正在使用带有内置 redux 支持的样板 flutter 应用程序模板,以及使用flutter_localizationsintl包的希伯来语 RTL 方向。

整个应用程序以及我创建的每个新小部件都正确地具有本机 RTL 方向性。

我有一个文本输入字段来获取用户电话号码。我希望这个输入字段及其所有样式和内部功能都以 LTR 方式运行。对于我可能有的其他输入字段也是如此,例如电子邮件(始终为英文)。

似乎由 app intl配置确定的整体方向性与我试图“强制”文本字段以专门交换其行为的新方向性小部件之间存在冲突:

                child: SizedBox(
                  width: 250,
                  child: Directionality(
                    textDirection: TextDirection.LTR,
                    child: TextField(
                      controller: phoneController,
                      keyboardType: TextInputType.phone,
                      inputFormatters: [FilteringTextInputFormatter.digitsOnly],
                    ),
                  ),
                ),
Run Code Online (Sandbox Code Playgroud)

运行此代码会导致以下错误:

lib/modules/login/login_page.dart:54:54: Error: The argument type 'TextDirection/*1*/' can't be assigned to the parameter type 'TextDirection/*2*/'.
 - 'TextDirection/*1*/' is from 'package:intl/src/intl/text_direction.dart' ('../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0-nullsafety.2/lib/src/intl/text_direction.dart').
 - 'TextDirection/*2*/' is from 'dart:ui'.
                        textDirection: TextDirection.LTR,
                                                     ^
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?我怎样才能完成所需的行为?

localization arabic dart flutter flutter-layout

1
推荐指数
2
解决办法
4581
查看次数

Flutter arb 文件中的不间断空格

我正在尝试在 Flutter 应用程序中的文件中添加不间断空格arb,但是,我找不到任何方法将 Unicode 字符放入文件中arb

我需要类似的东西:

{
  "@@locale": "en",
  "helloWorld": "Hello&nbsp;world!",
}
Run Code Online (Sandbox Code Playgroud)

是否可以将\n除 etc 之外的自定义字符添加到arb文件中?

unicode localization arb flutter

1
推荐指数
1
解决办法
1435
查看次数

在 Razor + Blazor 组件中使用 URL 路径进行本地化

我想构建一个包含 razor 页面和一些 Blazor 组件的 ASP.NET Razor 应用程序,并根据 URL 中的语言对网站内容进行本地化。

例如,/en/home并且/fr/home将有一个基于语言呈现内容的支持页面。

有什么方法可以实现这个目的呢?

localization razor asp.net-core blazor

1
推荐指数
1
解决办法
1855
查看次数

easy_localization 代码生成过程未从 Android Studio 终端进行

在主方法中设置所有.json文件、文件和初始化后,当我尝试通过调用从终端pubspec创建文件时codegen_loader.g.dartflutter pub run easy_localization:generate时,它无法通过。甚至没有收到错误消息。

下面是命令行的片段:

PS C:\Users\Prosanto\Desktop\Android Dev\localization> flutter pub run easy_localization:generate -h

PS C:\Users\Prosanto\Desktop\Android Dev\localization> flutter pub run easy_localization:generate -S "assets/translations" -O "lib/translations"

PS C:\Users\Prosanto\Desktop\Android Dev\localization>
Run Code Online (Sandbox Code Playgroud)

什么也没发生,任何帮助或建议都是非常有帮助的。

android localization dart flutter flutter-localizations

1
推荐指数
1
解决办法
927
查看次数

WPML - SQL 查询以当前语言获取帖子

我正在使用 WPML,需要自定义搜索查询(wordpress 的默认搜索在我的情况下不起作用)。假设我的查询是: "SELECT * FROM wp_posts WHERE post_title LIKE %s% AND [WPML_CURRENT_LANGUAGE_CONDITION]";

请帮我检查一下我应该关心哪张桌子。

谢谢!

wordpress localization wpml

1
推荐指数
1
解决办法
1171
查看次数