Skip to content

Commit

Permalink
Merge pull request #160 from jhipster/feature/i18n-client
Browse files Browse the repository at this point in the history
Feature/i18n client
  • Loading branch information
Angelo Manganiello committed Aug 14, 2020
2 parents 5172443 + 14554fd commit 90ad63f
Show file tree
Hide file tree
Showing 63 changed files with 1,111 additions and 30 deletions.
15 changes: 9 additions & 6 deletions .github/workflows/test-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,20 @@ jobs:
os: [ubuntu-latest]
app-type:
- monolith-react-oauth2-dev
- monolith-angular-jwt-dev
- monolith-react-jwt-sql-jdl
- microservice-oauth2-sql-jdl
- monolith-angular-jwt-i18n-dev
- monolith-react-jwt-jdl
- monolith-react-oauth2-i18n-jdl
- microservice-oauth2-jdl
include:
- app-type: monolith-react-oauth2-dev
arg: 'no'
- app-type: monolith-angular-jwt-dev
- app-type: monolith-angular-jwt-i18n-dev
arg: 'no'
- app-type: monolith-react-jwt-sql-jdl
- app-type: monolith-react-jwt-jdl
arg: import-jdl
- app-type: microservice-oauth2-sql-jdl
- app-type: monolith-react-oauth2-i18n-jdl
arg: import-jdl
- app-type: microservice-oauth2-jdl
arg: post-import-jdl
env:
JHI_APP: ${{ matrix.app-type }}
Expand Down
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<a name="1.1.1"></a>
<a name="1.2.0"></a>
<a name="1.1.0"></a>
<a name="1.0.2"></a>
<a name="1.0.1"></a>
Expand All @@ -9,11 +9,14 @@
<a name="1.0.0-alpha.3"></a>
<a name="1.0.0-alpha.2"></a>

# [1.1.1](https://github.com/jhipster/generator-jhipster-nodejs/tree/v1.1.1)
# [1.2.0](https://github.com/jhipster/generator-jhipster-nodejs/tree/v1.2.0)

- Unexpected logs when creating a new app using import-jdl [issue #159](https://github.com/jhipster/generator-jhipster-nodejs/issues/159)
- Language i18n for angular home page translation NHipster [issue #45](https://github.com/jhipster/generator-jhipster-nodejs/issues/45)
- Language i18n for react home page translation NHipster [issue #59](https://github.com/jhipster/generator-jhipster-nodejs/issues/59)
- enum type values not correctly mapped in the server side [issue #156](https://github.com/jhipster/generator-jhipster-nodejs/issues/156)
- Error when fetch list of entities from react client [issue #155](https://github.com/jhipster/generator-jhipster-nodejs/issues/155)
- double stitch port on app.yml [issue #153](https://github.com/jhipster/generator-jhipster-nodejs/issues/153)
- double stitch port on app.yml [issue #157](https://github.com/jhipster/generator-jhipster-nodejs/issues/157)

# [1.1.0](https://github.com/jhipster/generator-jhipster-nodejs/tree/v1.1.0)

Expand Down
14 changes: 12 additions & 2 deletions generators/app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ module.exports = class extends AppGenerator {
}

this.configOptions = jhContext.configOptions || {};

// This adds support for a `--skip-i18n` flag for unit test
this.option('skip-i18n', {
desc: 'skip internationalization',
type: Boolean,
defaults: false
});
}

get initializing() {
Expand Down Expand Up @@ -88,9 +95,12 @@ module.exports = class extends AppGenerator {
validateJava() {},

customSettings() {
this.skipI18n = true;
this.testFrameworks = [];
this.enableTranslation = false;
this.protractorTests = false;
if (this.options['skip-i18n']) {
this.enableTranslation = false;
this.skipI18n = true;
}
}
};

Expand Down
17 changes: 12 additions & 5 deletions generators/client/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ module.exports = class extends ClientGenerator {
this.configOptions = jhContext.configOptions || {};
// This sets up options for this sub generator and is being reused from JHipster
jhContext.setupClientOptions(this, jhContext);

// This adds support for a `--skip-i18n` flag for unit test
this.option('skip-i18n', {
desc: 'skip internationalization',
type: Boolean,
defaults: false
});
}

get initializing() {
Expand All @@ -43,11 +50,11 @@ module.exports = class extends ClientGenerator {

get default() {
const defaultPhaseFromJHipster = super._default();
const defaultNodeClientPhaseSteps = {
// disable languages
composeLanguages() {}
};
return Object.assign(defaultPhaseFromJHipster, defaultNodeClientPhaseSteps);
// disable i18n
if (this.options['skip-i18n']) {
defaultPhaseFromJHipster.composeLanguages = {};
}
return defaultPhaseFromJHipster;
}

get writing() {
Expand Down
2 changes: 2 additions & 0 deletions generators/entity/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ module.exports = class extends EntityGenerator {

composeClient() {
const context = this.context;
// disable protractor
context.protractorTests = false;
if (context.skipClient) return;
const configOptions = this.configOptions;

Expand Down
23 changes: 23 additions & 0 deletions generators/languages/USAGE
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Description:
Select languages from a list of available languages. The i18n files will be copied to the /webapp/i18n folder.

Example:
jhipster languages

This will create for each selected language:
/webapp/i18n/{lang}/global.json
/webapp/i18n/{lang}/activate.json
/webapp/i18n/{lang}/configuration.json
/webapp/i18n/{lang}/error.json
/webapp/i18n/{lang}/gateway.json
/webapp/i18n/{lang}/health.json
/webapp/i18n/{lang}/home.json
/webapp/i18n/{lang}/login.json
/webapp/i18n/{lang}/logs.json
/webapp/i18n/{lang}/metrics.json
/webapp/i18n/{lang}/password.json
/webapp/i18n/{lang}/register.json
/webapp/i18n/{lang}/reset.json
/webapp/i18n/{lang}/sessions.json
/webapp/i18n/{lang}/settings.json
/webapp/i18n/{lang}/user-management.json
65 changes: 65 additions & 0 deletions generators/languages/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/* eslint-disable consistent-return */
const chalk = require('chalk');
const jhipsterConstants = require('generator-jhipster/generators/generator-constants');
const LanguagesGenerator = require('generator-jhipster/generators/languages');

module.exports = class extends LanguagesGenerator {
constructor(args, opts) {
super(args, Object.assign({ fromBlueprint: true }, opts)); // fromBlueprint variable is important

const jhLanguagesContext = (this.jhipsterContext = this.options.jhipsterContext);

if (!jhLanguagesContext) {
this.error(`This is a JHipster blueprint and should be used only like ${chalk.yellow('jhipster --blueprints nodejs')}`);
}

this.configOptions = jhLanguagesContext.configOptions || {};
// This sets up options for this sub generator and is being reused from JHipster
jhLanguagesContext.setupServerOptions(this, jhLanguagesContext);
jhLanguagesContext.setupClientOptions(this, jhLanguagesContext);
}

get initializing() {
const initPhaseFromJHipster = super._initializing();
const initNodeLanguagesPhaseSteps = {
// avoid logging languages in server side
validateFromCli() {
this.checkInvocationFromCLI();
this.skipServer = true;
}
};
return Object.assign(initPhaseFromJHipster, initNodeLanguagesPhaseSteps);

// Here we are not overriding this phase and hence its being handled by JHipster
// return super._initializing();
}

get default() {
const defaultPhaseFromJHipster = super._default();
const defaultNodeLanguagesPhaseSteps = {
// disable languages translation in server side
disableLanguagesForJHipsterServer() {
this.skipServer = true;
this.skipUserManagement = true;
}
};
return Object.assign(defaultPhaseFromJHipster, defaultNodeLanguagesPhaseSteps);

// Here we are not overriding this phase and hence its being handled by JHipster
// return super._default();
}

get writing() {
const phaseFromJHipster = super._writing();
const jhipsterNodeLanguagesPhaseSteps = {
// overwrite home.json file
writeHomeJSON() {
this.languagesToApply.forEach(language => {
const path = `${jhipsterConstants.CLIENT_MAIN_SRC_DIR}i18n/${language}/home.json`;
this.template(path, path);
});
}
};
return Object.assign(phaseFromJHipster, jhipsterNodeLanguagesPhaseSteps);
}
};
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/al/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "Mirëseerdhët në, Java Hipster!",
"subtitle": "Ky është kreu juaj",
"logged": {
"message": "Ju jeni futur si \"{{username}}\"."
},
"question": "Në qoftë se keni ndonjë pyetje rreth JHipster:",
"link": {
"homepage": "Kreu i JHipster",
"stackoverflow": "JHipster tek Stack Overflow",
"bugtracker": "JHipster bug tracker",
"chat": "JHipster dhoma e chatit publik",
"follow": "ndiq @jhipster në Twitter"
},
"like": "Në qoftë se ju pëlqen JHipster, mos harroni të na jepni një yll në",
"github": "GitHub"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "أهلا وسهلا بك، جافا هبستر!",
"subtitle": "هذه صفحتك الرئيسية",
"logged": {
"message": "قمت بتسجيل الدخول كمستخدم \"{{username}}\"."
},
"question": "إذا كان لديك أي سؤال حول JHipster:",
"link": {
"homepage": "JHipster homepage",
"stackoverflow": "JHipster on Stack Overflow",
"bugtracker": "JHipster bug tracker",
"chat": "JHipster public chat room",
"follow": "follow @jhipster on Twitter"
},
"like": "إذا كنت تحب JHipster، لا تنسى أن تعطي لنا نجم على",
"github": "GitHub"
}
}
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/bn/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "স্বাগতম, জাভা হিপ্সটার",
"subtitle": "এটা আপনার হোম পেইজ",
"logged": {
"message": "আপনি লগ ইন করেছেন এই ইউজারনেম দিয়েঃ \"{{username}}\"."
},
"question": "JHipster নিয়ে প্রশ্ন থাকলে:",
"link": {
"homepage": "JHipster হোম পেইজ",
"stackoverflow": "Stack Overflow তে JHipster",
"bugtracker": "JHipster বাগ ট্র্যাকার",
"chat": "JHipster পাবলিক চ্যাট রুম",
"follow": "টুইটার এ ফলো করুন @jhipster"
},
"like": "JHipster ভাল লেগে থাকলে স্টার দিতে ভুলবেন না",
"github": "GitHub"
}
}
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/by/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "Сардэчна запрашаем, Java Hipster!",
"subtitle": "Гэта ваша дамашняя старонка",
"logged": {
"message": "Вы ўвайшлі як карыстальнік \"{{username}}\"."
},
"question": "Калі ў Вас з'явіліся пытанні па JHipster:",
"link": {
"homepage": "JHipster дамашняя старонка",
"stackoverflow": "JHipster на Stack Overflow",
"bugtracker": "JHipster баг трекер",
"chat": "JHipster public chat room",
"follow": "карыстальнік @jhipster в Twitter"
},
"like": "Калі вам падабаецца JHipster, не забудзьце даць нам зорачку на",
"github": "GitHub"
}
}
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/ca/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "Benvingut, Java Hipster!",
"subtitle": "Aquesta és la pàgina principal",
"logged": {
"message": "S'ha connectat amb l'usuari \"{{username}}\"."
},
"question": "Si tens qualsevol pregunta sobre JHipster:",
"link": {
"homepage": "Pàgina preincipal de JHipster",
"stackoverflow": "JHipster a Stack Overflow",
"bugtracker": "JHipster seguiment d'incidencies",
"chat": "JHipster public chat room",
"follow": "Contacte @jhipster a Twitter"
},
"like": "Si li agrada JHipster, no oblidi donar-nos una estrella",
"github": "GitHub"
}
}
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/cs/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "Vítejte, Java Hipster!",
"subtitle": "Toto je vaše domovská stránka",
"logged": {
"message": "Jste přihlášen jako \"{{username}}\"."
},
"question": "Pokud máte nějaké dotazy týkající se JHipster:",
"link": {
"homepage": "Domovská stránka JHipster",
"stackoverflow": "JHipster ve službě Stack Overflow",
"bugtracker": "Nahlašování chyb JHipster",
"chat": "Veřejná chatovací místnost JHipster",
"follow": "Sledovat @jhipster ve službě Twitter"
},
"like": "Pokud se vám JHipster líbí, nezapomeňte nám dát hvězdičku ve službě",
"github": "GitHub"
}
}
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/da/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "Velkommen, Java Hipster!",
"subtitle": "Dette er din startside",
"logged": {
"message": "Du er logget ind som bruger \"{{username}}\"."
},
"question": "Hvis du har spørgsmål om JHipster:",
"link": {
"homepage": "JHipster homepage",
"stackoverflow": "JHipster på Stack Overflow",
"bugtracker": "JHipster bug tracker",
"chat": "JHipster public chat room",
"follow": "Kontakt @jhipster på Twitter"
},
"like": "Hvis du kan lide JHipster, så husk at give os en stjerne på",
"github": "GitHub"
}
}
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/de/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "Willkommen, Java Hipster!",
"subtitle": "Dies ist Ihre Hauptseite",
"logged": {
"message": "Sie sind als Benutzer \"{{username}}\" angemeldet."
},
"question": "Wenn Sie Fragen zu JHipster haben:",
"link": {
"homepage": "JHipster Hauptseite",
"stackoverflow": "JHipster auf Stack Overflow",
"bugtracker": "JHipster Fehlereinträge",
"chat": "JHipster Chat",
"follow": "kontaktieren Sie uns mit @jhipster auf Twitter"
},
"like": "Wenn Sie JHipster mögen, vergessen Sie nicht uns einen Stern zu geben auf",
"github": "GitHub"
}
}
19 changes: 19 additions & 0 deletions generators/languages/templates/src/main/webapp/i18n/el/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"home": {
"title": "Καλός όρισες, Java Hipster!",
"subtitle": "Αυτή είναι η αρχική σου σελίδα",
"logged": {
"message": "Είστε συνδεμένος με τον χρηστη \"{{username}}\"."
},
"question": "Αν έχετε ερωτήσεις σχετικά με το JHipster:",
"link": {
"homepage": "Αρχική σελίδα του JHipster",
"stackoverflow": "Το JHipster στο Stack Overflow",
"bugtracker": "JHipster bug tracker",
"chat": "JHipster chat room για το κοινό",
"follow": "Ακολουθείστε @jhipster στο Twitter"
},
"like": "Άμα σας αρέσει το JHipster, μην ξεχάσετε να μας δώσετε ένα αστέρι",
"github": "GitHub"
}
}
Loading

0 comments on commit 90ad63f

Please sign in to comment.