Nativescript-localize не переводит и не локализует - PullRequest
0 голосов
/ 18 апреля 2020
  1. Я создал новое приложение, используя шаблон команды ниже:

tns create my-blank-ng --template tns-template-blank-ng

Я установил плагин, выполнив

go в папку приложения:

cd my-blank-ng

, откройте редактор кода vs:

code .

внутри кода vs откройте терминал и выполните команду ниже, чтобы установить плагин nativescript-localize (https://market.nativescript.org/plugins/nativescript-localize#how -to-set-the-default-language )

tns plugin add nativescript-localize

, следующий отсюда https://market.nativescript.org/plugins/nativescript-localize#how -to-set-the-default-language Я создал новую папку i18n внутри папки app (src / app / i18n) и соответствующих языковых файлов en. json и fr.default. js, как описано в руководстве, с содержанием:

ru. json

{
  "app.name": "My app EN",
  "hello.world": "Hello world ! Hello world TRANSLATED!"
}

fr.default . json

{
  "app.name": "My app FR",
    "hello": {
      "world": "Bonjour le monde ! Hello world !"
    }
}

также, home.module.ts выглядит так:

import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { NativeScriptLocalizeModule } from "nativescript-localize/angular";
import { NativeScriptCommonModule } from "nativescript-angular/common";

import { HomeRoutingModule } from "./home-routing.module";
import { HomeComponent } from "./home.component";

@NgModule({
    imports: [
        NativeScriptCommonModule,
        HomeRoutingModule,
        NativeScriptLocalizeModule
    ],
    declarations: [
        HomeComponent
    ],
    schemas: [
        NO_ERRORS_SCHEMA
    ]
})
export class HomeModule { }

home.component.ts

import { Component, OnInit } from "@angular/core";

import { localize } from "nativescript-localize";

@Component({
    selector: "Home",
    templateUrl: "./home.component.html"
})
export class HomeComponent implements OnInit {

    constructor() {
        // Use the component constructor to inject providers.
console.log(localize("Hello world !"));

    }

    ngOnInit(): void {
        // Init your component properties here.
    }
}

home.component. html

<ActionBar title="{{ 'app.name' | L }}"></ActionBar>


<StackLayout>
    <!-- Add your page content here -->
    <Label text="{{ 'Hello world !' | L }}" ></Label>
    <Label text="{{ 'I am %s' | L:'user name' }}" ></Label>
</StackLayout>

дополнительно, пожалуйста, получите пакет . json

{
  "nativescript": {
    "id": "org.nativescript.myblankng",
    "tns-android": {
      "version": "6.3.1"
    },
    "tns-ios": {
      "version": "6.3.0"
    }
  },
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "repository": "<fill-your-repository-here>",
  "dependencies": {
    "@angular/animations": "~8.2.0",
    "@angular/common": "~8.2.0",
    "@angular/compiler": "~8.2.0",
    "@angular/core": "~8.2.0",
    "@angular/forms": "~8.2.0",
    "@angular/platform-browser": "~8.2.0",
    "@angular/platform-browser-dynamic": "~8.2.0",
    "@angular/router": "~8.2.0",
    "@nativescript/theme": "~2.2.1",
    "nativescript-angular": "~8.20.3",
    "nativescript-localize": "^4.2.1",
    "reflect-metadata": "~0.1.12",
    "rxjs": "^6.4.0",
    "tns-core-modules": "~6.3.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular/compiler-cli": "~8.2.0",
    "@ngtools/webpack": "~8.2.0",
    "nativescript-dev-webpack": "~1.4.0",
    "typescript": "~3.5.3"
  },
  "gitHead": "fa98f785df3fba482e5e2a0c76f4be1fa6dc7a14",
  "readme": "NativeScript Application"
}

НО РЕЗУЛЬТАТ разочаровывает : НЕТ перевода :( Что я что-то не так?

Кажется, что en. json не финансируется (язык симулятора en)

см. также прикрепленное изображение enter image description here

...