2.0.0-beta.190 • Published 9 months ago

@koine/i18n v2.0.0-beta.190

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

@koine/i18n

Features

Co-locate multiple internationalised projects within the same monorepo

The compiled output allows to easily manage multile applications and their translations independently within the same monorepo.

Further reading

This was achieved preferring types compilation (the I18n namespace) rather than relying on module augmentation where interface merging of possibly exported shared types from @koine/i18n could have achieved the same (see i18next approach). That in fact would have not allow types to be scoped to the specific i18n compiled project, especially important within a monorepo. It was taken into consideration even a class based approach possibly achieved by something like this:

// in `@koine/i18n/types.ts`:
export class I18nClass<Locales extends {}, ...all other configurable interfaces as generics> {
  public Locale: keyof Locales;

  constructor(locales: Locales) {
    this.Locale = Object.keys(locales)[0] as keyof Locales;
  }
}

// somewhere in the project using @koine/i18n
import { I18n } from "@/i18n";

const myLocale: I18n["Locale"] = "";

This was discarded for a better dx as using I18n["Locale"] is not as nice as using the namespace form of this I18n.Locale. For a better dx it was also decided not to export any I18n namespace from @koine/i18n to avoid amibguity in the IDE autocomplete feature as the same namespace is always exported from the compiled output.

2.0.0-beta.186

9 months ago

2.0.0-beta.187

9 months ago

2.0.0-beta.188

9 months ago

2.0.0-beta.189

9 months ago

2.0.0-beta.190

9 months ago

2.0.0-beta.175

9 months ago

2.0.0-beta.176

9 months ago

2.0.0-beta.177

9 months ago

2.0.0-beta.179

9 months ago

2.0.0-beta.170

9 months ago

2.0.0-beta.171

9 months ago

2.0.0-beta.172

9 months ago

2.0.0-beta.173

9 months ago

2.0.0-beta.174

9 months ago

2.0.0-beta.180

9 months ago

2.0.0-beta.181

9 months ago

2.0.0-beta.182

9 months ago

2.0.0-beta.183

9 months ago

2.0.0-beta.184

9 months ago

2.0.0-beta.185

9 months ago

2.0.0-beta.164

10 months ago

2.0.0-beta.165

10 months ago

2.0.0-beta.166

9 months ago

2.0.0-beta.167

9 months ago

2.0.0-beta.168

9 months ago

2.0.0-beta.169

9 months ago

2.0.0-beta.163

10 months ago

2.0.0-beta.162

10 months ago

2.0.0-beta.161

11 months ago

2.0.0-beta.117

1 year ago

2.0.0-beta.118

1 year ago

2.0.0-beta.119

1 year ago

2.0.0-beta.120

1 year ago

2.0.0-beta.121

1 year ago

2.0.0-beta.123

12 months ago

2.0.0-beta.124

12 months ago

2.0.0-beta.125

12 months ago

2.0.0-beta.126

12 months ago

2.0.0-beta.127

12 months ago

2.0.0-beta.128

12 months ago

2.0.0-beta.129

12 months ago

2.0.0-beta.131

12 months ago

2.0.0-beta.132

12 months ago

2.0.0-beta.133

12 months ago

2.0.0-beta.134

11 months ago

2.0.0-beta.135

11 months ago

2.0.0-beta.136

11 months ago

2.0.0-beta.137

11 months ago

2.0.0-beta.138

11 months ago

2.0.0-beta.130

12 months ago

2.0.0-beta.139

11 months ago

2.0.0-beta.142

11 months ago

2.0.0-beta.143

11 months ago

2.0.0-beta.144

11 months ago

2.0.0-beta.145

11 months ago

2.0.0-beta.146

11 months ago

2.0.0-beta.147

11 months ago

2.0.0-beta.148

11 months ago

2.0.0-beta.149

11 months ago

2.0.0-beta.140

11 months ago

2.0.0-beta.141

11 months ago

2.0.0-beta.153

11 months ago

2.0.0-beta.154

11 months ago

2.0.0-beta.155

11 months ago

2.0.0-beta.156

11 months ago

2.0.0-beta.157

11 months ago

2.0.0-beta.158

11 months ago

2.0.0-beta.159

11 months ago

2.0.0-beta.151

11 months ago

2.0.0-beta.152

11 months ago

2.0.0-beta.160

11 months ago

2.0.0-beta.116

1 year ago

2.0.0-beta.114

1 year ago

2.0.0-beta.115

1 year ago

2.0.0-beta.112

1 year ago

2.0.0-beta.113

1 year ago

2.0.0-beta.100

1 year ago

2.0.0-beta.101

1 year ago

2.0.0-beta.102

1 year ago

2.0.0-beta.103

1 year ago

2.0.0-beta.104

1 year ago

2.0.0-beta.105

1 year ago

2.0.0-beta.99

1 year ago

2.0.0-beta.106

1 year ago

2.0.0-beta.107

1 year ago

2.0.0-beta.108

1 year ago

2.0.0-beta.110

1 year ago

2.0.0-beta.111

1 year ago

2.0.0-beta.97

1 year ago

2.0.0-beta.95

1 year ago

2.0.0-beta.96

1 year ago

2.0.0-beta.94

1 year ago

2.0.0-beta.93

1 year ago

2.0.0-beta.92

1 year ago

2.0.0-beta.91

1 year ago

2.0.0-beta.90

1 year ago

2.0.0-beta.88

1 year ago

2.0.0-beta.89

1 year ago

2.0.0-beta.87

1 year ago

2.0.0-beta.86

1 year ago

2.0.0-beta.85

1 year ago

2.0.0-beta.84

1 year ago

2.0.0-beta.83

1 year ago

2.0.0-beta.82

1 year ago

2.0.0-beta.80

1 year ago

2.0.0-beta.77

1 year ago

2.0.0-beta.76

1 year ago

2.0.0-beta.79

1 year ago

2.0.0-beta.78

1 year ago

2.0.0-beta.73

1 year ago

2.0.0-beta.75

1 year ago

2.0.0-beta.74

1 year ago

2.0.0-beta.72

1 year ago

2.0.0-beta.71

1 year ago

2.0.0-beta.70

1 year ago

2.0.0-beta.69

1 year ago

2.0.0-beta.68

1 year ago

2.0.0-beta.66

1 year ago

2.0.0-beta.65

1 year ago

2.0.0-beta.64

1 year ago

2.0.0-beta.63

1 year ago

2.0.0-beta.62

1 year ago

2.0.0-beta.61

1 year ago

2.0.0-beta.60

1 year ago

2.0.0-beta.55

1 year ago

2.0.0-beta.54

1 year ago

2.0.0-beta.53

1 year ago

2.0.0-beta.59

1 year ago

2.0.0-beta.58

1 year ago

2.0.0-beta.56

1 year ago

2.0.0-beta.49

1 year ago

2.0.0-beta.51

1 year ago

2.0.0-beta.50

1 year ago

2.0.0-beta.52

1 year ago

2.0.0-beta.48

1 year ago

2.0.0-beta.47

1 year ago

2.0.0-beta.46

1 year ago

2.0.0-beta.45

1 year ago

2.0.0-beta.44

1 year ago

2.0.0-beta.43

1 year ago

2.0.0-beta.42

1 year ago

2.0.0-beta.41

1 year ago

2.0.0-beta.39

1 year ago

2.0.0-beta.38

1 year ago

2.0.0-beta.37

1 year ago

2.0.0-beta.36

1 year ago

2.0.0-beta.33

1 year ago

2.0.0-beta.32

1 year ago

2.0.0-beta.31

1 year ago

2.0.0-beta.30

1 year ago

2.0.0-beta.35

1 year ago

2.0.0-beta.34

1 year ago

2.0.0-beta.29

1 year ago

2.0.0-beta.28

1 year ago

2.0.0-beta.26

2 years ago

2.0.0-beta.25

2 years ago

2.0.0-beta.24

2 years ago

2.0.0-beta.23

2 years ago

2.0.0-beta.27

2 years ago

2.0.0-beta.22

2 years ago