diff --git a/README.md b/README.md
index 38e0f10320..78edcb5968 100644
--- a/README.md
+++ b/README.md
@@ -31,8 +31,12 @@ Contributions are always welcome. Before contributing please read our [contribut
1. Fork this repository to your own GitHub account and then clone it to your local device
2. Navigate to the cloned folder: `cd hospitalrun-frontend`
-3. Install the dependencies: `yarn`
-4. Run `yarn run start` to build and watch for code changes
+3. Install the dependencies: `npm install`
+4. Run `npm run start` to build and watch for code changes
+
+## Translation
+
+Use the stadards in [this readme](https://github.com/HospitalRun/hospitalrun-frontend/tree/master/src/locales/README.md).
## Online one-click setup for contributing
@@ -77,13 +81,13 @@ To fix this issue, add `SKIP_PREFLIGHT_CHECK=true` to the `.env` file.
## Running Tests and Linter
-`yarn test:ci` will run the entire test suite
+`npm run test:ci` will run the entire test suite
-`yarn test` will run the test suite in watch mode
+`npm run test` will run the test suite in watch mode
-`yarn lint` will run the linter
+`npm run lint` will run the linter
-`yarn lint:fix` will run the linter and fix fixable errors
+`npm run lint:fix` will run the linter and fix fixable errors
## Useful Developer Tools
@@ -98,7 +102,7 @@ In order to optimize the workflow and to prevent multiple contributors working o
## How to commit
-This repo uses Conventional Commits. Commitizen is mandatory for making proper commits. Once you have staged your changes, can run `npm run commit` or `yarn commit` from the root directory in order to commit following our standards.
+This repo uses Conventional Commits. Commitizen is mandatory for making proper commits. Once you have staged your changes, can run `npm run commit` from the root directory in order to commit following our standards.
diff --git a/src/i18n.ts b/src/i18n.ts
index 553e72ef48..430d64046b 100644
--- a/src/i18n.ts
+++ b/src/i18n.ts
@@ -7,12 +7,12 @@ import translationDE from './locales/de/translations'
import translationEnUs from './locales/enUs/translations'
import translationES from './locales/es/translations'
import translationFR from './locales/fr/translations'
-import translationIN from './locales/in/translations'
+import translationID from './locales/id/translations'
import translationIT from './locales/it/translations'
import translationJA from './locales/ja/translations'
import translationPtBR from './locales/ptBr/translations'
import translationRU from './locales/ru/translations'
-import translationZR from './locales/zr/translations'
+import translationZhCN from './locales/zhCN/translations'
const resources: { [language: string]: any } = {
it: {
@@ -39,15 +39,15 @@ const resources: { [language: string]: any } = {
name: 'French',
translation: translationFR,
},
- in: {
+ id: {
name: 'Indonesian',
- translation: translationIN,
+ translation: translationID,
},
ja: {
name: 'Japanese',
translation: translationJA,
},
- pt: {
+ ptBR: {
name: 'Portuguese',
translation: translationPtBR,
},
@@ -55,9 +55,9 @@ const resources: { [language: string]: any } = {
name: 'Russian',
translation: translationRU,
},
- zr: {
+ zhCN: {
name: 'Chinese',
- translation: translationZR,
+ translation: translationZhCN,
},
}
diff --git a/src/locales/README.md b/src/locales/README.md
new file mode 100644
index 0000000000..6bf701158a
--- /dev/null
+++ b/src/locales/README.md
@@ -0,0 +1,31 @@
+# Codes to use to identify languages
+
+The [IETF language tags](http://en.wikipedia.org/wiki/IETF_language_tag) are made up of [ISO 639](http://en.wikipedia.org/wiki/ISO_639) standards for representing language names and [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1) standards for representing country codes. A sample list:
+
+| English name for language | Tag |
+| :------------------------ | :---- |
+| English | en |
+| English (United States) | en-US |
+| English (Great Britain) | en-GB |
+| French | fr |
+| German | de |
+| Polish | pl |
+| Dutch | nl |
+| Finnish | fi |
+| Swedish | sv |
+| Italian | it |
+| Spanish (Spain) | es |
+| Portuguese (Portugal) | pt |
+| Russian | ru |
+| Portuguese (Brazil) | pt-BR |
+| Spanish (Mexico) | es-MX |
+| Chinese (PRC) | zh-CN |
+| Chinese (Taiwan) | zh-TW |
+| Japanese | ja |
+| Korean | ko |
+
+Use these two reference lists to create new languages.
+
+[ISO 639-1](https://datahub.io/core/language-codes/r/0.html)
+
+[IETF Language Types](https://datahub.io/core/language-codes/r/3.html)
diff --git a/src/locales/de/translations/actions/index.ts b/src/locales/de/translations/actions/index.ts
index 36da829341..04bdf25794 100644
--- a/src/locales/de/translations/actions/index.ts
+++ b/src/locales/de/translations/actions/index.ts
@@ -1,9 +1,15 @@
export default {
actions: {
+ label: 'Aktionen',
edit: 'Bearbeiten',
- save: 'speichern',
+ save: 'Speichern',
+ update: 'Aktualisieren',
+ complete: 'Komplett',
+ delete: 'Löschen',
cancel: 'Stornieren',
new: 'Neu',
list: 'Liste',
+ search: 'Suche',
+ confirmDelete: 'Bestätigung der Löschung',
},
}
diff --git a/src/locales/de/translations/dashboard/index.ts b/src/locales/de/translations/dashboard/index.ts
index 984588ceb3..feaad5f3ee 100644
--- a/src/locales/de/translations/dashboard/index.ts
+++ b/src/locales/de/translations/dashboard/index.ts
@@ -1,5 +1,5 @@
export default {
dashboard: {
- label: 'Instrumententafel',
+ label: 'Dashboard',
},
}
diff --git a/src/locales/de/translations/incidents/index.ts b/src/locales/de/translations/incidents/index.ts
new file mode 100644
index 0000000000..c4312bf4ec
--- /dev/null
+++ b/src/locales/de/translations/incidents/index.ts
@@ -0,0 +1,35 @@
+export default {
+ incidents: {
+ filterTitle: 'Nach Status filtern',
+ label: 'Vorfälle',
+ actions: {
+ report: 'Bericht',
+ },
+ status: {
+ reported: 'gemeldet',
+ all: 'alle',
+ },
+ reports: {
+ label: 'Gemeldete Vorfälle',
+ new: 'Vorfall melden',
+ view: 'Vorfall ansehen',
+ dateOfIncident: 'Datum des Vorfalles',
+ department: 'Abteilung',
+ category: 'Kategorie',
+ categoryItem: 'Kategorie Artikel',
+ description: 'Beschreibung des Vorfalles',
+ code: 'Code',
+ reportedBy: 'Gemeldet von',
+ reportedOn: 'Gemeldet am',
+ status: 'Status',
+ error: {
+ dateRequired: 'Datum is erforderlich.',
+ dateMustBeInThePast: 'Datum muss in der vergangenheit sein.',
+ departmentRequired: 'Abteilung ist erforderlich.',
+ categoryRequired: 'Kategorie ist erforderlich',
+ categoryItemRequired: 'Kategorie Artikel ist erforderlich',
+ descriptionRequired: 'Beschreibung ist erforderlich',
+ },
+ },
+ },
+}
diff --git a/src/locales/de/translations/index.ts b/src/locales/de/translations/index.ts
index 62cbb42d7b..425c94d1a3 100644
--- a/src/locales/de/translations/index.ts
+++ b/src/locales/de/translations/index.ts
@@ -1,8 +1,13 @@
import actions from './actions'
import dashboard from './dashboard'
+import incidents from './incidents'
+import labs from './labs'
import patient from './patient'
import patients from './patients'
+import scheduling from './scheduling'
import settings from './settings'
+import sex from './sex'
+import states from './states'
export default {
...actions,
@@ -10,4 +15,9 @@ export default {
...patient,
...patients,
...settings,
+ ...scheduling,
+ ...states,
+ ...sex,
+ ...labs,
+ ...incidents,
}
diff --git a/src/locales/de/translations/labs/index.ts b/src/locales/de/translations/labs/index.ts
index 6bdaf43580..2e8dc7c45c 100644
--- a/src/locales/de/translations/labs/index.ts
+++ b/src/locales/de/translations/labs/index.ts
@@ -1,7 +1,40 @@
export default {
labs: {
+ label: 'Labor',
+ filterTitle: 'Nach Status filtern',
+ search: 'Laborsuche',
+ status: {
+ requested: 'Angefordert',
+ completed: 'Abgeschlossen',
+ canceled: 'Abgebrochen',
+ },
+ filter: {
+ all: 'Alle Status',
+ },
+ requests: {
+ label: 'Laboranfragen',
+ new: 'Neue Laboranfrage',
+ view: 'Labor anzeigen',
+ cancel: 'Labor stornieren',
+ complete: 'Labor erledigt',
+ error: {
+ unableToRequest: 'Unable to create new lab request.',
+ unableToComplete: 'Unable to complete lab request.',
+ typeRequired: 'Type is required.',
+ resultRequiredToComplete: 'Result is required to complete.',
+ },
+ },
lab: {
code: 'Laborcode',
+ status: 'Status',
+ for: 'Für',
+ type: 'Typ',
+ result: 'Resultat',
+ notes: 'Notizen',
+ requestedOn: 'Angefordert am',
+ completedOn: 'Erledigt am',
+ canceledOn: 'Storniert am',
+ patient: 'Patient',
},
},
}
diff --git a/src/locales/de/translations/patient/index.ts b/src/locales/de/translations/patient/index.ts
index d1b1df3786..dfae4b8baf 100644
--- a/src/locales/de/translations/patient/index.ts
+++ b/src/locales/de/translations/patient/index.ts
@@ -1,6 +1,113 @@
export default {
patient: {
+ code: 'Patient Code',
firstName: 'Vorname',
lastName: 'Nachname',
+ suffix: 'Suffix',
+ prefix: 'Präfix',
+ givenName: 'Rufname',
+ familyName: 'Familienname',
+ dateOfBirth: 'Geburtsdatum',
+ approximateDateOfBirth: 'Ungefähres Geburtsdatum',
+ age: 'Alter',
+ approximateAge: 'Ungefähres Alter',
+ placeOfBirth: 'Geburtsort',
+ sex: 'Geschlecht',
+ phoneNumber: 'Telefonnummer',
+ email: 'E-mail',
+ address: 'Addresse',
+ occupation: 'Beruf',
+ type: 'Patiententyp',
+ preferredLanguage: 'Bevorzugte Sprache',
+ basicInformation: 'Grundinformation',
+ generalInformation: 'Allgemeine Information',
+ contactInformation: 'Kontakt Information',
+ unknownDateOfBirth: 'Unbekannt',
+ relatedPerson: 'Verwandte Person',
+ relatedPersons: {
+ error: {
+ unableToAddRelatedPerson: 'Neue verwandte Person kann nicht hinzugefügt werden.',
+ relatedPersonRequired: 'Verwandte Person ist erforderlich.',
+ relationshipTypeRequired: 'Beziehungstyp ist erforderlich.',
+ },
+ label: 'Verwandte Personen',
+ new: 'Neue Verwandte Person',
+ add: 'Verwandte Person hinzufügen',
+ relationshipType: 'Beziehungstyp',
+ warning: {
+ noRelatedPersons: 'Keine verwandten Personen',
+ },
+ addRelatedPersonAbove: 'Fügen Sie über den Button oben eine verwandte Person hinzu.',
+ },
+ appointments: {
+ new: 'Termin hinzufügen',
+ },
+ allergies: {
+ label: 'Allergien',
+ allergyName: 'Name der Allergie',
+ new: 'Allergie hinzufügen',
+ error: {
+ nameRequired: 'Name ist erforderlich.',
+ unableToAdd: 'Allergie konnte nicht hinzugefügt werden.',
+ },
+ warning: {
+ noAllergies: 'Keine Allergien',
+ },
+ addAllergyAbove: 'Fügen Sie über den Button oben eine Allergie hinzu.',
+ successfullyAdded: 'Erfolgreich eine neue Allergie hinzugefügt!',
+ },
+ diagnoses: {
+ label: 'Diagnosen',
+ new: 'Diagnose hinzufügen',
+ diagnosisName: 'Name der Diagnose',
+ diagnosisDate: 'Diagnosedatum',
+ warning: {
+ noDiagnoses: 'Keine Diagnosen',
+ },
+ error: {
+ nameRequired: 'Name der Diagnose ist erforderlich.',
+ dateRequired: 'Diagnosedatum ist erforderlich.',
+ unableToAdd: 'Diagnose konnte nicht hinzugefügt werden.',
+ },
+ addDiagnosisAbove: 'Fügen Sie über den Button oben eine Diagnose hinzu.',
+ successfullyAdded: 'Erfolgreich eine neue Diagnose hinzugefügt!',
+ },
+ note: 'Notizen',
+ notes: {
+ label: 'Notizen',
+ new: 'Neue Notiz hinzufügen',
+ warning: {
+ noNotes: 'Keine Notizen',
+ },
+ error: {
+ noteRequired: 'Notiz ist erforderlich.',
+ unableToAdd: 'Unable to add new note.',
+ },
+ addNoteAbove: 'Fügen Sie über den Button oben eine Notiz hinzu.',
+ },
+ labs: {
+ label: 'Labore',
+ new: 'Neues Labor hinzufügen',
+ warning: {
+ noLabs: 'Keine Labore',
+ },
+ noLabsMessage: 'Keine Laboranfragen für diese Person.',
+ },
+ types: {
+ charity: 'Charity',
+ private: 'Privat',
+ },
+ errors: {
+ createPatientError: 'Neuer Patient konnte nicht erstellt werden.',
+ updatePatientError: 'Patient konnte nicht aktualisiert werden.',
+ patientGivenNameFeedback: 'Rufname ist erforderlich.',
+ patientDateOfBirthFeedback: 'Das Geburtsdatum kann nicht in der Zukunft liegen',
+ patientNumInSuffixFeedback: 'Kann keine Zahlen enthalten.',
+ patientNumInPrefixFeedback: 'Kann keine Zahlen enthalten.',
+ patientNumInFamilyNameFeedback: 'Kann keine Zahlen enthalten.',
+ patientNumInPreferredLanguageFeedback: 'Kann keine Zahlen enthalten.',
+ invalidEmail: 'Muss eine gültige E-Mail sein.',
+ invalidPhoneNumber: 'Muss eine gültige Telefonnummer sein.',
+ },
},
}
diff --git a/src/locales/de/translations/scheduling/index.ts b/src/locales/de/translations/scheduling/index.ts
new file mode 100644
index 0000000000..2b17789c94
--- /dev/null
+++ b/src/locales/de/translations/scheduling/index.ts
@@ -0,0 +1,37 @@
+export default {
+ scheduling: {
+ label: 'Planung',
+ appointments: {
+ label: 'Termine',
+ new: 'Neuer Termin',
+ schedule: 'Terminplan',
+ editAppointment: 'Termin bearbeiten',
+ deleteAppointment: 'Termin löschen',
+ viewAppointment: 'Termin ansehen',
+ },
+ appointment: {
+ startDate: 'Anfangsdatum',
+ endDate: 'Enddatum',
+ location: 'Standort',
+ type: 'Typ',
+ types: {
+ checkup: 'Untersuchung',
+ emergency: 'Notfall',
+ followUp: 'Nachverfolgen',
+ routine: 'Routine',
+ walkIn: 'Walk In',
+ },
+ errors: {
+ createAppointmentError: 'Neuer Termin konnte nicht erstellt werden.',
+ updateAppointmentError: 'Termin konnte nicht aktualisiert werden.',
+ patientRequired: 'Patient ist erforderlich.',
+ startDateMustBeBeforeEndDate: 'Die Startzeit muss vor der Endzeit liegen.',
+ },
+ reason: 'Grund',
+ patient: 'Patient',
+ deleteConfirmationMessage: 'Sind Sie sicher, dass Sie diesen Termin löschen möchten?',
+ successfullyCreated: 'Termin erfolgreich erstellt.',
+ successfullyDeleted: 'Termin erfolgreich gelöscht.',
+ },
+ },
+}
diff --git a/src/locales/de/translations/sex/index.ts b/src/locales/de/translations/sex/index.ts
new file mode 100644
index 0000000000..b4cfdbbea2
--- /dev/null
+++ b/src/locales/de/translations/sex/index.ts
@@ -0,0 +1,8 @@
+export default {
+ sex: {
+ male: 'Männlich',
+ female: 'Weiblich',
+ other: 'Andere',
+ unknown: 'Unbekannt',
+ },
+}
diff --git a/src/locales/de/translations/states/index.ts b/src/locales/de/translations/states/index.ts
new file mode 100644
index 0000000000..8446a94071
--- /dev/null
+++ b/src/locales/de/translations/states/index.ts
@@ -0,0 +1,6 @@
+export default {
+ states: {
+ success: 'Erfolg!',
+ error: 'Fehler!',
+ },
+}
diff --git a/src/locales/in/translations/actions/index.ts b/src/locales/id/translations/actions/index.ts
similarity index 100%
rename from src/locales/in/translations/actions/index.ts
rename to src/locales/id/translations/actions/index.ts
diff --git a/src/locales/in/translations/dashboard/index.ts b/src/locales/id/translations/dashboard/index.ts
similarity index 100%
rename from src/locales/in/translations/dashboard/index.ts
rename to src/locales/id/translations/dashboard/index.ts
diff --git a/src/locales/in/translations/index.ts b/src/locales/id/translations/index.ts
similarity index 100%
rename from src/locales/in/translations/index.ts
rename to src/locales/id/translations/index.ts
diff --git a/src/locales/in/translations/labs/index.ts b/src/locales/id/translations/labs/index.ts
similarity index 100%
rename from src/locales/in/translations/labs/index.ts
rename to src/locales/id/translations/labs/index.ts
diff --git a/src/locales/in/translations/patient/index.ts b/src/locales/id/translations/patient/index.ts
similarity index 100%
rename from src/locales/in/translations/patient/index.ts
rename to src/locales/id/translations/patient/index.ts
diff --git a/src/locales/in/translations/patients/index.ts b/src/locales/id/translations/patients/index.ts
similarity index 100%
rename from src/locales/in/translations/patients/index.ts
rename to src/locales/id/translations/patients/index.ts
diff --git a/src/locales/in/translations/settings/index.ts b/src/locales/id/translations/settings/index.ts
similarity index 100%
rename from src/locales/in/translations/settings/index.ts
rename to src/locales/id/translations/settings/index.ts
diff --git a/src/locales/zr/translations/actions/index.ts b/src/locales/zhCN/translations/actions/index.ts
similarity index 100%
rename from src/locales/zr/translations/actions/index.ts
rename to src/locales/zhCN/translations/actions/index.ts
diff --git a/src/locales/zr/translations/dashboard/index.ts b/src/locales/zhCN/translations/dashboard/index.ts
similarity index 100%
rename from src/locales/zr/translations/dashboard/index.ts
rename to src/locales/zhCN/translations/dashboard/index.ts
diff --git a/src/locales/zr/translations/index.ts b/src/locales/zhCN/translations/index.ts
similarity index 100%
rename from src/locales/zr/translations/index.ts
rename to src/locales/zhCN/translations/index.ts
diff --git a/src/locales/zr/translations/labs/index.ts b/src/locales/zhCN/translations/labs/index.ts
similarity index 100%
rename from src/locales/zr/translations/labs/index.ts
rename to src/locales/zhCN/translations/labs/index.ts
diff --git a/src/locales/zr/translations/patient/index.ts b/src/locales/zhCN/translations/patient/index.ts
similarity index 100%
rename from src/locales/zr/translations/patient/index.ts
rename to src/locales/zhCN/translations/patient/index.ts
diff --git a/src/locales/zr/translations/patients/index.ts b/src/locales/zhCN/translations/patients/index.ts
similarity index 86%
rename from src/locales/zr/translations/patients/index.ts
rename to src/locales/zhCN/translations/patients/index.ts
index 3f1a814277..701850936e 100644
--- a/src/locales/zr/translations/patients/index.ts
+++ b/src/locales/zhCN/translations/patients/index.ts
@@ -1,6 +1,6 @@
export default {
patients: {
- label: '耐心',
+ label: '标签',
viewPatients: '查看患者',
viewPatient: '查看患者',
newPatient: '新病人',
diff --git a/src/locales/zr/translations/settings/index.ts b/src/locales/zhCN/translations/settings/index.ts
similarity index 100%
rename from src/locales/zr/translations/settings/index.ts
rename to src/locales/zhCN/translations/settings/index.ts